You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

json-patch-queue

Package Overview
Dependencies
Maintainers
3
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-patch-queue

Queue for Versioned JSON-Patch - makes sure that your JSON Patches (RFC6902) gets applied in correct order

3.0.0-rc.1
latest
Source
npmnpm
Version published
Maintainers
3
Created
Source

JSON-Patch-Queue Build Status

Makes your JSON Patch application sequential

Implements a queue of JSON Patches, based on Versioned JSON Patch convention, that will resolve a problem of sequential application of JSON Patches.

Demo

Full Versioned JSON Patch + OT visualization

Specific visualization will come soon.

Install

Install the component using NPM

$ npm install json-patch-queue --save

Or

Install the component using Bower:

$ bower install json-patch-queue --save

Or download as ZIP.

Usage

Single Versioned


var targetObject = {};
// create queue
var myQueue = new JSONPatchQueueSynchronous(targetObject, "/path_to_version", jsonpatch);
// to compose versioned JSON Patch, to be send somewhere?
var versionedPatchToBeSent = myQueue.send(regularpatch);
// to apply/queue received versioned  JSON Patch
myQueue.receive(receivedVersionedPatch);

Multiple Versioned


var targetObject = {};

// create queue
var myQueue = new JSONPatchQueue(targetObject, ["/local_version", "/remote_version"], jsonpatch);
// to compose versioned JSON Patch, to be send somewhere?
var versionedPatchToBeSent = myQueue.send(regularpatch);
// to apply/queue received versioned  JSON Patch
myQueue.receive(receivedVersionedPatch);

Requirements

Agent requires a function to apply JSON Patch, we suggest fast JSON Patch (bower install fast-json-patch).

Methods

NameArgumentsDefaultDescription
sendJSONPatch sequenceChanges given JSON Patch to Versioned JSON Patch
receiveVersionedJSONPatch sequence Versioned JSON Patch to be queued and appliedReceives, and eventually applies given Versioned JSON Patch, to the object passed in the constructor

Multiple Versioned

NameArgumentsDefaultDescription
JSONPatchQueueObject obj---Target object where patches are applied
                         | *`Array<JSONPointer>`* `[localVersionPath, remoteVersionPath]` |         | Paths where to store the versions
                         | *`Function`* apply     |         | `function(object, patch)` function to apply JSON Patch, must return the object in its final state
                         | *`Boolean`* purist     | `false` | set to `true` to enable pure/unoptimized Versioned JSON Patch convention

Single Versioned

NameArgumentsDefaultDescription
JSONPatchQueueSynchronousObject objTarget object where patches are applied
                         | *`JSONPointer`* versionPath |         | Path where to store the version
                         | *`Function`* apply     |         | `function(object, patch)` function to apply JSON Patch, must return the object in its final
                         | *`Boolean`* purist     | `false` | set to `true` to enable pure/unoptimized Versioned JSON Patch convention

Properties

NameTypeDescription
obj ObjectTarget object where patches are applied
waitingArray<JSONPatch>Array of JSON Patches waiting in queue

Multiple Versioned

NameTypeDescription
localVersionNumberlocal version
remoteVersionNumberacknowledged remote version

Single Versioned

NameTypeDescription
versionNumberdocument version

Contributing

  • Fork it!
  • Create your feature branch: git checkout -b my-new-feature
  • Commit your changes: git commit -m 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request :D

History

For detailed changelog, check Releases.

License

MIT

See also

Keywords

jsonpatch

FAQs

Package last updated on 06 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts