Skip to content

Welshman Docs / @welshman/domain / FeedListWriter

Class: FeedListWriter ​

Defined in: domain/src/kinds/FeedList.ts:19

Extends ​

Constructors ​

Constructor ​

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

Defined in: domain/src/core/ListWriter.ts:12

Parameters ​

kind ​

number

context ​

KindContext

reader? ​

FeedListReader

Returns ​

FeedListWriter

Inherited from ​

ListWriter.constructor

Properties ​

clientTag? ​

optional clientTag?: string[]

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

Inherited from ​

ListWriter.clientTag


content ​

content: string = ""

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

Inherited from ​

ListWriter.content


contentWarningTag? ​

optional contentWarningTag?: string[]

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

Inherited from ​

ListWriter.contentWarningTag


context ​

readonly context: KindContext

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

Inherited from ​

ListWriter.context


expirationTag? ​

optional expirationTag?: string[]

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

Inherited from ​

ListWriter.expirationTag


extraTags ​

extraTags: string[][] = []

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

Inherited from ​

ListWriter.extraTags


forcedRoutes? ​

optional forcedRoutes?: RelaySelection[]

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

Inherited from ​

ListWriter.forcedRoutes


identifierTag? ​

optional identifierTag?: string[]

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

Inherited from ​

ListWriter.identifierTag


kind ​

readonly kind: number

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

Inherited from ​

ListWriter.kind


pendingResolves ​

pendingResolves: Promise<unknown>[] = []

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

Inherited from ​

ListWriter.pendingResolves


privateTags ​

privateTags: string[][] = []

Defined in: domain/src/core/ListWriter.ts:10

Inherited from ​

ListWriter.privateTags


protectTag? ​

optional protectTag?: string[]

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

Inherited from ​

ListWriter.protectTag


publicTags ​

publicTags: string[][] = []

Defined in: domain/src/core/ListWriter.ts:9

Inherited from ​

ListWriter.publicTags


reader? ​

readonly optional reader?: FeedListReader

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

Inherited from ​

ListWriter.reader


requiresRelays ​

readonly requiresRelays: boolean = false

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

Inherited from ​

ListWriter.requiresRelays


roomTag? ​

optional roomTag?: string[]

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

Inherited from ​

ListWriter.roomTag

Methods ​

addEmoji() ​

addEmoji(shortcode, url, address?): FeedListWriter

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

Parameters ​

shortcode ​

string

url ​

string

address? ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addEmoji


addFeed() ​

addFeed(address, relayHint?): FeedListWriter

Defined in: domain/src/kinds/FeedList.ts:20

Parameters ​

address ​

string

relayHint? ​

string

Returns ​

FeedListWriter


addFeedPrivately() ​

addFeedPrivately(address, relayHint?): FeedListWriter

Defined in: domain/src/kinds/FeedList.ts:24

Parameters ​

address ​

string

relayHint? ​

string

Returns ​

FeedListWriter


addImeta() ​

addImeta(imeta): FeedListWriter

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

Parameters ​

imeta ​

Imeta

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addImeta


addMention() ​

addMention(pubkey): FeedListWriter

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

Parameters ​

pubkey ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addMention


addPrivate() ​

addPrivate(...tags): FeedListWriter

Defined in: domain/src/core/ListWriter.ts:28

Parameters ​

tags ​

...string[][]

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addPrivate


addPublic() ​

addPublic(...tags): FeedListWriter

Defined in: domain/src/core/ListWriter.ts:22

Parameters ​

tags ​

...string[][]

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addPublic


addQuote() ​

addQuote(event): FeedListWriter

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

Parameters ​

event ​

TrustedEvent

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addQuote


addTags() ​

addTags(...tags): FeedListWriter

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

Parameters ​

tags ​

...string[][]

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addTags


addZapSplit() ​

addZapSplit(pubkey, split?): FeedListWriter

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

Parameters ​

pubkey ​

string

split? ​

number = 1

Returns ​

FeedListWriter

Inherited from ​

ListWriter.addZapSplit


clearClient() ​

clearClient(): FeedListWriter

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

Returns ​

FeedListWriter

Inherited from ​

ListWriter.clearClient


clearContentWarning() ​

clearContentWarning(): FeedListWriter

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

Returns ​

FeedListWriter

Inherited from ​

ListWriter.clearContentWarning


clearExpiration() ​

clearExpiration(): FeedListWriter

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

Returns ​

FeedListWriter

Inherited from ​

ListWriter.clearExpiration


clearForcedRoutes() ​

clearForcedRoutes(): FeedListWriter

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

Returns ​

FeedListWriter

Inherited from ​

ListWriter.clearForcedRoutes


clearIdentifier() ​

clearIdentifier(): FeedListWriter

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

Returns ​

FeedListWriter

Inherited from ​

ListWriter.clearIdentifier


clearRoom() ​

clearRoom(): FeedListWriter

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

