Skip to content

Welshman Docs / @welshman/domain / TopicListWriter

Class: TopicListWriter

Defined in: kinds/TopicList.ts:22

Extends

Constructors

Constructor

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

Defined in: core/ListWriter.ts:12

Parameters

kind

number

context

KindContext

reader?

TopicListReader

Returns

TopicListWriter

Inherited from

ListWriter.constructor

Properties

content

content: string = ""

Defined in: core/EventWriter.ts:37

Inherited from

ListWriter.content


context

readonly context: KindContext

Defined in: core/EventWriter.ts:52

Inherited from

ListWriter.context


expirationTag?

optional expirationTag: string[]

Defined in: core/EventWriter.ts:40

Inherited from

ListWriter.expirationTag


extraTags

extraTags: string[][] = []

Defined in: core/EventWriter.ts:42

Inherited from

ListWriter.extraTags


forcedRelays?

optional forcedRelays: string[]

Defined in: core/EventWriter.ts:43

Inherited from

ListWriter.forcedRelays


identifierTag?

optional identifierTag: string[]

Defined in: core/EventWriter.ts:41

Inherited from

ListWriter.identifierTag


kind

readonly kind: number

Defined in: core/EventWriter.ts:51

Inherited from

ListWriter.kind


pendingResolves

pendingResolves: Promise<unknown>[] = []

Defined in: core/EventWriter.ts:44

Inherited from

ListWriter.pendingResolves


privateTags

privateTags: string[][] = []

Defined in: core/ListWriter.ts:10

Inherited from

ListWriter.privateTags


protectTag?

optional protectTag: string[]

Defined in: core/EventWriter.ts:39

Inherited from

ListWriter.protectTag


publicTags

publicTags: string[][] = []

Defined in: core/ListWriter.ts:9

Inherited from

ListWriter.publicTags


reader?

readonly optional reader: TopicListReader

Defined in: core/EventWriter.ts:53

Inherited from

ListWriter.reader


requiresRelays

readonly requiresRelays: boolean = false

Defined in: core/EventWriter.ts:48

Inherited from

ListWriter.requiresRelays


roomTag?

optional roomTag: string[]

Defined in: core/EventWriter.ts:38

Inherited from

ListWriter.roomTag

Methods

addEmoji()

addEmoji(shortcode, url, address?): TopicListWriter

Defined in: core/EventWriter.ts:187

Parameters

shortcode

string

url

string

address?

string

Returns

TopicListWriter

Inherited from

ListWriter.addEmoji


addMention()

addMention(pubkey): TopicListWriter

Defined in: core/EventWriter.ts:147

Parameters

pubkey

string

Returns

TopicListWriter

Inherited from

ListWriter.addMention


addPrivate()

addPrivate(...tags): TopicListWriter

Defined in: core/ListWriter.ts:28

Parameters

tags

...string[][]

Returns

TopicListWriter

Inherited from

ListWriter.addPrivate


addPublic()

addPublic(...tags): TopicListWriter

Defined in: core/ListWriter.ts:22

Parameters

tags

...string[][]

Returns

TopicListWriter

Inherited from

ListWriter.addPublic


addQuote()

addQuote(event): TopicListWriter

Defined in: core/EventWriter.ts:159

Parameters

event

TrustedEvent

Returns

TopicListWriter

Inherited from

ListWriter.addQuote


addTags()

addTags(...tags): TopicListWriter

Defined in: core/EventWriter.ts:129

Parameters

tags

...string[][]

Returns

TopicListWriter

Inherited from

ListWriter.addTags


addZapSplit()

addZapSplit(pubkey, split): TopicListWriter

Defined in: core/EventWriter.ts:171

Parameters

pubkey

string

split

number = 1

Returns

TopicListWriter

Inherited from

ListWriter.addZapSplit


clearExpiration()

clearExpiration(): TopicListWriter

Defined in: core/EventWriter.ts:111

Returns

TopicListWriter

Inherited from

ListWriter.clearExpiration


clearForcedRelays()

clearForcedRelays(): TopicListWriter

Defined in: core/EventWriter.ts:93

Returns

TopicListWriter

Inherited from

ListWriter.clearForcedRelays


clearIdentifier()

clearIdentifier(): TopicListWriter

Defined in: core/EventWriter.ts:123

Returns

TopicListWriter

Inherited from

ListWriter.clearIdentifier


clearRoom()

clearRoom(): TopicListWriter

Defined in: core/EventWriter.ts:80

Returns

TopicListWriter

Inherited from

ListWriter.clearRoom


dropPrivate()

dropPrivate(pred): TopicListWriter

Defined in: core/ListWriter.ts:59

Parameters

pred

(tag) => boolean

Returns

TopicListWriter

Inherited from

ListWriter.dropPrivate


