diffop

1.1.0 • Public • Published

DiffOp

Build Status

Transform json diffs into ShareJS operations

Installation

$ npm install --save diffop

Usage

var diffop = require('diffop');
var json = require('ottypes').json0;
 
// Some document controlled through non ShareJS methods.
var myDoc = /*...*/;
 
// ShareJS JSON0 document.
var shareDoc = /*...*/;
 
// Generate all needed operations to bring shareDoc up to date
// with the content of myDoc.
var ops = diffop(shareDoc, myDoc);
 
// Apply the operations to shareDoc
shareDoc = json.apply(shareDoc, ops);

Development

Run tests

$ npm test

Run benchmarks

$ npm run bench

Benchmarks

$ npm run bench
 
> node benchmark/base.js
 
jsondiffpatch: 200 x 110 ops/..........92% (82 runs sampled)
diffop: 200 x 104 ops/...........55% (78 runs sampled)
jsondiffpatch: 14k x 55,112 ops/..............28% (90 runs sampled)
diffop: 14k x 34,412 ops/...............16% (79 runs sampled)
 
 
jsondiffpatch: 200
--------
  Mean: 0.009093195406504063
  Variance: 1.5043349348547733e-7
--------
 
 
diffop: 200
--------
  Mean: 0.009614644143162397
  Variance: 4.531763311139242e-7
--------
 
 
jsondiffpatch: 14k
--------
  Mean: 0.000018145000320269585
  Variance: 1.4109974462443818e-11
--------
 
 
diffop: 14k
--------
  Mean: 0.00002905976249665717
  Variance: 4.628665265571148e-11
 --------
Finished

Readme

Keywords

none

Package Sidebar

Install

npm i diffop

Weekly Downloads

3

Version

1.1.0

License

MIT

Last publish

Collaborators

  • dignifiedquire