shallowequal
![npm version](https://img.shields.io/npm/v/shallowequal.svg?style=flat)
shallowequal
is like lodash's isEqual
(v3.10.1) but for shallow (strict) equal.
shallowequal(value, other, [customizer], [thisArg])
Performs a shallow equality comparison between two values (i.e. value
and other
) to determine if they are equivalent.
The equality check returns true if value
and other
are already strictly equal, OR when all the following are true:
value
and other
are both objects with the same keys- For each key, the value in
value
and other
are strictly equal (===
)
If customizer
(expected to be a function) is provided it is invoked to compare values. If customizer
returns undefined
(i.e. void 0
), then comparisons are handled by the shallowequal
function instead.
The customizer
is bound to thisArg
and invoked with three arguments: (value, other, key)
.
NOTE: Docs are (shamelessly) adapted from lodash's v3.x docs
Install
$ yarn add shallowequal
$ npm install shallowequal
$ npm install --save shallowequal
Usage
const shallowequal = require("shallowequal");
const object = { user: "fred" };
const other = { user: "fred" };
object == other;
shallowequal(object, other);
Credit
Code for shallowEqual
originated from https://github.com/gaearon/react-pure-render/ and has since been refactored to have the exact same API as lodash.isEqualWith
(as of v4.17.4
).
Development
Chores
- Lint:
yarn lint
- Test:
yarn test
- Pretty:
yarn pretty
- Prepare:
yarn prepare
License
MIT.