UNPKG

infrastructure-components

Version:

Infrastructure-Components configure the infrastructure of your React-App as part of your React-Components.

41 lines (32 loc) 963 B
var shallowEqual = function shallowEqual(newValue, oldValue) { return newValue === oldValue; }; var simpleIsEqual = function simpleIsEqual(newArgs, lastArgs) { return newArgs.length === lastArgs.length && newArgs.every(function (newArg, index) { return shallowEqual(newArg, lastArgs[index]); }); }; function index (resultFn, isEqual) { if (isEqual === void 0) { isEqual = simpleIsEqual; } var lastThis; var lastArgs = []; var lastResult; var calledOnce = false; var result = function result() { for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) { newArgs[_key] = arguments[_key]; } if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) { return lastResult; } lastResult = resultFn.apply(this, newArgs); calledOnce = true; lastThis = this; lastArgs = newArgs; return lastResult; }; return result; } export default index;