elixir-sparkpost
elixir-sparkpost copied to clipboard
More idiomatic response tuples
It'd be nice if functions returned {:error, X} and {:ok, Y}. It results in more elegant client code that doesn't have to match against specific structures.
def(%Transmission.Response{id: id), do: ...
vs
def({:ok, %{id: id}}), do: ...
Same same with case and with
Thanks for this @karlseguin and sorry for the long latency. This is obviously a breaking change for existing modules, although we do have the beginnings of this in the suppression list module @asgoel very kindly contributed. I suspected at design time that there might be API responses which didn't map cleanly to :ok or :error too and haven't yet bottomed out how to handle those. Will label this for the next major version bump nonetheless.