View Source NostrBasics.Filter.Parser (NostrBasics v0.0.10)

Converts a string request to a structured subscription filter and back

Link to this section Summary

Functions

Converts a JSON decoded encoded filter into a %Filter{}

Examples

iex> ~s({"authors":["5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2"],"kinds":[1],"limit":10})
...> |> NostrBasics.Filter.Parser.from_req("a_subscription_id")
{
  :ok,
  %NostrBasics.Filter{
    subscription_id: "a_subscription_id",
    kinds: [1],
    authors: [<<0x5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2::256>>],
    limit: 10
  }
}

Link to this section Functions

Link to this function

decode(encoded_request, subscription_id)

View Source

Converts a JSON decoded encoded filter into a %Filter{}

examples

Examples

iex> %{
...>   "authors" => ["5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2"],
...>   "kinds" => [1],
...>   "limit" => 10
...> }
...> |> NostrBasics.Filter.Parser.decode("a_subscription_id")
%NostrBasics.Filter{
  subscription_id: "a_subscription_id",
  kinds: [1],
  authors: [<<0x5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2::256>>],
  limit: 10
}
Link to this function

from_req(req, subscription_id)

View Source
@spec from_req(String.t(), String.t()) ::
  {:ok, NostrBasics.Filter.t()} | {:error, String.t()}

examples

Examples

iex> ~s({"authors":["5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2"],"kinds":[1],"limit":10})
...> |> NostrBasics.Filter.Parser.from_req("a_subscription_id")
{
  :ok,
  %NostrBasics.Filter{
    subscription_id: "a_subscription_id",
    kinds: [1],
    authors: [<<0x5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2::256>>],
    limit: 10
  }
}