JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 232739
  • Score
    100M100P100Q242547F
  • License MIT

Implementation of JSON Merge Patch (RFC 7396)

Package Exports

  • json-merge-patch

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-merge-patch) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

JSON Merge Patch

build status Test coverage

An implementation of the JSON Merge Patch RFC 7396

JSON Merge Patch (RFC 7396) is a standard format that allows you to update a JSON document by sending the changes rather than the whole document. JSON Merge Patch plays well with the HTTP PATCH verb (method) and REST style programming.

Install

Install the current version (and save it as a dependency):

npm

$ npm install json-merge-patch --save

Usage

Applying patches:

var source = {
  "title": "Goodbye!",
  "author" : {
        "givenName" : "John",
        "familyName" : "Doe"
    }
};

var patch = {
    "title": 'Hello!',
    "author": {
        "familyName": null
    }
}

var target = jsonmergepatch.apply(source, patch);

// target = {
// 	"title": "Hello!",
//   "author" : {
// 		"givenName" : "John",
// 	}
// }

Generating patches:

var source = {
  "title": "Goodbye!",
  "author" : "John Doe"
};

var target = {
    "title": "Hello!",
};

var patch = jsonmergepatch.generate(source, target);

// patch = {
// 	"title": 'Hello!',
// 	"author": null
// }

API

jsonmergepatch.apply (obj Object, patch Object) : Object

Applies patch on obj.

jsonmergepatch.generate (source Object, target Object) : patch Object

Generates a patch Object from source and target Object.

jsonmergepatch.merge (patch1 Object, patch2 Object) : patch Object

Generates a patch Object by merging patch1 and patch2.

Running tests

make test

License

MIT