UNPKG

react-entities

Version:

React Entities - the simplest app state management for React

32 lines (27 loc) 856 B
/* Basic selectors */ export var selectAll = function selectAll(state) { return state; }; export var selectNone = function selectNone(_) { return null; }; /* Basic equality functions */ export var strictEqual = function strictEqual(a, b) { return a === b; }; export var shallowEqual = function shallowEqual(a, b) { return strictEqual(a, b) || bothObjects(a, b) && equalProps(a, b); }; 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; };