12 lines
205 B
TypeScript
12 lines
205 B
TypeScript
export function lazy<T>(fn: () => T) {
|
|
let value: T | undefined
|
|
let loaded = false
|
|
|
|
return (): T => {
|
|
if (loaded) return value as T
|
|
loaded = true
|
|
value = fn()
|
|
return value as T
|
|
}
|
|
}
|