Presence 





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.
Getting Started
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.
Adding Presence To Your Project
To use Presence with your projects, edit your mix.exs file and add it as a dependency:
defp deps do
[{:presence, "~> 0.9.1"}]
endExamples
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)
trueiex> is_blank([])
trueiex> is_blank(%{})
trueiex> is_present({:ok, %{data: [1, 2, 3]}})
trueiex> is_present({})
falseiex> presence(" ")
nilCurrent Implementation
Presence 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
Inspiration
Many thanks to Rails for the inspiration.
License
This software is licensed under the MIT license.