Socket
Book a DemoInstallSign in
Socket

same-object

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

same-object

Determine if two objects are deeply equal

latest
Source
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

same-object

Determine if two objects are deeply equal

npm install same-object

Supports 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])
)) // true

API

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

FAQs

Package last updated on 20 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts