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>