lib/kvasir/topic.ex
defmodule Kvasir.Topic do
@type t :: %__MODULE__{}
defstruct ~w(module topic freeze key partitions events event_lookup encryption encryption_opts compression compression_opts)a
defimpl Jason.Encoder, for: __MODULE__ do
alias Jason.Encoder.Map, as: JMap
def encode(value, opts) do
value
|> Map.from_struct()
|> Map.drop(~w(event_lookup encryption_opts compression_opts)a)
|> JMap.encode(opts)
end
end
end