jest-metadata
Version:
🦸♂️ Superhero power for your Jest reporters! 🦸♀️
28 lines • 803 B
JavaScript
;
/* eslint-disable prefer-rest-params,unicorn/no-for-loop */
Object.defineProperty(exports, "__esModule", { value: true });
exports.memoizeLast = void 0;
function memoizeLast(fn) {
let lastArgs;
let lastResult;
return function memoized() {
if (!lastArgs || !areArgumentsEqual(lastArgs, arguments)) {
lastArgs = arguments;
lastResult = Reflect.apply(fn, this, arguments);
}
return lastResult;
};
}
exports.memoizeLast = memoizeLast;
function areArgumentsEqual(args1, args2) {
if (args1.length !== args2.length) {
return false;
}
for (let i = 0; i < args1.length; i++) {
if (args1[i] !== args2[i]) {
return false;
}
}
return true;
}
//# sourceMappingURL=memoizeLast.js.map