Welshman Docs / @welshman/domain / EventWriter
Class: abstract EventWriter<Reader> ​
Defined in: core/EventWriter.ts:37
Extended by ​
AppDataWriterArticleWriterBlockedRelayListWriterBlossomServerListWriterClassifiedWriterCommandWriterCommentWriterCommunityListWriterDeleteWriterDirectMessageWriterEmojiListWriterFeedWriterFollowListWriterHandlerWriterHandlerRecommendationWriterHighlightWriterLabelWriterListWriterMessagingRelayListWriterNoteWriterPinWriterPinboardWriterPollWriterPollResponseWriterProfileWriterReactionWriterRelayAddMemberWriterRelayInviteWriterRelayJoinWriterRelayLeaveWriterRelayListWriterRelayMembersWriterRelayRemoveMemberWriterRelayRoleWriterRelaySetWriterReportWriterRepostWriterRoomAddMemberWriterRoomAdminsWriterRoomCreateWriterRoomCreatePermissionWriterRoomDeleteWriterRoomEditWriterRoomJoinWriterRoomLeaveWriterRoomMembersWriterRoomRemoveMemberWriterRoomMetaWriterRoomPinsWriterRoomUpdatePinsWriterSearchRelayListWriterThreadWriterTimeEventWriterZapGoalWriterZapReceiptWriterZapRequestWriter
Type Parameters ​
Reader ​
Reader extends BaseEventReader
Constructors ​
Constructor ​
new EventWriter<
Reader>(kind,context,reader?):EventWriter<Reader>
Defined in: core/EventWriter.ts:53
Parameters ​
kind ​
number
context ​
reader? ​
Reader
Returns ​
EventWriter<Reader>
Properties ​
clientTag? ​
optionalclientTag:string[]
Defined in: core/EventWriter.ts:43
content ​
content:
string=""
Defined in: core/EventWriter.ts:38
contentWarningTag? ​
optionalcontentWarningTag:string[]
Defined in: core/EventWriter.ts:42
context ​
readonlycontext:KindContext
Defined in: core/EventWriter.ts:55
expirationTag? ​
optionalexpirationTag:string[]
Defined in: core/EventWriter.ts:41
extraTags ​
extraTags:
string[][] =[]
Defined in: core/EventWriter.ts:45
forcedRoutes? ​
optionalforcedRoutes:RelaySelection[]
Defined in: core/EventWriter.ts:46
identifierTag? ​
optionalidentifierTag:string[]
Defined in: core/EventWriter.ts:44
kind ​
readonlykind:number
Defined in: core/EventWriter.ts:54
pendingResolves ​
pendingResolves:
Promise<unknown>[] =[]
Defined in: core/EventWriter.ts:47
protectTag? ​
optionalprotectTag:string[]
Defined in: core/EventWriter.ts:40
reader? ​
readonlyoptionalreader:Reader
Defined in: core/EventWriter.ts:56
requiresRelays ​
readonlyrequiresRelays:boolean=false
Defined in: core/EventWriter.ts:51
roomTag? ​
optionalroomTag:string[]
Defined in: core/EventWriter.ts:39
Methods ​
addEmoji() ​
addEmoji(
shortcode,url,address?):EventWriter<Reader>
Defined in: core/EventWriter.ts:235
Parameters ​
shortcode ​
string
url ​
string
address? ​
string
Returns ​
EventWriter<Reader>
addMention() ​
addMention(
pubkey):EventWriter<Reader>
Defined in: core/EventWriter.ts:195
Parameters ​
pubkey ​
string
Returns ​
EventWriter<Reader>
addQuote() ​
addQuote(
event):EventWriter<Reader>
Defined in: core/EventWriter.ts:207
Parameters ​
event ​
Returns ​
EventWriter<Reader>
addTags() ​
addTags(...
tags):EventWriter<Reader>
Defined in: core/EventWriter.ts:177
Parameters ​
tags ​
...string[][]
Returns ​
EventWriter<Reader>
addZapSplit() ​
addZapSplit(
pubkey,split):EventWriter<Reader>
Defined in: core/EventWriter.ts:219
Parameters ​
pubkey ​
string
split ​
number = 1
Returns ​
EventWriter<Reader>
clearClient() ​
clearClient():
EventWriter<Reader>
Defined in: core/EventWriter.ts:159
Returns ​
EventWriter<Reader>
clearContentWarning() ​
clearContentWarning():
EventWriter<Reader>
Defined in: core/EventWriter.ts:134
Returns ​
EventWriter<Reader>
clearExpiration() ​
clearExpiration():
EventWriter<Reader>
Defined in: core/EventWriter.ts:121
Returns ​
EventWriter<Reader>
clearForcedRoutes() ​
clearForcedRoutes():
EventWriter<Reader>
Defined in: core/EventWriter.ts:103
Returns ​
EventWriter<Reader>
clearIdentifier() ​
clearIdentifier():
EventWriter<Reader>
Defined in: core/EventWriter.ts:171
Returns ​
EventWriter<Reader>
clearRoom() ​
clearRoom():
EventWriter<Reader>
Defined in: core/EventWriter.ts:85
Returns ​
EventWriter<Reader>
dropTags() ​
dropTags(
pred):EventWriter<Reader>
Defined in: core/EventWriter.ts:189
Parameters ​
pred ​
(tag) => boolean
Returns ​
EventWriter<Reader>
forceRoutes() ​
forceRoutes(...
routes):EventWriter<Reader>
Defined in: core/EventWriter.ts:97
Replaces the rendered routes. These are routes rather than urls, so forceRoutes(userInbox()) pins an event to the user's read relays without resolving them first.
Parameters ​
routes ​
...RelaySelection[]
Returns ​
EventWriter<Reader>
hint() ​
protectedhint(...routes):Promise<string>
Defined in: core/EventWriter.ts:282
Resolves one or more relay selections to a single hint url, tracking the in-flight promise so renderTags can wait for it. Callers backfill the resolved url into a tag's hint slot.
Parameters ​
routes ​
...RelaySelection[]
Returns ​
Promise<string>
keepTags() ​
keepTags(
pred):EventWriter<Reader>
Defined in: core/EventWriter.ts:183
Parameters ​
pred ​
(tag) => boolean
Returns ​
EventWriter<Reader>
relays() ​
relays():
Promise<string[]>
Defined in: core/EventWriter.ts:361
Shortcut for getting relays from the router scenario.
Returns ​
Promise<string[]>
removeEmoji() ​
removeEmoji(
shortcode):EventWriter<Reader>
Defined in: core/EventWriter.ts:241
Parameters ​
shortcode ​
string
Returns ​
EventWriter<Reader>
removeZapSplit() ​
removeZapSplit(
pubkey):EventWriter<Reader>
Defined in: core/EventWriter.ts:231
Parameters ​
pubkey ​
string
Returns ​
EventWriter<Reader>
render() ​
render():
Promise<{event:EventTemplate;relays:string[]; }>
Defined in: core/EventWriter.ts:368
Returns a rendered event template along with its relays.
Returns ​
Promise<{ event: EventTemplate; relays: string[]; }>
renderBehaviorTags() ​
protectedrenderBehaviorTags():MaybeAsync<string[][]>
Defined in: core/EventWriter.ts:289
Returns a list of tags that may be attached to any kind.
Returns ​
MaybeAsync<string[][]>
renderContent() ​
renderContent():
MaybeAsync<string>
Defined in: core/EventWriter.ts:323
Returns the content string as defined by the kind.
Returns ​
MaybeAsync<string>
renderDomainTags() ​
protectedrenderDomainTags():MaybeAsync<string[][]>
Defined in: core/EventWriter.ts:303
Returns a list of tags related to the kind.
Returns ​
MaybeAsync<string[][]>
renderRoutes() ​
protectedrenderRoutes():Promise<RelaySelection[]>
Defined in: core/EventWriter.ts:344
Returns the list of routes this event should be published to. Defaults to the outbox model. Override to implement custom behavior.
Returns ​
Promise<RelaySelection[]>
renderTags() ​
renderTags():
Promise<string[][]>
Defined in: core/EventWriter.ts:310
Returns the complete tag list for publishing.
Returns ​
Promise<string[][]>
renderTemplate() ​
renderTemplate():
Promise<EventTemplate>
Defined in: core/EventWriter.ts:330
Validates and renders an event template.
Returns ​
Promise<EventTemplate>
scenario() ​
scenario():
Promise<RelayScenario>
Defined in: core/EventWriter.ts:352
Returns a router scenario for this event. Publishes to the forced routes (e.g. a NIP-29 room's relay) when set, otherwise to the rendered routes.
Returns ​
Promise<RelayScenario>
setClient() ​
setClient(
name,address?):EventWriter<Reader>
Defined in: core/EventWriter.ts:145
Attributes the event to the NIP-89 client that produced it. address is an optional 31990:pubkey:d-tag pointer to the client's handler information event; when given, its author's outbox fills in the tag's relay hint slot.
Parameters ​
name ​
string
address? ​
string
Returns ​
EventWriter<Reader>
setContent() ​
setContent(
content):EventWriter<Reader>
Defined in: core/EventWriter.ts:72
Parameters ​
content ​
string
Returns ​
EventWriter<Reader>
setContentWarning() ​
setContentWarning(
reason?):EventWriter<Reader>
Defined in: core/EventWriter.ts:128
Parameters ​
reason? ​
string
Returns ​
EventWriter<Reader>
setExpiration() ​
setExpiration(
expiration):EventWriter<Reader>
Defined in: core/EventWriter.ts:115
Parameters ​
expiration ​
number
Returns ​
EventWriter<Reader>
setIdentifier() ​
setIdentifier(
identifier):EventWriter<Reader>
Defined in: core/EventWriter.ts:165
Parameters ​
identifier ​
string = ...
Returns ​
EventWriter<Reader>
setProtected() ​
setProtected(
protect):EventWriter<Reader>
Defined in: core/EventWriter.ts:109
Parameters ​
protect ​
boolean
Returns ​
EventWriter<Reader>
setRoom() ​
setRoom(
url,room):EventWriter<Reader>
Defined in: core/EventWriter.ts:78
Parameters ​
url ​
string
room ​
string
Returns ​
EventWriter<Reader>
validate() ​
validate():
void
Defined in: core/EventWriter.ts:248
Validates a domain object, throwing an error if invalid.
Returns ​
void