Package Exports
- json-joy
- json-joy/esm/index.js
- json-joy/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-joy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
JSON Joy 🦄🌈
JSON utilities. Libraries for collaborative editing with OT and CRDT approaches. This package consists of multiple self-contained libraries:
json-brand— TypeScript branded type for JSON.json-expression— implementation of JSON Expression language.json-pack— Fastest MessagePack codec implementation in JavaScript.json-equal— Fastest JSON deep equal implementations in JavaScript.- Documentation 🚀
- Reference 🤖
json-patch— Implementation of JSON Patch+ mutation operations.json-patch-ot— Implementation of Operational Transformations for JSON Patch+ operations.- Documentation 🚀
- Reference 🤖
json-crdt— CRDT implementation for JSON type.json-crdt-patch— JSON type CRDT operation specification and implementation.- Documentation 🚀
- Specification 🤔
- Binary snapshot encoding 🧬
- Reference 🤖
json-rx— Implementation of JSON-Rx protocol for server and browser.- Documentation 🚀
- Specification 🤔
- Reference 🤖
binary-rx— Implementation of Binary-Rx protocol (a binary version of JSON-Rx).- Documentation 🚀
- Specification 🤔
- Reference 🤖
json-pointer— utilities for locating data in a JSON document using JSON Pointer.json-cli— CLI utilities and functional testing suites.json-random— generate random JSON value.json-size— calculate the size of serialized JSON object.json-type— JSON schema builder.json-type-serializer— fastjson-typeJSON and MessagePack serializer code generators.json-type-validator— fastjson-typeschema validator.util—base64— fast isomorphic configurable Base64 encoder.
Usage
To reduce your browser-side bundle size import directly from the library you use.
import from 'json-joy/{lib,es2020,es6,esm}/<library>';For example:
import {deepEqual} from 'json-joy/lib/json-equal`;All libraries can be imported from one of the below folders:
lib— ES5 compiled CommonJS code.es2020— ES2020 compiled CommonJS code.es6— ES6 compiled CommonJS code.esm— latest TypeScript compiler supported EcmaScript modules code.
Development
Run all tests locally:
yarn build
yarn test:allUse Angular-type semantic commit messages
for commit messages. Those are used in determining the version bump of the
library for the next release. Optional, you can use git-cz for that:
npx git-cz