Returns ​

FeedListWriter

Inherited from ​

ListWriter.clearRoom


dropPrivate() ​

dropPrivate(pred): FeedListWriter

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

Parameters ​

pred ​

(tag) => unknown

Returns ​

FeedListWriter

Inherited from ​

ListWriter.dropPrivate


dropPublic() ​

dropPublic(pred): FeedListWriter

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

Parameters ​

pred ​

(tag) => unknown

Returns ​

FeedListWriter

Inherited from ​

ListWriter.dropPublic


dropTags() ​

dropTags(pred): FeedListWriter

Defined in: domain/src/core/ListWriter.ts:65

Parameters ​

pred ​

(tag) => unknown

Returns ​

FeedListWriter

Inherited from ​

ListWriter.dropTags


forceRoutes() ​

forceRoutes(...routes): FeedListWriter

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 ​

FeedListWriter

Inherited from ​

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

ListWriter.hint


imeta() ​

imeta(): Imeta[]

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

Returns ​

Imeta[]

Inherited from ​

ListWriter.imeta


keepPrivate() ​

keepPrivate(pred): FeedListWriter

Defined in: domain/src/core/ListWriter.ts:40

Parameters ​

pred ​

(tag) => unknown

Returns ​

FeedListWriter

Inherited from ​

ListWriter.keepPrivate


keepPublic() ​

keepPublic(pred): FeedListWriter

Defined in: domain/src/core/ListWriter.ts:34

Parameters ​

pred ​

(tag) => unknown

Returns ​

FeedListWriter

Inherited from ​

ListWriter.keepPublic


keepTags() ​

keepTags(pred): FeedListWriter

Defined in: domain/src/core/ListWriter.ts:46

Parameters ​

pred ​

(tag) => unknown

Returns ​

FeedListWriter

Inherited from ​

ListWriter.keepTags


quotes() ​

quotes(): Quote[]

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

Returns ​

Quote[]

Inherited from ​

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

ListWriter.relays


removeEmoji() ​

removeEmoji(shortcode): FeedListWriter

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

Parameters ​

shortcode ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.removeEmoji


removeFeed() ​

removeFeed(address): FeedListWriter

Defined in: domain/src/kinds/FeedList.ts:28

Parameters ​

address ​

string

Returns ​

FeedListWriter


removeImeta() ​

removeImeta(match): FeedListWriter

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

Parameters ​

match ​

(imeta) => boolean

Returns ​

FeedListWriter

Inherited from ​

ListWriter.removeImeta


removeQuote() ​

removeQuote(value): FeedListWriter

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

Parameters ​

value ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.removeQuote


removeZapSplit() ​

removeZapSplit(pubkey): FeedListWriter

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

Parameters ​

pubkey ​

string

Returns ​

FeedListWriter

Inherited from ​

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

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

ListWriter.renderBehaviorTags


renderContent() ​

renderContent(): Promise<string>

Defined in: domain/src/core/ListWriter.ts:88

Returns the content string as defined by the kind.

Returns ​

Promise<string>

Inherited from ​

ListWriter.renderContent


renderDomainTags() ​

protected renderDomainTags(): string[][]

Defined in: domain/src/core/ListWriter.ts:84

Returns a list of tags related to the kind.

Returns ​

string[][]

Inherited from ​

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

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

ListWriter.renderTags


renderTemplate() ​

renderTemplate(): Promise<EventTemplate>

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

Validates and renders an event template.

Returns ​

Promise<EventTemplate>

Inherited from ​

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

ListWriter.scenario


setClient() ​

setClient(name, address?): FeedListWriter

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 ​

FeedListWriter

Inherited from ​

ListWriter.setClient


setContent() ​

setContent(content): FeedListWriter

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

Parameters ​

content ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.setContent


setContentWarning() ​

setContentWarning(reason?): FeedListWriter

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

Parameters ​

reason? ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.setContentWarning


setExpiration() ​

setExpiration(expiration): FeedListWriter

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

Parameters ​

expiration ​

number

Returns ​

FeedListWriter

Inherited from ​

ListWriter.setExpiration


setIdentifier() ​

setIdentifier(identifier?): FeedListWriter

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

Parameters ​

identifier? ​

string = ...

Returns ​

FeedListWriter

Inherited from ​

ListWriter.setIdentifier


setProtected() ​

setProtected(protect): FeedListWriter

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

Parameters ​

protect ​

Maybe<boolean>

Returns ​

FeedListWriter

Inherited from ​

ListWriter.setProtected


setRoom() ​

setRoom(url, room): FeedListWriter

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

Parameters ​

url ​

string

room ​

string

Returns ​

FeedListWriter

Inherited from ​

ListWriter.setRoom


validate() ​

validate(): void

Defined in: domain/src/core/ListWriter.ts:72

Validates a domain object, throwing an error if invalid.

Returns ​

void

Inherited from ​

ListWriter.validate