Skip to content

Welshman Docs / @welshman/domain

@welshman/domain ​

Classes ​

Type Aliases ​

ClassifiedPrice ​

ClassifiedPrice = object

Defined in: kinds/Classified.ts:8

Properties ​

amount ​

amount: number

Defined in: kinds/Classified.ts:9

currency ​

currency: string

Defined in: kinds/Classified.ts:10

frequency ​

frequency: string

Defined in: kinds/Classified.ts:11


Client ​

Client = object

Defined in: behaviors/Client.ts:10

The NIP-89 client an event was published with, parsed from a ["client", <name>, <address>, <relay hint>] tag. address is an optional 31990:pubkey:d-tag pointer to the client's handler information event, and relay an optional hint for where to find it.

Properties ​

address? ​

optional address: string

Defined in: behaviors/Client.ts:12

name ​

name: string

Defined in: behaviors/Client.ts:11

relay? ​

optional relay: string

Defined in: behaviors/Client.ts:13


CommentRef ​

CommentRef = object

Defined in: kinds/Comment.ts:35

Properties ​

address? ​

optional address: string

Defined in: kinds/Comment.ts:37

id? ​

optional id: string

Defined in: kinds/Comment.ts:36

kind? ​

optional kind: string

Defined in: kinds/Comment.ts:38

pubkey? ​

optional pubkey: string

Defined in: kinds/Comment.ts:39


ContentWarning ​

ContentWarning = object

Defined in: behaviors/ContentWarning.ts:9

A NIP-36 content warning, parsed from a ["content-warning", <reason>] tag. The reason is optional: a bare tag flags the content without saying why.

Properties ​

reason? ​

optional reason: string

Defined in: behaviors/ContentWarning.ts:10


Emoji ​

Emoji = object

Defined in: behaviors/Emoji.ts:8

A NIP-30 custom emoji, parsed from an ["emoji", <shortcode>, <url>, <address>] tag. address is an optional kind:pubkey:d-tag pointer to the kind-30030 emoji set (NIP-51) the emoji belongs to.

Properties ​

address? ​

optional address: string

Defined in: behaviors/Emoji.ts:11

shortcode ​

shortcode: string

Defined in: behaviors/Emoji.ts:9

url ​

url: string

Defined in: behaviors/Emoji.ts:10


HandlerMeta ​

HandlerMeta = object

Defined in: kinds/Handler.ts:9

Properties ​

about? ​

optional about: string

Defined in: kinds/Handler.ts:11

lud16? ​

optional lud16: string

Defined in: kinds/Handler.ts:14

name? ​

optional name: string

Defined in: kinds/Handler.ts:10

nip05? ​

optional nip05: string

Defined in: kinds/Handler.ts:15

picture? ​

optional picture: string

Defined in: kinds/Handler.ts:12

website? ​

optional website: string

Defined in: kinds/Handler.ts:13


HighlightAttribution ​

HighlightAttribution = object

Defined in: kinds/Highlight.ts:33

Properties ​

pubkey ​

pubkey: string

Defined in: kinds/Highlight.ts:34

relay ​

relay: string

Defined in: kinds/Highlight.ts:35

role? ​

optional role: string

Defined in: kinds/Highlight.ts:36


HighlightSource ​

HighlightSource = { id: string; relay: string; type: "event"; } | { address: string; relay: string; type: "address"; } | { id: string; type: "external"; } | { type: "reference"; value: string; }

Defined in: kinds/Highlight.ts:25


KindConfig<Reader, Writer, Query> ​

KindConfig<Reader, Writer, Query> = object

Defined in: core/Kind.ts:12

Type Parameters ​

Reader ​

Reader extends BaseEventReader

Writer ​

Writer extends EventWriter<Reader>

Query ​

Query extends EventQuery

Properties ​

kind ​

kind: number

Defined in: core/Kind.ts:17

query() ​

query: (kind, context) => Query

Defined in: core/Kind.ts:20

Parameters ​
kind ​

number

context ​

KindContext

Returns ​

Query

reader() ​

