1.7.0 • Published 5 months ago
is-equal v1.7.0
is-equal
Are these two values conceptually equal?
Example
var isEqual = require('is-equal');
var assert = require('assert');
var primitives = [true, false, undefined, 42, 'foo'];
primitives.forEach(function (primitive) {
assert.equal(isEqual(primitive, primitive), true);
});
assert.equal(isEqual(/a/g, /a/g), true);
assert.equal(isEqual(/a/g, new RegExp('a', 'g')), true);
assert.equal(isEqual({ a: 2 }, { a: 2 }), true);
assert.equal(isEqual([1, [2, 3], 4], [1, [2, 3], 4]), true);
var timestamp = Date.now();
assert.equal(isEqual(new Date(timestamp), new Date(timestamp)), true);
Want to know why two values are not equal?
Will return an empty string if isEqual
would return true
- otherwise will return a non-empty string that hopefully explains the reasoning.
var whyNotEqual = require('is-equal/why');
assert.equal(whyNotEqual(1, 1), '');
assert.equal(
whyNotEqual({ a: 1 }, { a: 2 }),
'value at key "a" differs: numbers are different: 1 !== 2'
);
Tests
Simply clone the repo, npm install
, and run npm test
1.7.0
5 months ago
1.6.5
5 months ago
1.6.4
2 years ago
1.6.3
3 years ago
1.6.2
3 years ago
1.6.1
4 years ago
1.6.0
4 years ago
1.5.5
7 years ago
1.5.4
7 years ago
1.5.3
8 years ago
1.5.2
8 years ago
1.5.1
8 years ago
1.5.0
8 years ago
1.4.2
8 years ago
1.4.1
8 years ago
1.4.0
8 years ago
1.3.1
8 years ago
1.3.0
8 years ago
1.2.4
9 years ago
1.2.3
9 years ago
1.2.0
9 years ago
1.1.1
9 years ago
1.1.0
9 years ago
1.0.0
10 years ago
0.1.0
10 years ago
0.0.0
10 years ago