campus-errand/miniapp/node_modules/fast-check/lib/cjs/arbitrary/memo.js
2026-03-01 05:01:47 +08:00

19 lines
648 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.memo = memo;
const globals_js_1 = require("../utils/globals.js");
let contextRemainingDepth = 10;
/**@__NO_SIDE_EFFECTS__*/function memo(builder) {
const previous = {};
return ((maxDepth) => {
const n = maxDepth !== undefined ? maxDepth : contextRemainingDepth;
if (!(0, globals_js_1.safeHasOwnProperty)(previous, n)) {
const prev = contextRemainingDepth;
contextRemainingDepth = n - 1;
previous[n] = builder(n);
contextRemainingDepth = prev;
}
return previous[n];
});
}