json-joy
json-joy library implements cutting-edge real-time and
collaborative editing algorithms and other utilities for JSON data models.
Major focus of json-joy is development of the JSON CRDT protocol, a
Conflict-free Replicated Data Type that enables seamless
merging of changes in JSON data models, avoiding conflicts between replicas.
- Website
- Documentation
- Blog posts
- JSON CRDT
specification - JSON CRDT Patch
specification - JSON Expression
specification - JSON Reactive RPC
specification - Compact JSON
encoding - API Reference
- Test coverage
Notable features
- Full JSON implementation as a CRDT (Conflict-free Replicated Datatype).
- The fastest list CRDT implementation in JavaScript.
- The fastest text OT (Operational Transformation) implementation in JavaScript.
- The fastest implementation of CBOR, DAG-CBOR, MessagePack, UBJSON, and JSON codecs in JavaScript.
- The fastest (HTTP) router implementation in JavaScript.
- The fastest JSON schema validation implementation in JavaScript.
- Very fast binary tree (Radix, AVL, Red-black*, Splay) implementations in JavaScript.
- Very fast JSON Patch (and JSON Pointer) implementation in JavaScript, including many non-standard operations, and JSON Predicate implementation.
- Very fast JSON Expression implementation in JavaScript.
Funding
This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.
Keywords
collaborativemultiplayerlocal-firstlocalfirstcrdtrdtotoperational-transformationreplicatedsyncsynchronizationdistributed-statemarshalingserializationsjson-patchjson-binaryjson-brandjson-clijson-clonejson-crdt-patchjson-crdt-extensionsjson-crdt-peritext-uijson-crdtjson-equaljson-expressionjson-hashjson-otjson-packjson-patch-multicorejson-patch-otjson-patchjson-pointerjson-randomjson-schemajson-sizejson-stablejson-textjson-typejson-type-valuejson-walk
