View Source Dreamy.Option (dreamy v0.2.0)
Functions for use with Options
Summary
Functions
Build an Option from a Result
Get the value of an option
Get the value of an option, throwing an error if empty
Returns true if an Option is empty
Returns an empty Option
builds an Option from a value
Build an Result from an Option
Types
@type t(t) :: {Dreamy.Option, t | :empty}
Functions
Build an Option from a Result
Examples
iex> use Dreamy
...> from_result({:error, "err"})
{Dreamy.Option, :empty}
iex> use Dreamy
...> from_result({:ok, "OK"})
{Dreamy.Option, "OK"}
Get the value of an option
Examples
iex> use Dreamy
...> empty()
...> |> get()
:error
iex> use Dreamy
...> option("Hello World")
...> |> get()
{:ok, "Hello World"}
Get the value of an option, throwing an error if empty
Examples
iex> use Dreamy
...> empty()
...> |> get!()
** (RuntimeError) Empty Option
iex> use Dreamy
...> option("Hello World")
...> |> get!()
"Hello World"
Returns true if an Option is empty
Examples
iex> use Dreamy
...> empty()
...> |> is_empty?()
true
iex> use Dreamy
...> option("OK")
...> |> is_empty?()
false
Returns an empty Option
Examples
iex> use Dreamy
...> empty()
{Dreamy.Option, :empty}
builds an Option from a value
Examples
iex> use Dreamy
...> option(nil)
{Dreamy.Option, :empty}
iex> use Dreamy
...> empty() == option(nil)
true
iex> use Dreamy
...> option("Hello World")
{Dreamy.Option, "Hello World"}
Build an Result from an Option
Examples
iex> use Dreamy
...> empty()
...> |> to_result()
{:error, nil}
iex> use Dreamy
...> option("OK")
...> |> to_result()
{:ok, "OK"}