lib/liberator/media_type.ex
defmodule Liberator.MediaType do
@moduledoc """
A behaviour module for media type codecs.
Liberator uses this behaviour to help make sure at compile-time that codecs will be called successfully.
Include it in your own module for the same peace of mind.
"""
@doc """
Encode an Elixir term into an encoded binary, and raise if there's an error.
"""
@callback encode!(term()) :: binary()
end