Skip to content

Welshman Docs / @welshman/store

@welshman/store ​

Interfaces ​

Type Aliases ​

EventOptions ​

EventOptions = object

Defined in: repository.ts:88

Properties ​

includeDeleted? ​

optional includeDeleted: boolean

Defined in: repository.ts:90

onDerive()? ​

optional onDerive: (filters, ...args) => void

Defined in: repository.ts:91

Parameters ​
filters ​

Filter[]

args ​

...any[]

Returns ​

void

repository ​

repository: Repository

Defined in: repository.ts:89


EventsById ​

EventsById = Map<string, TrustedEvent>

Defined in: repository.ts:29


EventsByIdByUrl ​

EventsByIdByUrl = Map<string, EventsById>

Defined in: repository.ts:127


EventsByIdByUrlOptions ​

EventsByIdByUrlOptions = EventsByIdOptions & object

Defined in: repository.ts:129

Type declaration ​

tracker ​

tracker: Tracker


EventsByIdForUrlOptions ​

EventsByIdForUrlOptions = EventsByIdOptions & object

Defined in: repository.ts:257

Type declaration ​

tracker ​

tracker: Tracker

url ​

url: string


EventsByIdOptions ​

EventsByIdOptions = object

Defined in: repository.ts:31

Properties ​

filters ​

filters: Filter[]

Defined in: repository.ts:32

includeDeleted? ​

optional includeDeleted: boolean

Defined in: repository.ts:34

repository ​

repository: Repository

Defined in: repository.ts:33


EventToItem()<T> ​

EventToItem<T> = (event) => MaybeAsync<Maybe<T>>

Defined in: repository.ts:349

Type Parameters ​

T ​

T

Parameters ​

event ​

TrustedEvent

Returns ​

MaybeAsync<Maybe<T>>


GetItem()<T> ​

GetItem<T> = (key, ...args) => Maybe<T>

Defined in: repository.ts:351

Type Parameters ​

T ​

T

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Maybe<T>


GetterOptions<T> ​

GetterOptions<T> = object

Defined in: misc.ts:12

Type Parameters ​

T ​

T

Properties ​

read()? ​

optional read: () => T

Defined in: misc.ts:16

Returns ​

T

threshold? ​

optional threshold: number

Defined in: misc.ts:13


ItemsByKey<T> ​

ItemsByKey<T> = Map<string, T>

Defined in: repository.ts:347

Type Parameters ​

T ​

T


ItemsByKeyByUrlOptions<T> ​

ItemsByKeyByUrlOptions<T> = object

Defined in: repository.ts:449

Type Parameters ​

T ​

T

Properties ​

eventToItem ​

eventToItem: EventToItem<T>

Defined in: repository.ts:459

filters ​

filters: Filter[]

Defined in: repository.ts:456

getKey() ​

getKey: (item, url) => string | undefined

Defined in: repository.ts:455

Parameters ​
item ​

T

url ​

string

Returns ​

string | undefined

includeDeleted? ​

optional includeDeleted: boolean

Defined in: repository.ts:460

repository ​

repository: Repository

Defined in: repository.ts:457

revalidateOn? ​

optional revalidateOn: Readable<unknown>

Defined in: repository.ts:464

tracker ​

tracker: Tracker

Defined in: repository.ts:458


ItemsByKeyOptions<T> ​

ItemsByKeyOptions<T> = object

Defined in: repository.ts:353

Type Parameters ​

T ​

T

Properties ​

eventToItem ​

eventToItem: EventToItem<T>

Defined in: repository.ts:357

filters ​

filters: Filter[]

Defined in: repository.ts:355

getKey() ​

getKey: (item) => string

Defined in: repository.ts:354

Parameters ​
item ​

T

Returns ​

string

includeDeleted? ​

optional includeDeleted: boolean

Defined in: repository.ts:358

repository ​

repository: Repository

Defined in: repository.ts:356


LoadItem() ​

LoadItem = (key, ...args) => Promise<unknown>

Defined in: repository.ts:687

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Promise<unknown>


MakeLoadItemOptions ​

MakeLoadItemOptions = object

Defined in: repository.ts:697

Properties ​

getFetched()? ​

optional getFetched: (key) => number

Defined in: repository.ts:698

Parameters ​
key ​

string

Returns ​

number

getSource()? ​

optional getSource: (...args) => string

Defined in: repository.ts:700

Parameters ​
args ​

...any[]

Returns ​

string

maxSize? ​

optional maxSize: number

Defined in: repository.ts:701

setFetched()? ​

optional setFetched: (key, ts) => void

Defined in: repository.ts:699

Parameters ​
key ​

string

ts ​

number

Returns ​

void

timeout? ​

optional timeout: number

Defined in: repository.ts:702


ReadableWithGetter<T> ​

ReadableWithGetter<T> = Readable<T> & object

