Croma.Result.define_bang_version_of

You're seeing just the macro define_bang_version_of, go back to Croma.Result module for more information.
Link to this macro

define_bang_version_of(name_arity_pairs)

View Source (macro)

Based on existing functions that return Croma.Result.t(any), defines functions that raise on error.

Each generated function simply calls the specified function and then passes the returned value to Croma.Result.get!/1.

Examples

iex> defmodule M do
...>   def f(a) do
...>     {:ok, a + 1}
...>   end
...>   Croma.Result.define_bang_version_of(f: 1)
...> end
iex> M.f(1)
{:ok, 2}
iex> M.f!(1)
2

If appropriate spec of original function is available, spec of the bang version is also declared. For functions that have default arguments it's necessary to explicitly pass all arities to Croma.Result.define_bang_version_of/1.