defmodule Mercury.Support do @moduledoc false # Shared by every resource module's `!`-suffixed functions. @spec bang!(outcome :: :ok | {:ok, result} | {:error, Exception.t()}) :: result | no_return() when result: any() def bang!(:ok), do: :ok def bang!({:ok, value}), do: value def bang!({:error, error}), do: raise(error) end