NostrElixir.Filter (nostr_elixir v0.1.0)

View Source

Filter creation and helpers for NostrElixir.

Examples

iex> alias NostrElixir.Filter
iex> filter_json = Filter.user_notes_filter("eec7...619")
iex> filter = Jason.decode!(filter_json)
iex> filter["authors"]
["eec7...619"]

Summary

Functions

Parse filter from JSON (validates required fields).

Create a filter for getting user metadata.

Create a filter from a specification (JSON string).

Create a filter for recent events.

Create a filter for hashtag search.

Convert filter to JSON (identity function).

Create a filter for fetching a user's follow list (kind 3).

Create a filter for fetching text notes (kind 1) by a user.

Types

filter_json()

@type filter_json() :: String.t()

filter_spec()

@type filter_spec() :: map()

Functions

filter_from_json_nif(json_string)

See NostrElixir.filter_from_json_nif/1.

filter_new_nif(filter_spec)

See NostrElixir.filter_new_nif/1.

filter_to_json_nif(filter_json)

See NostrElixir.filter_to_json_nif/1.

from_json(json_string)

@spec from_json(filter_json()) :: filter_json()

Parse filter from JSON (validates required fields).

get_user_metadata(pubkey)

@spec get_user_metadata(String.t()) :: filter_json()

Create a filter for getting user metadata.

new(filter_spec)

@spec new(filter_spec()) :: filter_json()

Create a filter from a specification (JSON string).

recent_events()

@spec recent_events() :: filter_json()

Create a filter for recent events.

search_hashtag(hashtag)

@spec search_hashtag(String.t()) :: filter_json()

Create a filter for hashtag search.

to_json(filter_json)

@spec to_json(filter_json()) :: filter_json()

Convert filter to JSON (identity function).

user_follow_list_filter(pubkey)

@spec user_follow_list_filter(String.t()) :: filter_json()

Create a filter for fetching a user's follow list (kind 3).

user_notes_filter(pubkey)

@spec user_notes_filter(String.t()) :: filter_json()

Create a filter for fetching text notes (kind 1) by a user.