JSFiddle - React, Tailwind, and code Playground
by avrelian
HTML
<div id="root">
</div>
JavaScript
const memoize=f=>(...a)=>f[k=JSON.stringify(a)]=k in f?f[k]:f(...a)
const log = memoize(console.log);
const inc = memoize(o => o.x + 1);
console.log(log(false));
console.log(log('2', {x:1}));
console.log(log(false));
console.log(log('2', {x:1}));
console.log(inc({x:1})==2 && inc({x:2}) == 3 && inc({x:1}) == 2 && inc({x:2}) == 3 && inc({x:3}) == 4);
document.querySelector('#root').textContent = memoize.toString().replace(/\s+/g, ' ').length;