deep-is

node's assert.deepEqual algorithm except for NaN being equal to NaN

Usage no npm install needed!

<script type="module">
  import deepIs from 'https://cdn.skypack.dev/deep-is';
</script>

README

deep-is

Node's assert.deepEqual() algorithm as a standalone module. Exactly like deep-equal except for the fact that deepEqual(NaN, NaN) === true.

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

browser support

build status

example

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

methods

var deepIs = require('deep-is')

deepIs(a, b)

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

install

With npm do:

npm install deep-is

test

With npm do:

npm test

license

Copyright (c) 2012, 2013 Thorsten Lorenz thlorenz@gmx.de Copyright (c) 2012 James Halliday mail@substack.net

Derived largely from node's assert module, which has the copyright statement:

Copyright (c) 2009 Thomas Robinson <280north.com>

Released under the MIT license, see LICENSE for details.