UNPKG

rx-store-core

Version:

A Rxjs and Immutable based Type-safe state management tool

38 lines (37 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.objectShallowCompareF = void 0; var objectShallowCompareF = function (comparator, comparatorMap) { if (comparator === void 0) { comparator = function (o1, o2) { return o1 === o2; }; } return function (o1, o2) { if (Object.getPrototypeOf(o1) !== Object.getPrototypeOf(o2)) { return false; } var ownKeysO1 = Object.getOwnPropertyNames(o1); var ownKeysO2 = Object.getOwnPropertyNames(o2); if (ownKeysO1.length !== ownKeysO2.length) { return false; } if (comparatorMap) { for (var _i = 0, ownKeysO1_1 = ownKeysO1; _i < ownKeysO1_1.length; _i++) { var key = ownKeysO1_1[_i]; var compareFn = (comparatorMap === null || comparatorMap === void 0 ? void 0 : comparatorMap[key]) ? comparatorMap[key] : comparator; if (!compareFn(o1[key], o2[key])) { return false; } } } else { for (var _a = 0, ownKeysO1_2 = ownKeysO1; _a < ownKeysO1_2.length; _a++) { var key = ownKeysO1_2[_a]; if (!comparator(o1[key], o2[key])) { return false; } } } return true; }; }; exports.objectShallowCompareF = objectShallowCompareF;