Files
openclaw/src/plugins/runtime/runtime-cache.ts
T
2026-06-03 20:36:52 -04:00

17 lines
427 B
TypeScript

/** Defines a lazily computed enumerable property on a runtime facade. */
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;
},
});
}