diff --git a/packages/effect-components/src/ReactHook.ts b/packages/effect-components/src/ReactHook.ts index 245424a..1eb7041 100644 --- a/packages/effect-components/src/ReactHook.ts +++ b/packages/effect-components/src/ReactHook.ts @@ -290,16 +290,18 @@ export const useStreamFromReactiveValues: { }) export const useSubscribeStream: { - (stream: Stream.Stream): Effect.Effect, never, R> ( + stream: Stream.Stream + ): Effect.Effect, never, R> + , E, R>( stream: Stream.Stream, initialValue: A, ): Effect.Effect, never, R> -} = Effect.fnUntraced(function* ( +} = Effect.fnUntraced(function* , E, R>( stream: Stream.Stream, initialValue?: A, ) { - const [reactStateValue, setReactStateValue] = React.useState>( + const [reactStateValue, setReactStateValue] = React.useState( React.useMemo(() => initialValue ? Option.some(initialValue) : Option.none(), @@ -311,5 +313,5 @@ export const useSubscribeStream: { v => Effect.sync(() => setReactStateValue(Option.some(v))), ), [stream]) - return reactStateValue + return reactStateValue as Option.Some })