Elixir ATProtocol firehose & subscription listener
at v0.1.0 409 B view raw
1defmodule Drinkup.Event.Info do 2 @moduledoc """ 3 Struct for info events from the ATProto Firehose. 4 """ 5 6 use TypedStruct 7 8 typedstruct enforce: true do 9 field :name, String.t() 10 field :message, String.t() | nil 11 end 12 13 @spec from(map()) :: t() 14 def from(%{"name" => name} = msg) do 15 message = Map.get(msg, "message") 16 17 %__MODULE__{ 18 name: name, 19 message: message 20 } 21 end 22end