reader: (kind, context, event) => Reader

Defined in: core/Kind.ts:18

Parameters ​
kind ​

number

context ​

KindContext

event ​

TrustedEvent

Returns ​

Reader

writer() ​

writer: (kind, context, reader?) => Writer

Defined in: core/Kind.ts:19

Parameters ​
kind ​

number

context ​

KindContext

reader? ​

Reader

Returns ​

Writer


KindContext ​

KindContext = object

Defined in: core/Kind.ts:7

Properties ​

resolver ​

resolver: Resolver

Defined in: core/Kind.ts:8

signer? ​

optional signer: ISigner

Defined in: core/Kind.ts:9


Parsed<R> ​

Parsed<R> = ReturnType<R["parse"]>

Defined in: core/EventReader.ts:120

What reader.parse() yields for a given reader — the reader for sync kinds, a promise of it for kinds that decrypt. await works either way.

Type Parameters ​

R ​

R extends BaseEventReader


PinReference ​

PinReference = { id: string; relay: string; type: "event"; } | { address: string; relay: string; type: "address"; } | { id: string; kind: string; type: "external"; }

Defined in: kinds/Pin.ts:10


PollOption ​

PollOption = object

Defined in: kinds/Poll.ts:11

Properties ​

id ​

id: string

Defined in: kinds/Poll.ts:12

label ​

label: string

Defined in: kinds/Poll.ts:13


PollResult ​

PollResult = object

Defined in: kinds/Poll.ts:16

Properties ​

options ​

options: object[]

Defined in: kinds/Poll.ts:17

id ​

id: string

label ​

label: string

votes ​

votes: number

voters ​

voters: number

Defined in: kinds/Poll.ts:18


PollType ​

PollType = "singlechoice" | "multiplechoice"

Defined in: kinds/Poll.ts:9


RelayInfo ​

RelayInfo = object

Defined in: other/Relay.ts:7

Properties ​

optional banner: string

Defined in: other/Relay.ts:9

contact? ​

optional contact: string

Defined in: other/Relay.ts:13

description? ​

optional description: string

Defined in: other/Relay.ts:17

icon? ​

optional icon: string

Defined in: other/Relay.ts:8

limitation? ​

optional limitation: object

Defined in: other/Relay.ts:21

auth_required? ​

optional auth_required: boolean

min_pow_difficulty? ​

optional min_pow_difficulty: number

payment_required? ​

optional payment_required: boolean

name? ​

optional name: string

Defined in: other/Relay.ts:10

negentropy? ​

optional negentropy: number

Defined in: other/Relay.ts:16

privacy_policy? ​

optional privacy_policy: string

Defined in: other/Relay.ts:19

pubkey? ​

optional pubkey: string

Defined in: other/Relay.ts:12

redirect_to? ​

optional redirect_to: string

Defined in: other/Relay.ts:28

self? ​

optional self: string

Defined in: other/Relay.ts:11

software? ​

optional software: string

Defined in: other/Relay.ts:14

supported_nips? ​

optional supported_nips: string[]

Defined in: other/Relay.ts:18

terms_of_service? ​

optional terms_of_service: string

Defined in: other/Relay.ts:20

version? ​

optional version: string

Defined in: other/Relay.ts:15


Zap ​

Zap = object

Defined in: other/Zapper.ts:9

Properties ​

invoiceAmount ​

invoiceAmount: number

Defined in: other/Zapper.ts:12

request ​

request: TrustedEvent

Defined in: other/Zapper.ts:10

response ​

response: TrustedEvent

Defined in: other/Zapper.ts:11


ZapperValues ​

ZapperValues = object

Defined in: other/Zapper.ts:20

Properties ​

allowsNostr? ​

optional allowsNostr: boolean

Defined in: other/Zapper.ts:27

callback? ​

optional callback: string

Defined in: other/Zapper.ts:24

lnurl ​

lnurl: string

Defined in: other/Zapper.ts:21

maxSendable? ​

optional maxSendable: number

Defined in: other/Zapper.ts:26

minSendable? ​

optional minSendable: number

