@saber2pr/react
Version:
react in Typescript.
35 lines (34 loc) • 986 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/*
* @Author: saber2pr
* @Date: 2019-12-13 16:26:00
* @Last Modified by: saber2pr
* @Last Modified time: 2019-12-13 16:26:00
*/
var objectIs_1 = require("./objectIs");
var hasOwnProperty = Object.prototype.hasOwnProperty;
function shallowEqual(objA, objB) {
if (objectIs_1.is(objA, objB)) {
return true;
}
if (typeof objA !== "object" ||
objA === null ||
typeof objB !== "object" ||
objB === null) {
return false;
}
var keysA = Object.keys(objA);
var keysB = Object.keys(objB);
if (keysA.length !== keysB.length) {
return false;
}
for (var i = 0; i < keysA.length; i++) {
if (!hasOwnProperty.call(objB, keysA[i]) ||
!objectIs_1.is(objA[keysA[i]], objB[keysA[i]])) {
return false;
}
}
return true;
}
exports.shallowEqual = shallowEqual;