all files / es6/ memoize.js

100% Statements 7/7
100% Branches 2/2
100% Functions 2/2
100% Lines 7/7
1 2 3 4 5 6 7 8 9 10 11 12 13 14      765× 765×        
"use strict";
 
function memoize(func) {
	const stringifyJson = JSON.stringify,
		cache = {};
	function cachedfun() {
		const hash = stringifyJson(arguments);
		return (hash in cache) ? cache[hash] : cache[hash] = func.apply(this, arguments);
	}
	return cachedfun;
}
 
module.exports = memoize;