Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
17 lines
422 B
Plaintext
17 lines
422 B
Plaintext
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;
|
|
};
|
|
};
|
|
|
|
export { weakMemoize as default };
|