infrastructure-components
Version:
Infrastructure-Components configure the infrastructure of your React-App as part of your React-Components.
49 lines (38 loc) • 1.32 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
global.memoizeOne = factory();
}(typeof self !== 'undefined' ? self : this, function () { 'use strict';
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;
}
return index;
}));