@visx/text
Version:
visx text
19 lines (18 loc) • 515 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = memoize;
function memoize(func, resolver) {
const cache = new Map();
return function memoized() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
const key = resolver(...args);
if (cache.has(key)) return cache.get(key);
const result = func.apply(this, args);
cache.set(key, result);
return result;
};
}