0.1.1 (#2)
All checks were successful
Publish / publish (push) Successful in 14s
Lint / lint (push) Successful in 12s

Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: https://gitea:3000/Thilawyn/effect-fc/pulls/2
This commit was merged in pull request #2.
This commit is contained in:
Julien Valverdé
2025-07-18 16:23:15 +02:00
parent 3cb0964a48
commit 440eb38280
6 changed files with 40 additions and 12 deletions

View File

@@ -329,15 +329,22 @@ export const withOptions: {
))
export const withRuntime: {
<E, R, P extends {}>(
<T extends Component<any, R, any>, R>(
context: React.Context<Runtime.Runtime<R>>,
): (self: Component<E, R | Scope.Scope, P>) => React.FC<P>
): (self: T) => React.FC<T extends Suspense
? Component.Props<T> & SuspenseProps
: Component.Props<T>
>
<E, R, P extends {}>(
self: Component<E, R | Scope.Scope, P>,
self: Component<E, R, P> & Suspense,
context: React.Context<Runtime.Runtime<R>>,
): React.FC<P & SuspenseProps>
<E, R, P extends {}>(
self: Component<E, R, P>,
context: React.Context<Runtime.Runtime<R>>,
): React.FC<P>
} = Function.dual(2, <E, R, P extends {}>(
self: Component<E, R | Scope.Scope, P>,
self: Component<E, R, P>,
context: React.Context<Runtime.Runtime<R>>,
): React.FC<P> => function WithRuntime(props) {
const runtime = React.useContext(context)