node's assert.deepEqual algorithm except for the fact that (NaN === NaN) and (+0 !== -0).
JavaScript
Switch branches/tags
Pull request Compare This branch is 12 commits ahead, 29 commits behind substack:master.
Latest commit 704c04e Aug 24, 2014 @thlorenz no longer testing 0.4
Permalink
Failed to load latest commit information.
example implementation with an example Feb 11, 2012
test enforcing +0 !== -0 Apr 17, 2013
.gitignore fixing NaN comparison Apr 11, 2013
.travis.yml no longer testing 0.4 Aug 24, 2014
LICENSE Copyright statements Aug 22, 2014
README.markdown Copyright statements Aug 22, 2014
index.js enforcing +0 !== -0 Apr 17, 2013
package.json 0.1.3 Aug 24, 2014

README.markdown

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.