Skip to content

psmoros/json-merge-patch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

An implementation of the JSON Merge Patch (RFC 7396)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%