diff --git a/packages/effect-components/src/ReactManagedRuntime.ts b/packages/effect-components/src/ReactManagedRuntime.ts index 3d8ae41..b861aaa 100644 --- a/packages/effect-components/src/ReactManagedRuntime.ts +++ b/packages/effect-components/src/ReactManagedRuntime.ts @@ -16,28 +16,14 @@ export const make = ( }) -export interface SyncProviderProps { - readonly runtime: ReactManagedRuntime - readonly children?: React.ReactNode -} - -export const SyncProvider = ( - props: SyncProviderProps -): 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 extends React.SuspenseProps { readonly runtime: ReactManagedRuntime readonly children?: React.ReactNode } -export const AsyncProvider = ( +export function AsyncProvider( { runtime, children, ...suspenseProps }: AsyncProviderProps -): React.ReactNode => { +): React.ReactNode { const promise = React.useMemo(() => Effect.runPromise(runtime.runtime.runtimeEffect), [runtime]) return React.createElement( @@ -46,7 +32,6 @@ export const AsyncProvider = ( React.createElement(AsyncProviderInner, { runtime, promise, children }), ) } -AsyncProvider.displayName = "AsyncProvider" interface AsyncProviderInnerProps { readonly runtime: ReactManagedRuntime @@ -54,15 +39,9 @@ interface AsyncProviderInnerProps { readonly children?: React.ReactNode } -const AsyncProviderInner = ( +function AsyncProviderInner( { runtime, promise, children }: AsyncProviderInnerProps -): React.ReactNode => { +): React.ReactNode { const value = React.use(promise) - - return React.createElement( - runtime.context, - { value }, - children, - ) + return React.createElement(runtime.context, { value }, children) } -AsyncProviderInner.displayName = "AsyncProviderInner"