Defined in: other/Zapper.ts:25

nostrPubkey ​

nostrPubkey: string

Defined in: other/Zapper.ts:23

pubkey ​

pubkey: string

Defined in: other/Zapper.ts:22


ZapSplit ​

ZapSplit = object

Defined in: behaviors/ZapSplits.ts:8

A single recipient of an event's zaps, parsed from a NIP-57 Appendix G zap tag of the form ["zap", <pubkey>, <relay hint>, <weight>].

Properties ​

pubkey ​

pubkey: string

Defined in: behaviors/ZapSplits.ts:9

relay? ​

optional relay: string

Defined in: behaviors/ZapSplits.ts:10

weight ​

weight: number

Defined in: behaviors/ZapSplits.ts:11


ZapSplitAmount ​

ZapSplitAmount = ZapSplit & object

Defined in: behaviors/ZapSplits.ts:14

Type declaration ​

amount ​

amount: number

Variables ​

AppData ​

const AppData: KindFactory<AppDataReader, AppDataWriter, AppDataQuery>

Defined in: kinds/AppData.ts:114


Article ​

const Article: KindFactory<ArticleReader, ArticleWriter, ArticleQuery>

Defined in: kinds/Article.ts:63


BlockedRelayList ​

const BlockedRelayList: KindFactory<BlockedRelayListReader, BlockedRelayListWriter, BlockedRelayListQuery>

Defined in: kinds/BlockedRelayList.ts:51


BlossomServerList ​

const BlossomServerList: KindFactory<BlossomServerListReader, BlossomServerListWriter, BlossomServerListQuery>

Defined in: kinds/BlossomServerList.ts:45


BookmarkList ​

const BookmarkList: KindFactory<BookmarkListReader, BookmarkListWriter, BookmarkListQuery>

Defined in: kinds/BookmarkList.ts:47


Classified ​

const Classified: KindFactory<ClassifiedReader, ClassifiedWriter, ClassifiedQuery>

Defined in: kinds/Classified.ts:92


Command ​

const Command: KindFactory<CommandReader, CommandWriter, CommandQuery>

Defined in: kinds/Command.ts:134


Comment ​

const Comment: KindFactory<CommentReader, CommentWriter, CommentQuery>

Defined in: kinds/Comment.ts:194


CommunityList ​

const CommunityList: KindFactory<CommunityListReader, CommunityListWriter, CommunityListQuery>

Defined in: kinds/CommunityList.ts:32


Delete ​

const Delete: KindFactory<DeleteReader, DeleteWriter, DeleteQuery>

Defined in: kinds/Delete.ts:105


DirectMessage ​

const DirectMessage: KindFactory<DirectMessageReader, DirectMessageWriter, DirectMessageQuery>

Defined in: kinds/DirectMessage.ts:88


EmojiList ​

const EmojiList: KindFactory<EmojiListReader, EmojiListWriter, EmojiListQuery>

Defined in: kinds/EmojiList.ts:31


Feed ​

const Feed: KindFactory<FeedReader, FeedWriter, FeedQuery>

Defined in: kinds/Feed.ts:45


FeedList ​

const FeedList: KindFactory<FeedListReader, FeedListWriter, FeedListQuery>

Defined in: kinds/FeedList.ts:39


FollowList ​

const FollowList: KindFactory<FollowListReader, FollowListWriter, FollowListQuery>

Defined in: kinds/FollowList.ts:39


GenericRepost ​

const GenericRepost: KindFactory<RepostReader, RepostWriter, RepostQuery>

Defined in: kinds/Repost.ts:105


Handler ​

const Handler: KindFactory<HandlerReader, HandlerWriter, HandlerQuery>

Defined in: kinds/Handler.ts:132


HandlerRecommendation ​

const HandlerRecommendation: KindFactory<HandlerRecommendationReader, HandlerRecommendationWriter, HandlerRecommendationQuery>

Defined in: kinds/HandlerRecommendation.ts:44


Highlight ​

const Highlight: KindFactory<HighlightReader, HighlightWriter, HighlightQuery>

