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"}]
endTo use Presence, I recommend you add
import Presenceto 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)
trueiex> is_blank([])
trueiex> is_blank(%{})
trueiex> is_present({:ok, %{data: [1, 2, 3]}})
trueiex> is_present({})
falseiex> presence(" ")
nilPresence is a Protocol that is currently implemented by the following:
AtomBitStringFloatIntegerListMapTuple
Other modules can implement the Protocol by defining these functions:
is_blank/1is_present/1presence/1
Many thanks to Rails for the inspiration.
This software is licensed under the MIT license.
