Files
moltbot/src/plugins/runtime/runtime-cache.ts
2026-04-18 18:31:13 +01:00

16 lines
353 B
TypeScript

export function defineCachedValue(target: object, key: PropertyKey, create: () => unknown): void {
let cached: unknown;
let ready = false;
Object.defineProperty(target, key, {
configurable: true,
enumerable: true,
get() {
if (!ready) {
cached = create();
ready = true;
}
return cached;
},
});
}