Defined in: kinds/Highlight.ts:189


Label ​

const Label: KindFactory<LabelReader, LabelWriter, LabelQuery>

Defined in: kinds/Label.ts:121


MessagingRelayList ​

const MessagingRelayList: KindFactory<MessagingRelayListReader, MessagingRelayListWriter, MessagingRelayListQuery>

Defined in: kinds/MessagingRelayList.ts:48


MuteList ​

const MuteList: KindFactory<MuteListReader, MuteListWriter, MuteListQuery>

Defined in: kinds/MuteList.ts:43


Note ​

const Note: KindFactory<NoteReader, NoteWriter, NoteQuery>

Defined in: kinds/Note.ts:135


Pin ​

const Pin: KindFactory<PinReader, PinWriter, PinQuery>

Defined in: kinds/Pin.ts:105


Pinboard ​

const Pinboard: KindFactory<PinboardReader, PinboardWriter, PinboardQuery>

Defined in: kinds/Pinboard.ts:70


PinList ​

const PinList: KindFactory<PinListReader, PinListWriter, PinListQuery>

Defined in: kinds/PinList.ts:39


Poll ​

const Poll: KindFactory<PollReader, PollWriter, PollQuery>

Defined in: kinds/Poll.ts:120


PollResponse ​

const PollResponse: KindFactory<PollResponseReader, PollResponseWriter, PollResponseQuery>

Defined in: kinds/PollResponse.ts:43


Profile ​

const Profile: KindFactory<ProfileReader, ProfileWriter, ProfileQuery>

Defined in: kinds/Profile.ts:142


Reaction ​

const Reaction: KindFactory<ReactionReader, ReactionWriter, ReactionQuery>

Defined in: kinds/Reaction.ts:83


RelayAddMember ​

const RelayAddMember: KindFactory<RelayAddMemberReader, RelayAddMemberWriter, RelayAddMemberQuery>

Defined in: kinds/RelayAddMember.ts:29


RelayInvite ​

const RelayInvite: KindFactory<RelayInviteReader, RelayInviteWriter, RelayInviteQuery>

Defined in: kinds/RelayInvite.ts:29


RelayJoin ​

const RelayJoin: KindFactory<RelayJoinReader, RelayJoinWriter, RelayJoinQuery>

Defined in: kinds/RelayJoin.ts:44


RelayLeave ​

const RelayLeave: KindFactory<RelayLeaveReader, RelayLeaveWriter, RelayLeaveQuery>

Defined in: kinds/RelayLeave.ts:27


RelayList ​

const RelayList: KindFactory<RelayListReader, RelayListWriter, RelayListQuery>

Defined in: kinds/RelayList.ts:145


RelayMembers ​

const RelayMembers: KindFactory<RelayMembersReader, RelayMembersWriter, RelayMembersQuery>

Defined in: kinds/RelayMembers.ts:52


RelayRemoveMember ​

const RelayRemoveMember: KindFactory<RelayRemoveMemberReader, RelayRemoveMemberWriter, RelayRemoveMemberQuery>

Defined in: kinds/RelayRemoveMember.ts:29


RelayRole ​

const RelayRole: KindFactory<RelayRoleReader, RelayRoleWriter, RelayRoleQuery>

Defined in: kinds/RelayRole.ts:60


RelaySet ​

const RelaySet: KindFactory<RelaySetReader, RelaySetWriter, RelaySetQuery>

Defined in: kinds/RelaySet.ts:73


Report ​

const Report: KindFactory<ReportReader, ReportWriter, ReportQuery>

Defined in: kinds/Report.ts:86


Repost ​

const Repost: KindFactory<RepostReader, RepostWriter, RepostQuery>

Defined in: kinds/Repost.ts:98


RoomAddMember ​

const RoomAddMember: KindFactory<RoomAddMemberReader, RoomAddMemberWriter, RoomAddMemberQuery>

Defined in: kinds/RoomAddMember.ts:29


RoomAdmins ​

const RoomAdmins: KindFactory<RoomAdminsReader, RoomAdminsWriter, RoomAdminsQuery>

