package.dist.emotion-weak-memoize.cjs.dev.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of weak-memoize Show documentation
Show all versions of weak-memoize Show documentation
A memoization function that uses a WeakMap
The newest version!
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var weakMemoize = function weakMemoize(func) {
var cache = new WeakMap();
return function (arg) {
if (cache.has(arg)) {
// Use non-null assertion because we just checked that the cache `has` it
// This allows us to remove `undefined` from the return value
return cache.get(arg);
}
var ret = func(arg);
cache.set(arg, ret);
return ret;
};
};
exports["default"] = weakMemoize;