mono/packages/kbot/ref/utils/lazySchema.ts
2026-04-01 01:05:48 +02:00

9 lines
295 B
TypeScript

/**
* Returns a memoized factory function that constructs the value on first call.
* Used to defer Zod schema construction from module init time to first access.
*/
export function lazySchema<T>(factory: () => T): () => T {
let cached: T | undefined
return () => (cached ??= factory())
}