Creates a new PatchBuilder instance.
Clock to use for generating timestamps.
Clock to use for generating timestamps.
The patch being constructed.
Create a new "arr" RGA-Array object.
ID of the new operation.
Create a new "bin" RGA-Binary object.
ID of the new operation.
Create a new immutable constant JSON value. Can be anything, including nested arrays and objects.
JSON value
ID of the new operation.
Given a JSON value
creates the necessary builder commands to create
JSON CRDT Patch operations to construct the value. If the value
is a
timestamp, it is returned as-is. If the value
is a JSON primitive is
a number, boolean, or null
, it is converted to a "con" data type. Otherwise,
the value
is converted using the PatchBuilder.json method.
A JSON value for which to create JSON CRDT Patch construction operations.
ID of the root constructed CRDT object.
Delete a span of operations.
Object in which to delete something.
List of time spans to delete.
ID of the new operation.
Insert elements into an "arr" object.
ID of the new operation.
Insert binary data into a "bin" object.
ID of the new operation.
Set fields of an "obj" object.
ID of the new operation.
Insert a substring into a "str" object.
ID of the new operation.
Set elements of a "vec" object.
ID of the new operation.
Run the necessary builder commands to create any arbitrary JSON value.
Run the necessary builder commands to create an arbitrary JSON array.
Run builder commands to create a binary data type.
Run the necessary builder commands to create an arbitrary JSON object.
Run builder commands to create a JSON string.
Run builder commands to create a JSON value.
Run builder commands to create a tuple.
Operation that does nothing just skips IDs in the patch.
Length of the operation.
ID of the new operation.
Create a new "obj" LWW-Map object.
ID of the new operation.
Set value of document's root LWW-Register.
ID of the new operation.
Set value of a "val" object.
ID of the new operation.
Rename to "insVal".
Create a new "str" RGA-String object.
ID of the new operation.
Create a new "val" LWW-Register object. Can be anything, including nested arrays and objects.
ID of the new operation.
Rename to newVal
.
Create a new "vec" LWW-Array vector.
ID of the new operation.
Utility class that helps in Patch construction.