View Source NostrBasics.Filter (NostrBasics v0.0.8)
Details of a client subscription request to a relay
Link to this section Summary
Functions
Converts a JSON decoded encoded filter into a %Filter{}
Converts a NIP-01 JSON REQ string into a structured Filter
Converts a structured Filter into a NIP-01 JSON REQ string
Link to this section Types
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.decode("a_subscription_id")
%NostrBasics.Filter{
subscription_id: "a_subscription_id",
kinds: [1],
authors: [<<0x5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2::256>>],
limit: 10
}
Converts a NIP-01 JSON REQ string into a structured Filter
examples
Examples
iex> ~s({"authors":["5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2"],"kinds":[1],"limit":10})
...> |> NostrBasics.Filter.from_req("a_subscription_id")
{
:ok,
%NostrBasics.Filter{
subscription_id: "a_subscription_id",
kinds: [1],
authors: [<<0x5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2::256>>],
limit: 10
}
}
Converts a structured Filter into a NIP-01 JSON REQ string
examples
Examples
iex> %NostrBasics.Filter{
...> subscription_id: "a_subscription_id",
...> kinds: [1],
...> authors: [<<0x5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2::256>>],
...> limit: 10
...> }
...> |> NostrBasics.Filter.to_query
{
:ok,
~s({"authors":["5ab9f2efb1fda6bc32696f6f3fd715e156346175b93b6382099d23627693c3f2"],"kinds":[1],"limit":10})
}