Skip to content
Shapemetry

@huukhanhnguyen/model / schema/core

schema/core

ChainEntry

ChainEntry = [NotifierHost, string]


Listener

Listener = (...args) => unknown & Unsubscribe


NamedEntry

NamedEntry = { collection?: BaseCollectionHost; key?: string; name?: string; parent?: unknown; }

Subclass entries may carry dynamic identity fields (e.g. ParameterNode.key, block.label).

collection?

optional collection?: BaseCollectionHost

key?

optional key?: string

name?

optional name?: string

parent?

optional parent?: unknown


NodesLike

NodesLike = { elements: unknown[]; evaluate: () => void; traverse: (visit) => void; }

elements

elements: unknown[]

evaluate

evaluate: () => void

Returns

void

traverse

traverse: (visit) => void

Parameters

visit

(node) => void

Returns

void


PullCell

PullCell = { _epoch: number; isDirty: boolean; pending?: boolean; }

Any cached compute step: isDirty/_epoch gate re-entry and staleness; pending (when present) is the externally-observable "still settling" flag — omit it on internal chain sub-steps that have no outside observer.

_epoch

_epoch: number

isDirty

isDirty: boolean

pending?

optional pending?: boolean


Rewalkable

Rewalkable = { nodes: { evaluate: () => void; }; }

nodes

nodes: { evaluate: () => void; }

evaluate

evaluate: () => void

Returns

void


Unsubscribe

Unsubscribe = { onSubscribe?: (release) => void; }

onSubscribe?

optional onSubscribe?: (release) => void

Parameters

release

() => void

Returns

void

Last updated: 📖 2 min readEdit on GitHub