0.1.3 #4

Merged
Thilawyn merged 90 commits from next into master 2025-08-23 03:07:28 +02:00
Showing only changes of commit 626556c92b - Show all commits

View File

@@ -115,9 +115,9 @@ export namespace make {
[Eff] extends [never] ? never : [Eff] extends [Utils.YieldWrap<Effect.Effect<infer _A, infer _E, infer R>>] ? R : never [Eff] extends [never] ? never : [Eff] extends [Utils.YieldWrap<Effect.Effect<infer _A, infer _E, infer R>>] ? R : never
>, >,
props: NoInfer<P>, props: NoInfer<P>,
) => B ) => B,
): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<B>>, Effect.Effect.Error<B>, Effect.Effect.Context<B>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<B>>, Effect.Effect.Error<B>, Effect.Effect.Context<B>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -128,8 +128,8 @@ export namespace make {
props: NoInfer<P>, props: NoInfer<P>,
) => B, ) => B,
b: (_: B, props: NoInfer<P>) => C, b: (_: B, props: NoInfer<P>) => C,
): Component<P, Effect.Effect.Error<C>, Effect.Effect.Context<C>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<C>>, Effect.Effect.Error<C>, Effect.Effect.Context<C>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -141,8 +141,8 @@ export namespace make {
) => B, ) => B,
b: (_: B, props: NoInfer<P>) => C, b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, c: (_: C, props: NoInfer<P>) => D,
): Component<P, Effect.Effect.Error<D>, Effect.Effect.Context<D>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<D>>, Effect.Effect.Error<D>, Effect.Effect.Context<D>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -155,8 +155,8 @@ export namespace make {
b: (_: B, props: NoInfer<P>) => C, b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, d: (_: D, props: NoInfer<P>) => E,
): Component<P, Effect.Effect.Error<E>, Effect.Effect.Context<E>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<E>>, Effect.Effect.Error<E>, Effect.Effect.Context<E>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -170,8 +170,8 @@ export namespace make {
c: (_: C, props: NoInfer<P>) => D, c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => F, e: (_: E, props: NoInfer<P>) => F,
): Component<P, Effect.Effect.Error<F>, Effect.Effect.Context<F>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<F>>, Effect.Effect.Error<F>, Effect.Effect.Context<F>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -186,8 +186,8 @@ export namespace make {
d: (_: D, props: NoInfer<P>) => E, d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => F, e: (_: E, props: NoInfer<P>) => F,
f: (_: F, props: NoInfer<P>) => G, f: (_: F, props: NoInfer<P>) => G,
): Component<P, Effect.Effect.Error<G>, Effect.Effect.Context<G>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<G>>, Effect.Effect.Error<G>, Effect.Effect.Context<G>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G, H extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G, H extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -203,8 +203,8 @@ export namespace make {
e: (_: E, props: NoInfer<P>) => F, e: (_: E, props: NoInfer<P>) => F,
f: (_: F, props: NoInfer<P>) => G, f: (_: F, props: NoInfer<P>) => G,
g: (_: G, props: NoInfer<P>) => H, g: (_: G, props: NoInfer<P>) => H,
): Component<P, Effect.Effect.Error<H>, Effect.Effect.Context<H>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<H>>, Effect.Effect.Error<H>, Effect.Effect.Context<H>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G, H, I extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G, H, I extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -221,8 +221,8 @@ export namespace make {
f: (_: F, props: NoInfer<P>) => G, f: (_: F, props: NoInfer<P>) => G,
g: (_: G, props: NoInfer<P>) => H, g: (_: G, props: NoInfer<P>) => H,
h: (_: H, props: NoInfer<P>) => I, h: (_: H, props: NoInfer<P>) => I,
): Component<P, Effect.Effect.Error<I>, Effect.Effect.Context<I>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<I>>, Effect.Effect.Error<I>, Effect.Effect.Context<I>>
<Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G, H, I, J extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( <Eff extends Utils.YieldWrap<Effect.Effect<any, any, any>>, A, B, C, D, E, F, G, H, I, J extends Effect.Effect<React.ReactNode, any, any>, P = never>(
body: (props: P) => Generator<Eff, A, never>, body: (props: P) => Generator<Eff, A, never>,
a: ( a: (
_: Effect.Effect< _: Effect.Effect<
@@ -240,85 +240,85 @@ export namespace make {
g: (_: G, props: NoInfer<P>) => H, g: (_: G, props: NoInfer<P>) => H,
h: (_: H, props: NoInfer<P>) => I, h: (_: H, props: NoInfer<P>) => I,
i: (_: I, props: NoInfer<P>) => J, i: (_: I, props: NoInfer<P>) => J,
): Component<P, Effect.Effect.Error<J>, Effect.Effect.Context<J>> ): Component<P, Effect.Effect.Success<Effect.Effect.AsEffect<J>>, Effect.Effect.Error<J>, Effect.Effect.Context<J>>
} }
export type NonGen = { export type NonGen = {
<Eff extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, P extends {} = {}>(
body: (props: P) => Eff // body: (props: P) => Eff
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => Eff, // a: (_: A, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => Eff, // b: (_: B, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => Eff, // c: (_: C, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, // c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => Eff, // d: (_: D, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, // c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, // d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => Eff, // e: (_: E, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, // c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, // d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => F, // e: (_: E, props: NoInfer<P>) => F,
f: (_: F, props: NoInfer<P>) => Eff, // f: (_: F, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, G, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, G, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, // c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, // d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => F, // e: (_: E, props: NoInfer<P>) => F,
f: (_: F, props: NoInfer<P>) => G, // f: (_: F, props: NoInfer<P>) => G,
g: (_: G, props: NoInfer<P>) => Eff, // g: (_: G, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, G, H, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, G, H, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, // c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, // d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => F, // e: (_: E, props: NoInfer<P>) => F,
f: (_: F, props: NoInfer<P>) => G, // f: (_: F, props: NoInfer<P>) => G,
g: (_: G, props: NoInfer<P>) => H, // g: (_: G, props: NoInfer<P>) => H,
h: (_: H, props: NoInfer<P>) => Eff, // h: (_: H, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
<Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, G, H, I, P extends {} = {}>( // <Eff extends Effect.Effect<React.ReactNode, any, any>, A, B, C, D, E, F, G, H, I, P extends {} = {}>(
body: (props: P) => A, // body: (props: P) => A,
a: (_: A, props: NoInfer<P>) => B, // a: (_: A, props: NoInfer<P>) => B,
b: (_: B, props: NoInfer<P>) => C, // b: (_: B, props: NoInfer<P>) => C,
c: (_: C, props: NoInfer<P>) => D, // c: (_: C, props: NoInfer<P>) => D,
d: (_: D, props: NoInfer<P>) => E, // d: (_: D, props: NoInfer<P>) => E,
e: (_: E, props: NoInfer<P>) => F, // e: (_: E, props: NoInfer<P>) => F,
f: (_: F, props: NoInfer<P>) => G, // f: (_: F, props: NoInfer<P>) => G,
g: (_: G, props: NoInfer<P>) => H, // g: (_: G, props: NoInfer<P>) => H,
h: (_: H, props: NoInfer<P>) => I, // h: (_: H, props: NoInfer<P>) => I,
i: (_: I, props: NoInfer<P>) => Eff, // i: (_: I, props: NoInfer<P>) => Eff,
): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>> // ): Component<P, Effect.Effect.Error<Eff>, Effect.Effect.Context<Eff>>
} }
} }