Welshman Docs / @welshman/app / DerivedPlugin
Class: abstract DerivedPlugin<T>
Defined in: app/src/plugins/base.ts:206
Base class for a reactive, keyed collection of data derived from nostr events. The repository is the single source of truth — the collection is a live view over app.itemsByKey, never a duplicated map. Subclasses implement fetch (how to load an item by key from the network) and pass the filters/decoder via super.
index (map) and all (values) are Projections — subscribe via .$, snapshot via .get(). Per-key access is one(key), a plain on-demand store.
Extended by
RelayListsBlockedRelayListsProfilesFollowListsMuteListsPinListsPinboardsPinsRoomListsBlossomServerListsMessagingRelayListsSearchRelayListsFeedsFeedLists
Type Parameters
T
T
Constructors
Constructor
new DerivedPlugin<
T>(app,options):DerivedPlugin<T>
Defined in: app/src/plugins/base.ts:215
Parameters
app
options
Returns
DerivedPlugin<T>
Properties
all
all:
Projection<T[]>
Defined in: app/src/plugins/base.ts:208
app
protectedreadonlyapp:IApp
Defined in: app/src/plugins/base.ts:216
forceLoad()
forceLoad: (
key, ...args) =>Promise<Maybe<T>>
Defined in: app/src/plugins/base.ts:211
Parameters
key
string
args
...any[]
Returns
Promise<Maybe<T>>
index
index:
Projection<ItemsByKey<T>>
Defined in: app/src/plugins/base.ts:207
load()
load: (
key, ...args) =>Promise<Maybe<T>>
Defined in: app/src/plugins/base.ts:210
Parameters
key
string
args
...any[]
Returns
Promise<Maybe<T>>
one()
one: (
key?, ...args) =>Readable<Maybe<T>>
Defined in: app/src/plugins/base.ts:209
Parameters
key?
string
args?
...any[]
Returns
Readable<Maybe<T>>
Methods
fetch()
abstractfetch(key, ...args):Promise<unknown>
Defined in: app/src/plugins/base.ts:213
Parameters
key
string
args
...any[]
Returns
Promise<unknown>
get()
get(
key):undefined|T
Defined in: app/src/plugins/base.ts:237
Parameters
key
string
Returns
undefined | T
project()
project<
U>(key,read):Projection<U>
Defined in: app/src/plugins/base.ts:239
Type Parameters
U
U
Parameters
key
string
read
(item) => U
Returns
Projection<U>