mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-26 18:35:14 +00:00
21 lines
454 B
JavaScript
21 lines
454 B
JavaScript
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
|
||
|
var weakMemoize = function weakMemoize(func) {
|
||
|
// $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps
|
||
|
var cache = new WeakMap();
|
||
|
return function (arg) {
|
||
|
if (cache.has(arg)) {
|
||
|
// $FlowFixMe
|
||
|
return cache.get(arg);
|
||
|
}
|
||
|
|
||
|
var ret = func(arg);
|
||
|
cache.set(arg, ret);
|
||
|
return ret;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
exports.default = weakMemoize;
|