ReadonlyapiPatch builder for the local changes.
ReadonlymodelModel instance on which the API operates.
ReadonlyonEmitted before local changes through model.api are applied.
ReadonlyonEmitted before a patch is applied using model.applyPatch().
ReadonlyonEmitted before the model is reset, using the .reset() method.
ReadonlyonEmitted before a transaction is started.
ReadonlyonEmitted when the model changes. Combines onReset, onPatch and onLocalChange.
ReadonlyonEmitted when the model changes. Same as .onChange, but this event is emitted once per microtask.
ReadonlyonEmitted when the model.api builder change buffer is flushed.
ReadonlyonEmitted after local changes through model.api are applied.
ReadonlyonEmitted after local changes through model.api are applied. Same as
.onLocalChange, but this event buffered withing a microtask.
ReadonlyonEmitted after a patch is applied using model.applyPatch().
ReadonlyonEmitted after the model is reset, using the .reset() method.
ReadonlyonEmitted after transaction completes.
OptionalstopReturns a proxy object for this node. Allows to access the value of the
node by accessing the .val property.
Apply locally any operations from the .builder, which haven't been
applied yet.
Optionalpath: ApiPathReturns the API object of the extension if the node is an extension node.
When the ext parameter is provided, it checks if the node is an instance
of the given extension and returns the object's TypeScript type. Otherwise,
it returns the API object of the extension, but without any type checking.
API of the extension
Returns the API object of the extension if the node is an extension node.
When the ext parameter is provided, it checks if the node is an instance
of the given extension and returns the object's TypeScript type. Otherwise,
it returns the API object of the extension, but without any type checking.
API of the extension
Begins to automatically flush buffered operations into patches, grouping
operations by microtasks or by transactions. To capture the patch, listen
to the .onFlush event.
Callback to stop auto flushing.
Optionalpath: ApiPathOptionalpath: ApiPathFind a child node at the given path starting from this node.
Optionalpath: ApiPathPath to the child node to find.
JSON CRDT node at the given path.
ReadonlygetOptionalpath: ApiPathAttaches a listener which executes on every change that is applied to this node's children. Hence, this listener will trigger only for container nodes - nodes that can have child nodes, such as "obj", "arr", "vec", and "val" nodes. It will not execute on changes made directly to this node.
If you want to listen to changes on this node as well as its children, use
onSubtreeChange() method. If you want to listen to changes on this node
only, use onSelfChange() method.
Callback called on every change that is applied to children of this node.
OptionalonReset: booleanOptional parameter, if set to true, the listener will also
be called when the model is reset using the .reset() method.
Returns an unsubscribe function to stop listening to the events.
Attaches a listener which executes on every change that is executed directly on this node. For example, if this is a "str" string node and you insert or delete text, the listener will be executed. Or if this is an "obj" object node and keys of this object are changed, this listener will be executed.
It does not trigger when child nodes are edit, to include those changes,
use onSubtreeChange() or onChildChange() methods.
Callback called on every change that is executed directly on this node.
OptionalonReset: booleanOptional parameter, if set to true, the listener will also
be called when the model is reset using the .reset() method.
Returns an unsubscribe function to stop listening to the events.
Attaches a listener which executes on every change that is applied to this
node or any of its child nodes (recursively). This is equivalent to
combining both onSelfChange() and onChildChange() methods.
Callback called on every change that is applied to this node or any of its child nodes.
OptionalonReset: booleanOptional parameter, if set to true, the listener will also
be called when the model is reset using the .reset() method.
Returns an unsubscribe function to stop listening to the events.
Optionalpath: ApiPathSets the value of the node.
JSON/CBOR value or ID (logical timestamp) of the value to set.
Reference to itself.
Optionalpath: ApiPathReadonlysubscribeOptionalpath: ApiPathOptionalpath: ApiPathReturns a local change API for the given node. If an instance already exists, returns the existing instance.
Local changes API for a JSON CRDT model. This class is the main entry point for executing local user actions on a JSON CRDT document.