@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
23 lines (21 loc) • 651 B
JavaScript
const UNDEFINED_VALUE = Object.create(null);
export const createMemoized = () => {
const caches = {};
return (cacheName, name, getValue) => {
let cache = caches[cacheName];
if (cache === undefined) {
cache = new Map();
caches[cacheName] = cache;
}
let value = cache.get(name);
if (value === undefined) {
value = getValue();
cache.set(name, value === undefined ? UNDEFINED_VALUE : value);
}
if (value === UNDEFINED_VALUE) {
return undefined;
}
return value;
};
};
//# sourceMappingURL=createMemoized.js.map