Files
30-seconds-of-code/test/memoize/memoize.js
2018-08-02 13:32:50 +03:00

10 lines
258 B
JavaScript

const memoize = fn => {
const cache = new Map();
const cached = function(val) {
return cache.has(val) ? cache.get(val) : cache.set(val, fn.call(this, val)) && cache.get(val);
};
cached.cache = cache;
return cached;
};
module.exports = memoize;