solidity-docgen
Version:
Documentation generator for Solidity smart contracts.
25 lines • 770 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.defineGetterMemoized = void 0;
function defineGetterMemoized(obj, key, getter) {
let state = 'todo';
let value;
Object.defineProperty(obj, key, {
enumerable: true,
get() {
switch (state) {
case 'done':
return value;
case 'doing':
throw new Error("Detected recursion");
case 'todo':
state = 'doing';
value = getter();
state = 'done';
return value;
}
}
});
}
exports.defineGetterMemoized = defineGetterMemoized;
//# sourceMappingURL=memoized-getter.js.map
;