Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/fast-deep-equal/README.md')
-rw-r--r--node_modules/fast-deep-equal/README.md67
1 files changed, 54 insertions, 13 deletions
diff --git a/node_modules/fast-deep-equal/README.md b/node_modules/fast-deep-equal/README.md
index ee83edd45..d3f4ffcc3 100644
--- a/node_modules/fast-deep-equal/README.md
+++ b/node_modules/fast-deep-equal/README.md
@@ -1,8 +1,8 @@
# fast-deep-equal
-The fastest deep equal
+The fastest deep equal with ES6 Map, Set and Typed arrays support.
[![Build Status](https://travis-ci.org/epoberezkin/fast-deep-equal.svg?branch=master)](https://travis-ci.org/epoberezkin/fast-deep-equal)
-[![npm version](https://badge.fury.io/js/fast-deep-equal.svg)](http://badge.fury.io/js/fast-deep-equal)
+[![npm](https://img.shields.io/npm/v/fast-deep-equal.svg)](https://www.npmjs.com/package/fast-deep-equal)
[![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)
@@ -16,9 +16,14 @@ npm install fast-deep-equal
## Features
- ES5 compatible
-- works in node.js (0.10+) and browsers (IE9+)
+- works in node.js (8+) and browsers (IE9+)
- checks equality of Date and RegExp objects by value.
+ES6 equal (`require('fast-deep-equal/es6')`) also supports:
+- Maps
+- Sets
+- Typed arrays
+
## Usage
@@ -27,28 +32,64 @@ var equal = require('fast-deep-equal');
console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true
```
+To support ES6 Maps, Sets and Typed arrays equality use:
+
+```javascript
+var equal = require('fast-deep-equal/es6');
+console.log(equal(Int16Array([1, 2]), Int16Array([1, 2]))); // true
+```
+
+To use with React (avoiding the traversal of React elements' _owner
+property that contains circular references and is not needed when
+comparing the elements - borrowed from [react-fast-compare](https://github.com/FormidableLabs/react-fast-compare)):
+
+```javascript
+var equal = require('fast-deep-equal/react');
+var equal = require('fast-deep-equal/es6/react');
+```
+
## Performance benchmark
+Node.js v12.6.0:
+
```
-fast-deep-equal x 82,915 ops/sec ±0.63% (89 runs sampled)
-nano-equal x 50,506 ops/sec ±2.23% (86 runs sampled)
-shallow-equal-fuzzy x 14,873 ops/sec ±3.19% (83 runs sampled)
-underscore.isEqual x 16,055 ops/sec ±2.29% (85 runs sampled)
-lodash.isEqual x 10,740 ops/sec ±1.04% (89 runs sampled)
-deep-equal x 12,276 ops/sec ±2.44% (84 runs sampled)
-deep-eql x 10,565 ops/sec ±0.89% (90 runs sampled)
-assert.deepStrictEqual x 965 ops/sec ±2.99% (81 runs sampled)
+fast-deep-equal x 261,950 ops/sec ±0.52% (89 runs sampled)
+fast-deep-equal/es6 x 212,991 ops/sec ±0.34% (92 runs sampled)
+fast-equals x 230,957 ops/sec ±0.83% (85 runs sampled)
+nano-equal x 187,995 ops/sec ±0.53% (88 runs sampled)
+shallow-equal-fuzzy x 138,302 ops/sec ±0.49% (90 runs sampled)
+underscore.isEqual x 74,423 ops/sec ±0.38% (89 runs sampled)
+lodash.isEqual x 36,637 ops/sec ±0.72% (90 runs sampled)
+deep-equal x 2,310 ops/sec ±0.37% (90 runs sampled)
+deep-eql x 35,312 ops/sec ±0.67% (91 runs sampled)
+ramda.equals x 12,054 ops/sec ±0.40% (91 runs sampled)
+util.isDeepStrictEqual x 46,440 ops/sec ±0.43% (90 runs sampled)
+assert.deepStrictEqual x 456 ops/sec ±0.71% (88 runs sampled)
+
The fastest is fast-deep-equal
```
To run benchmark (requires node.js 6+):
```bash
-npm install
-node benchmark
+npm run benchmark
```
+__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.
+
+
+## Enterprise support
+
+fast-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.
+
+
+## Security contact
+
+To report a security vulnerability, please use the
+[Tidelift security contact](https://tidelift.com/security).
+Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.
+
## License