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

This commit is contained in:
Julien Valverdé
2025-07-01 16:44:28 +02:00
parent 8025ec4a22
commit 28b6e9276e

View File

@@ -16,28 +16,14 @@ export const make = <R, ER>(
}) })
export interface SyncProviderProps<R, ER> {
readonly runtime: ReactManagedRuntime<R, ER>
readonly children?: React.ReactNode
}
export const SyncProvider = <R, ER>(
props: SyncProviderProps<R, ER>
): React.ReactNode => React.createElement(props.runtime.context, {
value: React.useMemo(() => Effect.runSync(props.runtime.runtime.runtimeEffect), [props.runtime]),
children: props.children,
})
SyncProvider.displayName = "ReactManagedRuntimeSyncProvider"
export interface AsyncProviderProps<R, ER> extends React.SuspenseProps { export interface AsyncProviderProps<R, ER> extends React.SuspenseProps {
readonly runtime: ReactManagedRuntime<R, ER> readonly runtime: ReactManagedRuntime<R, ER>
readonly children?: React.ReactNode readonly children?: React.ReactNode
} }
export const AsyncProvider = <R, ER>( export function AsyncProvider<R, ER>(
{ runtime, children, ...suspenseProps }: AsyncProviderProps<R, ER> { runtime, children, ...suspenseProps }: AsyncProviderProps<R, ER>
): React.ReactNode => { ): React.ReactNode {
const promise = React.useMemo(() => Effect.runPromise(runtime.runtime.runtimeEffect), [runtime]) const promise = React.useMemo(() => Effect.runPromise(runtime.runtime.runtimeEffect), [runtime])
return React.createElement( return React.createElement(
@@ -46,7 +32,6 @@ export const AsyncProvider = <R, ER>(
React.createElement(AsyncProviderInner<R, ER>, { runtime, promise, children }), React.createElement(AsyncProviderInner<R, ER>, { runtime, promise, children }),
) )
} }
AsyncProvider.displayName = "AsyncProvider"
interface AsyncProviderInnerProps<R, ER> { interface AsyncProviderInnerProps<R, ER> {
readonly runtime: ReactManagedRuntime<R, ER> readonly runtime: ReactManagedRuntime<R, ER>
@@ -54,15 +39,9 @@ interface AsyncProviderInnerProps<R, ER> {
readonly children?: React.ReactNode readonly children?: React.ReactNode
} }
const AsyncProviderInner = <R, ER>( function AsyncProviderInner<R, ER>(
{ runtime, promise, children }: AsyncProviderInnerProps<R, ER> { runtime, promise, children }: AsyncProviderInnerProps<R, ER>
): React.ReactNode => { ): React.ReactNode {
const value = React.use(promise) const value = React.use(promise)
return React.createElement(runtime.context, { value }, children)
return React.createElement(
runtime.context,
{ value },
children,
)
} }
AsyncProviderInner.displayName = "AsyncProviderInner"