Fix
All checks were successful
Lint / lint (push) Successful in 11s

This commit is contained in:
Julien Valverdé
2025-08-20 04:27:03 +02:00
parent 1f0f36621d
commit d5b55c5902
3 changed files with 5 additions and 5 deletions

View File

@@ -52,9 +52,9 @@ export const useOptionalInput: {
// Only mutate the internal state if the upstream value is actually different. This avoids infinite re-render loops.
Stream.runForEach(Stream.changesWith(options.ref.changes, Equivalence.strict()), Option.match({
onSome: upstreamValue => Effect.whenEffect(
Effect.andThen(
Schema.encode(options.schema)(upstreamValue),
encodedUpstreamValue => Ref.set(internalRef, encodedUpstreamValue),
Schema.encode(options.schema)(upstreamValue).pipe(
Effect.andThen(encodedUpstreamValue => Ref.set(internalRef, encodedUpstreamValue)),
Effect.andThen(Ref.set(enabledRef, true)),
),
internalRef.pipe(
Effect.andThen(Schema.decode(options.schema)),

View File

@@ -14,7 +14,7 @@ export const useRefState: {
const [reactStateValue, setReactStateValue] = React.useState(yield* useOnce(() => ref))
yield* useFork(() => Stream.runForEach(
Stream.drop(Stream.changesWith(ref.changes, Equivalence.strict()), 1),
Stream.changesWith(ref.changes, Equivalence.strict()),
v => Effect.sync(() => setReactStateValue(v)),
), [ref])

View File

@@ -16,7 +16,7 @@ export const useSubscribeRefs: {
))
yield* useFork(() => pipe(
refs.map(ref => Stream.drop(Stream.changesWith(ref.changes, Equivalence.strict()), 1)),
refs.map(ref => Stream.changesWith(ref.changes, Equivalence.strict())),
streams => Stream.zipLatestAll(...streams),
Stream.runForEach(v =>
Effect.sync(() => setReactStateValue(v))