UNPKG

@wordpress/is-shallow-equal

Version:
45 lines (43 loc) 1.23 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isShallowEqual; Object.defineProperty(exports, "isShallowEqualArrays", { enumerable: true, get: function () { return _arrays.default; } }); Object.defineProperty(exports, "isShallowEqualObjects", { enumerable: true, get: function () { return _objects.default; } }); var _objects = _interopRequireDefault(require("./objects")); var _arrays = _interopRequireDefault(require("./arrays")); /** * Internal dependencies */ /** * Returns true if the two arrays or objects are shallow equal, or false * otherwise. Also handles primitive values, just in case. * * @param a First object or array to compare. * @param b Second object or array to compare. * * @return Whether the two values are shallow equal. */ function isShallowEqual(a, b) { if (a && b) { if (a.constructor === Object && b.constructor === Object) { return (0, _objects.default)(a, b); } else if (Array.isArray(a) && Array.isArray(b)) { return (0, _arrays.default)(a, b); } } return a === b; } //# sourceMappingURL=index.js.map