lib/serializer.ex
defmodule Wampex.Serializer do
@moduledoc "Behaviour for Serializers"
@type data_type :: :binary | :text
@callback data_type() :: data_type()
@callback serialize!(data :: Wampex.message()) :: binary()
@callback serialize(data :: Wampex.message()) :: {:ok, binary()}
@callback deserialize!(data :: binary()) :: Wampex.message()
@callback deserialize(data :: binary()) :: {:ok, Wampex.message()}
end