@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
26 lines (24 loc) • 756 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMemoized = void 0;
const UNDEFINED_VALUE = Object.create(null);
exports.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