Socket
Socket
Sign inDemoInstall

deep-equal

Package Overview
Dependencies
46
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    deep-equal

node's assert.deepEqual algorithm


Version published
Weekly downloads
16M
decreased by-20.13%
Maintainers
2
Install size
2.75 MB
Created
Weekly downloads
 

Package description

What is deep-equal?

The deep-equal npm package is a library for performing deep equality checks between two values. It is useful for comparing objects, arrays, and other nested structures to determine if they are equivalent in structure and content, regardless of whether they are the same reference in memory.

What are deep-equal's main functionalities?

Deep comparison of objects and arrays

This feature allows you to compare objects and arrays to see if they are structurally identical, even if they are different instances.

const deepEqual = require('deep-equal');

const obj1 = { a: 1, b: { c: 1 } };
const obj2 = { a: 1, b: { c: 1 } };

console.log(deepEqual(obj1, obj2)); // true

Comparison with custom options

This feature allows you to specify options for the comparison, such as strict mode, which requires the values to be of the same type as well.

const deepEqual = require('deep-equal');

const obj1 = { a: 1 };
const obj2 = { a: '1' };
const options = { strict: true };

console.log(deepEqual(obj1, obj2, options)); // false

Other packages similar to deep-equal

Changelog

Source

v2.0.5 - 2020-12-01

Commits

  • [Tests] migrate tests to Github Actions 4051a18
  • [meta] add Automatic Rebase and Require Allow Edits workflows 6682b15
  • [Deps] use call-bind and get-intrinsic instead of es-abstract; update es-get-iterator, object-is, object.assign a1d6d93
  • [Dev Deps] update eslint, @ljharb/eslint-config, aud, object.getownpropertydescriptors b142f4b

Readme

Source

deep-equal

Node's assert.deepEqual() algorithm as a standalone module.

This module is around 46 times faster than wrapping assert.deepEqual() in a try/catch.

build status

example

var equal = require('deep-equal');
console.dir([
    equal(
        { a : [ 2, 3 ], b : [ 4 ] },
        { a : [ 2, 3 ], b : [ 4 ] }
    ),
    equal(
        { x : 5, y : [6] },
        { x : 5, y : 6 }
    )
]);

methods

var deepEqual = require('deep-equal')

deepEqual(a, b, opts)

Compare objects a and b, returning whether they are equal according to a recursive equality algorithm.

If opts.strict is true, use strict equality (===) to compare leaf nodes. The default is to use coercive equality (==) because that's how assert.deepEqual() works by default.

install

With npm do:

npm install deep-equal

test

With npm do:

npm test

Keywords

FAQs

Last updated on 01 Dec 2020

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc