Provider refactoring
All checks were successful
Lint / lint (push) Successful in 13s

This commit is contained in:
Julien Valverdé
2025-03-28 19:18:46 +01:00
parent 0a4bb2856d
commit 8ea9146dd9
4 changed files with 71 additions and 25 deletions

View File

@@ -49,9 +49,13 @@ const makeProvider = <R>(Context: React.Context<Context.Context<R>>): ReactProvi
React.useEffect(() => isInitialRun.pipe(
Effect.if({
onTrue: () => Ref.set(isInitialRun, false),
onTrue: () => Ref.set(isInitialRun, false).pipe(
Effect.map(() =>
() => runSync(Scope.close(initialScope, Exit.void))
)
),
onFalse: () => Effect.Do.pipe(
Effect.tap(Scope.close(initialScope, Exit.void)),
Effect.bind("scope", () => Scope.make()),
Effect.bind("context", ({ scope }) => makeContext(scope)),
Effect.tap(({ context }) =>