Conditional logic for expressions based on truthy/empty values.
IfElse is available in Hex, the package can
be installed by adding if_else
to your list of dependencies in mix.exs
:
def deps do
[
{:if_else, "~> 0.1.0"}
]
end
Interactive Elixir (1.14.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> import IfElse
IfElse
iex(2)> is_empty?("")
true
iex(3)> empty_else("foo", "bar")
"foo"
iex(4)> empty_else("", "bar")
"bar"
iex(5)> empty_else("", fn -> "bar" end)
"bar"
iex(6)> coalesce([false, nil, "true", false])
"true"
iex(7)> put_if(%{one: %{two: :three}}, :four, [:one, :two])
%{one: %{two: :four}}
iex(8)> put_if(%{one: %{two: :three}}, nil, [:one, :two])
%{one: %{two: :three}}
Only call put_session/3
if session_value
is not nil
.
conn
|> call_if(session_value, & put_session(&1, :session_key, &2))
|> ...