fast-equals 1.6.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/code/cache/1d20cee756560ed06433a2e7dba9165f54487f2a +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/code/cache/cb395dc6899b78eb42b4fab9df67376a0a00bf80 +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/code/cache/d800d7a0e39da81c91ab9c5059068c29ebc83792 +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/semanticDiagnostics/cache/1d20cee756560ed06433a2e7dba9165f54487f2a +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/semanticDiagnostics/cache/cb395dc6899b78eb42b4fab9df67376a0a00bf80 +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/semanticDiagnostics/cache/d800d7a0e39da81c91ab9c5059068c29ebc83792 +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/syntacticDiagnostics/cache/1d20cee756560ed06433a2e7dba9165f54487f2a +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/syntacticDiagnostics/cache/cb395dc6899b78eb42b4fab9df67376a0a00bf80 +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/syntacticDiagnostics/cache/d800d7a0e39da81c91ab9c5059068c29ebc83792 +1 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/types/cache/c0f16c9111806a91c6ae4b5d0b138e4841adf7c9 +0 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/types/cache/c9f40676a1b140ebc96dde967251686b673a9961 +0 -0
- package/.rpt2_cache/rpt2_3c5f4e5db6faf852c13e3cd5e0db7a72d0e60a69/types/cache/e578d3be8d82631bd5cd8272d6aa5a54ba064304 +0 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/code/cache/0ab301188498506f5c998a00679f29b8929634e4 +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/code/cache/1d20cee756560ed06433a2e7dba9165f54487f2a +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/code/cache/d800d7a0e39da81c91ab9c5059068c29ebc83792 +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/semanticDiagnostics/cache/0ab301188498506f5c998a00679f29b8929634e4 +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/semanticDiagnostics/cache/1d20cee756560ed06433a2e7dba9165f54487f2a +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/semanticDiagnostics/cache/d800d7a0e39da81c91ab9c5059068c29ebc83792 +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/syntacticDiagnostics/cache/0ab301188498506f5c998a00679f29b8929634e4 +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/syntacticDiagnostics/cache/1d20cee756560ed06433a2e7dba9165f54487f2a +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/syntacticDiagnostics/cache/d800d7a0e39da81c91ab9c5059068c29ebc83792 +1 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/types/cache/6982fa2ac1e62f4aebb1debc73977393caa0d5a4 +0 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/types/cache/c0f16c9111806a91c6ae4b5d0b138e4841adf7c9 +0 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/types/cache/c9f40676a1b140ebc96dde967251686b673a9961 +0 -0
- package/.rpt2_cache/rpt2_6a9ad0d85cd0ed74f9b918d742c78fdbe81d2201/types/cache/e578d3be8d82631bd5cd8272d6aa5a54ba064304 +0 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/code/cache/82edcf6c99dc3d5802a5a8d3dbfc69f1048b520f +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/code/cache/eb02971c7d2972b89cd15754372a7b9a0b328a30 +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/code/cache/f6056671db45d89ddf3a27b7cf6d454993cec47b +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/semanticDiagnostics/cache/82edcf6c99dc3d5802a5a8d3dbfc69f1048b520f +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/semanticDiagnostics/cache/eb02971c7d2972b89cd15754372a7b9a0b328a30 +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/semanticDiagnostics/cache/f6056671db45d89ddf3a27b7cf6d454993cec47b +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/syntacticDiagnostics/cache/82edcf6c99dc3d5802a5a8d3dbfc69f1048b520f +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/syntacticDiagnostics/cache/eb02971c7d2972b89cd15754372a7b9a0b328a30 +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/syntacticDiagnostics/cache/f6056671db45d89ddf3a27b7cf6d454993cec47b +1 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/types/cache/c0f16c9111806a91c6ae4b5d0b138e4841adf7c9 +0 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/types/cache/c9f40676a1b140ebc96dde967251686b673a9961 +0 -0
- package/.rpt2_cache/rpt2_cbc4c616fc0ab8863b2f9b3be2cc7ae6306d679d/types/cache/e578d3be8d82631bd5cd8272d6aa5a54ba064304 +0 -0
- package/BUILD.md +37 -0
- package/CHANGELOG.md +23 -0
- package/README.md +65 -84
- package/dist/fast-equals.cjs.js +415 -446
- package/dist/fast-equals.cjs.js.map +1 -1
- package/dist/fast-equals.esm.js +415 -446
- package/dist/fast-equals.esm.js.map +1 -1
- package/dist/fast-equals.js +415 -446
- package/dist/fast-equals.js.map +1 -1
- package/dist/fast-equals.min.js +1 -1
- package/dist/fast-equals.mjs +418 -0
- package/dist/fast-equals.mjs.map +1 -0
- package/index.d.ts +15 -14
- package/package.json +31 -47
- package/es/comparator.js +0 -86
- package/es/constants.js +0 -14
- package/es/index.js +0 -19
- package/es/utils.js +0 -333
- package/es-to-mjs.js +0 -14
- package/lib/comparator.js +0 -94
- package/lib/constants.js +0 -22
- package/lib/index.js +0 -36
- package/lib/utils.js +0 -386
- package/mjs/comparator.mjs +0 -86
- package/mjs/constants.mjs +0 -14
- package/mjs/index.mjs +0 -19
- package/mjs/utils.mjs +0 -333
- package/rollup.config.js +0 -55
- package/yarn-error.log +0 -8175
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { areArraysEqual, areMapsEqual, areObjectsEqual, areRegExpsEqual, areSetsEqual, isPlainObject, isPromiseLike, sameValueZeroEqual, } from './utils';\r\nvar isArray = Array.isArray;\r\nvar HAS_MAP_SUPPORT = typeof Map === 'function';\r\nvar HAS_SET_SUPPORT = typeof Set === 'function';\r\nvar OBJECT_TYPEOF = 'object';\r\nexport function createComparator(createIsEqual) {\r\n var isEqual = \r\n /* eslint-disable no-use-before-define */\r\n typeof createIsEqual === 'function'\r\n ? createIsEqual(comparator)\r\n : comparator;\r\n /* eslint-enable */\r\n function comparator(a, b, meta) {\r\n if (sameValueZeroEqual(a, b)) {\r\n return true;\r\n }\r\n if (a && b && typeof a === OBJECT_TYPEOF && typeof b === OBJECT_TYPEOF) {\r\n if (isPlainObject(a) && isPlainObject(b)) {\r\n return areObjectsEqual(a, b, isEqual, meta);\r\n }\r\n var arrayA = isArray(a);\r\n var arrayB = isArray(b);\r\n if (arrayA || arrayB) {\r\n return arrayA === arrayB && areArraysEqual(a, b, isEqual, meta);\r\n }\r\n var aDate = a instanceof Date;\r\n var bDate = b instanceof Date;\r\n if (aDate || bDate) {\r\n return aDate === bDate && sameValueZeroEqual(a.getTime(), b.getTime());\r\n }\r\n var aRegExp = a instanceof RegExp;\r\n var bRegExp = b instanceof RegExp;\r\n if (aRegExp || bRegExp) {\r\n return aRegExp === bRegExp && areRegExpsEqual(a, b);\r\n }\r\n if (isPromiseLike(a) || isPromiseLike(b)) {\r\n return a === b;\r\n }\r\n if (HAS_MAP_SUPPORT) {\r\n var aMap = a instanceof Map;\r\n var bMap = b instanceof Map;\r\n if (aMap || bMap) {\r\n return aMap === bMap && areMapsEqual(a, b, isEqual, meta);\r\n }\r\n }\r\n if (HAS_SET_SUPPORT) {\r\n var aSet = a instanceof Set;\r\n var bSet = b instanceof Set;\r\n if (aSet || bSet) {\r\n return aSet === bSet && areSetsEqual(a, b, isEqual, meta);\r\n }\r\n }\r\n return areObjectsEqual(a, b, isEqual, meta);\r\n }\r\n return false;\r\n }\r\n return comparator;\r\n}\r\n//# sourceMappingURL=comparator.js.map","map":"{\"version\":3,\"file\":\"comparator.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/comparator.ts\"],\"names\":[],\"mappings\":\"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\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"var HAS_WEAKSET_SUPPORT = typeof WeakSet === 'function';\r\nvar keys = Object.keys;\r\nexport function addToCache(value, cache) {\r\n if (value && typeof value === 'object') {\r\n cache.add(value);\r\n }\r\n}\r\nexport function hasPair(pairs, pairToMatch, isEqual, meta) {\r\n var length = pairs.length;\r\n var pair;\r\n for (var index = 0; index < length; index++) {\r\n pair = pairs[index];\r\n if (isEqual(pair[0], pairToMatch[0], meta) &&\r\n isEqual(pair[1], pairToMatch[1], meta)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexport function hasValue(values, item, isEqual, meta) {\r\n var length = values.length;\r\n for (var index = 0; index < length; index++) {\r\n if (isEqual(values[index], item, meta)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexport function sameValueZeroEqual(a, b) {\r\n return a === b || (a !== a && b !== b);\r\n}\r\nexport function isPlainObject(value) {\r\n return value.constructor === Object || value.constructor == null;\r\n}\r\nexport function isPromiseLike(value) {\r\n return !!value && typeof value.then === 'function';\r\n}\r\nexport function isReactElement(value) {\r\n return !!(value && value.$$typeof);\r\n}\r\nexport function getNewCacheFallback() {\r\n return Object.create({\r\n _values: [],\r\n add: function (value) {\r\n this._values.push(value);\r\n },\r\n has: function (value) {\r\n // eslint-disable-next-line no-bitwise\r\n return !!~this._values.indexOf(value);\r\n },\r\n });\r\n}\r\nexport var getNewCache = (function (canUseWeakMap) {\r\n if (canUseWeakMap) {\r\n return function _getNewCache() {\r\n return new WeakSet();\r\n };\r\n }\r\n return getNewCacheFallback;\r\n})(HAS_WEAKSET_SUPPORT);\r\nexport function createCircularIsEqualCreator(isEqual) {\r\n return function createCircularIsEqual(comparator) {\r\n var _comparator = isEqual || comparator;\r\n return function circularIsEqual(a, b, cache) {\r\n if (cache === void 0) { cache = getNewCache(); }\r\n var hasA = cache.has(a);\r\n var hasB = cache.has(b);\r\n if (hasA || hasB) {\r\n return hasA && hasB;\r\n }\r\n addToCache(a, cache);\r\n addToCache(b, cache);\r\n return _comparator(a, b, cache);\r\n };\r\n };\r\n}\r\nexport function toPairs(map) {\r\n var pairs = new Array(map.size);\r\n var index = 0;\r\n map.forEach(function (value, key) {\r\n pairs[index++] = [key, value];\r\n });\r\n return pairs;\r\n}\r\nexport function toValues(set) {\r\n var values = new Array(set.size);\r\n var index = 0;\r\n set.forEach(function (value) {\r\n values[index++] = value;\r\n });\r\n return values;\r\n}\r\nexport function areArraysEqual(a, b, isEqual, meta) {\r\n var length = a.length;\r\n if (b.length !== length) {\r\n return false;\r\n }\r\n for (var index = 0; index < length; index++) {\r\n if (!isEqual(a[index], b[index], meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexport function areMapsEqual(a, b, isEqual, meta) {\r\n if (a.size !== b.size) {\r\n return false;\r\n }\r\n var pairsA = toPairs(a);\r\n var pairsB = toPairs(b);\r\n var length = pairsA.length;\r\n for (var index = 0; index < length; index++) {\r\n if (!hasPair(pairsB, pairsA[index], isEqual, meta) ||\r\n !hasPair(pairsA, pairsB[index], isEqual, meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nvar OWNER = '_owner';\r\nvar hasOwnProperty = Function.prototype.bind.call(Function.prototype.call, Object.prototype.hasOwnProperty);\r\nexport function areObjectsEqual(a, b, isEqual, meta) {\r\n var keysA = keys(a);\r\n var length = keysA.length;\r\n if (keys(b).length !== length) {\r\n return false;\r\n }\r\n var key;\r\n for (var index = 0; index < length; index++) {\r\n key = keysA[index];\r\n if (!hasOwnProperty(b, key)) {\r\n return false;\r\n }\r\n if (key === OWNER && isReactElement(a)) {\r\n if (!isReactElement(b)) {\r\n return false;\r\n }\r\n // eslint-disable-next-line no-continue\r\n continue;\r\n }\r\n if (!isEqual(a[key], b[key], meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexport function areRegExpsEqual(a, b) {\r\n return (a.source === b.source &&\r\n a.global === b.global &&\r\n a.ignoreCase === b.ignoreCase &&\r\n a.multiline === b.multiline &&\r\n a.unicode === b.unicode &&\r\n a.sticky === b.sticky &&\r\n a.lastIndex === b.lastIndex);\r\n}\r\nexport function areSetsEqual(a, b, isEqual, meta) {\r\n if (a.size !== b.size) {\r\n return false;\r\n }\r\n var valuesA = toValues(a);\r\n var valuesB = toValues(b);\r\n var length = valuesA.length;\r\n for (var index = 0; index < length; index++) {\r\n if (!hasValue(valuesB, valuesA[index], isEqual, meta) ||\r\n !hasValue(valuesA, valuesB[index], isEqual, meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n//# sourceMappingURL=utils.js.map","map":"{\"version\":3,\"file\":\"utils.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/utils.ts\"],\"names\":[],\"mappings\":\"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\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"// comparator\r\nimport { createComparator } from './comparator';\r\n// utils\r\nimport { createCircularIsEqualCreator, sameValueZeroEqual } from './utils';\r\nexport { createComparator as createCustomEqual, sameValueZeroEqual };\r\nexport var deepEqual = createComparator();\r\nexport var shallowEqual = createComparator(function () { return sameValueZeroEqual; });\r\nexport var circularDeepEqual = createComparator(createCircularIsEqualCreator());\r\nexport var circularShallowEqual = createComparator(createCircularIsEqualCreator(sameValueZeroEqual));\r\n//# sourceMappingURL=index.js.map","map":"{\"version\":3,\"file\":\"index.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/index.ts\"],\"names\":[],\"mappings\":\"AAAA,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,QAAQ;AACR,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAErE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAC5C,MAAM,CAAC,IAAM,YAAY,GAAG,gBAAgB,CAAC,cAAM,OAAA,kBAAkB,EAAlB,CAAkB,CAAC,CAAC;AAEvE,MAAM,CAAC,IAAM,iBAAiB,GAAG,gBAAgB,CAC/C,4BAA4B,EAAE,CAC/B,CAAC;AACF,MAAM,CAAC,IAAM,oBAAoB,GAAG,gBAAgB,CAClD,4BAA4B,CAAC,kBAAkB,CAAC,CACjD,CAAC\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"var HAS_WEAKSET_SUPPORT = typeof WeakSet === 'function';\r\nvar keys = Object.keys;\r\nexport function addToCache(value, cache) {\r\n if (value && typeof value === 'object') {\r\n cache.add(value);\r\n }\r\n}\r\nexport function hasPair(pairs, pairToMatch, isEqual, meta) {\r\n var length = pairs.length;\r\n var pair;\r\n for (var index = 0; index < length; index++) {\r\n pair = pairs[index];\r\n if (isEqual(pair[0], pairToMatch[0], meta) &&\r\n isEqual(pair[1], pairToMatch[1], meta)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexport function hasValue(values, item, isEqual, meta) {\r\n var length = values.length;\r\n for (var index = 0; index < length; index++) {\r\n if (isEqual(values[index], item, meta)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexport function sameValueZeroEqual(a, b) {\r\n return a === b || (a !== a && b !== b);\r\n}\r\nexport function isPlainObject(value) {\r\n return value.constructor === Object || value.constructor == null;\r\n}\r\nexport function isPromiseLike(value) {\r\n return !!value && typeof value.then === 'function';\r\n}\r\nexport function isReactElement(value) {\r\n return !!(value && value.$$typeof);\r\n}\r\nexport function getNewCacheFallback() {\r\n return Object.create({\r\n _values: [],\r\n add: function (value) {\r\n this._values.push(value);\r\n },\r\n has: function (value) {\r\n // eslint-disable-next-line no-bitwise\r\n return !!~this._values.indexOf(value);\r\n },\r\n });\r\n}\r\nexport var getNewCache = (function (canUseWeakMap) {\r\n if (canUseWeakMap) {\r\n return function _getNewCache() {\r\n return new WeakSet();\r\n };\r\n }\r\n return getNewCacheFallback;\r\n})(HAS_WEAKSET_SUPPORT);\r\nexport function createCircularIsEqualCreator(isEqual) {\r\n return function createCircularIsEqual(comparator) {\r\n var _comparator = isEqual || comparator;\r\n return function circularIsEqual(a, b, cache) {\r\n if (cache === void 0) { cache = getNewCache(); }\r\n var hasA = cache.has(a);\r\n var hasB = cache.has(b);\r\n if (hasA || hasB) {\r\n return hasA && hasB;\r\n }\r\n addToCache(a, cache);\r\n addToCache(b, cache);\r\n return _comparator(a, b, cache);\r\n };\r\n };\r\n}\r\nexport function toPairs(map) {\r\n var pairs = new Array(map.size);\r\n var index = 0;\r\n map.forEach(function (value, key) {\r\n pairs[index++] = [key, value];\r\n });\r\n return pairs;\r\n}\r\nexport function toValues(set) {\r\n var values = new Array(set.size);\r\n var index = 0;\r\n set.forEach(function (value) {\r\n values[index++] = value;\r\n });\r\n return values;\r\n}\r\nexport function areArraysEqual(a, b, isEqual, meta) {\r\n var length = a.length;\r\n if (b.length !== length) {\r\n return false;\r\n }\r\n for (var index = 0; index < length; index++) {\r\n if (!isEqual(a[index], b[index], meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexport function areMapsEqual(a, b, isEqual, meta) {\r\n if (a.size !== b.size) {\r\n return false;\r\n }\r\n var pairsA = toPairs(a);\r\n var pairsB = toPairs(b);\r\n var length = pairsA.length;\r\n for (var index = 0; index < length; index++) {\r\n if (!hasPair(pairsB, pairsA[index], isEqual, meta) ||\r\n !hasPair(pairsA, pairsB[index], isEqual, meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nvar OWNER = '_owner';\r\nvar hasOwnProperty = Function.prototype.bind.call(Function.prototype.call, Object.prototype.hasOwnProperty);\r\nexport function areObjectsEqual(a, b, isEqual, meta) {\r\n var keysA = keys(a);\r\n var length = keysA.length;\r\n if (keys(b).length !== length) {\r\n return false;\r\n }\r\n var key;\r\n for (var index = 0; index < length; index++) {\r\n key = keysA[index];\r\n if (!hasOwnProperty(b, key)) {\r\n return false;\r\n }\r\n if (key === OWNER && isReactElement(a)) {\r\n if (!isReactElement(b)) {\r\n return false;\r\n }\r\n // eslint-disable-next-line no-continue\r\n continue;\r\n }\r\n if (!isEqual(a[key], b[key], meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexport function areRegExpsEqual(a, b) {\r\n return (a.source === b.source &&\r\n a.global === b.global &&\r\n a.ignoreCase === b.ignoreCase &&\r\n a.multiline === b.multiline &&\r\n a.unicode === b.unicode &&\r\n a.sticky === b.sticky &&\r\n a.lastIndex === b.lastIndex);\r\n}\r\nexport function areSetsEqual(a, b, isEqual, meta) {\r\n if (a.size !== b.size) {\r\n return false;\r\n }\r\n var valuesA = toValues(a);\r\n var valuesB = toValues(b);\r\n var length = valuesA.length;\r\n for (var index = 0; index < length; index++) {\r\n if (!hasValue(valuesB, valuesA[index], isEqual, meta) ||\r\n !hasValue(valuesA, valuesB[index], isEqual, meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n//# sourceMappingURL=utils.js.map","map":"{\"version\":3,\"file\":\"utils.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/utils.ts\"],\"names\":[],\"mappings\":\"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\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { areArraysEqual, areMapsEqual, areObjectsEqual, areRegExpsEqual, areSetsEqual, isPlainObject, isPromiseLike, sameValueZeroEqual, } from './utils';\r\nvar isArray = Array.isArray;\r\nvar HAS_MAP_SUPPORT = typeof Map === 'function';\r\nvar HAS_SET_SUPPORT = typeof Set === 'function';\r\nvar OBJECT_TYPEOF = 'object';\r\nexport function createComparator(createIsEqual) {\r\n var isEqual = \r\n /* eslint-disable no-use-before-define */\r\n typeof createIsEqual === 'function'\r\n ? createIsEqual(comparator)\r\n : comparator;\r\n /* eslint-enable */\r\n function comparator(a, b, meta) {\r\n if (sameValueZeroEqual(a, b)) {\r\n return true;\r\n }\r\n if (a && b && typeof a === OBJECT_TYPEOF && typeof b === OBJECT_TYPEOF) {\r\n if (isPlainObject(a) && isPlainObject(b)) {\r\n return areObjectsEqual(a, b, isEqual, meta);\r\n }\r\n var arrayA = isArray(a);\r\n var arrayB = isArray(b);\r\n if (arrayA || arrayB) {\r\n return arrayA === arrayB && areArraysEqual(a, b, isEqual, meta);\r\n }\r\n var aDate = a instanceof Date;\r\n var bDate = b instanceof Date;\r\n if (aDate || bDate) {\r\n return aDate === bDate && sameValueZeroEqual(a.getTime(), b.getTime());\r\n }\r\n var aRegExp = a instanceof RegExp;\r\n var bRegExp = b instanceof RegExp;\r\n if (aRegExp || bRegExp) {\r\n return aRegExp === bRegExp && areRegExpsEqual(a, b);\r\n }\r\n if (isPromiseLike(a) || isPromiseLike(b)) {\r\n return a === b;\r\n }\r\n if (HAS_MAP_SUPPORT) {\r\n var aMap = a instanceof Map;\r\n var bMap = b instanceof Map;\r\n if (aMap || bMap) {\r\n return aMap === bMap && areMapsEqual(a, b, isEqual, meta);\r\n }\r\n }\r\n if (HAS_SET_SUPPORT) {\r\n var aSet = a instanceof Set;\r\n var bSet = b instanceof Set;\r\n if (aSet || bSet) {\r\n return aSet === bSet && areSetsEqual(a, b, isEqual, meta);\r\n }\r\n }\r\n return areObjectsEqual(a, b, isEqual, meta);\r\n }\r\n return false;\r\n }\r\n return comparator;\r\n}\r\n//# sourceMappingURL=comparator.js.map","map":"{\"version\":3,\"file\":\"comparator.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/comparator.ts\"],\"names\":[],\"mappings\":\"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\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"// comparator\r\nimport { createComparator } from './comparator';\r\n// utils\r\nimport { createCircularIsEqualCreator, sameValueZeroEqual } from './utils';\r\nexport { createComparator as createCustomEqual, sameValueZeroEqual };\r\nexport var deepEqual = createComparator();\r\nexport var shallowEqual = createComparator(function () { return sameValueZeroEqual; });\r\nexport var circularDeepEqual = createComparator(createCircularIsEqualCreator());\r\nexport var circularShallowEqual = createComparator(createCircularIsEqualCreator(sameValueZeroEqual));\r\n//# sourceMappingURL=index.js.map","map":"{\"version\":3,\"file\":\"index.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/index.ts\"],\"names\":[],\"mappings\":\"AAAA,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,QAAQ;AACR,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAErE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAC5C,MAAM,CAAC,IAAM,YAAY,GAAG,gBAAgB,CAAC,cAAM,OAAA,kBAAkB,EAAlB,CAAkB,CAAC,CAAC;AAEvE,MAAM,CAAC,IAAM,iBAAiB,GAAG,gBAAgB,CAC/C,4BAA4B,EAAE,CAC/B,CAAC;AACF,MAAM,CAAC,IAAM,oBAAoB,GAAG,gBAAgB,CAClD,4BAA4B,CAAC,kBAAkB,CAAC,CACjD,CAAC\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"import { areArraysEqual, areMapsEqual, areObjectsEqual, areRegExpsEqual, areSetsEqual, isPlainObject, isPromiseLike, sameValueZeroEqual, } from './utils';\r\nvar isArray = Array.isArray;\r\nvar HAS_MAP_SUPPORT = typeof Map === 'function';\r\nvar HAS_SET_SUPPORT = typeof Set === 'function';\r\nvar OBJECT_TYPEOF = 'object';\r\nexport function createComparator(createIsEqual) {\r\n var isEqual = \r\n /* eslint-disable no-use-before-define */\r\n typeof createIsEqual === 'function'\r\n ? createIsEqual(comparator)\r\n : comparator;\r\n /* eslint-enable */\r\n /**\r\n * @function comparator\r\n *\r\n * @description\r\n * compare the value of the two objects and return true if they are equivalent in values\r\n *\r\n * @param a the value to test against\r\n * @param b the value to test\r\n * @param [meta] an optional meta object that is passed through to all equality test calls\r\n * @returns are a and b equivalent in value\r\n */\r\n function comparator(a, b, meta) {\r\n if (sameValueZeroEqual(a, b)) {\r\n return true;\r\n }\r\n if (a && b && typeof a === OBJECT_TYPEOF && typeof b === OBJECT_TYPEOF) {\r\n if (isPlainObject(a) && isPlainObject(b)) {\r\n return areObjectsEqual(a, b, isEqual, meta);\r\n }\r\n var arrayA = isArray(a);\r\n var arrayB = isArray(b);\r\n if (arrayA || arrayB) {\r\n return arrayA === arrayB && areArraysEqual(a, b, isEqual, meta);\r\n }\r\n var aDate = a instanceof Date;\r\n var bDate = b instanceof Date;\r\n if (aDate || bDate) {\r\n return aDate === bDate && sameValueZeroEqual(a.getTime(), b.getTime());\r\n }\r\n var aRegExp = a instanceof RegExp;\r\n var bRegExp = b instanceof RegExp;\r\n if (aRegExp || bRegExp) {\r\n return aRegExp === bRegExp && areRegExpsEqual(a, b);\r\n }\r\n if (isPromiseLike(a) || isPromiseLike(b)) {\r\n return a === b;\r\n }\r\n if (HAS_MAP_SUPPORT) {\r\n var aMap = a instanceof Map;\r\n var bMap = b instanceof Map;\r\n if (aMap || bMap) {\r\n return aMap === bMap && areMapsEqual(a, b, isEqual, meta);\r\n }\r\n }\r\n if (HAS_SET_SUPPORT) {\r\n var aSet = a instanceof Set;\r\n var bSet = b instanceof Set;\r\n if (aSet || bSet) {\r\n return aSet === bSet && areSetsEqual(a, b, isEqual, meta);\r\n }\r\n }\r\n return areObjectsEqual(a, b, isEqual, meta);\r\n }\r\n return false;\r\n }\r\n return comparator;\r\n}\r\n//# sourceMappingURL=comparator.js.map","references":["/home/tquetano/git/fast-equals/src/utils.ts"],"map":"{\"version\":3,\"file\":\"comparator.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/comparator.ts\"],\"names\":[],\"mappings\":\"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\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"var HAS_WEAKSET_SUPPORT = typeof WeakSet === 'function';\r\nvar keys = Object.keys;\r\n/**\r\n * @function addToCache\r\n *\r\n * add object to cache if an object\r\n *\r\n * @param value the value to potentially add to cache\r\n * @param cache the cache to add to\r\n */\r\nexport function addToCache(value, cache) {\r\n if (value && typeof value === 'object') {\r\n cache.add(value);\r\n }\r\n}\r\n/**\r\n * @function hasPair\r\n *\r\n * @description\r\n * does the `pairToMatch` exist in the list of `pairs` provided based on the\r\n * `isEqual` check\r\n *\r\n * @param pairs the pairs to compare against\r\n * @param pairToMatch the pair to match\r\n * @param isEqual the equality comparator used\r\n * @param meta the meta provided\r\n * @returns does the pair exist in the pairs provided\r\n */\r\nexport function hasPair(pairs, pairToMatch, isEqual, meta) {\r\n var length = pairs.length;\r\n var pair;\r\n for (var index = 0; index < length; index++) {\r\n pair = pairs[index];\r\n if (isEqual(pair[0], pairToMatch[0], meta) &&\r\n isEqual(pair[1], pairToMatch[1], meta)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * @function hasValue\r\n *\r\n * @description\r\n * does the `valueToMatch` exist in the list of `values` provided based on the\r\n * `isEqual` check\r\n *\r\n * @param values the values to compare against\r\n * @param valueToMatch the value to match\r\n * @param isEqual the equality comparator used\r\n * @param meta the meta provided\r\n * @returns does the value exist in the values provided\r\n */\r\nexport function hasValue(values, valueToMatch, isEqual, meta) {\r\n var length = values.length;\r\n for (var index = 0; index < length; index++) {\r\n if (isEqual(values[index], valueToMatch, meta)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * @function sameValueZeroEqual\r\n *\r\n * @description\r\n * are the values passed strictly equal or both NaN\r\n *\r\n * @param a the value to compare against\r\n * @param b the value to test\r\n * @returns are the values equal by the SameValueZero principle\r\n */\r\nexport function sameValueZeroEqual(a, b) {\r\n return a === b || (a !== a && b !== b);\r\n}\r\n/**\r\n * @function isPlainObject\r\n *\r\n * @description\r\n * is the value a plain object\r\n *\r\n * @param value the value to test\r\n * @returns is the value a plain object\r\n */\r\nexport function isPlainObject(value) {\r\n return value.constructor === Object || value.constructor == null;\r\n}\r\n/**\r\n * @function isPromiseLike\r\n *\r\n * @description\r\n * is the value promise-like (meaning it is thenable)\r\n *\r\n * @param value the value to test\r\n * @returns is the value promise-like\r\n */\r\nexport function isPromiseLike(value) {\r\n return !!value && typeof value.then === 'function';\r\n}\r\n/**\r\n * @function isReactElement\r\n *\r\n * @description\r\n * is the value passed a react element\r\n *\r\n * @param value the value to test\r\n * @returns is the value a react element\r\n */\r\nexport function isReactElement(value) {\r\n return !!(value && value.$$typeof);\r\n}\r\n/**\r\n * @function getNewCacheFallback\r\n *\r\n * @description\r\n * in cases where WeakSet is not supported, creates a new custom\r\n * object that mimics the necessary API aspects for cache purposes\r\n *\r\n * @returns the new cache object\r\n */\r\nexport function getNewCacheFallback() {\r\n return Object.create({\r\n _values: [],\r\n add: function (value) {\r\n this._values.push(value);\r\n },\r\n has: function (value) {\r\n return this._values.indexOf(value) !== -1;\r\n },\r\n });\r\n}\r\n/**\r\n * @function getNewCache\r\n *\r\n * @description\r\n * get a new cache object to prevent circular references\r\n *\r\n * @returns the new cache object\r\n */\r\nexport var getNewCache = (function (canUseWeakMap) {\r\n if (canUseWeakMap) {\r\n return function _getNewCache() {\r\n return new WeakSet();\r\n };\r\n }\r\n return getNewCacheFallback;\r\n})(HAS_WEAKSET_SUPPORT);\r\n/**\r\n * @function createCircularEqualCreator\r\n *\r\n * @description\r\n * create a custom isEqual handler specific to circular objects\r\n *\r\n * @param [isEqual] the isEqual comparator to use instead of isDeepEqual\r\n * @returns the method to create the `isEqual` function\r\n */\r\nexport function createCircularEqualCreator(isEqual) {\r\n return function createCircularEqual(comparator) {\r\n var _comparator = isEqual || comparator;\r\n return function circularEqual(a, b, cache) {\r\n if (cache === void 0) { cache = getNewCache(); }\r\n var hasA = cache.has(a);\r\n var hasB = cache.has(b);\r\n if (hasA || hasB) {\r\n return hasA && hasB;\r\n }\r\n addToCache(a, cache);\r\n addToCache(b, cache);\r\n return _comparator(a, b, cache);\r\n };\r\n };\r\n}\r\n/**\r\n * @function toPairs\r\n *\r\n * @description\r\n * convert the map passed into pairs (meaning an array of [key, value] tuples)\r\n *\r\n * @param map the map to convert to [key, value] pairs (entries)\r\n * @returns the [key, value] pairs\r\n */\r\nexport function toPairs(map) {\r\n var pairs = new Array(map.size);\r\n var index = 0;\r\n map.forEach(function (value, key) {\r\n pairs[index++] = [key, value];\r\n });\r\n return pairs;\r\n}\r\n/**\r\n * @function toValues\r\n *\r\n * @description\r\n * convert the set passed into values\r\n *\r\n * @param set the set to convert to values\r\n * @returns the values\r\n */\r\nexport function toValues(set) {\r\n var values = new Array(set.size);\r\n var index = 0;\r\n set.forEach(function (value) {\r\n values[index++] = value;\r\n });\r\n return values;\r\n}\r\n/**\r\n * @function areArraysEqual\r\n *\r\n * @description\r\n * are the arrays equal in value\r\n *\r\n * @param a the array to test\r\n * @param b the array to test against\r\n * @param isEqual the comparator to determine equality\r\n * @param meta the meta object to pass through\r\n * @returns are the arrays equal\r\n */\r\nexport function areArraysEqual(a, b, isEqual, meta) {\r\n var length = a.length;\r\n if (b.length !== length) {\r\n return false;\r\n }\r\n for (var index = 0; index < length; index++) {\r\n if (!isEqual(a[index], b[index], meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * @function areMapsEqual\r\n *\r\n * @description\r\n * are the maps equal in value\r\n *\r\n * @param a the map to test\r\n * @param b the map to test against\r\n * @param isEqual the comparator to determine equality\r\n * @param meta the meta map to pass through\r\n * @returns are the maps equal\r\n */\r\nexport function areMapsEqual(a, b, isEqual, meta) {\r\n if (a.size !== b.size) {\r\n return false;\r\n }\r\n var pairsA = toPairs(a);\r\n var pairsB = toPairs(b);\r\n var length = pairsA.length;\r\n for (var index = 0; index < length; index++) {\r\n if (!hasPair(pairsB, pairsA[index], isEqual, meta) ||\r\n !hasPair(pairsA, pairsB[index], isEqual, meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nvar OWNER = '_owner';\r\nvar hasOwnProperty = Function.prototype.bind.call(Function.prototype.call, Object.prototype.hasOwnProperty);\r\n/**\r\n * @function areObjectsEqual\r\n *\r\n * @description\r\n * are the objects equal in value\r\n *\r\n * @param a the object to test\r\n * @param b the object to test against\r\n * @param isEqual the comparator to determine equality\r\n * @param meta the meta object to pass through\r\n * @returns are the objects equal\r\n */\r\nexport function areObjectsEqual(a, b, isEqual, meta) {\r\n var keysA = keys(a);\r\n var length = keysA.length;\r\n if (keys(b).length !== length) {\r\n return false;\r\n }\r\n var key;\r\n for (var index = 0; index < length; index++) {\r\n key = keysA[index];\r\n if (!hasOwnProperty(b, key)) {\r\n return false;\r\n }\r\n if (key === OWNER && isReactElement(a)) {\r\n if (!isReactElement(b)) {\r\n return false;\r\n }\r\n }\r\n else if (!isEqual(a[key], b[key], meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * @function areRegExpsEqual\r\n *\r\n * @description\r\n * are the regExps equal in value\r\n *\r\n * @param a the regExp to test\r\n * @param b the regExp to test agains\r\n * @returns are the regExps equal\r\n */\r\nexport function areRegExpsEqual(a, b) {\r\n return (a.source === b.source &&\r\n a.global === b.global &&\r\n a.ignoreCase === b.ignoreCase &&\r\n a.multiline === b.multiline &&\r\n a.unicode === b.unicode &&\r\n a.sticky === b.sticky &&\r\n a.lastIndex === b.lastIndex);\r\n}\r\n/**\r\n * @function areSetsEqual\r\n *\r\n * @description\r\n * are the sets equal in value\r\n *\r\n * @param a the set to test\r\n * @param b the set to test against\r\n * @param isEqual the comparator to determine equality\r\n * @param meta the meta set to pass through\r\n * @returns are the sets equal\r\n */\r\nexport function areSetsEqual(a, b, isEqual, meta) {\r\n if (a.size !== b.size) {\r\n return false;\r\n }\r\n var valuesA = toValues(a);\r\n var valuesB = toValues(b);\r\n var length = valuesA.length;\r\n for (var index = 0; index < length; index++) {\r\n if (!hasValue(valuesB, valuesA[index], isEqual, meta) ||\r\n !hasValue(valuesA, valuesB[index], isEqual, meta)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n//# sourceMappingURL=utils.js.map","references":[],"map":"{\"version\":3,\"file\":\"utils.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/utils.ts\"],\"names\":[],\"mappings\":\"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\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"code":"// comparator\r\nimport { createComparator } from './comparator';\r\n// utils\r\nimport { createCircularEqualCreator, sameValueZeroEqual } from './utils';\r\nexport { createComparator as createCustomEqual, sameValueZeroEqual };\r\nexport var deepEqual = createComparator();\r\nexport var shallowEqual = createComparator(function () { return sameValueZeroEqual; });\r\nexport var circularDeepEqual = createComparator(createCircularEqualCreator());\r\nexport var circularShallowEqual = createComparator(createCircularEqualCreator(sameValueZeroEqual));\r\n//# sourceMappingURL=index.js.map","references":["/home/tquetano/git/fast-equals/src/comparator.ts","/home/tquetano/git/fast-equals/src/utils.ts"],"map":"{\"version\":3,\"file\":\"index.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/index.ts\"],\"names\":[],\"mappings\":\"AAAA,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,QAAQ;AACR,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEzE,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAErE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAC5C,MAAM,CAAC,IAAM,YAAY,GAAG,gBAAgB,CAAC,cAAM,OAAA,kBAAkB,EAAlB,CAAkB,CAAC,CAAC;AAEvE,MAAM,CAAC,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,0BAA0B,EAAE,CAAC,CAAC;AAChF,MAAM,CAAC,IAAM,oBAAoB,GAAG,gBAAgB,CAClD,0BAA0B,CAAC,kBAAkB,CAAC,CAC/C,CAAC\"}"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/BUILD.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Reproducing a build
|
|
2
|
+
|
|
3
|
+
## Clone version
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
git clone https://github.com/planttheidea/fast-equals.git
|
|
7
|
+
cd fast-equals
|
|
8
|
+
git checkout {version}
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Replace `{version}` above with the appropriate package version. If you want to compare a version older than `1.6.2`, you'll need to use a commit hash directly.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
yarn install
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
We use `yarn` for our package management, so to ensure that exact dependencies you should also use it.
|
|
20
|
+
|
|
21
|
+
## Build artifacts
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
yarn run build
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**NOTE**: To get an exact checksum match with the versions released on npm, it may be necessary to change line endings. For example, on Linux you might run:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
unix2dos dist/fast-equals.min.js
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Get checksum
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
sha256sum dist/fast-equals.min.js
|
|
37
|
+
```
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# fast-equals CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
#### Breaking changes
|
|
6
|
+
|
|
7
|
+
- There are longer `fast-equals/es`, `fast-equals/lib`, `fast-equals/mjs` locations
|
|
8
|
+
- Instead, there are 3 builds in `dist` for different consumption types:
|
|
9
|
+
- `fast-equals.js` (UMD / `browser`)
|
|
10
|
+
- `fast-equals.esm.js` (ESM / `module`)
|
|
11
|
+
- `fast-equals.cjs.js` (CommonJS / `main`)
|
|
12
|
+
- There is no default export anymore, only the previously-existing named exports
|
|
13
|
+
- To get all into a namespace, use `import * as fe from 'fast-equals`
|
|
14
|
+
|
|
15
|
+
#### Updates
|
|
16
|
+
|
|
17
|
+
- Rewritten completely in TypeScript
|
|
18
|
+
- Improve speed of `Map` / `Set` comparisons
|
|
19
|
+
- Improve speed of React element comparisons
|
|
20
|
+
|
|
21
|
+
#### Fixes
|
|
22
|
+
|
|
23
|
+
- Consider pure objects (`Object.create(null)`) to be plain objects
|
|
24
|
+
- Fix typings for `createCustomEqual`
|
|
25
|
+
|
|
3
26
|
## 1.6.3
|
|
4
27
|
|
|
5
28
|
- Check the size of the iterable before converting to arrays
|
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Starting with version `1.5.0`, circular objects are supported for both deep and
|
|
|
20
20
|
## Table of contents
|
|
21
21
|
|
|
22
22
|
- [Usage](#usage)
|
|
23
|
-
- [
|
|
23
|
+
- [Specific builds](#specific-builds)
|
|
24
24
|
- [Available methods](#available-methods)
|
|
25
25
|
- [deepEqual](#deepequal)
|
|
26
26
|
- [shallowEqual](#shallowequal)
|
|
@@ -33,55 +33,46 @@ Starting with version `1.5.0`, circular objects are supported for both deep and
|
|
|
33
33
|
|
|
34
34
|
## Usage
|
|
35
35
|
|
|
36
|
-
You can either import the
|
|
36
|
+
You can either import the individual functions desired:
|
|
37
37
|
|
|
38
38
|
```javascript
|
|
39
|
-
import
|
|
39
|
+
import { deepEqual } from 'fast-equals';
|
|
40
40
|
|
|
41
|
-
console.log(
|
|
41
|
+
console.log(deepEqual({ foo: 'bar' }, { foo: 'bar' })); // true
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Or
|
|
44
|
+
Or if you want to import all functions under a namespace:
|
|
45
45
|
|
|
46
46
|
```javascript
|
|
47
|
-
import
|
|
47
|
+
import * as fe from 'fast-equals';
|
|
48
48
|
|
|
49
|
-
console.log(
|
|
49
|
+
console.log(fe.deep({ foo: 'bar' }, { foo: 'bar' })); // true
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
#### Specific builds
|
|
53
53
|
|
|
54
|
-
ESM
|
|
54
|
+
There are three builds, an ESM build for modern build systems / runtimes, a CommonJS build for traditional NodeJS environments, and a UMD build for legacy implementations. The ideal one will likely be chosen for you automatically, however if you want to use a specific build you can always import it directly:
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
- ESM => `fast-equals/dist/fast-equals.esm.js`
|
|
57
|
+
- For older `nodejs` versions that do not allow ESM with file extensions other than `.mjs` => `fast-equals/dist/fast-equals.mjs`
|
|
58
|
+
- CommonJS => `fast-equals/dist/fast-equals.cjs.js`
|
|
59
|
+
- UMD => `fast-equals/dist/fast-equals.js`
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
There is also a pre-minified version of the UMD build available:
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
import fe from "fast-equals/mjs";
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
CommonJS:
|
|
67
|
-
|
|
68
|
-
```javascript
|
|
69
|
-
const fe = require("fast-equals").default;
|
|
70
|
-
```
|
|
63
|
+
- Minified UMD => `fast-equals/dist/fast-equals.min.js`
|
|
71
64
|
|
|
72
65
|
## Available methods
|
|
73
66
|
|
|
74
67
|
#### deepEqual
|
|
75
68
|
|
|
76
|
-
_Aliased on the default export as `fe.deep`_
|
|
77
|
-
|
|
78
69
|
Performs a deep equality comparison on the two objects passed and returns a boolean representing the value equivalency of the objects.
|
|
79
70
|
|
|
80
71
|
```javascript
|
|
81
|
-
import { deepEqual } from
|
|
72
|
+
import { deepEqual } from 'fast-equals';
|
|
82
73
|
|
|
83
|
-
const objectA = { foo: { bar:
|
|
84
|
-
const objectB = { foo: { bar:
|
|
74
|
+
const objectA = { foo: { bar: 'baz' } };
|
|
75
|
+
const objectB = { foo: { bar: 'baz' } };
|
|
85
76
|
|
|
86
77
|
console.log(objectA === objectB); // false
|
|
87
78
|
console.log(deepEqual(objectA, objectB)); // true
|
|
@@ -89,18 +80,16 @@ console.log(deepEqual(objectA, objectB)); // true
|
|
|
89
80
|
|
|
90
81
|
#### shallowEqual
|
|
91
82
|
|
|
92
|
-
_Aliased on the default export as `fe.shallow`_
|
|
93
|
-
|
|
94
83
|
Performs a shallow equality comparison on the two objects passed and returns a boolean representing the value equivalency of the objects.
|
|
95
84
|
|
|
96
85
|
```javascript
|
|
97
|
-
import { shallowEqual } from
|
|
86
|
+
import { shallowEqual } from 'fast-equals';
|
|
98
87
|
|
|
99
|
-
const nestedObject = { bar:
|
|
88
|
+
const nestedObject = { bar: 'baz' };
|
|
100
89
|
|
|
101
90
|
const objectA = { foo: nestedObject };
|
|
102
91
|
const objectB = { foo: nestedObject };
|
|
103
|
-
const objectC = { foo: { bar:
|
|
92
|
+
const objectC = { foo: { bar: 'baz' } };
|
|
104
93
|
|
|
105
94
|
console.log(objectA === objectB); // false
|
|
106
95
|
console.log(shallowEqual(objectA, objectB)); // true
|
|
@@ -109,18 +98,16 @@ console.log(shallowEqual(objectA, objectC)); // false
|
|
|
109
98
|
|
|
110
99
|
#### sameValueZeroEqual
|
|
111
100
|
|
|
112
|
-
_Aliased on the default export as `fe.sameValueZero`_
|
|
113
|
-
|
|
114
101
|
Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) comparison on the two objects passed and returns a boolean representing the value equivalency of the objects. In simple terms, this means either strictly equal or both `NaN`.
|
|
115
102
|
|
|
116
103
|
```javascript
|
|
117
|
-
import { sameValueZeroEqual } from
|
|
104
|
+
import { sameValueZeroEqual } from 'fast-equals';
|
|
118
105
|
|
|
119
|
-
const mainObject = { foo: NaN, bar:
|
|
106
|
+
const mainObject = { foo: NaN, bar: 'baz' };
|
|
120
107
|
|
|
121
|
-
const objectA =
|
|
108
|
+
const objectA = 'baz';
|
|
122
109
|
const objectB = NaN;
|
|
123
|
-
const objectC = { foo: NaN, bar:
|
|
110
|
+
const objectC = { foo: NaN, bar: 'baz' };
|
|
124
111
|
|
|
125
112
|
console.log(sameValueZeroEqual(mainObject.bar, objectA)); // true
|
|
126
113
|
console.log(sameValueZeroEqual(mainObject.foo, objectB)); // true
|
|
@@ -129,8 +116,6 @@ console.log(sameValueZeroEqual(mainObject, objectC)); // false
|
|
|
129
116
|
|
|
130
117
|
#### circularDeepEqual
|
|
131
118
|
|
|
132
|
-
_Aliased on the default export as `fe.circularDeep`_
|
|
133
|
-
|
|
134
119
|
Performs the same comparison as `deepEqual` but supports circular objects. It is slower than `deepEqual`, so only use if you know circular objects are present.
|
|
135
120
|
|
|
136
121
|
```javascript
|
|
@@ -138,50 +123,53 @@ function Circular(value) {
|
|
|
138
123
|
this.me = {
|
|
139
124
|
deeply: {
|
|
140
125
|
nested: {
|
|
141
|
-
reference: this
|
|
142
|
-
}
|
|
126
|
+
reference: this,
|
|
127
|
+
},
|
|
143
128
|
},
|
|
144
|
-
value
|
|
129
|
+
value,
|
|
145
130
|
};
|
|
146
131
|
}
|
|
147
132
|
|
|
148
|
-
console.log(circularDeepEqual(new Circular(
|
|
149
|
-
console.log(circularDeepEqual(new Circular(
|
|
133
|
+
console.log(circularDeepEqual(new Circular('foo'), new Circular('foo'))); // true
|
|
134
|
+
console.log(circularDeepEqual(new Circular('foo'), new Circular('bar'))); // false
|
|
150
135
|
```
|
|
151
136
|
|
|
152
137
|
#### circularShallowEqual
|
|
153
138
|
|
|
154
|
-
_Aliased on the default export as `fe.circularShallow`_
|
|
155
|
-
|
|
156
139
|
Performs the same comparison as `shallowequal` but supports circular objects. It is slower than `shallowEqual`, so only use if you know circular objects are present.
|
|
157
140
|
|
|
158
141
|
```javascript
|
|
159
|
-
const array = [
|
|
142
|
+
const array = ['foo'];
|
|
160
143
|
|
|
161
144
|
array.push(array);
|
|
162
145
|
|
|
163
|
-
console.log(circularShallowEqual(array, [
|
|
146
|
+
console.log(circularShallowEqual(array, ['foo', array])); // true
|
|
164
147
|
console.log(circularShallowEqual(array, [array])); // false
|
|
165
148
|
```
|
|
166
149
|
|
|
167
150
|
#### createCustomEqual
|
|
168
151
|
|
|
169
|
-
_Aliased on the default export as `fe.createCustom`_
|
|
170
|
-
|
|
171
152
|
Creates a custom equality comparator that will be used on nested values in the object. Unlike `deepEqual` and `shallowEqual`, this is a partial-application function that will receive the internal comparator and should return a function that compares two objects.
|
|
172
153
|
|
|
173
154
|
The signature is as follows:
|
|
174
155
|
|
|
175
|
-
```
|
|
176
|
-
|
|
156
|
+
```typescript
|
|
157
|
+
type EqualityComparator = (a: any, b: any, meta?: any) => boolean;
|
|
158
|
+
type EqualityComparatorCreator = (
|
|
159
|
+
deepEqual: EqualityComparator,
|
|
160
|
+
) => EqualityComparator;
|
|
161
|
+
|
|
162
|
+
function createCustomEqual(
|
|
163
|
+
createIsEqual?: EqualityComparatorCreator,
|
|
164
|
+
): EqualityComparator;
|
|
177
165
|
```
|
|
178
166
|
|
|
179
|
-
The `meta` parameter is whatever you want it to be. It will be passed through to all equality checks, and is meant specifically for use with custom equality methods. For example, with the `circularDeepEqual` and `circularShallowEqual` methods, it is used to pass through a cache of processed objects.
|
|
167
|
+
The `meta` parameter in `EqualityComparator` is whatever you want it to be. It will be passed through to all equality checks, and is meant specifically for use with custom equality methods. For example, with the `circularDeepEqual` and `circularShallowEqual` methods, it is used to pass through a cache of processed objects.
|
|
180
168
|
|
|
181
169
|
An example for a custom equality comparison that also checks against values in the meta object:
|
|
182
170
|
|
|
183
171
|
```javascript
|
|
184
|
-
import { createCustomEqual } from
|
|
172
|
+
import { createCustomEqual } from 'fast-equals';
|
|
185
173
|
|
|
186
174
|
const isDeepEqualOrFooMatchesMeta = createCustomEqual(deepEqual => {
|
|
187
175
|
return (objectA, objectB, meta) => {
|
|
@@ -193,16 +181,16 @@ const isDeepEqualOrFooMatchesMeta = createCustomEqual(deepEqual => {
|
|
|
193
181
|
};
|
|
194
182
|
});
|
|
195
183
|
|
|
196
|
-
const objectA = { foo:
|
|
197
|
-
const objectB = { foo:
|
|
198
|
-
const meta =
|
|
184
|
+
const objectA = { foo: 'bar' };
|
|
185
|
+
const objectB = { foo: 'baz' };
|
|
186
|
+
const meta = 'bar';
|
|
199
187
|
|
|
200
188
|
console.log(isDeepEqualOrFooMatchesMeta(objectA, objectB)); // true
|
|
201
189
|
```
|
|
202
190
|
|
|
203
191
|
## Benchmarks
|
|
204
192
|
|
|
205
|
-
All benchmarks were performed on an i7 8-core Arch Linux laptop with 16GB of memory using NodeJS version `10.15.
|
|
193
|
+
All benchmarks were performed on an i7 8-core Arch Linux laptop with 16GB of memory using NodeJS version `10.15.3`, and are based on averages of running comparisons based deep equality on the following object types:
|
|
206
194
|
|
|
207
195
|
- Primitives (`String`, `Number`, `null`, `undefined`)
|
|
208
196
|
- `Function`
|
|
@@ -215,30 +203,30 @@ All benchmarks were performed on an i7 8-core Arch Linux laptop with 16GB of mem
|
|
|
215
203
|
|
|
216
204
|
| | Operations / second |
|
|
217
205
|
| -------------------------- | ------------------- |
|
|
218
|
-
| **fast-equals** | **
|
|
219
|
-
| nano-equal |
|
|
220
|
-
| shallow-equal-fuzzy |
|
|
221
|
-
| fast-deep-equal |
|
|
222
|
-
| react-fast-compare |
|
|
223
|
-
| **fast-equals (circular)** | **
|
|
224
|
-
| underscore.isEqual |
|
|
225
|
-
| deep-equal |
|
|
226
|
-
| lodash.isEqual | 24,
|
|
227
|
-
| deep-eql |
|
|
228
|
-
| assert.deepStrictEqual | 1,
|
|
206
|
+
| **fast-equals** | **142,730** |
|
|
207
|
+
| nano-equal | 115,530 |
|
|
208
|
+
| shallow-equal-fuzzy | 102,633 |
|
|
209
|
+
| fast-deep-equal | 102,335 |
|
|
210
|
+
| react-fast-compare | 100,036 |
|
|
211
|
+
| **fast-equals (circular)** | **79,589** |
|
|
212
|
+
| underscore.isEqual | 63,390 |
|
|
213
|
+
| deep-equal | 48,783 |
|
|
214
|
+
| lodash.isEqual | 24,456 |
|
|
215
|
+
| deep-eql | 24,196 |
|
|
216
|
+
| assert.deepStrictEqual | 1,382 |
|
|
229
217
|
|
|
230
218
|
Caveats that impact the benchmark (and accuracy of comparison):
|
|
231
219
|
|
|
232
|
-
- `
|
|
233
|
-
- `
|
|
220
|
+
- `assert.deepStrictEqual` does not support `NaN` or `SameValueZero` equality for dates
|
|
221
|
+
- `deep-eql` does not support `SameValueZero` equality for zero equality (positive and negative zero are not equal)
|
|
222
|
+
- `deep-equal` does not support `NaN` and does not strictly compare object type, or date / regexp values, nor uses `SameValueZero` equality for dates
|
|
234
223
|
- `fast-deep-equal` does not support `NaN` or `SameValueZero` equality for dates
|
|
224
|
+
- `nano-equal` does not strictly compare object property structure, array length, or object type, nor `SameValueZero` equality for dates
|
|
235
225
|
- `react-fast-compare` does not support `NaN` or `SameValueZero` equality for dates, and does not compare `function` equality
|
|
226
|
+
- `shallow-equal-fuzzy` does not strictly compare object type or regexp values, nor `SameValueZero` equality for dates
|
|
236
227
|
- `underscore.isEqual` does not support `SameValueZero` equality for primitives or dates
|
|
237
|
-
- `deep-equal` does not support `NaN` and does not strictly compare object type, or date / regexp values, nor uses `SameValueZero` equality for dates
|
|
238
|
-
- `deep-eql` does not support `SameValueZero` equality for zero equality (positive and negative zero are not equal)
|
|
239
|
-
- `assert.deepStrictEqual` does not support `NaN` or `SameValueZero` equality for dates
|
|
240
228
|
|
|
241
|
-
All of these have the potential of inflating the respective library's numbers in comparison to `fast-equals`, but it was the closest apples-to-apples comparison I could create of a reasonable sample size. `Map`s, `Promise`s, and `Set`s were excluded from the benchmark entirely because no library other than `
|
|
229
|
+
All of these have the potential of inflating the respective library's numbers in comparison to `fast-equals`, but it was the closest apples-to-apples comparison I could create of a reasonable sample size. `Map`s, `Promise`s, and `Set`s were excluded from the benchmark entirely because no library other than `deep-eql` fully supported their comparison. The same logic applies to `react` elements (which can be circular objects), but simple elements are non-circular objects so I kept the `react` comparison very basic to allow it to be included.
|
|
242
230
|
|
|
243
231
|
## Development
|
|
244
232
|
|
|
@@ -246,12 +234,7 @@ Standard practice, clone the repo and `npm i` to get the dependencies. The follo
|
|
|
246
234
|
|
|
247
235
|
- benchmark => run benchmark tests against other equality libraries
|
|
248
236
|
- build => build `main`, `module`, and `browser` distributables with `rollup`
|
|
249
|
-
- clean => run `
|
|
250
|
-
- clean:dist => run `rimraf` on the `dist` folder
|
|
251
|
-
- clean:es => run `rimraf` on the `es` folder
|
|
252
|
-
- clean:lib => run `rimraf` on the `lib` folder
|
|
253
|
-
- clean:mjs => run `rimraf` on the `mjs` folder
|
|
254
|
-
- copy:mjs => copy all files from `es` folder to `mjs` folder (for node ESM consumption)
|
|
237
|
+
- clean => run `rimraf` on the `dist` folder
|
|
255
238
|
- dev => start webpack playground App
|
|
256
239
|
- dist => run `build`
|
|
257
240
|
- lint => run ESLint on all files in `src` folder (also runs on `dev` script)
|
|
@@ -261,5 +244,3 @@ Standard practice, clone the repo and `npm i` to get the dependencies. The follo
|
|
|
261
244
|
- test => run AVA with NODE_ENV=test on all files in `test` folder
|
|
262
245
|
- test:coverage => run same script as `test` with code coverage calculation via `nyc`
|
|
263
246
|
- test:watch => run same script as `test` but keep persistent watcher
|
|
264
|
-
- transpile:es => run Babel on all files, in `src` folder (transpiled to `es` folder without transpilation of ES2015 export syntax)
|
|
265
|
-
- transpile:lib => run Babel on all files in `src` folder (transpiled to `lib` folder)
|