Packages

A result pattern for Elixir (macro version)

Current section

Files

Jump to
result_macros lib result ok.ex
Raw

lib/result/ok.ex

defmodule Result.Ok do
@moduledoc """
A Ok creator
"""
@type t(val) :: {:ok, val}
@doc """
Create Ok result from value
## Examples
iex> Result.Ok.of("a")
{:ok, "a"}
iex> Result.Ok.of(12345)
{:ok, 12345}
"""
defmacro of(value) do
quote bind_quoted: [value: value] do
{:ok, value}
end
end
end