ReactiveList
Defined in: state/reactive.ts:165
Ordered list of items with monotonically-assigned numeric ids. Insertion order is preserved across save/restore; ids are stable.
The keyed methods (ReactiveList.findId, ReactiveList.getByKey,
ReactiveList.upsert) require a keyBy option on createList/s.list.
They derive a domain key from each item (e.g. an itemId for an inventory)
and maintain a key→id index for O(1) lookup. Calling them without keyBy
throws.
A keyed list holds at most one item per derived key. add, update, and
upsert throw if the operation would leave two live items sharing a key, so
every key resolves to exactly one item.
Extends
Section titled “Extends”Type Parameters
Section titled “Type Parameters”T
Properties
Section titled “Properties”[STATE_KIND]
Section titled “[STATE_KIND]”
readonly[STATE_KIND]:"list"
Defined in: state/reactive.ts:169
Methods
Section titled “Methods”add(
item):number
Defined in: state/reactive.ts:171
Insert and return the assigned id.
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”number
clear()
Section titled “clear()”clear():
void
Defined in: state/reactive.ts:180
Returns
Section titled “Returns”void
findId()
Section titled “findId()”findId(
key):number|undefined
Defined in: state/reactive.ts:185
Look up the id of the item whose keyBy key equals key, or undefined
if no item carries that key. Requires the keyBy option.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”number | undefined
get(
id):T|undefined
Defined in: state/reactive.ts:174
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”T | undefined
getByKey()
Section titled “getByKey()”getByKey(
key):T|undefined
Defined in: state/reactive.ts:190
Look up the item whose keyBy key equals key, or undefined if no item
carries that key. Requires the keyBy option.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”T | undefined
hydrate()
Section titled “hydrate()”hydrate(
raw):void
Defined in: state/reactive.ts:25
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”list()
Section titled “list()”list():
T[]
Defined in: state/reactive.ts:178
Items in insertion order.
Returns
Section titled “Returns”T[]
remove()
Section titled “remove()”remove(
id):boolean
Defined in: state/reactive.ts:173
Remove by id; returns true if the id was present.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”boolean
reset()
Section titled “reset()”reset():
void
Defined in: state/reactive.ts:30
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”serialize()
Section titled “serialize()”serialize():
ListEncoded
Defined in: state/reactive.ts:24
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”size()
Section titled “size()”size():
number
Defined in: state/reactive.ts:179
Returns
Section titled “Returns”number
subscribe()
Section titled “subscribe()”subscribe(
listener): () =>void
Defined in: state/reactive.ts:19
Parameters
Section titled “Parameters”listener
Section titled “listener”() => void
Returns
Section titled “Returns”() => void
Inherited from
Section titled “Inherited from”update()
Section titled “update()”update(
id,partial):boolean
Defined in: state/reactive.ts:176
Shallow-merge a partial update over an existing item; returns true on hit.
Parameters
Section titled “Parameters”number
partial
Section titled “partial”Partial<T>
Returns
Section titled “Returns”boolean
upsert()
Section titled “upsert()”upsert(
key,item):number
Defined in: state/reactive.ts:197
Add-or-replace by key. If key already exists, replace that slot with
item in place (a full replace, not a partial-field merge); otherwise
insert item. Returns the affected id. Requires the keyBy option, and
requires keyBy(item) === key — a mismatch throws.
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”number