Defined in: kinds/RoomAdmins.ts:37


RoomCreate ​

const RoomCreate: KindFactory<RoomCreateReader, RoomCreateWriter, RoomCreateQuery>

Defined in: kinds/RoomCreate.ts:28


RoomCreatePermission ​

const RoomCreatePermission: KindFactory<RoomCreatePermissionReader, RoomCreatePermissionWriter, RoomCreatePermissionQuery>

Defined in: kinds/RoomCreatePermission.ts:41


RoomDelete ​

const RoomDelete: KindFactory<RoomDeleteReader, RoomDeleteWriter, RoomDeleteQuery>

Defined in: kinds/RoomDelete.ts:28


RoomEdit ​

const RoomEdit: KindFactory<RoomEditReader, RoomEditWriter, RoomEditQuery>

Defined in: kinds/RoomEdit.ts:109


RoomJoin ​

const RoomJoin: KindFactory<RoomJoinReader, RoomJoinWriter, RoomJoinQuery>

Defined in: kinds/RoomJoin.ts:37


RoomLeave ​

const RoomLeave: KindFactory<RoomLeaveReader, RoomLeaveWriter, RoomLeaveQuery>

Defined in: kinds/RoomLeave.ts:28


RoomList ​

const RoomList: KindFactory<RoomListReader, RoomListWriter, RoomListQuery>

Defined in: kinds/RoomList.ts:154


RoomMembers ​

const RoomMembers: KindFactory<RoomMembersReader, RoomMembersWriter, RoomMembersQuery>

Defined in: kinds/RoomMembers.ts:41


RoomMeta ​

const RoomMeta: KindFactory<RoomMetaReader, RoomMetaWriter, RoomMetaQuery>

Defined in: kinds/RoomMeta.ts:101


RoomPins ​

const RoomPins: KindFactory<RoomPinsReader, RoomPinsWriter, RoomPinsQuery>

Defined in: kinds/RoomPins.ts:49


RoomRemoveMember ​

const RoomRemoveMember: KindFactory<RoomRemoveMemberReader, RoomRemoveMemberWriter, RoomRemoveMemberQuery>

Defined in: kinds/RoomRemoveMember.ts:37


RoomUpdatePins ​

const RoomUpdatePins: KindFactory<RoomUpdatePinsReader, RoomUpdatePinsWriter, RoomUpdatePinsQuery>

Defined in: kinds/RoomUpdatePins.ts:61


SearchRelayList ​

const SearchRelayList: KindFactory<SearchRelayListReader, SearchRelayListWriter, SearchRelayListQuery>

Defined in: kinds/SearchRelayList.ts:51


Thread ​

const Thread: KindFactory<ThreadReader, ThreadWriter, ThreadQuery>

Defined in: kinds/Thread.ts:27


TimeEvent ​

const TimeEvent: KindFactory<TimeEventReader, TimeEventWriter, TimeEventQuery>

Defined in: kinds/TimeEvent.ts:80


TopicList ​

const TopicList: KindFactory<TopicListReader, TopicListWriter, TopicListQuery>

Defined in: kinds/TopicList.ts:47


ZapGoal ​

const ZapGoal: KindFactory<ZapGoalReader, ZapGoalWriter, ZapGoalQuery>

Defined in: kinds/ZapGoal.ts:106


ZapReceipt ​

const ZapReceipt: KindFactory<ZapReceiptReader, ZapReceiptWriter, ZapReceiptQuery>

Defined in: kinds/ZapReceipt.ts:90


ZapRequest ​

const ZapRequest: KindFactory<ZapRequestReader, ZapRequestWriter, ZapRequestQuery>

Defined in: kinds/ZapRequest.ts:97

Functions ​

displayPubkey() ​

displayPubkey(pubkey): string

Defined in: kinds/Profile.ts:23

Parameters ​

pubkey ​

string

Returns ​

string


getClient() ​

getClient(event): undefined | Client

Defined in: behaviors/Client.ts:21

