@wordpress/is-shallow-equal
Version:
Test for shallow equality between two objects or arrays.
45 lines (43 loc) • 1.23 kB
JavaScript
;
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