CoolFace
Apppublic

strong-tie/inbound-calls

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
README.md97 linesDownload Raw Back to fast-deep-equal
1# fast-deep-equal2The fastest deep equal with ES6 Map, Set and Typed arrays support.3 4[![Build Status](https://travis-ci.org/epoberezkin/fast-deep-equal.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-deep-equal)5[![npm](https://img.shields.io/npm/v/fast-deep-equal.svg)](https://www.npmjs.com/package/fast-deep-equal)6[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/fast-deep-equal/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/fast-deep-equal?branch=master)7 8 9## Install10 11```bash12npm install fast-deep-equal13```14 15 16## Features17 18- ES5 compatible19- works in node.js (8+) and browsers (IE9+)20- checks equality of Date and RegExp objects by value.21 22ES6 equal (`require('fast-deep-equal/es6')`) also supports:23- Maps24- Sets25- Typed arrays26 27 28## Usage29 30```javascript31var equal = require('fast-deep-equal');32console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true33```34 35To support ES6 Maps, Sets and Typed arrays equality use:36 37```javascript38var equal = require('fast-deep-equal/es6');39console.log(equal(Int16Array([1, 2]), Int16Array([1, 2]))); // true40```41 42To use with React (avoiding the traversal of React elements' _owner43property that contains circular references and is not needed when44comparing the elements - borrowed from [react-fast-compare](https://github.com/FormidableLabs/react-fast-compare)):45 46```javascript47var equal = require('fast-deep-equal/react');48var equal = require('fast-deep-equal/es6/react');49```50 51 52## Performance benchmark53 54Node.js v12.6.0:55 56```57fast-deep-equal x 261,950 ops/sec ±0.52% (89 runs sampled)58fast-deep-equal/es6 x 212,991 ops/sec ±0.34% (92 runs sampled)59fast-equals x 230,957 ops/sec ±0.83% (85 runs sampled)60nano-equal x 187,995 ops/sec ±0.53% (88 runs sampled)61shallow-equal-fuzzy x 138,302 ops/sec ±0.49% (90 runs sampled)62underscore.isEqual x 74,423 ops/sec ±0.38% (89 runs sampled)63lodash.isEqual x 36,637 ops/sec ±0.72% (90 runs sampled)64deep-equal x 2,310 ops/sec ±0.37% (90 runs sampled)65deep-eql x 35,312 ops/sec ±0.67% (91 runs sampled)66ramda.equals x 12,054 ops/sec ±0.40% (91 runs sampled)67util.isDeepStrictEqual x 46,440 ops/sec ±0.43% (90 runs sampled)68assert.deepStrictEqual x 456 ops/sec ±0.71% (88 runs sampled)69 70The fastest is fast-deep-equal71```72 73To run benchmark (requires node.js 6+):74 75```bash76npm run benchmark77```78 79__Please note__: this benchmark runs against the available test cases. To choose the most performant library for your application, it is recommended to benchmark against your data and to NOT expect this benchmark to reflect the performance difference in your application.80 81 82## Enterprise support83 84fast-deep-equal package is a part of [Tidelift enterprise subscription](https://tidelift.com/subscription/pkg/npm-fast-deep-equal?utm_source=npm-fast-deep-equal&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.85 86 87## Security contact88 89To report a security vulnerability, please use the90[Tidelift security contact](https://tidelift.com/security).91Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.92 93 94## License95 96[MIT](https://github.com/epoberezkin/fast-deep-equal/blob/master/LICENSE)97