slug-code/utils/lazySchema.ts
2026-03-31 12:46:52 -04:00

8 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())
}