All open source
deep-equal-js
A fast, focused deep-equality utility for JavaScript and TypeScript.
For comparing structured values where the edge cases actually occur.
npm install deep-equal-jsPurpose
One function, one job: compare two values structurally, and do it fast enough to sit inside a render loop. That includes the cases that usually leak through: Maps and Sets, typed arrays, dates, regular expressions, primitive wrappers, and NaN comparing equal to itself.
Supported values
- Objects
- Arrays
- Maps
- Sets
- TypedArray
- RegExp
- Date
- String / Number / Boolean wrappers
- Primitives
- null
- undefined
- NaN
Example
import deepEqual from 'deep-equal-js';
deepEqual({ a: 1 }, { a: 1 }); // true
deepEqual([1, 2], [1, 2]); // true
deepEqual(NaN, NaN); // true
deepEqual(9, '9'); // false
deepEqual(null, undefined); // false