Files
effect-view/packages/effect-fc/src/hooks/Hooks/useRefFromReactiveValue.ts
T
Julien Valverdé c158cdef19
Lint / lint (push) Successful in 12s
Untraced hooks
2025-08-07 07:42:34 +02:00

13 lines
429 B
TypeScript

import { Effect, Ref, SubscriptionRef } from "effect"
import { useEffect } from "./useEffect.js"
import { useOnce } from "./useOnce.js"
export const useRefFromReactiveValue: {
<A>(value: A): Effect.Effect<SubscriptionRef.SubscriptionRef<A>>
} = Effect.fnUntraced(function*(value) {
const ref = yield* useOnce(() => SubscriptionRef.make(value))
yield* useEffect(() => Ref.set(ref, value), [value])
return ref
})