dropPublic()

dropPublic(pred): TopicListWriter

Defined in: core/ListWriter.ts:53

Parameters

pred

(tag) => boolean

Returns

TopicListWriter

Inherited from

ListWriter.dropPublic


dropTags()

dropTags(pred): TopicListWriter

Defined in: core/ListWriter.ts:65

Parameters

pred

(tag) => boolean

Returns

TopicListWriter

Inherited from

ListWriter.dropTags


follow()

follow(topic): TopicListWriter

Defined in: kinds/TopicList.ts:31

Parameters

topic

string

Returns

TopicListWriter


followPrivately()

followPrivately(topic): TopicListWriter

Defined in: kinds/TopicList.ts:27

Parameters

topic

string

Returns

TopicListWriter


followPublicly()

followPublicly(topic): TopicListWriter

Defined in: kinds/TopicList.ts:23

Parameters

topic

string

Returns

TopicListWriter


forceRelays()

forceRelays(...urls): TopicListWriter

Defined in: core/EventWriter.ts:87

Parameters

urls

...string[]

Returns

TopicListWriter

Inherited from

ListWriter.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

ListWriter.hint


keepPrivate()

keepPrivate(pred): TopicListWriter

Defined in: core/ListWriter.ts:40

Parameters

pred

(tag) => boolean

Returns

TopicListWriter

Inherited from

ListWriter.keepPrivate


keepPublic()

keepPublic(pred): TopicListWriter

Defined in: core/ListWriter.ts:34

Parameters

pred

(tag) => boolean

Returns

TopicListWriter

Inherited from

ListWriter.keepPublic


keepTags()

keepTags(pred): TopicListWriter

Defined in: core/ListWriter.ts:46

Parameters

pred

(tag) => boolean

Returns

TopicListWriter

Inherited from

ListWriter.keepTags


relays()

relays(): Promise<string[]>

Defined in: core/EventWriter.ts:306

Shortcut for getting relays from the router scenario.

Returns

Promise<string[]>

Inherited from

ListWriter.relays


removeEmoji()

removeEmoji(shortcode): TopicListWriter

Defined in: core/EventWriter.ts:193

Parameters

shortcode

string

Returns

TopicListWriter

Inherited from

ListWriter.removeEmoji


removeZapSplit()

removeZapSplit(pubkey): TopicListWriter

Defined in: core/EventWriter.ts:183

Parameters

pubkey

string

Returns

TopicListWriter

Inherited from

ListWriter.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

ListWriter.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

ListWriter.renderBehaviorTags


renderContent()

renderContent(): Promise<string>

Defined in: core/ListWriter.ts:86

Returns the content string as defined by the kind.

Returns

Promise<string>

Inherited from

ListWriter.renderContent


renderDomainTags()

protected renderDomainTags(): string[][]

Defined in: core/ListWriter.ts:82

Returns a list of tags related to the kind.

Returns

string[][]

Inherited from

ListWriter.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

ListWriter.renderRoutes


renderTags()

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

Defined in: core/EventWriter.ts:255

Returns the complete tag list for publishing.

Returns

Promise<string[][]>

Inherited from

ListWriter.renderTags


renderTemplate()

renderTemplate(): Promise<EventTemplate>

Defined in: core/EventWriter.ts:275

Validates and renders an event template.

Returns

Promise<EventTemplate>

Inherited from

ListWriter.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

ListWriter.scenario


setContent()

setContent(content): TopicListWriter

Defined in: core/EventWriter.ts:67

Parameters

content

string

Returns

TopicListWriter

Inherited from

ListWriter.setContent


setExpiration()

setExpiration(expiration): TopicListWriter

Defined in: core/EventWriter.ts:105

Parameters

expiration

number

Returns

TopicListWriter

Inherited from

ListWriter.setExpiration


setIdentifier()

setIdentifier(identifier): TopicListWriter

Defined in: core/EventWriter.ts:117

Parameters

identifier

string = ...

Returns

TopicListWriter

Inherited from

ListWriter.setIdentifier


setProtected()

setProtected(protect): TopicListWriter

Defined in: core/EventWriter.ts:99

Parameters

protect

boolean

Returns

TopicListWriter

Inherited from

ListWriter.setProtected


setRoom()

setRoom(url, room): TopicListWriter

Defined in: core/EventWriter.ts:73

Parameters

url

string

room

string

Returns

TopicListWriter

Inherited from

ListWriter.setRoom


unfollow()

unfollow(topic): TopicListWriter

Defined in: kinds/TopicList.ts:35

Parameters

topic

string

Returns

TopicListWriter


validate()

validate(): void

Defined in: core/ListWriter.ts:72

Validates a domain object, throwing an error if invalid.

Returns

void

Inherited from

ListWriter.validate