UNPKG

solidity-docgen

Version:

Documentation generator for Solidity smart contracts.

25 lines 770 B
"use strict"; 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