Parse an event's NIP-89 client tag, or undefined if it has none. An address or relay hint that doesn't parse is dropped. A plain function so it can read the client off any event, regardless of kind, without a kind-specific reader.

Parameters ​

event ​

TrustedEvent

Returns ​

undefined | Client


getCommentTags() ​

getCommentTags(tags): object

Defined in: kinds/Comment.ts:22

Parameters ​

tags ​

string[][]

Returns ​

object

replies ​

replies: string[][]

roots ​

roots: string[][]


getCommentTagValues() ​

getCommentTagValues(tags): Record<string, string[]>

Defined in: kinds/Comment.ts:29

Parameters ​

tags ​

string[][]

Returns ​

Record<string, string[]>


getContentWarning() ​

getContentWarning(event): undefined | ContentWarning

Defined in: behaviors/ContentWarning.ts:18

Parse an event's NIP-36 content-warning tag, or undefined if it has none. A plain function so it can read the warning off any event, regardless of kind, without a kind-specific reader.

Parameters ​

event ​

TrustedEvent

Returns ​

undefined | ContentWarning


getEmojis() ​

getEmojis(event): Emoji[]

Defined in: behaviors/Emoji.ts:19

Parse an event's NIP-30 emoji tags. Tags missing a shortcode or url are skipped. A plain function so it can read emojis off any event, regardless of kind, without a kind-specific reader.

Parameters ​

event ​

TrustedEvent

Returns ​

Emoji[]


getExpiration() ​

getExpiration(event): undefined | number

Defined in: behaviors/Expiration.ts:11

Parse an event's NIP-40 expiration tag — the timestamp after which relays should stop serving it — or undefined if it has none or the value isn't a number. A plain function so it can read the expiration off any event, regardless of kind, without a kind-specific reader.

Parameters ​

event ​

TrustedEvent

Returns ​

undefined | number


getReplyTags() ​

getReplyTags(tags): object

Defined in: kinds/Note.ts:22

Parameters ​

tags ​

string[][]

Returns ​

object

mentions ​

mentions: string[][]

replies ​

replies: string[][]

roots ​

roots: string[][]


getReplyTagValues() ​

getReplyTagValues(tags): Record<string, string[]>

Defined in: kinds/Note.ts:58

Parameters ​

tags ​

string[][]

Returns ​

Record<string, string[]>


getZapSplits() ​

getZapSplits(event): ZapSplit[]

Defined in: behaviors/ZapSplits.ts:36

Resolve an event's zap-split recipients per NIP-57 Appendix G:

  • With no zap tags the whole zap goes to the event's author.
  • If no recipient carries a weight, the zap is split equally (weight 1 each).
  • If weights are only partially present, unweighted recipients drop to weight 0 (i.e. they should not be zapped).

Weight-0 recipients are still returned so callers have the full recipient set; they simply receive 0 from splitZapAmount.

A plain function so it can read splits off any event, regardless of kind, without a kind-specific reader.

Parameters ​

event ​

TrustedEvent

Returns ​

ZapSplit[]


isProtected() ​

isProtected(event): boolean

Defined in: behaviors/Protected.ts:9

Whether an event carries the NIP-70 ["-"] marker, which asks relays to accept it only from its author. A plain function so it can read the marker off any event, regardless of kind, without a kind-specific reader.

Parameters ​

event ​

TrustedEvent

Returns ​

boolean


parseLnUrl() ​

parseLnUrl(values): Maybe<string>

Defined in: kinds/Profile.ts:11

Parameters ​

values ​

Record<string, any> = {}

Returns ​

Maybe<string>


splitZapAmount() ​

splitZapAmount(event, total): ZapSplitAmount[]

Defined in: behaviors/ZapSplits.ts:58

Divide total (in any integer unit, e.g. millisats) across an event's zap-split recipients proportionally to their weights. Any rounding remainder is handed to the highest-weighted recipient so the parts sum back to exactly total. If every weight is 0, nobody is zapped.

Parameters ​

event ​

TrustedEvent

total ​

number

Returns ​

ZapSplitAmount[]