Skip to content

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

License

Notifications You must be signed in to change notification settings

ali-master/json-diff-patch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

82c1bfa · Jul 20, 2024

History

19 Commits
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024
Jul 20, 2024

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