Interface: ItemsData
Defined in: storage/base.ts:35
A Data object that contains an indexed collection of items
Extended by data types whose storage is addressable by item IDs (e.g. points, shapes, tables).
Implementations have to be immutable: the values returned by their accessors
must not change over the lifetime of the object, and the arrays they return
have to keep their identity across calls (i.e. be memoized rather than built
anew on every call). Consumers rely on that identity to detect change - a
renderer that compares the previous getIds() result against the current one
re-uploads its GPU buffers whenever the two differ - so an implementation
returning a fresh array each time is correct but defeats every such cache.
Extends
Extended by
Properties
getNames?
optionalgetNames?: () =>string[] |undefined
Defined in: storage/base.ts:63
Returns the item names if available, otherwise undefined
Optional: data types that never carry item names need not implement it.
The returned array is owned by this data object: callers must not modify it, and every call returns the very same array (see ItemsData).
Returns
string[] | undefined
The item names, or undefined if not available
Methods
close()
close():
void
Defined in: storage/base.ts:18
Releases all resources held by this data object
Returns
void
Inherited from
getIds()
getIds():
number[]
Defined in: storage/base.ts:44
Returns an array of item IDs
The returned array is owned by this data object: callers must not modify it, and every call returns the very same array (see ItemsData).
Returns
number[]
The item IDs
getSize()
getSize():
number
Defined in: storage/base.ts:51
Returns the total number of items
Returns
number
The item count