1.0.0 • Published 3 years ago

@z-core/object-diff v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

object-diff.js

A tiny method to compare two JavaScript objects.

It's initially created for a tool I called "React Wasted" to detect specific differences in state vs. prevState & props vs. prevProps to improve re-rendering and optimise performance. Tool was never opensourced, but maybe one day 🤞

As a return value this method either returns null in case there are no deep differences of an array or object (depending on input) with keys as array indexes or object properties, and values as an array [firstObject, secondObject].

Usage

Install: npm i -S @z-core/object-diff

Inlcude in the script: import getDiff from '@z-core/object-diff';

// when no deep differences
getDiff(1, 1); // => null
getDiff('1', '1'); // => null
getDiff(true, true); // => null
getDiff([1], [1]); // => null
getDiff({ a: 1 }, { a: 1 }); // => null
// when has differences
getDiff(1, 2); // => [1, 2]
getDiff('1', '2'); // => ['1', '2']
getDiff(true, false); // => [true, false]
getDiff([1], [2]); // => [[1, 2]]
getDiff({ a: 1 }, { a: 2 }); // => { a: [1, 2] }
getDiff({ a: 1, b: 1 }, { a: 2, b: 1 }); // => { a: [1, 2] }, no `b` property, as that part is equal