Skip to content

Welshman Docs / @welshman/domain / NoteWriter

Class: NoteWriter

Defined in: kinds/Note.ts:63

Extends

Constructors

Constructor

new NoteWriter(kind, context, reader?): NoteWriter

Defined in: core/EventWriter.ts:50

Parameters

kind

number

context

KindContext

reader?

NoteReader

Returns

NoteWriter

Inherited from

EventWriter.constructor

Properties

content

content: string = ""

Defined in: core/EventWriter.ts:37

Inherited from

EventWriter.content


context

readonly context: KindContext

Defined in: core/EventWriter.ts:52

Inherited from

EventWriter.context


expirationTag?

optional expirationTag: string[]

Defined in: core/EventWriter.ts:40

Inherited from

EventWriter.expirationTag


extraTags

extraTags: string[][] = []

Defined in: core/EventWriter.ts:42

Inherited from

EventWriter.extraTags


forcedRelays?

optional forcedRelays: string[]

Defined in: core/EventWriter.ts:43

Inherited from

EventWriter.forcedRelays


identifierTag?

optional identifierTag: string[]

Defined in: core/EventWriter.ts:41

Inherited from

EventWriter.identifierTag


kind

readonly kind: number

Defined in: core/EventWriter.ts:51

Inherited from

EventWriter.kind


pendingResolves

pendingResolves: Promise<unknown>[] = []

Defined in: core/EventWriter.ts:44

Inherited from

EventWriter.pendingResolves


protectTag?

optional protectTag: string[]

Defined in: core/EventWriter.ts:39

Inherited from

EventWriter.protectTag


reader?

readonly optional reader: NoteReader

Defined in: core/EventWriter.ts:53

Inherited from

EventWriter.reader


requiresRelays

readonly requiresRelays: boolean = false

Defined in: core/EventWriter.ts:48

Inherited from

EventWriter.requiresRelays


roomTag?

optional roomTag: string[]

Defined in: core/EventWriter.ts:38

Inherited from

EventWriter.roomTag

Methods

addEmoji()

addEmoji(shortcode, url, address?): NoteWriter

Defined in: core/EventWriter.ts:187

Parameters

shortcode

string

url

string

address?

string

Returns

NoteWriter

Inherited from

EventWriter.addEmoji


addMention()

addMention(pubkey): NoteWriter

Defined in: core/EventWriter.ts:147

Parameters

pubkey

string

Returns

NoteWriter

Inherited from

EventWriter.addMention


addQuote()

addQuote(event): NoteWriter

Defined in: core/EventWriter.ts:159

Parameters

event

TrustedEvent

Returns

NoteWriter

Inherited from

EventWriter.addQuote


addTags()

addTags(...tags): NoteWriter

Defined in: core/EventWriter.ts:129

Parameters

tags

...string[][]

Returns

NoteWriter

Inherited from

EventWriter.addTags


addZapSplit()

addZapSplit(pubkey, split): NoteWriter

Defined in: core/EventWriter.ts:171

Parameters

pubkey

string

split

number = 1

Returns

NoteWriter

Inherited from

EventWriter.addZapSplit


clearExpiration()

clearExpiration(): NoteWriter

Defined in: core/EventWriter.ts:111

Returns

NoteWriter

Inherited from

EventWriter.clearExpiration


clearForcedRelays()

clearForcedRelays(): NoteWriter

Defined in: core/EventWriter.ts:93

Returns

NoteWriter

Inherited from

EventWriter.clearForcedRelays


clearIdentifier()

clearIdentifier(): NoteWriter

Defined in: core/EventWriter.ts:123

Returns

NoteWriter

Inherited from

EventWriter.clearIdentifier


clearRoom()

clearRoom(): NoteWriter

Defined in: core/EventWriter.ts:80

Returns

NoteWriter

Inherited from

EventWriter.clearRoom


dropTags()

dropTags(pred): NoteWriter

Defined in: core/EventWriter.ts:141

Parameters

pred

(tag) => boolean

Returns

NoteWriter

Inherited from

EventWriter.dropTags


forceRelays()

forceRelays(...urls): NoteWriter

Defined in: core/EventWriter.ts:87

Parameters

urls

...string[]

Returns

NoteWriter

Inherited from

EventWriter.forceRelays


hint()

protected hint(...routes): Promise<string>

Defined in: core/EventWriter.ts:234

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>

