Presence is very small library for Elixir projects that needs to check if a value is blank. A value is blank if it's nil, false, empty, or a whitespace string.
The complete documentation for Presence is located here.
Some examples can be found below, but I highly recommend you review the
API docs here. There are examples for Atom
, BitString
, Float
, Integer
, List
, Map
and Tuple
.
To use Presence with your projects, edit your mix.exs
file and add it as a dependency:
defp deps do
[{:presence, "~> 0.9.1"}]
end
To use Presence, I recommend you add
import Presence
to the top of the module where you will be working with Presence module. We import
to easily access functions from modules implementing Presence
protocol without using the fully-qualified name.
These functions are is_blank/1
, is_present/1
, presence/1
Few examples below:
iex> is_blank(nil)
true
iex> is_blank([])
true
iex> is_blank(%{})
true
iex> is_present({:ok, %{data: [1, 2, 3]}})
true
iex> is_present({})
false
iex> presence(" ")
nil
Presence is a Protocol that is currently implemented by the following:
Atom
BitString
Float
Integer
List
Map
Tuple
Other modules can implement the Protocol by defining these functions:
is_blank/1
is_present/1
presence/1
Many thanks to Rails for the inspiration.
This software is licensed under the MIT license.