UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

23 lines (21 loc) 651 B
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