Defined in: misc.ts:64

Type declaration ​

get() ​

get: () => T

Returns ​

T

Type Parameters ​

T ​

T


Synced<T> ​

Synced<T> = Writable<T> & object

Defined in: synced.ts:20

Type declaration ​

ready ​

ready: Promise<void>

Type Parameters ​

T ​

T


WritableWithGetter<T> ​

WritableWithGetter<T> = Writable<T> & object

Defined in: misc.ts:63

Type declaration ​

get() ​

get: () => T

Returns ​

T

Type Parameters ​

T ​

T

Variables ​

localStorageProvider ​

const localStorageProvider: StorageProvider

Defined in: synced.ts:9

Functions ​

deriveArray() ​

deriveArray<T>(itemsByIdStore): Readable<T[]>

Defined in: repository.ts:77

Type Parameters ​

T ​

T

Parameters ​

itemsByIdStore ​

Readable<Map<string, T>>

Returns ​

Readable<T[]>


deriveDeduplicated() ​

deriveDeduplicated<S, T>(stores, get): Readable<T>

Defined in: misc.ts:88

Type Parameters ​

S ​

S extends Stores

T ​

T

Parameters ​

stores ​

S

get ​

(storeValues) => T

Returns ​

Readable<T>


deriveDeduplicatedByValue() ​

deriveDeduplicatedByValue<S, T>(stores, get): Readable<T>

Defined in: misc.ts:104

Type Parameters ​

S ​

S extends Stores

T ​

T

Parameters ​

stores ​

S

get ​

(storeValues) => T

Returns ​

Readable<T>


deriveEvents() ​

deriveEvents(options): Readable<TrustedEvent[]>

Defined in: repository.ts:86

Parameters ​

options ​

EventsByIdOptions

Returns ​

Readable<TrustedEvent[]>


deriveEventsAsc() ​

deriveEventsAsc(eventsByIdStore): Readable<TrustedEvent[]>

Defined in: repository.ts:80

Parameters ​

eventsByIdStore ​

Readable<EventsById>

Returns ​

Readable<TrustedEvent[]>


deriveEventsById() ​

deriveEventsById(__namedParameters): Readable<EventsById>

Defined in: repository.ts:47

Parameters ​

__namedParameters ​

EventsByIdOptions

Returns ​

Readable<EventsById>


deriveEventsByIdByUrl() ​

deriveEventsByIdByUrl(__namedParameters): Readable<EventsByIdByUrl>

Defined in: repository.ts:156

Parameters ​

__namedParameters ​

EventsByIdByUrlOptions

Returns ​

Readable<EventsByIdByUrl>


deriveEventsByIdForUrl() ​

deriveEventsByIdForUrl(__namedParameters): Readable<EventsById>

Defined in: repository.ts:280

Parameters ​

__namedParameters ​

EventsByIdForUrlOptions

Returns ​

Readable<EventsById>


deriveEventsDesc() ​

deriveEventsDesc(eventsByIdStore): Readable<TrustedEvent[]>

Defined in: repository.ts:83

Parameters ​

eventsByIdStore ​

Readable<EventsById>

Returns ​

Readable<TrustedEvent[]>


deriveIsDeleted() ​

deriveIsDeleted(repository, event): Readable<boolean>

Defined in: repository.ts:770

Parameters ​

repository ​

Repository

event ​

TrustedEvent

Returns ​

Readable<boolean>


deriveItems() ​

deriveItems<T>(itemsByKeyStore): Readable<T[]>

Defined in: repository.ts:665

Type Parameters ​

T ​

T

Parameters ​

itemsByKeyStore ​

Readable<ItemsByKey<T>>

Returns ​

Readable<T[]>


deriveItemsByKey() ​

deriveItemsByKey<T>(__namedParameters): Readable<Map<string, T>>

Defined in: repository.ts:361

Type Parameters ​

T ​

T

Parameters ​

__namedParameters ​

ItemsByKeyOptions<T>

Returns ​

Readable<Map<string, T>>


deriveItemsByKeyByUrl() ​

deriveItemsByKeyByUrl<T>(__namedParameters): Readable<Map<string, T>>

Defined in: repository.ts:474

Like deriveItemsByKey, but relay-scoped: an event is keyed once per relay it has been seen on (via the tracker), using getKey(item, url). This is the substrate for relay-dependent collections — NIP-29 rooms, relay membership, relay roles — where the same addressable coordinate can exist independently on multiple relays.

Type Parameters ​

T ​

T

Parameters ​

__namedParameters ​

ItemsByKeyByUrlOptions<T>

Returns ​

Readable<Map<string, T>>


deriveItemsSorted() ​

deriveItemsSorted<T>(sortFn, itemsStore): Readable<T[]>

Defined in: repository.ts:668

Type Parameters ​

T ​

T

Parameters ​

sortFn ​

(item) => number

