{"_id":"dequal","_rev":"2797266","name":"dequal","description":"A tiny (304B to 489B) utility for check for deep equality","dist-tags":{"latest":"2.0.3"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"time":{"modified":"2022-07-16T09:00:12.000Z","created":"2019-03-07T05:59:27.146Z","2.0.3":"2022-07-11T23:29:04.965Z","2.0.2":"2020-08-19T04:25:20.180Z","2.0.1":"2020-08-17T18:55:18.257Z","2.0.0":"2020-08-12T23:25:27.516Z","1.0.1":"2020-07-15T18:32:14.741Z","1.0.0":"2019-03-07T21:22:00.861Z","0.0.0":"2019-03-07T05:59:27.146Z"},"users":{},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"versions":{"2.0.3":{"name":"dequal","version":"2.0.3","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"A tiny (304B to 489B) utility for check for deep equality","unpkg":"dist/index.min.js","module":"dist/index.mjs","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","postbuild":"echo \"lite\" | xargs -n1 cp -v index.d.ts","test":"uvu -r esm test"},"exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./lite":{"types":"./index.d.ts","import":"./lite/index.mjs","require":"./lite/index.js"},"./package.json":"./package.json"},"modes":{"lite":"src/lite.js","default":"src/index.js"},"keywords":["deep","deep-equal","equality"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.2"},"gitHead":"37d4f27de03fa6264e406cd03288cec8255fca4c","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@2.0.3","_nodeVersion":"18.3.0","_npmVersion":"8.11.0","dist":{"shasum":"2644214f1997d39ed0ee0ece72335490a7ac67be","size":4286,"noattachment":false,"key":"/dequal/-/dequal-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-2.0.3.tgz"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_2.0.3_1657582144817_0.4755944407894437"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-11T23:29:09.960Z","publish_time":1657582144965,"_cnpm_publish_time":1657582144965},"2.0.2":{"name":"dequal","version":"2.0.2","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"A tiny (304B to 489B) utility for check for deep equality","unpkg":"dist/index.min.js","module":"dist/index.mjs","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","postbuild":"echo \"lite\" | xargs -n1 cp -v index.d.ts","test":"uvu -r esm test"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./package.json":"./package.json"},"modes":{"lite":"src/lite.js","default":"src/index.js"},"keywords":["deep","deep-equal","equality"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.2"},"gitHead":"9aa73181ac7e081cd330cac67d313632ac04bb02","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@2.0.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"85ca22025e3a87e65ef75a7a437b35284a7e319d","size":4325,"noattachment":false,"key":"/dequal/-/dequal-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-2.0.2.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_2.0.2_1597811120028_0.4877269224774894"},"_hasShrinkwrap":false,"publish_time":1597811120180,"_cnpm_publish_time":1597811120180},"2.0.1":{"name":"dequal","version":"2.0.1","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"A tiny (304B to 489B) utility for check for deep equality","unpkg":"dist/index.min.js","module":"dist/index.mjs","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./package.json":"./package.json"},"modes":{"lite":"src/lite.js","default":"src/index.js"},"keywords":["deep","deep-equal","equality"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.2"},"gitHead":"cc4e212d06f6b7e299408adbed83c4c45ab2b8b4","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@2.0.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"ede18a4165063112f1a204c7e117cc6d7a66ca4e","size":4294,"noattachment":false,"key":"/dequal/-/dequal-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-2.0.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_2.0.1_1597690518142_0.17796559741071727"},"_hasShrinkwrap":false,"publish_time":1597690518257,"_cnpm_publish_time":1597690518257},"2.0.0":{"name":"dequal","version":"2.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"A tiny (304B to 489B) utility for check for deep equality","unpkg":"dist/index.min.js","module":"dist/index.mjs","main":"dist/index.js","types":"index.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./lite":{"import":"./lite/index.mjs","require":"./lite/index.js"},"./package.json":"./package.json"},"modes":{"lite":"src/lite.js","default":"src/index.js"},"keywords":["deep","deep-equal","equality"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.3.2"},"gitHead":"c4381cc7ddce15140d1c7565eba8bda3de700daf","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"703be76f3f9d6fe447add5a1ba535f249aedbaa5","size":4266,"noattachment":false,"key":"/dequal/-/dequal-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-2.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_2.0.0_1597274727399_0.31965522025474535"},"_hasShrinkwrap":false,"publish_time":1597274727516,"_cnpm_publish_time":1597274727516},"1.0.1":{"name":"dequal","version":"1.0.1","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"A tiny (305B) utility for check for deep equality","unpkg":"dist/dequal.min.js","module":"dist/dequal.mjs","main":"dist/dequal.js","types":"dequal.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","test":"uvu -r esm test"},"keywords":["deep","deep-equal","equality"],"devDependencies":{"bundt":"1.0.2","esm":"3.2.25","uvu":"0.2.2"},"gitHead":"1e97166cfc11bc285b798615a148eaa7810878d4","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"dbbf9795ec626e9da8bd68782f4add1d23700d8b","size":2842,"noattachment":false,"key":"/dequal/-/dequal-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-1.0.1.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_1.0.1_1594837934591_0.10306879951704673"},"_hasShrinkwrap":false,"publish_time":1594837934741,"_cnpm_publish_time":1594837934741},"1.0.0":{"name":"dequal","version":"1.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"A tiny (247B) utility for check for deep equality","unpkg":"dist/dequal.min.js","module":"dist/dequal.mjs","main":"dist/dequal.js","types":"dequal.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["deep","deep-equal","equality"],"devDependencies":{"bundt":"^0.3.0","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"546da76f3d11bb3925fb4939126c5b18c574c5ae","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"41c6065e70de738541c82cdbedea5292277a017e","size":2604,"noattachment":false,"key":"/dequal/-/dequal-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-1.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_1.0.0_1551993720721_0.41432664629644655"},"_hasShrinkwrap":false,"publish_time":1551993720861,"_cnpm_publish_time":1551993720861},"0.0.0":{"name":"dequal","version":"0.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/dequal.git"},"description":"WIP","unpkg":"dist/dequal.min.js","module":"dist/dequal.mjs","main":"dist/dequal.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=6"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":[],"devDependencies":{"bundt":"^0.3.0","tap-spec":"^4.1.1","tape":"^4.8.0"},"gitHead":"cefe731a4caae001cc4748d8eb6b7ab5e6a88b56","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"homepage":"https://github.com/lukeed/dequal#readme","_id":"dequal@0.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"shasum":"f93cc16c3d8baed18b3d1239f0bff38ec0189b13","size":1492,"noattachment":false,"key":"/dequal/-/dequal-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dequal/download/dequal-0.0.0.tgz"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dequal_0.0.0_1551938366991_0.24426179303095696"},"_hasShrinkwrap":false,"publish_time":1551938367146,"_cnpm_publish_time":1551938367146}},"readme":"# dequal [![CI](https://github.com/lukeed/dequal/workflows/CI/badge.svg)](https://github.com/lukeed/dequal/actions)\n\n> A tiny (304B to 489B) utility to check for deep equality\n\nThis module supports comparison of all types, including `Function`, `RegExp`, `Date`, `Set`, `Map`, `TypedArray`s, `DataView`, `null`, `undefined`, and `NaN` values. Complex values (eg, Objects, Arrays, Sets, Maps, etc) are traversed recursively.\n\n> **Important:**\n> * key order **within Objects** does not matter\n> * value order **within Arrays** _does_ matter\n> * values **within Sets and Maps** use value equality\n> * keys **within Maps** use value equality\n\n\n## Install\n\n```\n$ npm install --save dequal\n```\n\n## Modes\n\nThere are two \"versions\" of `dequal` available:\n\n#### `dequal`\n> **Size (gzip):** 489 bytes<br>\n> **Availability:** [CommonJS](https://unpkg.com/dequal/dist/index.js), [ES Module](https://unpkg.com/dequal/dist/index.mjs), [UMD](https://unpkg.com/dequal/dist/index.min.js)\n\n#### `dequal/lite`\n> **Size (gzip):** 304 bytes<br>\n> **Availability:** [CommonJS](https://unpkg.com/dequal/lite/index.js), [ES Module](https://unpkg.com/dequal/lite/index.mjs)\n\n|  | IE9+ | Number | String | Date | RegExp | Object | Array | Class | Set | Map | ArrayBuffer | [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects) | [DataView](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) |\n|-|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n| `dequal` | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| `dequal/lite` | :+1: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: |\n\n> <sup>**Note:** Table scrolls horizontally!</sup>\n\n## Usage\n\n```js\nimport { dequal } from 'dequal';\n\ndequal(1, 1); //=> true\ndequal({}, {}); //=> true\ndequal('foo', 'foo'); //=> true\ndequal([1, 2, 3], [1, 2, 3]); //=> true\ndequal(dequal, dequal); //=> true\ndequal(/foo/, /foo/); //=> true\ndequal(null, null); //=> true\ndequal(NaN, NaN); //=> true\ndequal([], []); //=> true\ndequal(\n  [{ a:1 }, [{ b:{ c:[1] } }]],\n  [{ a:1 }, [{ b:{ c:[1] } }]]\n); //=> true\n\ndequal(1, '1'); //=> false\ndequal(null, undefined); //=> false\ndequal({ a:1, b:[2,3] }, { a:1, b:[2,5] }); //=> false\ndequal(/foo/i, /bar/g); //=> false\n```\n\n## API\n\n### dequal(foo, bar)\nReturns: `Boolean`\n\nBoth `foo` and `bar` can be of any type.<br>\nA `Boolean` is returned indicating if the two were deeply equal.\n\n\n## Benchmarks\n\n> Running Node v10.13.0\n\nThe benchmarks can be found in the [`/bench`](/bench) directory. They are separated into two categories:\n\n* `basic` – compares an object comprised of `String`, `Number`, `Date`, `Array`, and `Object` values.\n* `complex` – like `basic`, but adds `RegExp`, `Map`, `Set`, and `Uint8Array` values.\n\n> **Note:** Only candidates that pass validation step(s) are listed. <br>For example, `fast-deep-equal/es6` handles `Set` and `Map` values, but uses _referential equality_ while those listed use _value equality_.\n\n```\nLoad times:\n  assert             0.109ms\n  util               0.006ms\n  fast-deep-equal    0.479ms\n  lodash/isequal    22.826ms\n  nano-equal         0.417ms\n  dequal             0.396ms\n  dequal/lite        0.264ms\n\nBenchmark :: basic\n  assert.deepStrictEqual  x    325,262 ops/sec ±0.57% (94 runs sampled)\n  util.isDeepStrictEqual  x    318,812 ops/sec ±0.87% (94 runs sampled)\n  fast-deep-equal         x  1,332,393 ops/sec ±0.36% (93 runs sampled)\n  lodash.isEqual          x    269,129 ops/sec ±0.59% (95 runs sampled)\n  nano-equal              x  1,122,053 ops/sec ±0.36% (96 runs sampled)\n  dequal/lite             x  1,700,972 ops/sec ±0.31% (94 runs sampled)\n  dequal                  x  1,698,972 ops/sec ±0.63% (97 runs sampled)\n\nBenchmark :: complex\n  assert.deepStrictEqual  x    124,518 ops/sec ±0.64% (96 runs sampled)\n  util.isDeepStrictEqual  x    125,113 ops/sec ±0.24% (96 runs sampled)\n  lodash.isEqual          x     58,677 ops/sec ±0.49% (96 runs sampled)\n  dequal                  x    345,386 ops/sec ±0.27% (96 runs sampled)\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","_attachments":{},"homepage":"https://github.com/lukeed/dequal#readme","bugs":{"url":"https://github.com/lukeed/dequal/issues"},"license":"MIT"}