@visx/text
Version:
visx text
13 lines • 423 B
JavaScript
export default 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;
};
}