9a3c91b50b
Co-authored-by: Julien Valverdé <julien.valverde@mailo.com> Reviewed-on: Thilawyn/effect-fc#5
12 lines
305 B
TypeScript
12 lines
305 B
TypeScript
import { Effect } from "effect"
|
|
import { useMemo } from "./useMemo.js"
|
|
|
|
|
|
export const useOnce: {
|
|
<A, E, R>(factory: () => Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
|
|
} = Effect.fnUntraced(function* <A, E, R>(
|
|
factory: () => Effect.Effect<A, E, R>
|
|
) {
|
|
return yield* useMemo(factory, [])
|
|
})
|