Files
anomalyco_opencode/packages/opencode/src/util/lazy.ts
T
2026-05-02 15:11:23 -04:00

21 lines
333 B
TypeScript

export function lazy<T>(fn: () => T) {
let value: T | undefined
let loaded = false
const result = (): T => {
if (loaded) return value as T
value = fn()
loaded = true
return value as T
}
result.reset = () => {
loaded = false
value = undefined
}
result.loaded = () => loaded
return result
}