1.0.2 • Published 3 years ago
same-object v1.0.2
same-object
Determine if two objects are deeply equal
npm install same-objectSupports circular references, Maps, Symbols, etc.
Aims for ~99% compatibility with deep-equal or assert.deepEqual without requiring native dependencies.\
Useful for JavaScript runtimes without native Node modules like util, etc.
Usage
const sameObject = require('same-object')
console.log(sameObject(1, '1')) // true
console.log(sameObject(1, '1', { strict: true })) // false
console.log(sameObject({ a: 1 }, { a: 1 })) // true
console.log(sameObject({ a: 1 }, { a: 1, b: 2 })) // false
console.log(sameObject(
new Set(['a', 1, 'b', 2]),
new Set(['b', 2, 'a', 1])
)) // trueAPI
const bool = sameObject(a, b, [options])
Compares a and b, returning whether they are equal or not.
Available options:
{
strict: false
}Loosely comparison (==) by default.\
Use { strict: true } for a stronger equality check (===).
References
The source code is based on:\ node/comparisons.js\ inspect-js/node-deep-equal\ chaijs/deep-eql
License
MIT