react-entities
Version:
React Entities - the simplest app state management for React
48 lines (34 loc) • 1.11 kB
JavaScript
;
exports.__esModule = true;
exports.shallowEqual = exports.strictEqual = exports.selectNone = exports.selectAll = void 0;
/* Basic selectors */
var selectAll = function selectAll(state) {
return state;
};
exports.selectAll = selectAll;
var selectNone = function selectNone(_) {
return null;
};
/* Basic equality functions */
exports.selectNone = selectNone;
var strictEqual = function strictEqual(a, b) {
return a === b;
};
exports.strictEqual = strictEqual;
var shallowEqual = function shallowEqual(a, b) {
return strictEqual(a, b) || bothObjects(a, b) && equalProps(a, b);
};
exports.shallowEqual = shallowEqual;
var bothObjects = function bothObjects(a, b) {
return typeof a === 'object' && a !== null && typeof b === 'object' && b !== null;
};
var equalProps = function equalProps(a, b) {
var keysOfA = Object.keys(a);
var keysOfB = Object.keys(b);
if (keysOfA.length !== keysOfB.length) return false;
for (var i = 0; i < keysOfA.length; i++) {
var key = keysOfA[i];
if (!b.hasOwnProperty(key) || a[key] !== b[key]) return false;
}
return true;
};