crdt_lf library
Classes
- Change
- Change implementation for CRDT
- ChangeStore
- ChangeStore implementation for CRDT
- CRDTDocument
- CRDT Document implementation
- CRDTFugueTextHandler
- CRDT Text with Fugue implementation
-
CRDTListHandler<
T> - CRDT List
-
CRDTMapHandler<
T> - CRDT Map
-
CRDTORMapHandler<
K, V> - CRDT OR-Map
-
CRDTORSetHandler<
T> - CRDT OR-Set
- CRDTTextHandler
- CRDT Text
- DAG
- DAG (Directed Acyclic Graph) implementation for CRDT
- DAGNode
- Directed Acyclic Graph (DAG) Node implementation for CRDT
- DiffSegment
- A single diff segment with an operation and the associated text.
- Frontiers
- Frontiers implementation for CRDT
- FugueElementID
- Represents the ID of an element in the Fugue algorithm
-
FugueNode<
T> - Represents a node in the FugueTree
-
FugueNodeTriple<
T> - Represents the triple of a node and its children in the Fugue tree
- FugueTextState
- fugue text state
-
FugueTree<
T> - Implementation of the Fugue tree for collaborative text editing
-
FugueValueNode<
T> - Represents a node within the logical sequence maintained by a Fugue-based CRDT.
-
Handler<
T> - Abstract class for CRDT handlers
- Operation
- Abstract class for operations
- OperationId
- OperationId implementation for CRDT
- OperationType
- Available operation on data for CRDT
-
ORMapEntry<
V> - Entry in the OR-Map representing a (value, tag) pair
-
ORMapState<
K, V> - State of the CRDTORMapHandler
- ORMapTag
- Tag for OR-Map entries, combining HLC and PeerId for proper ordering. Comparison is done first by HLC (causal order), then by PeerId (deterministic).
-
ORSetState<
T> - State of the CRDTORSetHandler
- PeerId
- PeerId implementation for CRDT
- Snapshot
- Represents a snapshot of a CRDTDocument's state at a specific version.
- VersionVector
-
A version vector is a map of PeerIds
to their corresponding
HybridLogicalClock.
Enums
Mixins
-
CacheableStateProvider<
T> - A provider that can provide a cacheable state of a CRDTDocument
- DocumentConsumer
- A consumer that can consume a CRDTDocument
- SnapshotProvider
- A provider that can provide a snapshot of the state of a CRDTDocument
Extensions
-
ChangeList
on List<
Change> - Utilities on List of Changes
Properties
- peerIdRegex → RegExp
-
A regular expression for validating PeerIds
final
Functions
Exceptions / Errors
- CausallyNotReadyException
- Thrown when a change cannot be applied because its causal dependencies (previous changes) are not yet present in the document's history.
- ChangesCycleException
- Thrown when a cycle is detected in the dependency graph of changes, which would violate the causal ordering of operations.
- CrdtException
- Base exception for all CRDT-related errors.
- DuplicateNodeException
- Thrown when attempting to add a node (e.g., a change or an element) to a data structure that already contains a node with the same identifier.
- HandlerAlreadyRegisteredException
- Thrown when attempting to register a handler that already exists.
- MissingDependencyException
- Thrown when a change references a dependency that does not exist in the document's history (the DAG).