Skip to content

Welshman Docs / @welshman/domain / RoomCreateWriter

Class: RoomCreateWriter ​

Defined in: domain/src/kinds/RoomCreate.ts:10

Extends ​

Constructors ​

Constructor ​

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

Defined in: domain/src/core/EventWriter.ts:67

Parameters ​

kind ​

number

context ​

KindContext

reader? ​

RoomCreateReader

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.constructor

Properties ​

clientTag? ​

optional clientTag?: string[]

Defined in: domain/src/core/EventWriter.ts:57

Inherited from ​

EventWriter.clientTag


content ​

content: string = ""

Defined in: domain/src/core/EventWriter.ts:52

Inherited from ​

EventWriter.content


contentWarningTag? ​

optional contentWarningTag?: string[]

Defined in: domain/src/core/EventWriter.ts:56

Inherited from ​

EventWriter.contentWarningTag


context ​

readonly context: KindContext

Defined in: domain/src/core/EventWriter.ts:69

Inherited from ​

EventWriter.context


expirationTag? ​

optional expirationTag?: string[]

Defined in: domain/src/core/EventWriter.ts:55

Inherited from ​

EventWriter.expirationTag


extraTags ​

extraTags: string[][] = []

Defined in: domain/src/core/EventWriter.ts:59

Inherited from ​

EventWriter.extraTags


forcedRoutes? ​

optional forcedRoutes?: RelaySelection[]

Defined in: domain/src/core/EventWriter.ts:60

Inherited from ​

EventWriter.forcedRoutes


identifierTag? ​

optional identifierTag?: string[]

Defined in: domain/src/core/EventWriter.ts:58

Inherited from ​

EventWriter.identifierTag


kind ​

readonly kind: number

Defined in: domain/src/core/EventWriter.ts:68

Inherited from ​

EventWriter.kind


pendingResolves ​

pendingResolves: Promise<unknown>[] = []

Defined in: domain/src/core/EventWriter.ts:61

Inherited from ​

EventWriter.pendingResolves


protectTag? ​

optional protectTag?: string[]

Defined in: domain/src/core/EventWriter.ts:54

Inherited from ​

EventWriter.protectTag


reader? ​

readonly optional reader?: RoomCreateReader

Defined in: domain/src/core/EventWriter.ts:70

Inherited from ​

EventWriter.reader


requiresRelays ​

readonly requiresRelays: true = true

Defined in: domain/src/kinds/RoomCreate.ts:11

Overrides ​

EventWriter.requiresRelays


roomTag? ​

optional roomTag?: string[]

Defined in: domain/src/core/EventWriter.ts:53

Inherited from ​

EventWriter.roomTag

Methods ​

addEmoji() ​

addEmoji(shortcode, url, address?): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:269

Parameters ​

shortcode ​

string

url ​

string

address? ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.addEmoji


addImeta() ​

addImeta(imeta): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:261

Parameters ​

imeta ​

Imeta

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.addImeta


addMention() ​

addMention(pubkey): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:209

Parameters ​

pubkey ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.addMention


addQuote() ​

addQuote(event): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:225

Parameters ​

event ​

TrustedEvent

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.addQuote


addTags() ​

addTags(...tags): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:191

Parameters ​

tags ​

...string[][]

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.addTags


addZapSplit() ​

addZapSplit(pubkey, split?): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:241

Parameters ​

pubkey ​

string

split? ​

number = 1

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.addZapSplit


clearClient() ​

clearClient(): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:173

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.clearClient


clearContentWarning() ​

clearContentWarning(): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:148

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.clearContentWarning


clearExpiration() ​

clearExpiration(): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:135

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.clearExpiration


clearForcedRoutes() ​

clearForcedRoutes(): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:117

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.clearForcedRoutes


clearIdentifier() ​

clearIdentifier(): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:185

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.clearIdentifier


clearRoom() ​

clearRoom(): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:99

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.clearRoom


dropTags() ​

dropTags(pred): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:203

Parameters ​

pred ​

(tag) => unknown

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.dropTags


forceRoutes() ​

forceRoutes(...routes): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:111

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 ​

