shallowequal
shallowequal copied to clipboard
↔️ Like lodash v3.x isEqualWith but for shallow equal.
shallowequal

shallowequalis like lodash'sisEqual(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:
valueandotherare both objects with the same keys- For each key, the value in
valueandotherare 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 v5+
$ npm install shallowequal
# before npm v5
$ npm install --save shallowequal
Usage
const shallowequal = require("shallowequal");
const object = { user: "fred" };
const other = { user: "fred" };
object == other;
// → false
shallowequal(object, other);
// → true
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
node.jsandnpm. See: https://github.com/creationix/nvm#installationyarn. See: https://yarnpkg.com/en/docs/installnpmdependencies. Run:yarn install
Chores
- Lint:
yarn lint - Test:
yarn test - Pretty:
yarn pretty - Prepare:
yarn prepare
License
MIT.