Documentation / @super-line/core / ServerStore
Interface: ServerStore
Defined in: packages/core/src/store.ts:52
The server half of a Store pair: persistence + the consistency model + change-notification. It does NOT enforce access (core does) and does NOT touch the wire. apply interprets a StoreChange per its consistency model (LWW replace vs CRDT merge); every applied mutation — client write, server co-write, or relayed remote change — must surface through ServerStore.onChange, which is core's single fan-out source.
Properties
clustering
readonlyclustering:"relay"|"self"
Defined in: packages/core/src/store.ts:57
How cross-node sync happens: relay (core relays Changes over the adapter; each node a replica) or self (the store owns a shared backend and core fans only to local subscribers).
Methods
apply()
apply(
change):Awaitable<void>
Defined in: packages/core/src/store.ts:63
Apply an inbound Change — replace (LWW) or merge (CRDT), the store's choice.
Parameters
change
Returns
Awaitable<void>
close()?
optionalclose():Awaitable<void>
Defined in: packages/core/src/store.ts:73
Release any resources held by the store.
Returns
Awaitable<void>
create()
create(
id,data,accessRules):Awaitable<void>
Defined in: packages/core/src/store.ts:61
Create a Resource with initial data + access rules (server-authoritative).
Parameters
id
string
data
unknown
accessRules
Returns
Awaitable<void>
delete()
delete(
id):Awaitable<void>
Defined in: packages/core/src/store.ts:67
Remove a Resource.
Parameters
id
string
Returns
Awaitable<void>
list()
list():
Awaitable<string[]>
Defined in: packages/core/src/store.ts:69
All Resource ids in this store (core ACL-filters before returning ids to a client).
Returns
Awaitable<string[]>
onChange()
onChange(
cb): () =>void
Defined in: packages/core/src/store.ts:71
Subscribe to every applied mutation — the single fan-out source. Returns an unsubscribe fn.
Parameters
cb
(change) => void
Returns
() => void
read()
read(
id):Awaitable<Resource<unknown> |undefined>
Defined in: packages/core/src/store.ts:59
Current snapshot of a Resource (for catch-up on subscribe), or undefined if absent.
Parameters
id
string
Returns
Awaitable<Resource<unknown> | undefined>
setAccess()
setAccess(
id,accessRules):Awaitable<void>
Defined in: packages/core/src/store.ts:65
Replace a Resource's access rules.
Parameters
id
string
accessRules
Returns
Awaitable<void>