UNPKG

react-entities

Version:

React Entities - the simplest app state management for React

48 lines (34 loc) 1.11 kB
"use strict"; 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; };