View Source NostrBasics.Filter.Parser (NostrBasics v0.1.4)
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
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
}
@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
}
}