itemsStore ​

Readable<T[]>

Returns ​

Readable<T[]>


getEventsById() ​

getEventsById(__namedParameters): Map<string, TrustedEvent>

Defined in: repository.ts:37

Parameters ​

__namedParameters ​

EventsByIdOptions

Returns ​

Map<string, TrustedEvent>


getEventsByIdByUrl() ​

getEventsByIdByUrl(__namedParameters): EventsByIdByUrl

Defined in: repository.ts:133

Parameters ​

__namedParameters ​

EventsByIdByUrlOptions

Returns ​

EventsByIdByUrl


getEventsByIdForUrl() ​

getEventsByIdForUrl(__namedParameters): EventsById

Defined in: repository.ts:262

Parameters ​

__namedParameters ​

EventsByIdForUrlOptions

Returns ​

EventsById


getter() ​

getter<T>(store, __namedParameters): () => T

Defined in: misc.ts:19

Type Parameters ​

T ​

T

Parameters ​

store ​

Readable<T>

__namedParameters ​

GetterOptions<T> = {}

Returns ​

(): T

Returns ​

T


makeDeriveEvent() ​

makeDeriveEvent(__namedParameters): (idOrAddress, ...args) => Readable<Maybe<TrustedEvent>>

Defined in: repository.ts:94

Parameters ​

__namedParameters ​

EventOptions

Returns ​

(idOrAddress, ...args): Readable<Maybe<TrustedEvent>>

Parameters ​
idOrAddress ​

string

args ​

...any[]

Returns ​

Readable<Maybe<TrustedEvent>>


makeDeriveItem() ​

makeDeriveItem<T>(itemsByKeyStore, onDerive?): (key?, ...args) => Readable<undefined | T>

Defined in: repository.ts:671

Type Parameters ​

T ​

T

Parameters ​

itemsByKeyStore ​

Readable<ItemsByKey<T>>

onDerive? ​

(key, ...args) => unknown

Returns ​

(key?, ...args?): Readable<undefined | T>

Parameters ​
key? ​

string

args? ​

...any[]

Returns ​

Readable<undefined | T>


makeForceLoadItem() ​

makeForceLoadItem<T>(loadItem, getItem): (key, ...args) => Promise<Maybe<T>>

Defined in: repository.ts:689

Type Parameters ​

T ​

T

Parameters ​

loadItem ​

LoadItem

getItem ​

GetItem<T>

Returns ​

(key, ...args): Promise<Maybe<T>>

Parameters ​
key ​

string

args ​

...any[]

Returns ​

Promise<Maybe<T>>


makeLoadItem() ​

makeLoadItem<T>(loadItem, getItem, options): (key, ...args) => Promise<Maybe<T>>

Defined in: repository.ts:705

Type Parameters ​

T ​

T

Parameters ​

loadItem ​

LoadItem

getItem ​

GetItem<T>

options ​

MakeLoadItemOptions = {}

Returns ​

(key, ...args): Promise<Maybe<T>>

Parameters ​
key ​

string

args ​

...any[]

Returns ​

Promise<Maybe<T>>


memoized() ​

memoized<T>(store): object

Defined in: misc.ts:72

Type Parameters ​

T ​

T

Parameters ​

store ​

Readable<T>

Returns ​

object

subscribe() ​

subscribe: (f) => Unsubscriber

Parameters ​
f ​

Subscriber<T>

Returns ​

Unsubscriber


merged() ​

merged<S>(stores): Readable<StoresValues<S>>

Defined in: misc.ts:120

Type Parameters ​

S ​

S extends Stores

Parameters ​

stores ​

S

Returns ​

Readable<StoresValues<S>>


sync() ​

sync<T>(__namedParameters): Promise<void>

Defined in: synced.ts:22

Type Parameters ​

T ​

T

Parameters ​

__namedParameters ​

SyncConfig<T>

Returns ​

Promise<void>


synced() ​

synced<T>(__namedParameters): Synced<T>

Defined in: synced.ts:40

Type Parameters ​

T ​

T

Parameters ​

__namedParameters ​

SyncedConfig<T>

Returns ​

Synced<T>


throttled() ​

throttled<T, S>(delay, store): S

Defined in: misc.ts:78

Type Parameters ​

T ​

T

S ​

S extends Readable<T>

Parameters ​

delay ​

number

store ​

S

Returns ​

S


withGetter() ​

Call Signature ​

withGetter<T>(store): WritableWithGetter<T>

Defined in: misc.ts:66

Type Parameters ​
T ​

T

Parameters ​
store ​

Writable<T>

Returns ​

WritableWithGetter<T>

Call Signature ​

withGetter<T>(store): ReadableWithGetter<T>

Defined in: misc.ts:67

Type Parameters ​
T ​

T

Parameters ​
store ​

Readable<T>

Returns ​

ReadableWithGetter<T>