Inherited from

EventWriter.hint


keepTags()

keepTags(pred): NoteWriter

Defined in: core/EventWriter.ts:135

Parameters

pred

(tag) => boolean

Returns

NoteWriter

Inherited from

EventWriter.keepTags


relays()

relays(): Promise<string[]>

Defined in: core/EventWriter.ts:306

Shortcut for getting relays from the router scenario.

Returns

Promise<string[]>

Inherited from

EventWriter.relays


removeEmoji()

removeEmoji(shortcode): NoteWriter

Defined in: core/EventWriter.ts:193

Parameters

shortcode

string

Returns

NoteWriter

Inherited from

EventWriter.removeEmoji


removeZapSplit()

removeZapSplit(pubkey): NoteWriter

Defined in: core/EventWriter.ts:183

Parameters

pubkey

string

Returns

NoteWriter

Inherited from

EventWriter.removeZapSplit


render()

render(): Promise<{ event: EventTemplate; relays: string[]; }>

Defined in: core/EventWriter.ts:313

Returns a rendered event template along with its relays.

Returns

Promise<{ event: EventTemplate; relays: string[]; }>

Inherited from

EventWriter.render


renderBehaviorTags()

protected renderBehaviorTags(): MaybeAsync<string[][]>

Defined in: core/EventWriter.ts:241

Returns a list of tags that may be attached to any kind.

Returns

MaybeAsync<string[][]>

Inherited from

EventWriter.renderBehaviorTags


renderContent()

renderContent(): MaybeAsync<string>

Defined in: core/EventWriter.ts:268

Returns the content string as defined by the kind.

Returns

MaybeAsync<string>

Inherited from

EventWriter.renderContent


renderDomainTags()

protected renderDomainTags(): MaybeAsync<string[][]>

Defined in: core/EventWriter.ts:248

Returns a list of tags related to the kind.

Returns

MaybeAsync<string[][]>

Inherited from

EventWriter.renderDomainTags


renderRoutes()

protected renderRoutes(): Promise<RelaySelection[]>

Defined in: core/EventWriter.ts:289

Returns the list of routes this event should be published to. Defaults to the outbox model. Override to implement custom behavior.

Returns

Promise<RelaySelection[]>

Inherited from

EventWriter.renderRoutes


renderTags()

renderTags(): Promise<string[][]>

Defined in: core/EventWriter.ts:255

Returns the complete tag list for publishing.

Returns

Promise<string[][]>

Inherited from

EventWriter.renderTags


renderTemplate()

renderTemplate(): Promise<EventTemplate>

Defined in: core/EventWriter.ts:275

Validates and renders an event template.

Returns

Promise<EventTemplate>

Inherited from

EventWriter.renderTemplate


scenario()

scenario(): Promise<RelayScenario>

Defined in: core/EventWriter.ts:297

Returns a router scenario for this event. Publishes to forced relays (e.g. a NIP-29 room) when set, otherwise to the rendered routes.

Returns

Promise<RelayScenario>

Inherited from

EventWriter.scenario


setContent()

setContent(content): NoteWriter

Defined in: core/EventWriter.ts:67

Parameters

content

string

Returns

NoteWriter

Inherited from

EventWriter.setContent


setExpiration()

setExpiration(expiration): NoteWriter

Defined in: core/EventWriter.ts:105

Parameters

expiration

number

Returns

NoteWriter

Inherited from

EventWriter.setExpiration


setIdentifier()

setIdentifier(identifier): NoteWriter

Defined in: core/EventWriter.ts:117

Parameters

identifier

string = ...

Returns

NoteWriter

Inherited from

EventWriter.setIdentifier


setParent()

setParent(event): NoteWriter

Defined in: kinds/Note.ts:66

Parameters

event

TrustedEvent

Returns

NoteWriter


setProtected()

setProtected(protect): NoteWriter

Defined in: core/EventWriter.ts:99

Parameters

protect

boolean

Returns

NoteWriter

Inherited from

EventWriter.setProtected


setRoom()

setRoom(url, room): NoteWriter

Defined in: core/EventWriter.ts:73

Parameters

url

string

room

string

Returns

NoteWriter

Inherited from

EventWriter.setRoom


validate()

validate(): void

Defined in: core/EventWriter.ts:200

Validates a domain object, throwing an error if invalid.

Returns

void

Inherited from

EventWriter.validate