Files
30-seconds-of-code/test/memoize/memoize.js
2018-01-09 06:09:49 -05:00

8 lines
218 B
JavaScript

module.exports = 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;
};