Skip to content

ali-master/json-diff-patch

Repository files navigation

JsonDiffPatch

JsonDiffPatch is a library that allows for the diffing and patching of JSON objects.

npm install json-diff-patch-v2
  1. Import JsonDiffPatch in your project:
import { DiffPatcher } from 'json-diff-patch-v2';
  1. Create a DiffPatcher instance:
const diffPatcher = new DiffPatcher();
  1. Use the diff, patch, and reverse methods to work with your JSON objects:
  • Diff: To find the difference between two objects.
  • Patch: To apply a patch to an object.
  • Reverse: To reverse a patch.

Examples

Diffing Two Objects

const left = { name: 'John', age: 25 };
const right = { name: 'John', age: 26 };

const delta = diffPatcher.diff(left, right);
console.log(delta);
// Output: { age: [25, 26] }

Patching an Object

const original = { name: 'John', age: 25 };
const delta = { age: [25, 26] };

const patched = diffPatcher.patch(original, delta);
console.log(patched);
// Output: { name: 'John', age: 26 }

Using Property Filter

In scenarios where you want to ignore certain properties during diffing, you can use the propertyFilter option.

const options = {
  propertyFilter: function(name) {
    return name.slice(0, 1) !== '$';
  },
};
const diffPatcherWithFilter = new DiffPatcher(options);

const left = { data: { $volatile: 123, stable: 456 } };
const right = { data: { $volatile: 124, stable: 456 } };

const delta = diffPatcherWithFilter.diff(left, right);
console.log(delta);
// Output: undefined (since the change is in a filtered property)

About

JsonDiffPatch is a library that allows for the diffing and patching of JSON objects

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy