{"_id":"lauqe","_rev":"26-9d94ab5c1802671b695800d685fbb3fd","name":"lauqe","dist-tags":{"beta":"1.5.0-beta.1","latest":"1.5.0"},"versions":{"1.0.0-beta.1":{"name":"lauqe","description":"Deep comparison between two values to determine if they are equivalent","version":"1.0.0-beta.1","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"gitHead":"22d0066f55b101650da5cc899fcfd3f6fc74cbe4","_id":"lauqe@1.0.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-xMS3gK23Bz/Bfd9Rr3pf9vCOjUfLyaAFL03rzGY1H5dz+dM4rhlxhHMoxd2YQS9ft/Mtt6Obt6NpFb8IMfDJfw==","shasum":"94b1b5f2421125a663ee5eaf08f84220e5b0cfb8","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.0-beta.1.tgz","fileCount":9,"unpackedSize":34072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnSjqCRA9TVsSAnZWagAA5mgP/RznD9eFamBcT+4+VoI3\nE7uwVw22vad/LXE9ZuCxqdeE8MkL1WeA2NV0HNpsXfcLW1lSt/kO6pajSxG9\nO26uE3OTMKmu2jmYyvMjgGEt224Yuy83mR82nQvxPuuWCWYL+0eh0Use4M2x\nuENMkOif/DEIepcM0N4hzEKA6pKMQ02JNO7671gFyXEJzSfG9EMkA5s28LU6\nKTRi23RQTqDK93Bf3tFq80oY/AJdjmhusMMgdkiEg/xWTzzdBglCW0A00Hv+\nojwkKxjs+FKIVuFz3suYLb6pjColIol4yANw/2HlexXDmgXKy3ZLJqqJwZpv\nT4C4XngNzJ/FJ5DHecxQolulDRT9i6QfcjlBPqagL4iGib6BUQDqtp00a2sT\nSWlGoKg6Rd5OhP3QtFT4dDyuqYPE8ectf/DU5zWB0tHcbD6abeDepCSjyNhZ\nFmaA6ndcHR+viK3eiQyDIVotCBZ1VvY+Q4RgBvFW0v7DuB2Xjduf5F9LwIAf\n4TZqQZ4QQlN84QhhdFyxKCO6sejZ6X88mEoLbX56bYCYuTjSO6gjlG0wQ54x\ncoe62Z2cFrhTi8QSo+8hoSfFBsxP73BoilFuO9HU6OrpK0Pke0MPuluptiyt\nwt4dXoW0x2R0mAFCvphiii4zq1fbePidMXe07wl0BMTWrxLutnLKpqv2ConW\n7hsA\r\n=79E5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8j1eI34fNMUuZJVPwdvmW+16yr5mR1NOGYwddVYF/jAIgIG4CePk+kC7OZDXoXcK6W1yvBjzSjoLxdUFBQiIyfXs="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.0-beta.1_1620912361890_0.8792745562339066"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.0-beta.2","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","node 10"],"readme":"<div align=\"center\">\n\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n\n![npm version](https://img.shields.io/npm/v/lauqe.svg?style=flat)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/arithmetic4)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n\n</div>\n\n# equal === lauqe\n\n> Deep comparison between two values to determine if they are equivalent\n\n## :sparkles: Feature\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n## 📝 API\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n## :green_heart: Supports\n\nBrowser is supporting since IE11.\n\nThe TypeScript version must be `4.1.0` or higher.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"./img/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"./img/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| >= 1.6.0                                                                        | >= 10.24.0 | IE11 / last 2 versions                                                             | last 2 versions                                                                                                                                      | last 2 versions                                                                                                                                               | last 2 versions                                                                                                                                           | last 2 versions                                                                                                                                           | last 2 versions                                                                                                                                                           | last 2 versions                                                                                                                                                                 |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ESM\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ESM\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"86782b57fa0860e75de540dbc96765e1ede5b09b","_id":"lauqe@1.0.0-beta.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-8x17M8pocsCsOoIS7eiq7Qa4CEqsVJrIIyoP2qfSvGnGrr29WitZRJaYQOTpSLkXSJQGslFJMLLLunAXfLSsJQ==","shasum":"d9a4bd9c95bb0751b6a919cf3ff546eee409413a","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.0-beta.2.tgz","fileCount":9,"unpackedSize":50042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgndjjCRA9TVsSAnZWagAAN2AP/1t/kxwOGFViahTraqbV\nySWXlEBz/0cL7xdVvO2tEDagVYdxl+qUBZvEMoUHA4BMUqlJEsazuj6T/FlF\n0bGUYUiWJRFeflcX8e10YU//e4vwEcywuvAKq4l5OQQFa+ZGyKvcnHTHEnTP\nJqOHZcL4zCGov/HYDYEXVaaKBK4mmYi7dzngfw8lSp2GG9wjpQhRjmkW478J\ndZl2zo+EP8iYgywjKdwWSLpsOgZ5XmNX6J24snJT1kHJS4pCswycLcVIjtud\n8pT++Wl8I6AT4P2P7kxLG1YcZOt9W5JZbjlu7bWXZNjs9xOeZ3xBbxFfMpMw\n7hD1XjpP83bo077X2reVxkPtqXGQAXbvCd6UNcoVMAs61006fOGUOLztcPjn\nlqc7wP8WCZjUWhC2G6N1JUWfsxe+HPcqMeae84Rzi/IdqePCnTDW6codg5Jm\nXkpvMS7tF3NxVziK/sH75AMJsMEn0idKuzMqaT07QmVJ3GyDht+X+NPMYoM1\na1OPrJ0odMdeAH/vzode6LYcvIdpysT677MOqtX7CVpmlyOq558lnHM0GYy3\nnN/z39y9cMw7MtLJa1EcRqX3tXhCxF3FVH65DdWTHpV4vbEIrLU3vsXTvoVV\n0bnA8fKH7HHtMuTZZmUTsIZuT4Xky5yT6/EOIme01qmBeoAVedwsjamaM7q+\nA/Du\r\n=4cga\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIo+7d2z/7O3Ig10kzt+h/PpATLXR0W/CmuCrKW+V0bgIhAIsBKEX34mOTv9CbRI8n0SLx+ElxLNixzoc+EBTSsY0W"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.0-beta.2_1620957410548_0.6458039570852583"},"_hasShrinkwrap":false},"1.0.0":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.0","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","node 10"],"gitHead":"4016a015b80d20e5c589194545241a02ba784de0","_id":"lauqe@1.0.0","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-pmTzzh7sAA7KyzgNEDPoWegJ9lwsVzYgxIRPTtHofj7lvuSCgkAU7J0D7NBeDPaTA7qTilBQPSkyoZyKIQwV7Q==","shasum":"9e2504d3289593155944b4f64784b678629788d9","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.0.tgz","fileCount":9,"unpackedSize":50723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgneQ9CRA9TVsSAnZWagAAbSoP/As1EqlYr1tHyBO+quLb\nijjQo+Usc+aJlkePy0HIO09SQACHtNoB6IiR02mdEuS/AxdaowVkpMTo4OW5\nTKFx+O4ugUpPZXLUs9DVw0HoCCRO8UQinSZHE6hP3tXk11jY3eteki3ei9V9\nqxY4hM01sx7Yx949uN+tn+rbPxJwviMScRZSLuQ06A7T3spX29ZYfRWzoo0Z\ncdPAhzDpkf9gDChXWbZEsrdU+4oFTn8U5Pi2s0qPqk3Mrk1M5x5jkE75AazR\nHfSXMbjiTfFiuB8WXdRO4nbmKaEDgkqiSZVrs3T9r1RPD2DErhfOMHvoXhTb\nkKY9f+61oRdCJnuOzKzJyX891VikhUXs+wAUrcJRFX7ykOYLy+oV7ju8rUZj\nIbppwpBdFD4+Ju4ZQL5AuJKg5TFpHr8qzDMNrQjC0pFcRZcgBUb/RpfFwQtQ\nWOuv3E9dnSHmpxna59Cdez+XkjbK+i8w0pj1ezxKRfqpC2Tp4jex2Y5Slov1\nIzL2NLe+d31uZ3+olstuD/a9iGT3seormc8bASPYXNEH4tiXz936gQi3yO9a\nM/gxbmdzLrL8gUtjqBTNf917wFbtGW1T5BvGZJfYfyAP7ISZUfZUQSlLVD6d\nLnfRIobnjW2eyRh2xMm1NJiV7sS8XpDZALxoE457MwQ5QyvzqbXqVSBKy+z2\njmM1\r\n=hLnU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8yMnWmT/2va+/lPO3bKa9ZgNAsD37Ms0D6Oo5nbmw1AIhAOqZs26RHsaANwWGve2LirQy15W9XQY5gy3bYvfNcxLc"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.0_1620960317527_0.4323419709004044"},"_hasShrinkwrap":false},"1.0.1-beta.1":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.1-beta.1","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","node 10"],"readme":"<div align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\"  />\n\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n![npm version](https://img.shields.io/npm/v/lauqe.svg?style=flat)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n![deno support version](https://img.shields.io/badge/deno-%3E%3D1.6.0-yellow)\n![node support version](https://img.shields.io/badge/node-%3E%3D10.24.0-blue)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/arithmetic4)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n\n</div>\n\n# equal === lauqe\n\n> Deep comparison between two values to determine if they are equivalent\n\n## :sparkles: Feature\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n## 📝 API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n## :green_heart: Supports\n\nBrowser is supporting since IE11.\n\nThe TypeScript version must be `4.1.0` or higher.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"./img/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"./img/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| >= 1.6.0                                                                        | >= 10.24.0 | IE11 / last 2 versions                                                             | last 2 versions                                                                                                                                      | last 2 versions                                                                                                                                               | last 2 versions                                                                                                                                           | last 2 versions                                                                                                                                           | last 2 versions                                                                                                                                                           | last 2 versions                                                                                                                                                                 |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ESM\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ESM\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"a77e774f257a03f681fc9d87db7714e8a4eaea98","_id":"lauqe@1.0.1-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-bRvCjklrlr16zaSW/QEYn3M3BA1MRbSQtBfjoNSUGHihDwHyXk9ZeU16Rfxz5MGMMzF5J4mwEzPWHyOvUPynbA==","shasum":"402a0dd68ed78c2ea6606929994700f44d1e9418","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.1-beta.1.tgz","fileCount":9,"unpackedSize":51232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnf9VCRA9TVsSAnZWagAA/uUP/0JTJxukK9tRqAV4EdRE\nZtXFGnMet/nXUXWJL0IdbuV9PJQdxZeTrzOcTnNrsPS7dv00317i4wAxpArr\nGgHZrGeHcwmVKdOU+fh7+ehn4QpYnS9UxIPSQz9JtFpP092zQmaMHcKm0qZV\nVDdE/EkvBEDH5CGJzncVNCa9xEJ2gLcAnu42eanwsp6PLnyRV5s0qqZ9X97/\nSY8N0p3f3yoVEtchuI8Hz84FBBn8z7cBGoY9/4IAoAg8wKWzb5Ki8v9ozKzT\nKNS8qlKt+DArPa3Bu/7bHSCokD2bgnQt7OfLF3rouz7vbYuwV9w82y3+fDP4\nyY3keyUxVPDGtLTH8ZW+aZVmQM7W7v2lSE25ZoflIKknjUONcNs4d8GfHWUG\nel71LG55i5Up+2xuMoOgjhJIE+xaw6msCZSz6Dgp/U/laa8VSx7JygZ3xYX+\nMjhsurpwn/+1AYrT+ZGPqcVcNjhAgemdvOHCIZVA/8uicHO6JanDvpK5+5oR\naBcP0Hquws4IgvFcS4rd4qHY3sx1DnpuPy3nebq9Ia26T5R721kwpIDxChpK\njdOcF6NdkV3UB04Kvz9wwDQg/JUjNFP4lcGSZNL9fzdh0LXZo7IMIrQC38LV\nmyMfAuRL/jjt6F6mXhk2zex79tDvfSfCB/XkwrRC3/ty3y1pIFkzQWSQyGFc\nkdRC\r\n=Rwrj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDf0tZjV32mRsprt9PfCYJh2Ku0LXETI9CZD6jReDSaWAiEAl27b4qrQOBT+MsGcuU8w6lcXatt7HSNiNX+2q0tEH9g="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.1-beta.1_1620967253203_0.8024967899912279"},"_hasShrinkwrap":false},"1.0.1":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.1","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","node 10"],"gitHead":"2477f2fbc4392d4dd6649a93a5c9a7f80b1f4088","_id":"lauqe@1.0.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-9QXnWcEGqsp7W3DE083xpeIbqyxNzzMcL5sde8OaXo0VpPs8CbsVe+qvNKZy1wCpVuBh2RP9MsdAFOJirxohwQ==","shasum":"853cd90eec5e7e424fea6c7a5c36f89db4784b8e","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.1.tgz","fileCount":9,"unpackedSize":51476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgngU0CRA9TVsSAnZWagAARn0QAJ6WFLDSREtgpxUuI/hJ\niTpKPJqxWVJyimKdVbZfn13QAXSrtXTTFcPCj7Xq8KRhANaBW0oneVa8IP75\n/rmHnWOcm4sMhLwA6YZXWVkk2a3kiccgpIAWj7jIBbNfbrWYdwaOyoCzEXjv\ndGxOcqYaMbbRgzH8TeZZ1zeY2LRJn8Roo+mZQyfIlBZxaXHRKdDjw8U/5KHp\niQlGKm0ZG0lW7gNgeK2f7lZSEuCBWpdAl0NX/No6WSJY4wqDD1FursvWTH2H\nhQyCS9Fe8K6gDvuEi+ZtjEbumoVgCb0rdG6fbd0mOX0CoK0RO9gUHlSN6io2\ng8unD9zNqhLYWVZPoXWNtKJ0rd6jpKxYcMZCUNPc+ZcuRsGG2KbgUCgj0ykK\ncBnrcDhXHW5DCZi9D4bZue7PK7Xd3E2eUqpJ4FR0IwAuzH/rtKUgG9gttNPZ\nBSNILhQpyib5D4tBFkcXre3q72O7zmciqiv6VYbccPa9T1sonaqeeRuSid0H\nv2+XYeRH5VnTOXkH+NpLE+AH4b0tC8zbO0kxlS1UE0In8i0xuWP8x3jUTfl7\n8OGsYgUxEaeYeTsZlL2EWz5gVKfZFIVd+o+z4qrJFBYoaYu/Av4vJZrYF1g+\nPefoWHfb/KPRbv6SpLl4oeglHUdc/7fyFkSM5Av9Ypyml9njGqwrY1Ud3EmS\nsmIY\r\n=/OSO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEqIERIOzXVS0osYwrTN9VygPujbGgqTU7PPRki0TVy4AiEAuMp23U7ktZhjh/LRE3njSc0NWX5ZeuyCrOqn0MwUK3g="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.1_1620968755900_0.896520955939071"},"_hasShrinkwrap":false},"1.0.1-beta.2":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.1-beta.2","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\"  />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E10.24.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/arithmetic4)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n---\n\n## Table of Contents\n\n- [Features](#sparkles-features)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land]())\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"./img/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"./img/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"./img/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"1fcf3d19ecd53f3b98c416f4eb9770d670a153e1","_id":"lauqe@1.0.1-beta.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-+GTpeptasDO7zBw90gXQQ4GceGunTkUEB153AqU84vQ4m6rinqCMXf0b+Bn7benFR0USyo3av+ZJ/8e9fDKuoA==","shasum":"9f3bcf1a50de4d8b8a870ed8690799ff2f96c8d0","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.1-beta.2.tgz","fileCount":9,"unpackedSize":42756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnmjFCRA9TVsSAnZWagAAvucP/3SOqQLHtDs70x4CbCBJ\n+uh+lSLDlZmMWESmGbim/PmWD+IiBWvU85MRiaUxsHZpd+Z7gMoUk4RmGpqX\nXd5AedPQbaJ+xR3NEAel7ju1aXCGkAZxIwl6MuX12mBMYYbfeblb2tOi5hT4\nsikPao4BwdM67XNuAYXn/BYUNqp2rq0i/HJdReAFMHDVgE+SeKfIh9aQEfE4\nfZIX3AHvDOm4w+t+B8qerrfg9rEbc9Z1ZcB0nCHQunM1pa7O2tjEpm1eq9Vi\nBe3nmA26JJ3KcYKKIxmljpWIZYFhNhihR5GIuRO3ZsdatXwog3EFI6PVdk58\n0CbPCquTqZ1krlf/2d10GLESxuycYdYUgidbIhwEoPyiyqwjz08RzX02GLMV\nWQyhicLqLZ5uMaE0vsmsSWIqToIKPlv+mbxsdWgIzzgWtonIekwB3/jGKpde\nR8EF8RA9mnFYhaX5nkbjQCS+NfesbjRDgcGLYjyYLWXMeT1L5RnjuhafUZpu\nab5499YIuZeB72dsQOfftwHVUZVwmOYXPniwzodiinDWCrwpo50eWtMGjYdf\nIJagOXs31Opq0DeGe08NKW5VC11aN+Bl3I9Ylu8Xj2zG0scfuPUcQSITFEr6\nLXq3xqAsGoJu4zQuDk/lwwUmjhkmMndQxqFNHysoGrhq3Pu+rEgsrGbapq96\nWW2j\r\n=AsFK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFD8vGALeNEGfTsSqxnINrNjwnEjKCnvrtUPbZV1jfadAiAgxV/gAJU8yO8HVWyRwyGPHroiuP0HGpIenSXWCpFI/w=="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.1-beta.2_1620994244754_0.22896412731675686"},"_hasShrinkwrap":false},"1.0.2-beta.1":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.2-beta.1","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\"  />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E10.24.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/arithmetic4)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n---\n\n## Table of Contents\n\n- [Features](#sparkles-features)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land]())\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"./img/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"./img/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"./img/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"0e6b6f8b49fc6c66362ff0e36e8b5984edcd2078","_id":"lauqe@1.0.2-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-G8VyGAMUJNn3YG30ZU5U6LjEHZ7MdFxokJq4zzATe6NXhJUQZ7F/5JF7uRJkMxLi1byviugtVLpbPYsKoVsm4g==","shasum":"7f07a5222b7ae95033feb081c4d8acd9954867ac","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.2-beta.1.tgz","fileCount":9,"unpackedSize":42756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnmvGCRA9TVsSAnZWagAAiHcP/RTou4CgTgPCqLMlX8B4\nIfqKuNIzJVaC9R14GU9ePx4K6TDSNavUsNknOrcDJXTIRI++h0RM9yu5tygm\nAvCLq7X1GAM+p4fXvlZxy1F5z6K6t5/DEPg6iwAo3Z84x/eWRQ0N8jweWLLJ\niv0qyBNzAY1nD1VlAqGGEfmlEc8+Er9KHHMOzbbhf9Vy2wnaQgPNWOWwX3Of\nS+/qz0xAlRMTkHQkhLUZII3rtib73onF6Blznanlj/91yN+TwCqAdkAiTDmZ\nmzlrXCnXUqMVRS+fgQBarvgq15xHNRQpPv3elANO9UGe/mvZ50rOx53IIDcJ\nJuq7MFBMNgsOGfbkFQJb1kfTr3CdHZ+zB6NOAVBdotFskh1BOd2KVfWT9mh+\nh41AS9fbui1006gxrDbVgXlHgdxhjqQWeWXWMpLreyBAQyqsTpvDWIGgDCON\naYEDHxYs0I3Dfq4aQRsCmJsgaiSJ2MS5/m0DJ1+whchksx8t/aA7iC3rF7wg\nPMMqi3l6bCyMAaU6Z2155n3a4dJpYJHZcW0ZUHErYqivXZBX6XuWD2wNrqVN\nD6s6eUrmfxDssShR+cIk1O18G8PGbhgIxL7auBqjVAvpqHWYith8NXxUj34S\nuIE6L0XSdyzDXa6U/+8u4zoTWrgcNfdC6R+iVfC6uf+Sn3IMaFvgpA8roMmB\nJU2v\r\n=3FnF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpfrE3KjZV1Yhf8A/FLR6GTrj6O9XNuhmHkLigbuEVLQIhAOuDOEdnm8scSdqZ+Cj6XnbOT0c0JhdfH9ZUchEw64vL"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.2-beta.1_1620995013840_0.614956177181522"},"_hasShrinkwrap":false},"1.0.2":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.0.2","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"gitHead":"1b8228c132c12a54840e4282bdbac75f9a60a37c","_id":"lauqe@1.0.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-c9Yw9Vi+pxF62Olw7B4OpwxkzyNMR/yMlUwaQKQWk+zeCIW6ZVeDfa2TUarFJzNgCCUJYwXto6Q3JNYV2XwmNw==","shasum":"436a41d536258993d396910cce5701115dab063c","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.0.2.tgz","fileCount":9,"unpackedSize":42749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnmyZCRA9TVsSAnZWagAAX3IP/0iHuv6YqkPaVf6DFAg8\n+diQKmQLEeyjNCriRxJYljU4Ajct4AMm7bw8UhEeMeu2IehxucDbGxZ9Gr9J\n69Xqq/S8Nf77B0L/OKdkySs8idgbwrocfdsDmcmartYwh/WhcZlytqc0mvr+\nE9R8FhQ9ATtBihs8WMM2N4B8qkD8RG8QaWBgC1nEGm86C6ILNfw3vQPwv9y9\nmAF3RW3Ew3aAA/Z9sAE5YjTL0ZJDS0ul4+g51Dt6zwvIcl+cvaxdGW5uxhQg\n74sRLqQXQWvIt2SdjwaGmC1fUnd9i0BJTwEKafclKWtkP1nKJ+lU2f1o6uWG\nSUxG8IO4K8GzokJ3vJNPehyea2A2lORgB37UT7TFKaPK3jv4iv/oNWX8FOWe\nyHU20s5RQmWGxiaaymbBncdtgvikAcC5CNsGfYvB1o1DzsnjNAw+frVn13Jt\ngRlaAE4VmBQ8Cpjmv09zs4P9yrcoLu+bZaeooPM0yOPuTzeaY7FD1yQ31saZ\npeudgcTVZJGSb8GuBlzcyCJtf51WSBxBLmVjrdiDNmrtwfRqZ0qzhL/Z3mut\nmfIL4Bofv3Vxxpr3/I/0+jegZq8zBIQZAs4VHWjzdf1ZMrkUqSxBenUYKeiU\nhtbyoFzoNU/rQe1sAiKnXmhO+Smw2OblTKvBQOFuJNVRdVqRZnSTIxwYdhpl\n/kUp\r\n=Xnu7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDP7YDcahzVyGsAvKBeLmh9+O7GOlE2beHmSd9lramHQAIhALxyPcSY9Cv9eAHu2sQjRrg2TxW3K1GiJlC7sbNTDeCb"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.0.2_1620995225480_0.6428769723168537"},"_hasShrinkwrap":false},"1.1.0-beta.1":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.1.0-beta.1","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.6.2","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/arithmetic4)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\n## Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in object\n\nThe following objects work correctly.\n\n- `Array`\n- `Object` (JSONObject, `{}`)\n- `Date`\n- `Error`\n- `TypeError`\n- `RegExp`\n- `String`\n- `Number`\n- `Boolean`\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"73a942917b1c7a6f465ab323694df60c38478625","_id":"lauqe@1.1.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-e2FRIGULj79Ecw2OL9ffXvl1oLdJSAQ/4wYs/8etkB8574l+IB/Ef+OFzwRcR7/lk1qsYVRAf8xwIynHvAnljQ==","shasum":"9d47f9f5afdf5f3a95eca0f5ed4bbffbf6bd3908","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.1.0-beta.1.tgz","fileCount":9,"unpackedSize":47916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqweeCRA9TVsSAnZWagAAW4EQAI8gH4t85arZT2UJd9ZH\ng5fB/3jgXBhukdS2wTek8USkx3Qhwx9BGxNhc941Op/9LJvvgAKvQOC/iHyh\nUyXfRtckBRRp6HCRLhmFa1n2DibNBqkrwnBF8K5hdhDNZqmFiXEGLniebJyS\nyDepk+8/9OAFfRQfI5+Y5PJkkPqXBy5m9QFO+hwfc5UmrXhKouFTkYD3fz5h\nnPkmvAlstgFZwpUnA6BTq644TXESZuRR8vuxOzNmJz143Rwt/A4w8Ruqg/t4\ngSYUgVNNLxlBjle9QnUhwWE48b15M18nAZPXCbOzIVrRrinre26PzZcmXe3K\n7p4eGYsqZOxt5EWoD4tXlYj1G2pI/YfklQDP9K92eZJtOVGhro8pntkojm+F\nnEEotUwY0VehqLIJNC70B4n63x5zS+AgnKHkngLIFfO3T3oln2RAyLl82S3Q\nyKAVtZ++NsHRd/LPHQugMbXdsNfw7dc9s8hs75uuWWiDWXR0Hlzig62Ezryq\nFyn4KbfoCxqY5Iaf2hhBlL7V4o7RLdeZ815GuoKpGdElB/UIZmzCUQa7eaRv\nOKf41tZ4OTiL5bCpn+f1dufUsZpUegAaWhMrHI8wOL4JhMp5bCRgk/QUFqDQ\nmqheslPB6LXurd6ev2OLr9j8u6kVK5ftSwFatEZ78Tepke0YnMKuQA1iTkg1\nSDz2\r\n=2C4b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/9IHwBtyqZXTdMssfDcBkYoEqH9K6oh5tEHU2SacAEwIgHSWn9gQ0K15bg/wX/oHU2c8/KibHy+BiOeHk4R3b8QE="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.1.0-beta.1_1621821341396_0.5048782635021263"},"_hasShrinkwrap":false},"1.1.0-beta.2":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.1.0-beta.2","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.8.0-beta.6","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/arithmetic4)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\n## Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in object\n\nThe following objects work correctly.\n\n- `Array`\n- `Object` (JSONObject, `{}`)\n- `Date`\n- `Error`\n- `TypeError`\n- `RegExp`\n- `Map`\n- `String`\n- `Number`\n- `Boolean`\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"3b4ed746906a6fbcdfb64265c0db9f95ec64cf49","_id":"lauqe@1.1.0-beta.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-wNCzlANNdpAoQERYhpWnPyq/TsGToJz1pig88Uk5rKh1KXQBIvwPBM9sWpPAAypm7r4UChNl9vtHE81B9dM/8g==","shasum":"abe0448043b0813391dcf70deeba5c2b5c60515c","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.1.0-beta.2.tgz","fileCount":9,"unpackedSize":46891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq6pQCRA9TVsSAnZWagAAjFUQAIu3DZXW1BdaZEFPFTMt\nXniMWO7kKqRX6nbw8dseCX00T8nH9o4abgFs/LTBmO8ldHC7NiS1Ywu5a6HL\nHYNKfWdePzWd4mE6Na2teH7pmtOvLoSS7Kd2nmE+R/W95Sjwuk0to/yOjN+/\nF+1e5KR3SNJ1wV0wfbpf2Eonxpfx/1E1LvK320I9skQ6bfTCkcEJ0egKGwr4\n+jofqiQDM8KykZFwiYK+uRT7KYmsy8JtdA4zKi40D0gL1OQbrvFZKsrzn6J4\nQxiQDZ/rLuZSy4rU0DEoKBJTngOxX8l9aBMx2cIweCXRT5J7LhUm6tBTHheu\nY9q+OV8QfA16IaVLs8SE8PuQ44g9277Ky5sobS9oiGAeMNmfzyKIHJQ4jBQk\ncAQl/AqcU0OGxFmdCZO7NPyNWfD2z9JKjMiA3UaoncfTQqLD7dhIv7FuO7m9\nPnwDKMzDR1ZNSt0UbG09mf0LPW/MpAqNVXb6qmy6TGCCB1HC8KbEMRcw6WmX\nJA/QjbAe+BPx8Rpfhv1x50bUMNhNiEUSloNYLJer7Htyt9l1uIZQk3ihVQzR\nUvcSTKY8mzj2pH2xa5WcV4R3qgJLW/5heuG/DlZi4UafIb5H1ZTQtLI4B2+T\nmQmNsVMccqlIe29Dm4gMjkT7kLaUB1Dxh0QnoGwzJIHYx2yFnCk3qVQrTC8f\nLrdC\r\n=ZxUP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbecoWGHhkMvr9cClKHz5tddU+FHPyUfdR6Fpryq7WhwIgLvIiFrkxaAzXZjH9jfKd5oA0acQl99lnktfT1qkAlHQ="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.1.0-beta.2_1621862991949_0.9837681455117442"},"_hasShrinkwrap":false},"1.1.0":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.1.0","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.8.0-beta.6","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"gitHead":"9e11afc22ee2c5a6b28b3ead8e95debab6cb13ba","_id":"lauqe@1.1.0","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-5+5Q8McSdQBL1KvkKVet/51/rf07msnDk8G3aIo1oEOKubvc7jy9KAuPu85Hy3+5Gb9ZdyvyC2tJBUxXEe/MFA==","shasum":"4a206f1d129a311234d4d4c1a403c46c4706ac73","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.1.0.tgz","fileCount":9,"unpackedSize":46878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq8c5CRA9TVsSAnZWagAANKsP/juXwubOKyPsj5++j6So\n1iVArKcB2NrxUFpxSBUUtoa591q+mn9kDIDiylt/kPZuDBCkzzZavxCyyoS5\nVbOTslA5jJWG+CI6GtgyiAJmGoc1ExU9sATU4bvX3YAh+f0/domjS8ece28O\nAohaH9CGOyF3VYEv2lRVGMy1Jh37fxSYSsZpkRnTxU/yevz8JBvN8qbJBTFk\nnmkJeRGuhfe+qagaj+uYyIV0opvfS9p8aQ4RWR+U0Y4EVtpN8xkq65DYpY7s\n+21Jvm9G6B/YWTL9TZb1EolYUHrhwvre0pMRF/0ZbHtduV4R5DvclnxoQE37\nT8pmH8Nd2gpE5MtSnUvCSPV9DTVzF48gYe6Y43yO66f+/RT9gmHTAHamIJ1R\nXtdXePPNQXj6Uj3JLKBDBEe1Uz1pRKhCsRSAytd+/HOrJVjFhlh2zp3WgrWk\n2loh9FvsYLdapZisdhJS0jqQuvZvy8t+PF3H8cKiG/RYNv2U/CIAYxHjE++r\n17tLdrOv84tpq0e/fyFeJ+2KAgwZHxMLrynKZ21euCEYFN3M86JO04tZ30Wh\nXu1sDD/eDP80Wgwf4E9KcsGARM9qaDf3rEcgcw9PkohiElK9+L8EdVpH6qIb\nfx81p5iEQO3PIuQ7qBA42Z6balZzGQno7dpC/0V66xsQ4kUIoHweSnioNBkb\nEXnM\r\n=ZBzb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa6dtCtnN4vGdViDyWYCYMZYhtlwkhNrfmkHgqLsswyAIhAOfQkqKQnkS8nS4QxNi3FH2TB2mTSuQKuegzu9G9CojS"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.1.0_1621870392901_0.23114266893878122"},"_hasShrinkwrap":false},"1.2.0-beta.1":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.2.0-beta.1","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.8.0-beta.6","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\n## Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)\n- [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError)\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"cf5ddb09e17535c0ecd9615b71fa398355d3a319","_id":"lauqe@1.2.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-5UITG3T6J/dfOKD43+ahJvtbJTzl/xlCliLbf00mZBqTBY+rUIjXPjmwkfPqUk+zgbSo/2pTuS3mGsaByYML4w==","shasum":"4823e3a69c884cd68a654a9aded79f92faaabd1d","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.2.0-beta.1.tgz","fileCount":9,"unpackedSize":48815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrJRKCRA9TVsSAnZWagAA68sP/iJE0hCIAxKmClasTQw9\nScrjosw6+9ozFlgclVJtCHJER7V0mm7DsojPWxZyKUmIS4roP9366DEeGke5\nXuNOg5fe0uPfYrz28seEzTK8yg2+6/ekEV8suzlpeXYjuveJJF+9S13bsg1E\nZdXc/IeqL3UqSy8kzIfUkrCcNw7bUfe9ja7FlwidOTnmU4JG2LVc1f3r5ou1\n8QhxpCwWM4Q4k1l1fDcQHqcLXbyuqCl5JHIOiNtytrDfyG18MjN7AaG+yQrm\nfnhe7ale1gRyFn8o8WsWC6EIspIpJ0/oz70HZbLtTMOeZX0legGgCb9EC05Q\n6GvB0vlWMTu3OpsSVE6zZKohQ0JylCzJRxnQC9lFA7oXIBWLIPN17kX1Vqbd\nbhdlloSwK/wXjdsV6k3Ey7XTV1m+HE77owAXp4wlQt5RcYEDOuBGOgSfH4e7\ndv49EpYe9ceKUTrMXY5i1EmDcUmWJsNZs225nWymYorh89ZLelhx2862ZdrS\nTbmS6aSk5/RAWqJoFCNAytTG76xRAy6JP4UXuWkpBszOlMk5GVYQ2wQE4+dF\nv5BXWZnKvsmhpjzGng/uE7xwJ5nEmvSVlD45ZXGFLqELHgv0NhX+OP2q8oQt\nYgU9emlgXJsk2mjMZdkxPMQdm0SuyTXy2EDPw+SUOjfThBzQHoZEQOPv9tL2\n6Au8\r\n=jaf2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAOzeqAY5EgzJuSYY5JfI3IQu4DaxH0ZVXgLU/0pYcpVAiEAyrKzJSRFQ5KmQpo9c3rX9Ze7emcWjGv/+BylxdYQvh8="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.2.0-beta.1_1621922890316_0.8744511986311787"},"_hasShrinkwrap":false},"1.2.0-beta.2":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.2.0-beta.2","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.8.0-beta.6","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [URIError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"7c029b9686bcc7900ec48a5ec42c3c0320df0455","_id":"lauqe@1.2.0-beta.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-87/dMAG0YC8O4OfUyGns2ELMmxfC635/BPUrpE5Rd3Rq8CkJKoCJsCTGUMZ8bhwunvNrG9NvBlILphVnS8Kbsw==","shasum":"429096edc4bd460165c2a0d95598f05be9ed25d6","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.2.0-beta.2.tgz","fileCount":9,"unpackedSize":51139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrKb6CRA9TVsSAnZWagAAbZcP/j0gFu1cHwWxOGliYJHC\nmEurdB5HVRFEUbLVTdjxdZrnOL/WPNFSYtPJq5mHoOiIwONO+w7IL6TkpxVq\nuSbFAAatBbHOl+UsLTx7adimkPfz7D+l3L93KtR7yZ5fmF7hoSoGmT+TrCqx\nwdwM37lqNgaQQDT/RpdT0oHgw+aqD6r4b91HMkEzGJcW1QrvFq1qQoWc0q05\n0FSssjpFJoYGxxjI1oXgpAJdwIZet1xXEq14jX6iySYSWiVf2jzx/lWUITj0\nnSFhcWGVUKqg516Gu20u+D7fkY/NEd3CrdRZCKmwlECAwCuw7CIL3Ted6zjl\nY7B3oJYI8VY49Q2MSfv2pkAe4Uy1twxY8XrHum7utBenm5/gXOSAXXCOkaJo\nmgERdohfaslJKrJ+ADm1kXDICReRdTeQ1wrUg7AFzuziH1AaQl6RSwviw306\nmYA03I4Tux5/ylsi7V9Zanil6Ui+KndafccLGPqNzBJy/DX+zvhZs/Nb/mko\nhJbzwyq/RnFlx+YUnSm8SHWmpna2Z7IiRte/Eh9eGX8qUoAKG0eZ8avyC5PW\nc/XlVaJ1zUkBovy1V7jQXXUxJD7PgBI8+opemiMV2P7/EVZF3oK2d2asqMJM\njPClkaCGk9DPUhAn3vSFSXdxSQELupJGG9IQxBIg4kBQFhcye47a1Ym/0YvL\npovd\r\n=JKD0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8clV5dmxFViGkAY822lftzcwr6Q8/MJuW1/79b65oAgIgK/Ps3npjcGZHdF2Q0Z8VgOtgrNYutzIMitvmFbRYuYA="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.2.0-beta.2_1621927673775_0.5214244633186993"},"_hasShrinkwrap":false},"1.2.0-beta.3":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.2.0-beta.3","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.8.0-beta.6","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nDeep comparison between two values to determine if they are equivalent\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provide `ES modules` and `UMD`. The range supported by both is different.\n\n### ES modules\n\nLimit support to the latest environment to reduce the bundle size.\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| ^1.6.0 | ^14.16.0 | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |\n\n### UMD\n\nBrowser is supporting since IE11.\n\n| <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>IE / Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | - | - | - | - | - | - | - |\n| ^6.17.0 | IE11 / ^16 | ^60 | ^61 | ^10.1 | ^10.3 | ^8.2 | ^48 |\n\nCompared to `ES modules`, `UMD` has a bundle size increase of about 2.5x. Recommend using `ES modules` as much as possible.\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### deno.land\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### nest.land\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is `lauqe` .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### UMD\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\n#### ES modules\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n#### UMD\n\n> The global object is `E`.\n\n```html\n<script src=\"https://unpkg.com/lauqe\"></script>\n\n<script>\n  console.log(E.equal(NaN, NaN)); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"89f7bfacbd9fd345e79e5e995548e666f7343c28","_id":"lauqe@1.2.0-beta.3","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-m0U99dF+ZD3YmSQYBJg5So8A5DhFUKENUdg0hhkVmX0kC9I0/GRC+JhqU4m3WIsepmJX/LqWa03BGLHm8X4+KA==","shasum":"dd4c022952d442d4d5c0ad3ed968c488b5203b47","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.2.0-beta.3.tgz","fileCount":9,"unpackedSize":52154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrK7rCRA9TVsSAnZWagAA2bIP/06PbY5wF9HSXA2X1ppI\ntMz/4Ty9PaFqRNswO7m9F/C40lhB+uLSd9CYInJkS03gvN5fb2AbksJEM3Hn\n8mdbHuijj09UCNdQTKx/FD068F9SaagwQLa9MMjkfEwLj3TJKxKtkDEeRPjK\n609mMRPCLj2525XGnpgFyst9aDZKbCAt75yTdDRcM0sNrpIFw6E3iUxiL2oT\nAC15z4eHsDxfp8kq+LIRBdwvn3XjMUNkUSYSStwB39/XbPP0V3r5aDw01KfX\neq2OsMEczlY49wtHLVj8RPkMm+O002C07m2m0pPuTulS7rIQlx5JdmJHQ8wX\nM0X1dLJsSEMKFr7wHNXiRM4SV1gfZpQrdJ0sNZ9u6gLokGQvNJdv/8TzNIMV\nK0525nsyoKB6ROcTi3MH2vrB+mM/3stYO8Ez87H5EtjD/avXFkRT04LUUBrs\niwSmwcvaF2mWPJqYC/VZFy9x+e9fUKBEkGN6AU/k/6LC24e5jBGWMca97NdS\n84M2KL3tm7JWu1eQABU8FGGch+PB8alMzjNtpZCdCIZ96lmvLyJg5y6Ut2zq\nmk56F+OPpyephwo4b8dwzkj7/525+90DiFLq1TrX3wNd3jzyL9CBHw3BVAii\nMAe0+OFE/rjwA/oWNLSYr1m9ipmngFMeP7FlCkm+2uWiNX+/+m0FYu8LmHIC\n/Dqn\r\n=QPzm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPa5McAGxcrYd6DjNRK8+eDJGg5B8mgd+uy63nUEOkpwIhAKJSWx+ZmvQxW1+e8jJv93pMvafcuhuOs0sOKQ904pQv"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.2.0-beta.3_1621929707192_0.4868512448882545"},"_hasShrinkwrap":false},"1.2.0":{"name":"lauqe","description":"(=equal) Deep comparison between two values to determine if they are equivalent","version":"1.2.0","main":"dist/index.umd.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","fonction":"^1.8.0-beta.6","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","not IE 11","node 14"],"gitHead":"99b6a02f41fc293fdf15c284725ca0c858ab6442","_id":"lauqe@1.2.0","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-0l+A2K2uBJ4zRx2iFTRWIDhbFatb2fy40aM5/C2Q5zwsmycUirBl1OwVXTcQNKEa40Faj3+eQ0MTt4Itw57Ffw==","shasum":"ea48c15629e594388b7d213379daca0ff86aca69","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.2.0.tgz","fileCount":9,"unpackedSize":52147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrLCLCRA9TVsSAnZWagAA/o4P/2XQXBbIkbzL6AmHQjpR\n+ab63P8TEbEfYIIA8MSiRw5ShbJwVkl4Rw2XiZRBdeFaL0fXtBV6s8lvlA23\ny55V0Ww9E5ahjZz02UQ/BoeTAvkZqM4vPXSemYfZ5Bbxj23dqjwNm8kk5IEh\n8AD8oYLy8qcSOZm5Cie9fcUE1GJoguaBxm557Ubaibl43KM9EZhrAZV3ApVF\nHO2yRsaCb4Ycw1lNAPwx9BnGyORS9kSM9E2UKWBP56vfD8enckllIXdvwW7l\neJzRXRL0c2oDKfzBoQ28hA9qOZvzwHi65gs0/MgidSj0//U4bH40Rb7xplPX\nwS07EXRCMc5UMwyixJdeX8jlfExOqaaDhhPd5SU+pXnrftNHdF0MsHTvO/eX\ndfPZt2rRsifkFy6Ggw1pN6t2c4ySsfOudwCZRhbGGryApaBOj8d2/P0tYRin\nNXL2JK0lzqEKnr6k3mc+zz1aXc2Dt+dVYgdatNMvACAzZwgxUkH6aGyHTsV4\nbEKgvNTHxsNQkQSDIM/r374DOfnroQ+UCF75ajbASEfdTxNsdWy4jplAegwe\n1Y/GmmZIPFFhFo2XO/Jns9b0G7maxwx3zZN3MrCZnEHhs/IB2NjM7uAsSEtm\nX2n9lvUwJhaKSeXm8YihWou/NgkfRQEOXR7ak8WfffA1p6myw2nxPzCsrCtr\nr/Om\r\n=LnoR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFX7zZggoGRhi64y7YTjaX8f610Yu2ZFnpsBi2VIED0eAiBb/e0pcmcUPa7i9EbgJsFFRbnQhuRyhiU4C6SkvgGucw=="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.2.0_1621930122496_0.9398452284666916"},"_hasShrinkwrap":false},"1.3.0-beta.1":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.3.0-beta.1","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-node-resolve":"^13.0.0","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"img/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in objects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects)\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `UMD`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an [issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"b7825f68fec1a8187e06d1cdcad45ae7dc291cce","_id":"lauqe@1.3.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-r+jbswShYH4nNX2cYT8E8Hz8zuD5VZPDfcv1Oa5Gn56ZHe4oCv9ThQ8EM4TLyGu4DjVRk074u2KcDS+0QdwJFw==","shasum":"17d47040a974f356ed99d58138fbba0cf9db346e","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.3.0-beta.1.tgz","fileCount":9,"unpackedSize":59852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgs5+hCRA9TVsSAnZWagAAZVIP+wRRWQb2zlw/BbGRFSJl\ntUS7eBoHW+ap0LZheDi4UHWt0Tg7qmZxb1CvckCKRtDcH+5Uc+rMlm+VKQ4p\n4mS0W7UGY6xx2QsxusP64UCHNhfWo+B5GX7nnIdoqruC++zEdFS6MpyPAYQL\ni4eNyDnGBuXeICrq5F68OLC7Nj+eXABxKtNllo50FPOtzR0Usgh16wEQjyz0\nQbtZsz63wvHeQkNTpP0DOn1wQNCxAgWPPkzfWvvQnko97nwPIvjzDRY+bxFv\nQ84feYyQRihahX43YBVGOt6I/nrqpudgF+TYulAFDL1FAn+ox6DR7NZrE+Tc\nKBBDSTGXM+4h7oUoJ3Hp9LEBZ0Cb6Om3BtU+uTH7t+/gILRqa2KC3QpXBkRF\nK9rNjB9ffs72jR8xAj3XuW9xR40/4MBhp7Inov3rvRbCEDqtzYphuMT8+w9N\nN1UsNDeNVxcZrhTz1YRy8Uhdtl/KTDnuv+yK1ChoKPdueJ+UZKDgnItHLPub\nnW+29O+Wf/YO3M/mm2qAVXUpX8HfJ68jSuqPLfA8NBe+NYfkfrxjKWFgsjPA\n3orGOIhNu9q0tYkiL7Kivx2FYSWvEyn/MSlF7HiUWZ0TpcTk2MruKNiXuSRf\nOF7ryVjjXGoWftJTObLOr7Vwchzt5Mfq4ME9AGg9wvOQf97VhpHCpuUinNWs\ncDpU\r\n=zeCo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWOWjX4o7x3k/MbTk2YWvbo+Dy8AlICFp7S0FL9/rGVwIhAIYoy/YTlN1x6daqkeGMB9oGr62oNN1XGFfcQZswdPyb"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.3.0-beta.1_1622384544326_0.6077390253416477"},"_hasShrinkwrap":false},"1.3.0-beta.2":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.3.0-beta.2","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E14.16.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in objects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects)\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an [issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://unpkg.com/lauqe?module\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"36be5e4cbe52b3b0fed88d9d67aac19b22e46bcd","_id":"lauqe@1.3.0-beta.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-JF5a9Kqz6g6zoWZbEo6gBqDG8i2FeJVjQUbWRv94HGqleOxsh5TORkCkM4vD4PHcE3EFfETK2QPJPjkufxdnyQ==","shasum":"f775c8a0c1019dcd372d675df925dfc3bde3c4fc","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.3.0-beta.2.tgz","fileCount":9,"unpackedSize":43063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtEeHCRA9TVsSAnZWagAApQgQAJgF3cKGUhARmp6rsvsA\nGC5+H+z21FRsRNsWmac9Ctv4JqxP0BzeX+Ofol5Ftsq956SE+XLnoVPgOC0I\nO8WhFzxKyWOwcahKzyrusJ7R7ybWp3chs12N7wY5NZUxApVNui37sDWK9Z8a\n14eZjhgEJVPh635Fi2oCH+RMoy50tTSrGL3AW/2Dp1IGwTGSA4zxsOB00Bku\niGFT7uDB+wKrd/qk+T5dUnU15pbmr30axlKtdHWeFndGCKJMYkMYE7DJoFcx\nS7wZvF091KH2Y6i4KnHWyub5mvXhvU6a7NDpknlemrr5+FemIRYakeUCWTx5\nHc3SRNDCVSxYOFz2G/6QVKsMmDoiCWMz/VR7ehXznNepEng+5Ikp0VuK12as\ndrFToPtIkElx1zKdabvtksCTD/xcYrUsbJyMdmLGdIc9RaHMjcO0mpy9VL26\nS+ecTgTWtnmUOSsKzDS5lLZrLWJH84oIi16KSLcQ3/MLe7yMbBaMOd1AYqQL\nNKzDDBrlPymeArq0p1BlYplUDpdpno45GzecoNabdpzmupmckuAbWnXMKtOS\nVJJpQxpzRCjcCScj7vJ26G1HhNUrn+6nleVhpgQ6MlVq3bSFGb1xpNosTeE0\np1XUm4p5Wnj/zfTJMhOLPD6pfo88J3G3aVpY+awFBBhpDmsjrGz0FTtaB5Zg\nxxiI\r\n=Wt2S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVeQACZh/2mr+nUsa6i4HnEyg2rFwgzTmZaYIc8rGw2AiEAkNr5HqqM59zVFVObYk9Kcf1ovLEuFoNMSj1fcYnwPTQ="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.3.0-beta.2_1622427526576_0.3711057026541038"},"_hasShrinkwrap":false},"1.3.0":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.3.0","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"gitHead":"7df0d53e1420a9430888c76c8e029e2ab31f943c","_id":"lauqe@1.3.0","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-h2BqGyuGYXvv2Gpw8mPEDCU4zOEeEcjekEYGyQGinqRK1oVflnKJAT3K7aTPPYSN3MgEeVXvlK9G8Nx28CjNeA==","shasum":"bb1bb6bc33460b85e0bbdec88a6e2feb25fb991c","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.3.0.tgz","fileCount":9,"unpackedSize":42811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtFHgCRA9TVsSAnZWagAADRAP/RJ8SVirfj66TUwR4KZ1\n3WCPrlzjQTQ8GdWbLhrZl3bXcOI99nKDYBIWbYwoZXXBXR6yUJm7L6IEG5QG\nTZXld+UyhQtT93RVOqBgIxmCKe+iGPCbQKsCMWPB+7kUu5yWS2EyVyk/CWrL\nQUgy63JY5WshXY5R0DGCFJ+2iycYXwX6ztfQ6LOsh1WUqfMAuhYLfKCm54Vg\nGDFMb6dMzWSNdIcAPJ6tR8FwQwg+ddJJMO+Yymk4/iR+1BFN6fOumQ5Nldb+\nGbjT4sCWAwH8zw2kb9VRxu5TXZXU1K3GmajKW69BwSgij0G4gDZiMlBfn6NB\nmqUsVpupD+yNQDSsgVoIX31iepDkR+Qo8gUmbXLFEAQcsidCc2Fea1bJz8KI\naEAL/eSlpIrFDpb1wjilpa9tPMC32weJO8c5FiZnMMr1SQPYDDg7B4ILZz90\nt0vVi58rA7v4AjuSsyMmv0Szcu9Ju4644jJzgtn0HH7Fz0Q1VCw2NgaTvjTD\nbtomRtd5wFTcnFIjatyT4i6fi+YDPEDOnX1NYdf+pKpPO8Untq/CpELnq9J9\n7fqXuMqhryES51u1LyZNal33HI4tO5BWYpWriNPHsVvSRjfda7/mrBsKNomS\ndTsEKH4yKiiggKoqKWGUVJInP/F/Iph3UmeDvlIMqOToQVruAKrwqfFpwf47\nRxYR\r\n=Cz0B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6gJFmQ9LVwNk9/EFSo6c7zv+FOZZcWo3qZi9nngkSpAiEA3OypCmaey8dJYy5lYHiULP5Vq8ZdQrypLP0ouhUYCO8="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.3.0_1622430176271_0.12518920869672767"},"_hasShrinkwrap":false},"1.4.0-beta.1":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.4.0-beta.1","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E6.17.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in objects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects)\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Typed Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays) ( [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array), [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray), [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array), [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array), [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array), [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array), [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array), [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array), [`BigInt64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array), [`BigUint64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array) )\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an [issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/view/lauqe).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://cdn.skypack.dev/lauqe\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"5c16bb75b973bebdd395adca0dfbf6d3e19fb8eb","_id":"lauqe@1.4.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-KlrEe9C2V/3rGCxDe9D1yedZ+pEiechXxIUBweUb0tfvEwb+wUU+fC2bn7ZIezt6XRV3rIwwTNKTZoMqJ1UW3w==","shasum":"9a69588096361d3988ca2f787a75b66e5fb57566","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.4.0-beta.1.tgz","fileCount":9,"unpackedSize":47876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtKe5CRA9TVsSAnZWagAAdf4P/3AEZoLJdz+jS6pgLISw\nnYrVLNEsTNXWOA76E56i1eYpim3IZ/Vy9VB2liq4s6AyY6a6aBdgDWL2Sd7j\nr4JECteuRNU76MP4tqff+EeDI4Zd8jS3C7GICv8iJxWkZEIpARxAsG3jMiOA\neL+sl25/iFwtBR7GdMPnFpBvqkDdfHv7HWguBlm1a32KQ9ujrAsAOF3DEPpX\nJVzkdkRrHvO60yjvl9dcv9SkjyQqHrs1i9xyphsXNVP9fsAUj9wyBastaQAB\nKd9G+CHn+HeBh3mt6275m3Bm/fTIr7izDiI8ClFlp/J14hjKgBVdglkUz/bE\nS8tI35+J/VHvg+zMb6vqr4WxdSc2hLvYiyLPGLzQ8wD3kU4r7yTjUI+N3hE1\nbWafH5pvcJBCmKt8/45AH4sP3br+KIr1K1wuE0owbr9eiSkKZzX5qclFan0r\n+R/4dHz971WTTVO59jQWBI+Ame5f+/39eSyas3PPBeENx8Mv0/U3ofOA4rGi\nu5fpIesEgzliOvl4KAqLFE9bDdqMW98TzjUImg+saXI4jHF2axF71ynSjK1y\nEuRcAkim5iTGqRx25UByoxOam+DBP1q7VgB9KMlQQwRioPqeggvO7D2+a5cf\nD9h1KpxoxCHNMS3HHbjN9rtKE2WO5G7NfivXa1eorOjMcrsdwY7OxlJbPN2X\nKZOu\r\n=36Ap\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPOvEOQRW/AUGw+gWIAbPafUA4eQy51M+DZNIpUrHBjAiEAgncJLI9eGFmk5AVB4Wzmgi+UfjxYyaDQGgfu598PKzs="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.4.0-beta.1_1622452152956_0.20813759339399418"},"_hasShrinkwrap":false},"1.4.0-beta.2":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.4.0-beta.2","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E6.17.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in objects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects)\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Typed Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays) ( [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array), [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray), [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array), [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array), [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array), [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array), [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array), [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array), [`BigInt64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array), [`BigUint64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array) )\n- [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an [issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/view/lauqe).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://cdn.skypack.dev/lauqe\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"4ecaa272968c2378d2aff6779957d3a946a53c9f","_id":"lauqe@1.4.0-beta.2","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-+/fgV3gFaqGB6l9HRdci1ThwguBhiNcVjrJb7dirjGWD0xi9Mp8iGnDGzKGXM864Li0SjNf5dfqQ+gpRCKSw2g==","shasum":"30d8ad0db0348db2cd55cbd39fbb244134837ad3","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.4.0-beta.2.tgz","fileCount":9,"unpackedSize":48750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtMxbCRA9TVsSAnZWagAA6ugP/RuKuEenxv34WyKZUTCp\n05IO5j3jWiltczT5oMdjn9xiHImObIfqOHcY1jG4v350/L2vMpCRH7w7j0Sw\nDX5tH+GtAApDAg4yvfd4fxhW1+UqkOnfIsYGZOCVO2hMc2thf40H1Iu3ppqt\nuZUB5NjsgQ55AhvMWHDEMpDIDyXx7kKM5I4CxIlqZc/dw74dwSwa+dLfmkqW\nm9asf01XLFs+CJCxhMHey2MMVual9iE6KF+iNfirzvAOPyZowLwaACBN3Fs+\nA/kEvc815dMe8r/GfcGkxP4vfMUhQl/53iPGYnhkQi8kLkp2PcYkU5jDHCQG\nMnn+G4OjG7KMu9DC8zg0RfYiJi6deDI7oOpOb03AsERDYmOnovFozt4AfTYD\n4n59dzh5gMXf1jXarnMFFx5PcCbkzANrYZ6D5TW/WSCecrmjUX66dPd/jpd7\nLb/Dimr5uX49VJ4Rg1Ztk0IE7A4GWQkFByQAkE94S8k8sxcd+zh8waA98gYU\nDavaI72j9UJfrb3+qpLowVRSOZiUrBDdXCqFep0cpS6lVdAufsd86yWxVVlu\nWSbBwTdGiTGWgMoc4zYt6pl/koihzwE454jjGgWCC0w+aKSCjDQTcyFK7xfp\ndU9y/4iRdFamcVv4wYlROlOGFUo4eeE8mfE9GnqlV7HE61W+FlfVwX4ZH/eH\nrdCn\r\n=XiJe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJUQF8QOr6Kt6b5V2Nv0ojiDtlVSYCFRVRAxj6dmTUDgIhANIyK9R0qKs7Nr/rSvmK9s3TaHqrlMfoQJ+vJF808VEy"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.4.0-beta.2_1622461531136_0.08401018836076046"},"_hasShrinkwrap":false},"1.4.0":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.4.0","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"gitHead":"34e67ce76a7599e0aab8d2e6bad73977b8aaf724","_id":"lauqe@1.4.0","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-Q+IMoSz2vtKWe6kxUk7H3ffDnUqMZBUoDwSMY+bGWC3Yjo0Jmsd0vCDlHs6eEw51PPQPiEx3fmo/tiVZFeahMQ==","shasum":"bb9c4998fcd7877e016ad2133fef4511eb069964","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.4.0.tgz","fileCount":9,"unpackedSize":48743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtdHjCRA9TVsSAnZWagAAgmwP/19WqPKpHXMKKL05EUUo\nQCSz6ZMxJFn1AzCAVCCWR2R7IJGz2VsUKCGhyxU3HqpXkPIreWFSVqSWmFFv\nP3HI2FCSireuG8ir0NQU3kXmG9XnEp5wiNRL3/NjR+svg+wtHsg5bb7oSeel\n02vCwHa+YibmoMAnV3OA1pSQvDRPiX52sSX9nTOSK1/TFLs1KFZv47kMiDdZ\nxC2zizGIA0KmyuV2XeF3x1bq8lqKEUVs6TvtyIe1ChgqATgxfP7c7l/SW/fZ\neNxWoLViH6kYvsbe/4XwnN+m/HlplvCNnjdKE3RKsk7rfOy2+3dAfG7qLaf9\nK7o9DSXMeFaL6zv8TDWwLQMkqzzRCmh2tERwhOggu6cH9jVEtTA3In0y3vcT\noSV1rDHuDhSFTsrqcQekzcdXSPKjMQUepZl4OIOtLS6x1rmhQscZ7ck8PWej\nosseepjZrdERLIGjsXBDcvyVdwlP6IC6JOi06iSrCZ2W0tueOFDbJSFY4ykj\nh2ER2n2A5z1c/gFWFLnNINPyPHKqilmY5MHQ5URCpjFRK9IYe5iOX4bxELCR\n7iqEqtpUXYQ1GBc7PR4iiG5HQtFI2EmcIYtjMyn88CnRrUVES0WCzUHTRbo1\ndr97ePTtq/tUGNleyAceHPMXrV2qzuC2ZCXjl1UNVBhYLIVRO476DPWu6dK1\nm5ob\r\n=a06R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWhhs2F49xJM+wRrfgWJ7nUDqXqH2n2KRI8z9m7T1D5AIhAMrM6l1j8kePUbP6OyFcXTQE6qem/c4HWm7vskdSlWfY"}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.4.0_1622528482971_0.7429536625279507"},"_hasShrinkwrap":false},"1.4.0-beta.3":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.4.0-beta.3","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E6.17.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in objects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects)\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Typed Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays) ( [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array), [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray), [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array), [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array), [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array), [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array), [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array), [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array), [`BigInt64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array), [`BigUint64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array) )\n- [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an [issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/view/lauqe).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://cdn.skypack.dev/lauqe\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"9ebaef0378682139ebee686f6798cb166e48c425","_id":"lauqe@1.4.0-beta.3","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-a0Dju0NQmSHC4hEoZCgQ/za+z6MV2zwYEnVT47Xm5TNRy3z1lingnayYo5XWafOhnbM3FwgMy26q8GpLbAhWSg==","shasum":"ec1eb0079ae7e8c9a931ada9203bd517860a25d0","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.4.0-beta.3.tgz","fileCount":9,"unpackedSize":48056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgttrkCRA9TVsSAnZWagAAxuIQAJmZfM/KENLwO0ial+nC\n5t2kx04UwarkW3QIv2dECN7i9xoNt10wr3VTwRqGF1tw5QjRm0FlDnELkmR9\nqI/uO3i0ZSQQvgVACRAHLfJbjSIOX2WH1+T/XlKcOHFykihNiLJPDWFNb+Fe\np03Ye9lWa+nJ6o7DvDI2xshqeItzKx1FkVrwupe6PBg++1u5Mcz9z3SFEYaO\nN315i98klmFNQI/cuDY0zml1VuGYiyt8DGbS01vtM/m7L/HIBQPoNDzzhisc\ng//QmZGTgCI6oIdZJ9qzcTM6ADc3ZaBBHdqsPJH1PPS9bJTkbbAKekEFx8rs\nMTwInaXS4NN4LeL0EBhNLYS0cGhGkFnV3dgHdImh3Wu2eN6yoq2oONpy20U7\nYeBZoNblSaZVf7UO5ELhBZTeaWFfy/MmHIFM2DwVI4lBgLG5LoE5QOissaO3\nWGht3CpFEAGEZ7iujTBy1OPz1ZCypjHVUx6S20ktttwAeKlL+uPKkvERtc3j\nmc83k5i4zLTePk+33oT+NTvFhkBy2aUCWSd22OuGXhZbUbBJjlTO/xYXBeHN\nbS31BtP/rqXdi0TfsO8pL3kFq32PpHBUqzM5ClwIu5o5vbtx6GOIKWuowBb2\n8uP6BtifeeLMdPfrrfK1MlXS7BtI0M3tsHCLgSf98PTKPbTWORhw7/EzN8gB\nSkHW\r\n=bMQM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCM8jIwGgRGOociouQwQpBrlS/u98jSeAy10MpJhuwlAiEAx7pztQNUazBbZgsLe7MLXke4eofRzJWgQonrg5M6nwU="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.4.0-beta.3_1622596323541_0.011724125613799652"},"_hasShrinkwrap":false},"1.4.1-beta.1":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.4.1-beta.1","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E6.17.0-yellow)\n![bundle size](https://img.shields.io/bundlephobia/min/lauqe)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in objects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects)\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Usage](#dizzy-usage)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark: [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal), [nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal('', '') // true\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\nequal(0n, 0n) // true\nequal(undefined, undefined) // true\nequal(null, null) // true\nequal(undefined, null) // false\nequal(true, false) // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol) // true\nequal(Symbol('hello'), Symbol('hello')) // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal([[{ a: [] }]], [{ a: [] }]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1 00:00:01\")) // false\nequal(() => true, () => true) // true\nequal(() => true, () => false) // false\nequal(Error('hoge'), Error('hoge')) // true\nequal(Error('hoge'), Error('huga')) // false\nequal(TypeError('hoge'), TypeError('hoge')) // true\nequal(Error('hoge'), TypeError('hoge')) // false\nequal(RangeError('error'), ReferenceError('error')) // false\nequal(SyntaxError('error'), URIError('error')) // false\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(/s/, /t/) // false\nequal(/s/gi, /s/gi) // true\nequal(/s/gi, /s/gim) // false\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\nequal(new Map([[new Map(), { a: 1 } ]), new Map([[new Map(), { a: 1 } ]) // true\nequal(new Set(), new Set()) // true\nequal(new Set([[], {}, new Map(), new Set()]), new Set([[], {}, new Map(), new Set()])) // true\n```\n\n## :memo: API\n\n### Type definition\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a` | Any value |\n| `b` | Any value |\n\n`=>` Return `true` if the reference memory is the same or the property members and their values are the same\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on [Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).  \nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN) // true\nequal(0, 0) // true\nequal(+0, 0) // true\nequal(-0, 0) // true\nequal(+0, -0) // true\n```\n\n#### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Typed Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays) ( [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array), [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray), [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array), [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array), [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array), [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array), [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array), [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array), [`BigInt64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array), [`BigUint64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array) )\n- [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) ( [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError), [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError), [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError), [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError), [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError), [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError), [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an [issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| - | -- | - | -- | - | - | - | -- | -- |\n| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date('2000/1/1'), new Date('2000/1/1')); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/view/lauqe).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://cdn.skypack.dev/lauqe\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check [issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"d991024c5c5c53ed38269499aec1e313ca239481","_id":"lauqe@1.4.1-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-SwzQhLASVM190PkAKCqH7BdAorRO+TdM9Imx7FBxsE9682p1ugBoJ5Z6m2jtLWcYFI2cdEfEPlwVmRLj2RNcLw==","shasum":"a92ff9bb655b623d671f045396bae90ba8dda481","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.4.1-beta.1.tgz","fileCount":9,"unpackedSize":48056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgttwYCRA9TVsSAnZWagAA/h8P/ixrgnJxsVqU4UOhjlUz\nL6IPce8xxveR83TweEmLlhQY1ulO5iAkCMxTu0lsoxttaKtffXGKwGUo95ks\nTwkjqnuVQLS/KVd84Hk3upi6kF42XYhG6lGrP6gTBmjE80UXGjYoebL4WavL\nXeCqAdK/fa3mFOWug3PkVsjhWWPsldiyeIrg1MuX2zEScAfH6UQtYZBKmWsz\nf5k0xp8+1QvH8tuakEfeK99YuGOb6zkAGuerca+Dt0Uz6q98p6xd7Xpda4/3\nBtmgkPh0ytErwllg+nFOfPEwFdRXvOjsg81mbTOiDJgsx2u9Ru/0l86iSeC9\nuz96xQLEI3pDQvb/YJArNQzoxXF1ygXVgpCR4/+kAEvmCBcaUhnJVyQTpOqJ\nqeJ8CSnqcrGYroO/w54H8vPaREL1F57b8KhnfRZ3pGAnIJ3oVDPgXKODUR0P\nZZ3a6z8strh3JMsv+JyOQnA3AsJzFuxkimppAEZVpzYBca7hKy3m3aFsmtSe\nA5reclGJQfEwP5GbxahN6OsPsQwO6e3GFiAWV1Z8JthH47YyBJBqVobcx9NW\njhhcoamqVWQgpLVHtbLN32Sj/jfth2thIGrz7RhFIZSmmcna/RyafJdGZjeN\ns/8R0SSXAJAB5F9PAgVuUxzP9yQtMpl8rZU7l6ZkDnv/Akr8YnHMGrvLO1Yq\nuDiD\r\n=xArC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRiDhXUGBsQtOsiKF6O35nIMxCazvhGpW1faBz+dXE7AiAEeXSVgDkoN7FvlS59uqd9qXzRVFIXKk+oNPs7uwUPjQ=="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.4.1-beta.1_1622596632066_0.15803853176712024"},"_hasShrinkwrap":false},"1.4.1":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.4.1","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"gitHead":"8e46d0d2c08d824067311dc4ea92742faddeed04","_id":"lauqe@1.4.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-nRuwxWaOgo8Zi6HeyjxURZ0mipatMDUgI0pV2Qyrey1FuWOQBqzQG/AWFh871cFfajBvkQC/BiVMmPXEs7YPfg==","shasum":"840150ab0bbc207655af657df378a9de902975b0","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.4.1.tgz","fileCount":9,"unpackedSize":48049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgttyKCRA9TVsSAnZWagAAa5wP/2QwqLybcVvhU+JaMSBi\nOc/zP1hy0TaMdtMSd1oW8tqNtu7JkrgLtQc7tYU+tf51XiZvL+pfF9WGcI9z\nKtGltHF6s0bU0SgH/mLXjU0RoTmelckQ/89y9xe3KFOyB6F6tTY7gvN1pLGW\nezgKKPVRSVT18X68d6KFGmkw8ZTtLI3hEdhOSQLJEGEJAxY7M6A/xJ6O/11m\nGFwGIe+FK0NCtldEMqSuINjtHFJoYbkLKGKMKhgQ2L38ufVh5gjSSLmaJghJ\n+ZE68p3pe8le/AWy/KhIsSeD/XMPN4zINsSMM0BTJsfs1qbJgSMuxbS24Koo\nUBIqAZohZH4vfsulBNi0fhWyZUzn8LEOPOvtDmN+OvrVq+sS2mMk4YWhyDKI\n6hkwHCRx+aQY8l/ljwUa2bmKMzPh6u2sK/fE3hFUyJvFXbEscsK2Lbv2RSsp\n9A5GNltH/qmbbrEDipg+38sf6OKg9Wn2Y/s4RpGnd61wgM2uWCJ7WdJJUxUZ\nOX/4j5UnGgyIepgkc01v36r/JEHwszGZG37J1rPkaiO2kJMG1mJSadyVytiN\nL+19zoNINjqBYPiUIkkwkrJnkl1yt2NfPv9kymghhf2dkwnQZRMFybQe82U3\nD7s7528wupAbEZ+L0wVHDhc8nXS0TEtWPck7KblnH/chNH+mYgsVLM8OxMq5\n94lx\r\n=OzMz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy8BSyu+629L0PQ3sTJ5bY7ynJC5T61/22G758t2rd/AIgerJr3q3pniSVLGwMhgF9vrfbAMTdM7R2Y4EP4tnsh2g="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.4.1_1622596746263_0.17868519817684825"},"_hasShrinkwrap":false},"1.5.0-beta.1":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.5.0-beta.1","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E6.17.0-yellow)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n![GitHub (Pre-)Release Date](https://img.shields.io/github/release-date-pre/TomokiMiyauci/equal)\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in\nobjects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects).\n\nIt provides `equal` functions and specific data types functions . The `equal`\nfunction works correctly in all situations. The specific data types functions\nworks correctly only for specific data types, but it has good performance.\nPlease check [bundle size optimization](####bundle-size-optimization) for\ndetails.\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [Usage](#dizzy-usage)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark:\n  [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case\n  is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal),\n[nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal(\"\", \"\"); // true\nequal(NaN, NaN); // true\nequal(0, 0); // true\nequal(+0, 0); // true\nequal(-0, 0); // true\nequal(+0, -0); // true\nequal(0n, 0n); // true\nequal(undefined, undefined); // true\nequal(null, null); // true\nequal(undefined, null); // false\nequal(true, false); // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol); // true\nequal(Symbol(\"hello\"), Symbol(\"hello\")); // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(() => true, () => true) // true\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\n```\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from\n[skypack](https://www.skypack.dev/view/lauqe).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://cdn.skypack.dev/lauqe\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :memo: API\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on\n[Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).\\\nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN); // true\nequal(0, 0); // true\nequal(+0, 0); // true\nequal(-0, 0); // true\nequal(+0, -0); // true\n```\n\n### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Typed Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays)\n  (\n  [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array),\n  [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array),\n  [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray),\n  [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array),\n  [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array),\n  [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array),\n  [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array),\n  [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array),\n  [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array),\n  [`BigInt64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array),\n  [`BigUint64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array)\n  )\n- [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)\n  (\n  [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError),\n  [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError),\n  [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError),\n  [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError),\n  [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError),\n  [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError),\n  [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError)\n  )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n### Bundle size optimization\n\nThe `equal` function works correctly for all supported\n[built-in objects](#built-in-objects). The price is an increase in bundle size.\n\nIf the data to be compared for equivalence is of multiple data types, or if the\ndata types are unclear, the `equal` function may be the best choice.\n\nIf the data type is predetermined, you can reduce the bundle size by using the\nspecific function instead.\n\n### Type definition\n\n#### equal\n\nCompare the equivalence of the all supported\n[built-in objects](#built-in-objects) and primitive values .\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean;\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a`       | Any value   |\n| `b`       | Any value   |\n\n`=>` Return `true` if the reference memory is the same or the property members\nand their values are the same\n\n#### equalDate\n\nCompare the equivalence of `Date` objects.\n\n```ts\ndeclare const equalDate: (a: Date, b: Date) => boolean;\n```\n\n##### Example\n\n```ts\nequalDate(new Date(0), new Date(0)) // true\nequalDate(new Date(0), new Date(1)) // false\nequalDate(new Date(\"1999/1/1 00:00:01\"), new Date(\"1999/1/1\")) // false\n// invalid date\n[new Date(\"a\"), new Date(\"a\"), true],\n[new Date(\"a\"), new Date(\"b\"), true],\n```\n\n#### equalPrimitive\n\nCompare the equivalence of Primitive values.\n\n```ts\ndeclare const equalPrimitive: <T extends Primitive, U extends T>(\n  a: T,\n  b: U,\n) => boolean;\n\ntype Primitive =\n  | string\n  | number\n  | bigint\n  | boolean\n  | symbol\n  | undefined\n  | null;\n```\n\n##### Example\n\n```ts\nequalPrimitive(NaN, NaN); // true\nequalPrimitive(0, +0); // true\nequalPrimitive(-0, +0); // true\n```\n\n#### equalError\n\nCompare the equivalence of the `Error` object and its Derived object.\n\n```ts\ndeclare const equalError: (a: Error, b: Error) => boolean;\n```\n\n##### Example\n\n```ts\nequalError(Error(\"test\"), Error(\"test\")); // true\nequalError(\n  AggregateError([TypeError(\"test\")]),\n  AggregateError([TypeError(\"test\")]),\n); // true\nequalError(Error(\"test\"), Error(\"hello\")); // false\nequalError(Error(\"test\"), TypeError(\"test\")); // false\n```\n\n#### equalURL\n\nCompare the equivalence of `URL` objects.\n\n```ts\ndeclare const equalURL: (a: URL, b: URL) => boolean;\n```\n\n##### Example\n\n```ts\nequalURL(new URL(\"https://google.com\", \"https://google.com\")); // true\nequalURL(new URL(\"https://google.com\", \"https://google.com/\")); // true\n```\n\n#### equalArrayBuffer\n\nCompare the equivalence of `ArrayBuffer` objects.\n\n```ts\ndeclare const equalArrayBuffer: (a: ArrayBuffer, b: ArrayBuffer) => boolean;\n```\n\nExample\n\n```ts\nequalArrayBuffer(new ArrayBuffer(0), new ArrayBuffer(0)); // true\nequalArrayBuffer(new ArrayBuffer(0), new ArrayBuffer(1)); // false\n```\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an\n[issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `^1.6.0`                                                                                                                                | `^6.17.0`                                                                                                                                       | `^83`                                                                                                                                                | `^78`                                                                                                                                                         | `^83`                                                                                                                                                     | `^11`                                                                                                                                                     | `^12.0`                                                                                                                                                                   | `^7.2`                                                                                                                                                                          | `^68`                                                                                                                                                 |\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check\n[issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md","gitHead":"35d0101c485fd402216a5871f4f457ba9041164b","_id":"lauqe@1.5.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-r4a36nSKLg9q0mw9hS3B1EwkgkoB/Q7wwhYcWhNfpQqSQn0WDIY9O9BC4BMk7OjNgH38ZoO90oI++JopNHVrxg==","shasum":"93967cb7b7907a52d8e12f5b38763cb56e850172","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.5.0-beta.1.tgz","fileCount":9,"unpackedSize":59921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwCT+CRA9TVsSAnZWagAAfEAP/0bNyuavzzja7jYHzICu\nkajFyxPJl/ynsknwN9nDwYZRukob1DDMrpSzyO3zxwn70YoUiBUWNpOqBLhU\natRUZnXC24EQy0y6EknzHPi7uClIO60INncbQ76cUd+rrxvLK7UkIMKkfJHl\n66wyhrLRqio46dy0b5Q1iZPQ/5mt397CM05w3wgzRll8M1NrgPSIFMNuIaTP\nVkMr6MJ90oRcjYkCNdfGEA0kQYWu4GgsVnoNh/Q1pUbku3J+fWQvtBuLcKc3\nXW/rW41uByx2vXS6Xqu0NFbRUNDoPz0m9r6c5bmPgHaDxQxJbAkEn2Cp057N\nGGR9DJOgkmX0V5Q2ilbGbcj2C6jEdMKJ7XTEXh2a/T4QTapR53bIIark79Db\n2QtXzN6C/asht+doFrgdLlaQJGMO6s/FWlXgQB8KL+MJAplQIJcTE1lzgdPe\n/ha46EecA8DkWARA1dRWXbSP2m0JTWOyHka+CF6XntfMsn4R2ApgHM2dptnZ\nCcBvmu4jPSIINKR2Y0yY67wDicRgTDrGRJnc//H/YZMhZPFn0cDOwMphfWdM\nnlJ4zS582cEQ2W0ZnWwlyrL4YdIrJ82VI2nA3cTCYh0j0ZJLmKAYUwWwndHw\nhaWEiUErXJfdq3DajlytNxbnH9c3DRUL1mvsdvHr2YhGO+MvIJDPKbsTzXvt\nxlHW\r\n=NXY1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1XYntedQxIPCIT/esAMGIAgtQ5lbQ4bzg7UBH2JzBdAiB3lNXNJkMF0MFrmJCDvA95IMshD7siHthEhVGkqVePpw=="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.5.0-beta.1_1623205118177_0.9470308832514516"},"_hasShrinkwrap":false},"1.5.0":{"name":"lauqe","description":"(=equal) TypeScript-first deep equivalence comparison between two values","version":"1.5.0","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"dist/index.es.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.es.js"}},"sideEffects":false,"license":"MIT","scripts":{"commit":"cz","prepare":"husky install","build":"rollup -c rollup.config.ts"},"dependencies":{"fonction":"^1.8.0-beta.6"},"devDependencies":{"@commitlint/cli":"^12.0.1","@rollup/plugin-replace":"^2.4.2","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","commitizen":"^4.2.3","commitlint-config-gitmoji":"^2.2.3","cz-emoji":"^1.3.1","husky":"^6.0.0","rollup":"^2.47.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-ts":"^1.3.12","semantic-release":"^17.4.3","semantic-release-gitmoji":"^1.3.4","typescript":"^4.2.4"},"keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"homepage":"https://github.com/TomokiMiyauci/equal#readme","bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"funding":{"type":"patreon","url":"https://www.patreon.com/tomoki_miyauci"},"browserslist":["defaults","last 8 version","not IE <= 11","not ie_mob <= 11","node 6"],"gitHead":"fb6677ad8ddfeb4b36ec61829562c10f3257da09","_id":"lauqe@1.5.0","_nodeVersion":"15.14.0","_npmVersion":"7.12.1","dist":{"integrity":"sha512-GlBF1bdD27NPrRSZ3UAp7eH1S1nCbFEMP1Hz/22M3Bh/9mgqwNYif2WiersbqtafJ7sPMALPQrVZAx9EFopfFg==","shasum":"6e9b9f8c0d764496089b91f3c0db869e1da2452c","tarball":"https://registry.npmjs.org/lauqe/-/lauqe-1.5.0.tgz","fileCount":9,"unpackedSize":59914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwCZYCRA9TVsSAnZWagAA8zgQAJ2nHjCVz+e/dw5rAai6\nLETWkSjsk1fo9lozemzvJU6Ac4ER0oho5Ha31G4FLd+kfqTbSTCvfXgDzp0B\nTOAnMyjTJnqq36AqJQtZKebnav8jJsxaDy29V9OFWKDcidt51WMxWvz/buwE\n2Y3Cp3orlg6L6wGtTU+Fi90eId7FkP0+RGwq9CgmSOI/dSe0eKEDPxKEyQAW\nRNUhJgZmbsctcDobye4USg7W7YBUXJ+h2LWwIdt5Hxa1s/kXcVWrdOeqGtTl\nBM86y6FO+5rWAefJ4QPi8iSSRRR2OBtpNbMJ/6Aij7bpko8SYYvXWrTcF4ug\nHcEe57g8ejhHdzTHjiQ68KErlff97Zad701M4yObsUR+EdzgX2itu00CfaiL\n0tRP+FUHOJpfc2orcb3PBACAtBsOAozdtdp33ZxzxCTmSaxdEzD4ugnNr3DD\n4DAJANrr8lqF/Yg7ZCjqHsKnRVK+0kRIjBwn2mj8N5tgMKoUwyT3B/lrlKU1\nJlNdxpTLVRwQdKPFptMcHg+KhboW6Kou9SN+raS3fF0/zX2FXyHW8xz12Rez\nsFRjy2WJVUAImXFHckhrjUinOzWXNTUqNDAlXmvhjIktSYIcfs19iybfnNds\nrs2IlNfhtvdaXK/nlfEM2O0Un94RbEGwgEE5ScnGu6Bzcy9Vg/13aHVaPy31\niA5G\r\n=+jYA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAigyqlKeL04BIUtNw8Dks4cHJsuch92nE+72jbYNkUaAiAbupCqiARE3g3p3QLs3a2LKk/rZkndbI0RG0MMQHOa7Q=="}]},"_npmUser":{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"},"directories":{},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lauqe_1.5.0_1623205464130_0.30776333635005515"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-13T13:26:01.889Z","1.0.0-beta.1":"2021-05-13T13:26:02.048Z","modified":"2022-05-07T16:47:57.738Z","1.0.0-beta.2":"2021-05-14T01:56:50.705Z","1.0.0":"2021-05-14T02:45:17.660Z","1.0.1-beta.1":"2021-05-14T04:40:53.406Z","1.0.1":"2021-05-14T05:05:56.063Z","1.0.1-beta.2":"2021-05-14T12:10:44.956Z","1.0.2-beta.1":"2021-05-14T12:23:34.022Z","1.0.2":"2021-05-14T12:27:05.598Z","1.1.0-beta.1":"2021-05-24T01:55:41.597Z","1.1.0-beta.2":"2021-05-24T13:29:52.105Z","1.1.0":"2021-05-24T15:33:13.043Z","1.2.0-beta.1":"2021-05-25T06:08:10.456Z","1.2.0-beta.2":"2021-05-25T07:27:53.903Z","1.2.0-beta.3":"2021-05-25T08:01:47.438Z","1.2.0":"2021-05-25T08:08:42.660Z","1.3.0-beta.1":"2021-05-30T14:22:24.725Z","1.3.0-beta.2":"2021-05-31T02:18:46.733Z","1.3.0":"2021-05-31T03:02:56.383Z","1.4.0-beta.1":"2021-05-31T09:09:13.055Z","1.4.0-beta.2":"2021-05-31T11:45:31.248Z","1.4.0":"2021-06-01T06:21:23.117Z","1.4.0-beta.3":"2021-06-02T01:12:03.709Z","1.4.1-beta.1":"2021-06-02T01:17:12.211Z","1.4.1":"2021-06-02T01:19:06.455Z","1.5.0-beta.1":"2021-06-09T02:18:38.369Z","1.5.0":"2021-06-09T02:24:24.304Z"},"maintainers":[{"name":"miyauci","email":"development.operation.6.6.6@gmail.com"}],"description":"(=equal) TypeScript-first deep equivalence comparison between two values","homepage":"https://github.com/TomokiMiyauci/equal#readme","keywords":["equal","is-equal","equality","deep","deep-equal","sameValueZero","fast","compare","comparison"],"repository":{"type":"git","url":"git+https://github.com/TomokiMiyauci/equal.git"},"author":{"name":"TomokiMiyauci","email":"development.operation6.6.6@gmail.com","url":"https://miyauchi.dev/"},"bugs":{"url":"https://github.com/TomokiMiyauci/equal/issues"},"license":"MIT","readme":"<p align=\"center\">\n  <img alt=\"logo image\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/c_scale,w_1280/v1622422123/projects/equal/logo.png\" />\n  <h1 align=\"center\">equal</h1>\n</p>\n\n<p align=\"center\">\nTypeScript-first deep equivalence comparison between two values\n</p>\n\n<div align=\"center\">\n\n[![test](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml/badge.svg)](https://github.com/TomokiMiyauci/equal/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/release/TomokiMiyauci/equal.svg)](https://github.com/TomokiMiyauci/equal/releases)\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black)](https://deno.land/x/equal)\n[![nest badge](https://nest.land/badge.svg)](https://nest.land/package/equal)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/equal/mod.ts)\n[![deno version](https://img.shields.io/badge/deno-^1.6.0-lightgrey?logo=deno)](https://github.com/denoland/deno)\n![node support version](https://img.shields.io/badge/node-%5E6.17.0-yellow)\n![npm download](https://img.shields.io/npm/dw/lauqe?color=blue)\n\n![GitHub (Pre-)Release Date](https://img.shields.io/github/release-date-pre/TomokiMiyauci/equal)\n[![dependencies Status](https://status.david-dm.org/gh/TomokiMiyauci/equal.svg)](https://david-dm.org/TomokiMiyauci/equal)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/equal/branch/main/graph/badge.svg?token=SPAi5Pv2wd)](https://codecov.io/gh/TomokiMiyauci/equal)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f43b1c317e11445399d85ce6efc06504)](https://www.codacy.com/gh/TomokiMiyauci/equal/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/equal&utm_campaign=Badge_Grade)\n![npm type definitions](https://img.shields.io/npm/types/lauqe)\n![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)\n![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat)\n![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n</div>\n\n---\n\nEquivalent comparison of Object data structures. It supports many built-in\nobjects and can be compared with `Date`, `Array` or `Object`.\n\nThe supported built-in objects are [here](#built-in-objects).\n\nIt provides `equal` functions and specific data types functions . The `equal`\nfunction works correctly in all situations. The specific data types functions\nworks correctly only for specific data types, but it has good performance.\nPlease check [bundle size optimization](####bundle-size-optimization) for\ndetails.\n\n## :bookmark: Table of Contents\n\n- [Features](#sparkles-features)\n- [Example](#zap-example)\n- [Usage](#dizzy-usage)\n- [API](#memo-api)\n- [Supports](#green_heart-supports)\n- [Contributing](#handshake-contributing)\n- [Show your support](#seedling-show-your-support)\n- [License](#bulb-license)\n\n## :sparkles: Features\n\n- :zap: Multi runtime support (`Deno`, `Node.js` and Browsers)\n- :books: Pure TypeScript and provides type definition\n- :white_check_mark:\n  [Rambda](https://selfrefactor.github.io/rambda/#/?id=equals)'s all test case\n  is passed\n- :earth_americas: Universal module, providing `ES modules` and `Commonjs`\n- :package: Optimized, super slim size\n- :page_facing_up: TSDoc-style comments\n\n### Package name\n\nDeno: `equal` ([deno.land](https://deno.land/x/equal),\n[nest.land](https://nest.land/package/equal))\n\nNode.js: `lauqe` ([npm](https://www.npmjs.com/package/lauqe))\n\n## :zap: Example\n\n### [Primitive](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values)\n\n```ts\nequal(\"\", \"\"); // true\nequal(NaN, NaN); // true\nequal(0, 0); // true\nequal(+0, 0); // true\nequal(-0, 0); // true\nequal(+0, -0); // true\nequal(0n, 0n); // true\nequal(undefined, undefined); // true\nequal(null, null); // true\nequal(undefined, null); // false\nequal(true, false); // false\nconst symbol = Symbol(\"hello\");\nequal(symbol, symbol); // true\nequal(Symbol(\"hello\"), Symbol(\"hello\")); // false\n```\n\n### [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects)\n\n```ts\nequal({}, {}) // true\nequal({ \"\": undefined }, { \"\": undefined }) // true\nequal({ \"\": undefined }, { \"\": undefined, a: 1 }) // false\nequal({ a: 1, b: undefined}, { b: undefined, a: 1}) // true\nequal([], []) // true\nequal([[[]]], [[[]]]) // true\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")) // true\nequal(() => true, () => true) // true\nequal(AggregateError([ Error(\"error\"), TypeError(\"type error\") ]), AggregateError([ Error(\"error\"), TypeError(\"type error\") ])) // true\nequal(/s/, /s/) // true\nequal(new String('hello'), new String('hello')) // true\nequal(new Number(0), new Number(0)) // true\nequal(new Boolean(true), new Boolean(true)) // true\nequal(new Map([[1, 2], [3, 4]]), new Map([[3, 4], [1, 2]]) // true\n```\n\n## :dizzy: Usage\n\n`equal` provides multi platform modules.\n\n### 🦕 Deno\n\n#### [deno.land](https://deno.land/x/equal)\n\n```ts\nimport { equal } from \"https://deno.land/x/equal/mod.ts\";\n\nequal([1, 2, 3], [1, 2, 3]); // true\n```\n\n#### [nest.land](https://nest.land/package/equal)\n\n```ts\nimport { equal } from \"https://x.nest.land/equal/mod.ts\";\n\nequal([1, ['hello', ['world']], [1, ['hello', ['world']]); // true\n```\n\n### :package: Node.js\n\n> NPM package name is [`lauqe`](https://www.npmjs.com/package/lauqe) .\n\n#### Install\n\n```bash\nnpm i lauqe\nor\nyarn add lauqe\n```\n\n#### ES modules\n\n```ts\nimport { equal } from \"lauqe\";\n\nequal(new Date(\"2000/1/1\"), new Date(\"2000/1/1\")); // true\n```\n\n#### Commonjs\n\n```ts\nconst { equal } = require(\"lauqe\");\n\nequal(/hello/g, /hello/g); // true\n```\n\n### :globe_with_meridians: Browser\n\nThe module that bundles the dependencies is obtained from\n[skypack](https://www.skypack.dev/view/lauqe).\n\n```html\n<script type=\"module\">\n  import { equal } from \"https://cdn.skypack.dev/lauqe\";\n  console.log(equal(() => {}, () => {}); // true\n</script>\n```\n\n## :memo: API\n\n### Definition of Equality\n\nEquality is defined as the data structure and property values are equivalent.\n\n#### Same-value-zero\n\nNumerical equivalence is based on\n[Same-value-zero](https://developer.mozilla.org/docs/Web/JavaScript/Equality_comparisons_and_sameness#same-value-zero_equality).\\\nThat is, all of the following comparisons are considered equivalent.\n\n```ts\nequal(NaN, NaN); // true\nequal(0, 0); // true\nequal(+0, 0); // true\nequal(-0, 0); // true\nequal(+0, -0); // true\n```\n\n### Built-in objects\n\nThe following objects work correctly.\n\n- [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\n- [`Typed Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays)\n  (\n  [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array),\n  [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array),\n  [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray),\n  [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array),\n  [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array),\n  [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array),\n  [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array),\n  [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array),\n  [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array),\n  [`BigInt64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array),\n  [`BigUint64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array)\n  )\n- [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)\n- [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)\n- [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)\n- [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)\n  (\n  [`EvalError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError),\n  [`RangeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError),\n  [`ReferenceError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError),\n  [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError),\n  [`TypeError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError),\n  [`URIError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError),\n  [`AggregateError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError)\n  )\n- [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#maps)\n- [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Keyed_collections#sets)\n- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)\n- [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n- [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n- [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\n- [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n**Do not guarantee** the behavior of objects not on this list.\n\n### Bundle size optimization\n\nThe `equal` function works correctly for all supported\n[built-in objects](#built-in-objects). The price is an increase in bundle size.\n\nIf the data to be compared for equivalence is of multiple data types, or if the\ndata types are unclear, the `equal` function may be the best choice.\n\nIf the data type is predetermined, you can reduce the bundle size by using the\nspecific function instead.\n\n### Type definition\n\n#### equal\n\nCompare the equivalence of the all supported\n[built-in objects](#built-in-objects) and primitive values .\n\n```ts\ndeclare const equal: <T, U extends T>(a: T, b: U) => boolean;\n```\n\n| Parameter | Description |\n| --------- | ----------- |\n| `a`       | Any value   |\n| `b`       | Any value   |\n\n`=>` Return `true` if the reference memory is the same or the property members\nand their values are the same\n\n#### equalDate\n\nCompare the equivalence of `Date` objects.\n\n```ts\ndeclare const equalDate: (a: Date, b: Date) => boolean;\n```\n\n##### Example\n\n```ts\nequalDate(new Date(0), new Date(0)) // true\nequalDate(new Date(0), new Date(1)) // false\nequalDate(new Date(\"1999/1/1 00:00:01\"), new Date(\"1999/1/1\")) // false\n// invalid date\n[new Date(\"a\"), new Date(\"a\"), true],\n[new Date(\"a\"), new Date(\"b\"), true],\n```\n\n#### equalPrimitive\n\nCompare the equivalence of Primitive values.\n\n```ts\ndeclare const equalPrimitive: <T extends Primitive, U extends T>(\n  a: T,\n  b: U,\n) => boolean;\n\ntype Primitive =\n  | string\n  | number\n  | bigint\n  | boolean\n  | symbol\n  | undefined\n  | null;\n```\n\n##### Example\n\n```ts\nequalPrimitive(NaN, NaN); // true\nequalPrimitive(0, +0); // true\nequalPrimitive(-0, +0); // true\n```\n\n#### equalError\n\nCompare the equivalence of the `Error` object and its Derived object.\n\n```ts\ndeclare const equalError: (a: Error, b: Error) => boolean;\n```\n\n##### Example\n\n```ts\nequalError(Error(\"test\"), Error(\"test\")); // true\nequalError(\n  AggregateError([TypeError(\"test\")]),\n  AggregateError([TypeError(\"test\")]),\n); // true\nequalError(Error(\"test\"), Error(\"hello\")); // false\nequalError(Error(\"test\"), TypeError(\"test\")); // false\n```\n\n#### equalURL\n\nCompare the equivalence of `URL` objects.\n\n```ts\ndeclare const equalURL: (a: URL, b: URL) => boolean;\n```\n\n##### Example\n\n```ts\nequalURL(new URL(\"https://google.com\", \"https://google.com\")); // true\nequalURL(new URL(\"https://google.com\", \"https://google.com/\")); // true\n```\n\n#### equalArrayBuffer\n\nCompare the equivalence of `ArrayBuffer` objects.\n\n```ts\ndeclare const equalArrayBuffer: (a: ArrayBuffer, b: ArrayBuffer) => boolean;\n```\n\nExample\n\n```ts\nequalArrayBuffer(new ArrayBuffer(0), new ArrayBuffer(0)); // true\nequalArrayBuffer(new ArrayBuffer(0), new ArrayBuffer(1)); // false\n```\n\n## :green_heart: Supports\n\n> ie is no longer supported to reduce bundle size.\n\nThe TypeScript version must be `4.1.0` or higher.\n\nThis project provides `ES modules` and `Commonjs`.\n\nIf you have an opinion about what to support, you can open an\n[issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.\n\nThe `browserslist` has the following settings.\n\n```text\ndefaults\nlast 8 version\nnot IE <= 11\nnot ie_mob <= 11\nnode 6\n```\n\n| <img width=\"30px\" height=\"30px\" alt=\"Deno\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/deno.svg\"></br>Deno | <img width=\"24px\" height=\"24px\" alt=\"Node.js\" src=\"https://res.cloudinary.com/dz3vsv9pg/image/upload/v1620998361/logos/nodejs.svg\"></br>Node.js | <img width=\"24px\" height=\"24px\" alt=\"IE / Edge\" src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\"></br>Edge | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /></br>Firefox | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /></br>Chrome | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /></br>Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png\" alt=\"iOS Safari\" width=\"24px\" height=\"24px\" /></br>iOS Safari | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png\" alt=\"Samsung\" width=\"24px\" height=\"24px\" /></br>Samsung | <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /></br>Opera |\n| --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `^1.6.0`                                                                                                                                | `^6.17.0`                                                                                                                                       | `^83`                                                                                                                                                | `^78`                                                                                                                                                         | `^83`                                                                                                                                                     | `^11`                                                                                                                                                     | `^12.0`                                                                                                                                                                   | `^7.2`                                                                                                                                                                          | `^68`                                                                                                                                                 |\n\n## :handshake: Contributing\n\nContributions, issues and feature requests are welcome!<br />Feel free to check\n[issues](https://github.com/TomokiMiyauci/equal/issues).\n\n[Contributing guide](./.github/CONTRIBUTING.md)\n\n## :seedling: Show your support\n\nGive a ⭐️ if this project helped you!\n\n<a href=\"https://www.patreon.com/tomoki_miyauci\">\n  <img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\n</a>\n\n## :bulb: License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","readmeFilename":"README.md"}