RoomCreateWriter

Inherited from ​

EventWriter.forceRoutes


hint() ​

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

Defined in: domain/src/core/EventWriter.ts:316

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


imeta() ​

imeta(): Imeta[]

Defined in: domain/src/core/EventWriter.ts:257

Returns ​

Imeta[]

Inherited from ​

EventWriter.imeta


keepTags() ​

keepTags(pred): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:197

Parameters ​

pred ​

(tag) => unknown

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.keepTags


quotes() ​

quotes(): Quote[]

Defined in: domain/src/core/EventWriter.ts:221

Returns ​

Quote[]

Inherited from ​

EventWriter.quotes


relays() ​

relays(): Promise<string[]>

Defined in: domain/src/core/EventWriter.ts:400

Shortcut for getting relays from the router scenario. Forced routes bypass scoring.

Returns ​

Promise<string[]>

Inherited from ​

EventWriter.relays


removeEmoji() ​

removeEmoji(shortcode): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:275

Parameters ​

shortcode ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.removeEmoji


removeImeta() ​

removeImeta(match): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:265

Parameters ​

match ​

(imeta) => boolean

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.removeImeta


removeQuote() ​

removeQuote(value): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:237

Parameters ​

value ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.removeQuote


removeZapSplit() ​

removeZapSplit(pubkey): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:253

Parameters ​

pubkey ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.removeZapSplit


render() ​

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

Defined in: domain/src/core/EventWriter.ts:409

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: domain/src/core/EventWriter.ts:323

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: domain/src/core/EventWriter.ts:357

Returns the content string as defined by the kind.

Returns ​

MaybeAsync<string>

Inherited from ​

EventWriter.renderContent


renderDomainTags() ​

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

Defined in: domain/src/core/EventWriter.ts:337

Returns a list of tags related to the kind.

Returns ​

MaybeAsync<string[][]>

Inherited from ​

EventWriter.renderDomainTags


renderRoutes() ​

protected renderRoutes(): Promise<RelaySelection[]>

Defined in: domain/src/core/EventWriter.ts:378

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: domain/src/core/EventWriter.ts:344

Returns the complete tag list for publishing.

Returns ​

Promise<string[][]>

Inherited from ​

EventWriter.renderTags


renderTemplate() ​

renderTemplate(): Promise<EventTemplate>

Defined in: domain/src/core/EventWriter.ts:364

Validates and renders an event template.

Returns ​

Promise<EventTemplate>

Inherited from ​

EventWriter.renderTemplate


scenario() ​

scenario(): Promise<RelayScenario>

Defined in: domain/src/core/EventWriter.ts:391

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.

The resolver's default limit is tuned for reads, where an extra relay is a round trip returning mostly the same events. Publishing is the opposite: a relay that never received the event serves it to nobody. Override scenario for a different limit.

Returns ​

Promise<RelayScenario>

Inherited from ​

EventWriter.scenario


setClient() ​

setClient(name, address?): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:159

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 ​

RoomCreateWriter

Inherited from ​

EventWriter.setClient


setContent() ​

setContent(content): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:86

Parameters ​

content ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.setContent


setContentWarning() ​

setContentWarning(reason?): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:142

Parameters ​

reason? ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.setContentWarning


setExpiration() ​

setExpiration(expiration): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:129

Parameters ​

expiration ​

number

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.setExpiration


setIdentifier() ​

setIdentifier(identifier?): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:179

Parameters ​

identifier? ​

string = ...

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.setIdentifier


setProtected() ​

setProtected(protect): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:123

Parameters ​

protect ​

Maybe<boolean>

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.setProtected


setRoom() ​

setRoom(url, room): RoomCreateWriter

Defined in: domain/src/core/EventWriter.ts:92

Parameters ​

url ​

string

room ​

string

Returns ​

RoomCreateWriter

Inherited from ​

EventWriter.setRoom


validate() ​

validate(): void

Defined in: domain/src/kinds/RoomCreate.ts:13

Validates a domain object, throwing an error if invalid.

Returns ​

void

Overrides ​

EventWriter.validate