@effect-app/infra 2.26.0 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/_cjs/api/routing.cjs +15 -6
  3. package/_cjs/api/routing.cjs.map +1 -1
  4. package/_cjs/api/{routing7.cjs → routing.legacy2.cjs} +7 -16
  5. package/_cjs/api/routing.legacy2.cjs.map +1 -0
  6. package/_cjs/api/{routing6.cjs → routing.legacy3.cjs} +1 -1
  7. package/_cjs/api/routing.legacy3.cjs.map +1 -0
  8. package/dist/api/routing.d.ts +309 -22
  9. package/dist/api/routing.d.ts.map +1 -1
  10. package/dist/api/routing.js +22 -8
  11. package/dist/api/routing.legacy2.d.ts +192 -0
  12. package/dist/api/routing.legacy2.d.ts.map +1 -0
  13. package/dist/api/routing.legacy2.js +226 -0
  14. package/dist/api/{routing6.d.ts → routing.legacy3.d.ts} +1 -1
  15. package/dist/api/routing.legacy3.d.ts.map +1 -0
  16. package/dist/api/routing.legacy3.js +233 -0
  17. package/package.json +29 -29
  18. package/src/api/{routing7.ts → routing.legacy2.ts} +10 -121
  19. package/src/api/routing.ts +125 -10
  20. package/test/{controller7.test.ts → controller.legacy2.test.ts} +12 -59
  21. package/test/{controller6.test.ts → controller.legacy3.test.ts} +2 -2
  22. package/test/controller.test.ts +57 -10
  23. package/test/dist/controller.legacy2.test.d.ts.map +1 -0
  24. package/test/dist/controller.legacy3.test.d.ts.map +1 -0
  25. package/test/dist/controller.test copy.d.ts +169 -0
  26. package/test/dist/controller.test copy.d.ts.map +1 -0
  27. package/test/dist/controller.test copy.js +46 -23
  28. package/test/dist/controller.test.d.ts.map +1 -1
  29. package/test/dist/controller6.test.d.ts.map +1 -1
  30. package/test/dist/controller7.test.d.ts.map +1 -1
  31. package/_cjs/api/routing6.cjs.map +0 -1
  32. package/_cjs/api/routing7.cjs.map +0 -1
  33. package/dist/api/routing6.d.ts.map +0 -1
  34. package/dist/api/routing6.js +0 -233
  35. package/dist/api/routing7.d.ts +0 -375
  36. package/dist/api/routing7.d.ts.map +0 -1
  37. package/dist/api/routing7.js +0 -240
  38. package/test/dist/controller5.test.d.ts.map +0 -1
  39. package/vitest.config.ts.timestamp-1711656440838-19c636fe320df.mjs +0 -0
  40. package/vitest.config.ts.timestamp-1711724061890-6ecedb0a07fdd.mjs +0 -0
  41. package/vitest.config.ts.timestamp-1711743489537-da8d9e5f66c9f.mjs +0 -0
  42. package/vitest.config.ts.timestamp-1711744615239-dcf257a844e01.mjs +0 -37
  43. /package/src/api/{routing6.ts → routing.legacy3.ts} +0 -0
@@ -0,0 +1,192 @@
1
+ import type * as HttpApp from "@effect/platform/HttpApp";
2
+ import { Rpc, RpcRouter } from "@effect/rpc";
3
+ import type { NonEmptyReadonlyArray } from "effect-app";
4
+ import { Array, Effect, Layer, S } from "effect-app";
5
+ import type { GetEffectContext, RPCContextMap } from "effect-app/client/req";
6
+ import type { HttpServerError } from "effect-app/http";
7
+ import { HttpRouter } from "effect-app/http";
8
+ import type { Contravariant } from "effect/Types";
9
+ import type { Middleware } from "./routing/DynamicMiddleware.js";
10
+ export type _R<T extends Effect<any, any, any>> = [T] extends [
11
+ Effect<any, any, infer R>
12
+ ] ? R : never;
13
+ export type _E<T extends Effect<any, any, any>> = [T] extends [
14
+ Effect<any, infer E, any>
15
+ ] ? E : never;
16
+ export type EffectDeps<A> = {
17
+ [K in keyof A as A[K] extends Effect<any, any, any> ? K : never]: A[K] extends Effect<any, any, any> ? A[K] : never;
18
+ };
19
+ /**
20
+ * Plain jane JSON version
21
+ * @deprecated use HttpRpcRouterNoStream.toHttpApp once support options
22
+ */
23
+ export declare const toHttpApp: <R extends RpcRouter.RpcRouter<any, any>>(self: R, options?: {
24
+ readonly spanPrefix?: string;
25
+ }) => HttpApp.Default<HttpServerError.RequestError, RpcRouter.RpcRouter.Context<R>>;
26
+ export interface Hint<Err extends string> {
27
+ Err: Err;
28
+ }
29
+ type HandleVoid<Expected, Actual, Result> = [Expected] extends [void] ? [Actual] extends [void] ? Result : Hint<"You're returning non void for a void Response, please fix"> : Result;
30
+ type AnyRequestModule = S.Schema.Any & {
31
+ _tag: string;
32
+ success?: S.Schema.Any;
33
+ failure?: S.Schema.Any;
34
+ };
35
+ export interface AddAction<Actions extends AnyRequestModule, Accum extends Record<string, any> = {}> {
36
+ accum: Accum;
37
+ add<A extends Handler<Actions, any, any>>(a: A): Exclude<Actions, A extends Handler<infer M, any, any> ? M : never> extends never ? Accum & {
38
+ [K in A extends Handler<infer M, any, any> ? M extends AnyRequestModule ? M["_tag"] : never : never]: A;
39
+ } : AddAction<Exclude<Actions, A extends Handler<infer M, any, any> ? M : never>, Accum & {
40
+ [K in A extends Handler<infer M, any, any> ? M extends AnyRequestModule ? M["_tag"] : never : never]: A;
41
+ }> & Accum & {
42
+ [K in A extends Handler<infer M, any, any> ? M extends AnyRequestModule ? M["_tag"] : never : never]: A;
43
+ };
44
+ }
45
+ type GetSuccess<T> = T extends {
46
+ success: S.Schema.Any;
47
+ } ? T["success"] : typeof S.Void;
48
+ type GetSuccessShape<Action extends {
49
+ success?: S.Schema.Any;
50
+ }, RT extends "d" | "raw"> = RT extends "raw" ? S.Schema.Encoded<GetSuccess<Action>> : S.Schema.Type<GetSuccess<Action>>;
51
+ type GetFailure<T extends {
52
+ failure?: S.Schema.Any;
53
+ }> = T["failure"] extends never ? typeof S.Never : T["failure"];
54
+ type HandlerFull<Action extends AnyRequestModule, RT extends "raw" | "d", A, E, R> = {
55
+ new (): {};
56
+ _tag: RT;
57
+ stack: string;
58
+ handler: (req: S.Schema.Type<Action>) => Effect<A, E, R>;
59
+ };
60
+ export interface Handler<Action extends AnyRequestModule, RT extends "raw" | "d", R> extends HandlerFull<Action, RT, GetSuccessShape<Action, RT>, S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError, R> {
61
+ }
62
+ type AHandler<Action extends AnyRequestModule> = Handler<Action, any, any>;
63
+ type Filter<T> = {
64
+ [K in keyof T as T[K] extends AnyRequestModule ? K : never]: T[K];
65
+ };
66
+ export declare const RouterSymbol: unique symbol;
67
+ export interface RouterShape<Rsc> {
68
+ [RouterSymbol]: Rsc;
69
+ }
70
+ type RPCRouteR<T extends Rpc.Rpc<any, any>> = [T] extends [
71
+ Rpc.Rpc<any, infer R>
72
+ ] ? R : never;
73
+ type Match<Rsc extends Record<string, any>, CTXMap extends Record<string, any>, RT extends "raw" | "d", Key extends keyof Rsc, Context> = {
74
+ <A extends GetSuccessShape<Rsc[Key], RT>, R2 = never, E = never>(f: Effect<A, E, R2>): HandleVoid<GetSuccessShape<Rsc[Key], RT>, A, Handler<Rsc[Key], RT, Exclude<Context | Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>, HttpRouter.HttpRouter.Provided>>>;
75
+ <A extends GetSuccessShape<Rsc[Key], RT>, R2 = never, E = never>(f: (req: S.Schema.Type<Rsc[Key]>) => Effect<A, E, R2>): HandleVoid<GetSuccessShape<Rsc[Key], RT>, A, Handler<Rsc[Key], RT, Exclude<Context | Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>, HttpRouter.HttpRouter.Provided>>>;
76
+ };
77
+ export type RouteMatcher<CTXMap extends Record<string, any>, Rsc extends Record<string, any>, Context> = {
78
+ [Key in keyof Filter<Rsc>]: Match<Rsc, CTXMap, "d", Key, Context> & {
79
+ success: Rsc[Key]["success"];
80
+ successRaw: S.SchemaClass<S.Schema.Encoded<Rsc[Key]["success"]>>;
81
+ failure: Rsc[Key]["failure"];
82
+ /**
83
+ * Requires the Encoded shape (e.g directly undecoded from DB, so that we don't do multiple Decode/Encode)
84
+ */
85
+ raw: Match<Rsc, CTXMap, "raw", Key, Context>;
86
+ };
87
+ };
88
+ export declare const makeMiddleware: <Context, CTXMap extends Record<string, RPCContextMap.Any>, RMW, Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[]>(content: Middleware<Context, CTXMap, RMW, Layers>) => Middleware<Context, CTXMap, RMW, Layers>;
89
+ export declare const makeRouter: <Context, CTXMap extends Record<string, RPCContextMap.Any>, RMW, Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[]>(middleware: Middleware<Context, CTXMap, RMW, Layers>, devMode: boolean) => {
90
+ matchAll: <T extends {
91
+ [key: string]: {
92
+ Router: {
93
+ router: Effect<HttpRouter.HttpRouter<any, any>, any, any>;
94
+ };
95
+ routes: Layer.Layer<any, any, any>;
96
+ moduleName: string;
97
+ };
98
+ }, A, E, R>(handlers: T, requestLayer: Layer.Layer<A, E, R>) => {
99
+ layer: Layer.Layer<never, Layer.Layer.Error<(typeof handlers)[keyof typeof handlers]["routes"]>, Layer.Layer.Context<(typeof handlers)[keyof typeof handlers]["routes"]>>;
100
+ Router: HttpRouter.HttpRouter.TagClass<"RootRouter", "RootRouter", Effect.Effect.Success<T[keyof T]["Router"]["router"]> extends infer T_1 ? T_1 extends Effect.Effect.Success<T[keyof T]["Router"]["router"]> ? T_1 extends HttpRouter.HttpRouter<infer E_1, any> ? E_1 : never : never : never, R | Exclude<Effect.Effect.Success<T[keyof T]["Router"]["router"]> extends infer T_2 ? T_2 extends Effect.Effect.Success<T[keyof T]["Router"]["router"]> ? T_2 extends HttpRouter.HttpRouter<any, infer R_1> ? R_1 : never : never : never, A>>;
101
+ };
102
+ matchFor: <const ModuleName extends string, const Rsc extends Record<string, any>>(rsc: Rsc & {
103
+ meta: {
104
+ moduleName: ModuleName;
105
+ };
106
+ }) => {
107
+ <const Make extends {
108
+ dependencies: Array<Layer.Layer.Any>;
109
+ effect: Effect<{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }, any, Make["strict"] extends false ? any : Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
110
+ strict?: boolean;
111
+ /** @deprecated */
112
+ readonly ಠ_ಠ: never;
113
+ }>(make: Make): {
114
+ moduleName: ModuleName;
115
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<Context, HttpRouter.HttpRouter.Provided> | Exclude<RPCRouteR<{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<MakeHandlers<Make, Filter<Rsc>>[K]["handler"]>>>; }[keyof Filter<Rsc>]>, HttpRouter.HttpRouter.Provided>>;
116
+ routes: Layer.Layer<RouterShape<Rsc>, MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<MakeContext<Make> | RMW, (Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never) | (Layers extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof Layers]: Layer.Layer.Success<Layers[k_3]>; }[number] : never)>>;
117
+ };
118
+ <const Make extends {
119
+ dependencies: Array<Layer.Layer.Any>;
120
+ effect: Effect<{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }, any, Make["strict"] extends false ? any : Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
121
+ strict?: boolean;
122
+ /** @deprecated */
123
+ readonly ಠ_ಠ: never;
124
+ }>(make: Make): {
125
+ moduleName: ModuleName;
126
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<Context, HttpRouter.HttpRouter.Provided> | Exclude<RPCRouteR<{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<MakeHandlers<Make, Filter<Rsc>>[K]["handler"]>>>; }[keyof Filter<Rsc>]>, HttpRouter.HttpRouter.Provided>>;
127
+ routes: Layer.Layer<RouterShape<Rsc>, MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<MakeContext<Make> | RMW, (Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never) | (Layers extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof Layers]: Layer.Layer.Success<Layers[k_3]>; }[number] : never)>>;
128
+ };
129
+ <const Make extends {
130
+ dependencies: Array<Layer.Layer.Any>;
131
+ effect: Effect<{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }, any, Make["strict"] extends false ? any : Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
132
+ strict?: boolean;
133
+ /** @deprecated */
134
+ readonly ಠ_ಠ: never;
135
+ }>(make: Make): {
136
+ moduleName: ModuleName;
137
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<Context, HttpRouter.HttpRouter.Provided> | Exclude<RPCRouteR<{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<MakeHandlers<Make, Filter<Rsc>>[K]["handler"]>>>; }[keyof Filter<Rsc>]>, HttpRouter.HttpRouter.Provided>>;
138
+ routes: Layer.Layer<RouterShape<Rsc>, MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<MakeContext<Make> | RMW, (Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never) | (Layers extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof Layers]: Layer.Layer.Success<Layers[k_3]>; }[number] : never)>>;
139
+ };
140
+ <const Make extends {
141
+ dependencies: Array<Layer.Layer.Any>;
142
+ effect: Effect<{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }, any, Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
143
+ strict?: boolean;
144
+ /** @deprecated */
145
+ readonly ಠ_ಠ: never;
146
+ }>(make: Make): {
147
+ moduleName: ModuleName;
148
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<Context, HttpRouter.HttpRouter.Provided> | Exclude<RPCRouteR<{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<MakeHandlers<Make, Filter<Rsc>>[K]["handler"]>>>; }[keyof Filter<Rsc>]>, HttpRouter.HttpRouter.Provided>>;
149
+ routes: Layer.Layer<RouterShape<Rsc>, MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<MakeContext<Make> | RMW, (Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never) | (Layers extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof Layers]: Layer.Layer.Success<Layers[k_3]>; }[number] : never)>>;
150
+ };
151
+ <const Make extends {
152
+ dependencies: Array<Layer.Layer.Any>;
153
+ effect: Effect<{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }, any, Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
154
+ strict?: boolean;
155
+ }>(make: Make): {
156
+ moduleName: ModuleName;
157
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<Context, HttpRouter.HttpRouter.Provided> | Exclude<RPCRouteR<{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<MakeHandlers<Make, Filter<Rsc>>[K]["handler"]>>>; }[keyof Filter<Rsc>]>, HttpRouter.HttpRouter.Provided>>;
158
+ routes: Layer.Layer<RouterShape<Rsc>, MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<MakeContext<Make> | RMW, (Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never) | (Layers extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof Layers]: Layer.Layer.Success<Layers[k_3]>; }[number] : never)>>;
159
+ };
160
+ <const Make extends {
161
+ dependencies: [...Make["dependencies"], ...Exclude<Effect.Context<Make["effect"]>, MakeDepsOut<Make>> extends never ? [] : [Layer.Layer<Exclude<Effect.Context<Make["effect"]>, MakeDepsOut<Make>>, never, never>]];
162
+ effect: Effect<{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }, any, any>;
163
+ strict?: boolean;
164
+ }>(make: Make): {
165
+ moduleName: ModuleName;
166
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<Context, HttpRouter.HttpRouter.Provided>>;
167
+ routes: any;
168
+ };
169
+ } & RouteMatcher<CTXMap, Rsc, Context> & {
170
+ router: AddAction<Filter<Rsc>[keyof Filter<Rsc>], {}>;
171
+ };
172
+ };
173
+ export type MakeDeps<Make> = Make extends {
174
+ readonly dependencies: ReadonlyArray<Layer.Layer.Any>;
175
+ } ? Make["dependencies"][number] : never;
176
+ export type MakeErrors<Make> = Make extends {
177
+ readonly effect: Effect<any, infer E, any>;
178
+ } ? E : never;
179
+ export type MakeContext<Make> = Make extends {
180
+ readonly effect: Effect<any, any, infer R>;
181
+ } ? R : never;
182
+ export type MakeHandlers<Make, Handlers extends Record<string, any>> = Make extends {
183
+ readonly effect: Effect<{
184
+ [K in keyof Handlers]: AHandler<Handlers[K]>;
185
+ }, any, any>;
186
+ } ? Effect.Success<Make["effect"]> : never;
187
+ /**
188
+ * @since 3.9.0
189
+ */
190
+ export type MakeDepsOut<Make> = Contravariant.Type<MakeDeps<Make>[Layer.LayerTypeId]["_ROut"]>;
191
+ export {};
192
+ //# sourceMappingURL=routing.legacy2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.legacy2.d.ts","sourceRoot":"","sources":["../../src/api/routing.legacy2.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAE,KAAK,EAAyB,MAAM,EAAkB,KAAK,EAAa,CAAC,EAAkB,MAAM,YAAY,CAAA;AACtH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAyC,MAAM,iBAAiB,CAAA;AAEnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAMhE,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAC5D,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;CAC1B,GAAG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;CAC1B,GAAG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACpH,CAAA;AACD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,KAAG,OAAO,CAAC,OAAO,CACjB,eAAe,CAAC,YAAY,EAC5B,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAkC/B,CAAA;AAED,MAAM,WAAW,IAAI,CAAC,GAAG,SAAS,MAAM;IACtC,GAAG,EAAE,GAAG,CAAA;CACT;AAED,KAAK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GACjE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,2DAA2D,CAAC,GACpG,MAAM,CAAA;AAEV,KAAK,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;CAAE,CAAA;AACvG,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,gBAAgB,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IACjG,KAAK,EAAE,KAAK,CAAA;IACZ,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EACtC,CAAC,EAAE,CAAC,GACH,OAAO,CAAC,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,GAC7E,KAAK,GACL;SAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC;KAAE,GAE3G,SAAS,CACT,OAAO,CAAC,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAChE,KAAK,GACL;SAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC;KAAE,CAC9G,GACC,KAAK,GACL;SAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC;KAAE,CAAA;CAClH;AAED,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAA;AAEvF,KAAK,eAAe,CAAC,MAAM,SAAS;IAAE,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;CAAE,EAAE,EAAE,SAAS,GAAG,GAAG,KAAK,IAAI,EAAE,SAAS,KAAK,GACtG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GACpC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AACrC,KAAK,UAAU,CAAC,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;CAAE,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;AAElH,KAAK,WAAW,CAAC,MAAM,SAAS,gBAAgB,EAAE,EAAE,SAAS,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;IACnF,QAAO,EAAE,CAAA;IACT,IAAI,EAAE,EAAE,CAAA;IACR,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CACP,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KACvB,MAAM,CACT,CAAC,EACD,CAAC,EACD,CAAC,CACF,CAAA;CACF,CAAA;AAED,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,gBAAgB,EAAE,EAAE,SAAS,KAAK,GAAG,GAAG,EAAE,CAAC,CAAE,SACnF,WAAW,CACT,MAAM,EACN,EAAE,EACF,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,EAC5D,CAAC,CACF;CAEF;AAED,KAAK,QAAQ,CAAC,MAAM,SAAS,gBAAgB,IAAI,OAAO,CACtD,MAAM,EACN,GAAG,EACH,GAAG,CACJ,CAAA;AAED,KAAK,MAAM,CAAC,CAAC,IAAI;KACd,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAA;AAED,eAAO,MAAM,YAAY,eAAW,CAAA;AACpC,MAAM,WAAW,WAAW,CAAC,GAAG;IAC9B,CAAC,YAAY,CAAC,EAAE,GAAG,CAAA;CACpB;AAED,KAAK,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IACxD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;CACtB,GAAG,CAAC,GACD,KAAK,CAAA;AAOT,KAAK,KAAK,CACR,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,EAAE,SAAS,KAAK,GAAG,GAAG,EACtB,GAAG,SAAS,MAAM,GAAG,EACrB,OAAO,IACL;IAMF,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAC7D,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAClB,UAAU,CACX,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAC7B,CAAC,EACD,OAAO,CACL,GAAG,CAAC,GAAG,CAAC,EACR,EAAE,EACF,OAAO,CACL,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CACF,CAAA;IAED,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAC7D,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GACpD,UAAU,CACX,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAC7B,CAAC,EACD,OAAO,CACL,GAAG,CAAC,GAAG,CAAC,EACR,EAAE,EACF,OAAO,CACL,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,OAAO,IACL;KAKD,GAAG,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG;QAClE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5B,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAChE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;QAC5B;;WAEG;QACH,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;KAC7C;CACF,CAAA;AAOD,eAAO,MAAM,cAAc,GACzB,OAAO,EACP,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAChD,GAAG,EACH,MAAM,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,WACtD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,KAAG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAY,CAAA;AAEzG,eAAO,MAAM,UAAU,GACrB,OAAO,EACP,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAChD,GAAG,EACH,MAAM,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,cAEnD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,WAC3C,OAAO;eA2eE,CAAC;;oBALP;gBAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;aAAE;oBAC7D,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;wBACtB,MAAM;;OAG2B,CAAC,EAAE,CAAC,EAAE,CAAC,YAC5C,CAAC,gBACG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;eA2BpB,KAAK,CAAC,KAAK,CACrB,KAAK,EACL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,OAAO,QAAQ,EAAC,MAAM,OAAO,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EACnE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,OAAO,QAAQ,EAAC,MAAM,OAAO,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CACtE;gBAC4B,UAAU,CAAC,UAAU,CAAC,QAAQ,CACzD,YAAY,EACZ,YAAY,iOAEZ,CAAC,GAAG,OAAO,gOAAiF,CAAC,CAAC,CAC/F;;qBA/gBG,UAAU,SAAS,MAAM,QACzB,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAEhC,GAAG,GAAG;QAAE,IAAI,EAAE;YAAE,UAAU,EAAE,UAAU,CAAA;SAAE,CAAA;KAAE;eAkPrC,IAAI,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,EAAE,MAAM,CACZ,GAAG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,EAC9C,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,GAAG,GAAG,2IA1LrC,CAAC,0EA0LuE,CACtE,CAAA;YACD,MAAM,CAAC,EAAE,OAAO,CAAA;YAChB,kBAAkB;YAClB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SACpB,QAEK,IAAI,GACT;YACD,UAAU,EAAE,UAAU,CAAA;YACtB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CACpC,WAAW,CAAC,GAAG,CAAC,EAChB,GAAG,UAAU,QAAQ,EACrB,KAAK,EACH,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAChD,OAAO,CACP,SAAS,CACP,GACG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACzG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CACrB,EACD,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CAAA;YACD,MAAM,EAAE,KAAK,CAAC,KAAK,CACjB,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CAAC,IAAI,CAAC,oOAAiC,EACjD,sOAEE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,yIAvNpC,CAAC,8NAuNwF,CAAC,CAC1F,CAAA;SACF;eAEO,IAAI,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,EAAE,MAAM,CACZ,GAAG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,EAC9C,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,GAAG,GAAG,2IAhOrC,CAAC,0EAgOuE,CACtE,CAAA;YACD,MAAM,CAAC,EAAE,OAAO,CAAA;YAChB,kBAAkB;YAClB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SACpB,QAEK,IAAI,GACT;YACD,UAAU,EAAE,UAAU,CAAA;YACtB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CACpC,WAAW,CAAC,GAAG,CAAC,EAChB,GAAG,UAAU,QAAQ,EACrB,KAAK,EACH,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAChD,OAAO,CACP,SAAS,CACP,GACG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACzG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CACrB,EACD,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CAAA;YACD,MAAM,EAAE,KAAK,CAAC,KAAK,CACjB,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CAAC,IAAI,CAAC,oOAAiC,EACjD,sOAEE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,yIA7PpC,CAAC,8NA6PwF,CAAC,CAC1F,CAAA;SACF;eAEO,IAAI,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,EAAE,MAAM,CACZ,GAAG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,EAC9C,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,GAAG,GAAG,2IAtQrC,CAAC,0EAsQuE,CACtE,CAAA;YACD,MAAM,CAAC,EAAE,OAAO,CAAA;YAChB,kBAAkB;YAClB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SACpB,QAEK,IAAI,GACT;YACD,UAAU,EAAE,UAAU,CAAA;YACtB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CACpC,WAAW,CAAC,GAAG,CAAC,EAChB,GAAG,UAAU,QAAQ,EACrB,KAAK,EACH,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAChD,OAAO,CACP,SAAS,CACP,GACG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACzG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CACrB,EACD,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CAAA;YACD,MAAM,EAAE,KAAK,CAAC,KAAK,CACjB,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CAAC,IAAI,CAAC,oOAAiC,EACjD,sOAEE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,yIAnSpC,CAAC,8NAmSwF,CAAC,CAC1F,CAAA;SACF;eAEO,IAAI,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,EAAE,MAAM,CACZ,GAAG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,EAC9C,GAAG,0IA3SN,CAAC,2EA6SC,CAAA;YACD,MAAM,CAAC,EAAE,OAAO,CAAA;YAChB,kBAAkB;YAClB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SACpB,QAEK,IAAI,GACT;YACD,UAAU,EAAE,UAAU,CAAA;YACtB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CACpC,WAAW,CAAC,GAAG,CAAC,EAChB,GAAG,UAAU,QAAQ,EACrB,KAAK,EACH,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAChD,OAAO,CACP,SAAS,CACP,GACG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACzG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CACrB,EACD,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CAAA;YACD,MAAM,EAAE,KAAK,CAAC,KAAK,CACjB,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CAAC,IAAI,CAAC,oOAAiC,EACjD,sOAEE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,yIAzUpC,CAAC,8NAyUwF,CAAC,CAC1F,CAAA;SACF;eAEO,IAAI,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,EAAE,MAAM,CACZ,GAAG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,EAC9C,GAAG,0IAjVN,CAAC,2EAmVC,CAAA;YACD,MAAM,CAAC,EAAE,OAAO,CAAA;SACjB,QAEK,IAAI,GACT;YACD,UAAU,EAAE,UAAU,CAAA;YACtB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CACpC,WAAW,CAAC,GAAG,CAAC,EAChB,GAAG,UAAU,QAAQ,EACrB,KAAK,EACH,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAChD,OAAO,CACP,SAAS,CACP,GACG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACzG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CACrB,EACD,UAAU,CAAC,UAAU,CAAC,QAAQ,CAC/B,CACF,CAAA;YACD,MAAM,EAAE,KAAK,CAAC,KAAK,CACjB,WAAW,CAAC,GAAG,CAAC,EAChB,UAAU,CAAC,IAAI,CAAC,oOAAiC,EACjD,sOAEE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,yIA7WpC,CAAC,8NA6WwF,CAAC,CAC1F,CAAA;SACF;eAEO,IAAI,SAAS;YACjB,YAAY,EAAE,CACZ,GAAG,IAAI,CAAC,cAAc,CAAC,EACvB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAC5E,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAC5F,CAAA;YACD,MAAM,EAAE,MAAM,CACZ,GAAG,CAAsB,IAAjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,EAC9C,GAAG,EACH,GAAG,CACJ,CAAA;YACD,MAAM,CAAC,EAAE,OAAO,CAAA;SACjB,QAEK,IAAI,GACT;YACD,UAAU,EAAE,UAAU,CAAA;YACtB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CACpC,WAAW,CAAC,GAAG,CAAC,EAChB,GAAG,UAAU,QAAQ,EACrB,KAAK,EACL,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CACjD,CAAA;YAMD,MAAM,EAAE,GAAG,CAAA;SACZ;;;;CAsEN,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,IAAI,IAAI,IAAI,SAAS;IAAE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAAE,GAC/F,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GAC5B,KAAK,CAAA;AAET,MAAM,MAAM,UAAU,CAAC,IAAI,IAAI,IAAI,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,CAAC,GAC1F,KAAK,CAAA;AAET,MAAM,MAAM,WAAW,CAAC,IAAI,IAAI,IAAI,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,CAAC,GAC3F,KAAK,CAAA;AAET,MAAM,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,SACzE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;SAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GACrF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAC9B,KAAK,CAAA;AAET;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA"}
@@ -0,0 +1,226 @@
1
+ import { Rpc, RpcRouter } from "@effect/rpc";
2
+ import { Array, Cause, Chunk, Context, Effect, FiberRef, flow, Layer, Predicate, S, Schema, Stream } from "effect-app";
3
+ import { HttpRouter, HttpServerRequest, HttpServerResponse } from "effect-app/http";
4
+ import { pretty, typedKeysOf, typedValuesOf } from "effect-app/utils";
5
+ import { logError, reportError } from "../errorReporter.js";
6
+ import { InfraLogger } from "../logger.js";
7
+ import { makeRpc } from "./routing/DynamicMiddleware.js";
8
+ const logRequestError = logError("Request");
9
+ const reportRequestError = reportError("Request");
10
+ /**
11
+ * Plain jane JSON version
12
+ * @deprecated use HttpRpcRouterNoStream.toHttpApp once support options
13
+ */
14
+ export const toHttpApp = (self, options) => {
15
+ const handler = RpcRouter.toHandler(self, options);
16
+ return Effect.withFiberRuntime((fiber) => {
17
+ const context = fiber.getFiberRef(FiberRef.currentContext);
18
+ const request = Context.unsafeGet(context, HttpServerRequest.HttpServerRequest);
19
+ return Effect.flatMap(request.json, (_) => handler(_).pipe(Stream.provideContext(context), Stream.runCollect, Effect.map((_) => Chunk.toReadonlyArray(_)), Effect.andThen((_) => {
20
+ let status = 200;
21
+ for (const r of _.flat()) {
22
+ if (typeof r === "number")
23
+ continue;
24
+ const results = Array.isArray(r) ? r : [r];
25
+ if (results.some((_) => _._tag === "Failure" && _.cause._tag === "Die")) {
26
+ status = 500;
27
+ break;
28
+ }
29
+ if (results.some((_) => _._tag === "Failure" && _.cause._tag === "Fail")) {
30
+ status = 422; // 418
31
+ break;
32
+ }
33
+ }
34
+ return HttpServerResponse.json(_, { status });
35
+ }), Effect.orDie, Effect.tapDefect(reportError("RPCHttpApp"))));
36
+ });
37
+ };
38
+ export const RouterSymbol = Symbol();
39
+ // export interface RouteMatcher<
40
+ // Filtered extends Record<string, any>,
41
+ // CTXMap extends Record<string, any>,
42
+ // Rsc extends Filtered
43
+ // > extends RouteMatcherInt<Filtered, CTXMap, Rsc> {}
44
+ export const makeMiddleware = (content) => content;
45
+ export const makeRouter = (middleware, devMode) => {
46
+ function matchFor(rsc) {
47
+ const meta = rsc.meta;
48
+ const filtered = typedKeysOf(rsc).reduce((acc, cur) => {
49
+ if (Predicate.isObject(rsc[cur]) && rsc[cur]["success"]) {
50
+ acc[cur] = rsc[cur];
51
+ }
52
+ return acc;
53
+ }, {});
54
+ const items = typedKeysOf(filtered).reduce((prev, cur) => {
55
+ ;
56
+ prev[cur] = Object.assign((fnOrEffect) => {
57
+ const stack = new Error().stack?.split("\n").slice(2).join("\n");
58
+ return Effect.isEffect(fnOrEffect)
59
+ ? class {
60
+ static request = rsc[cur];
61
+ static stack = stack;
62
+ static _tag = "d";
63
+ static handler = () => fnOrEffect;
64
+ }
65
+ : class {
66
+ static request = rsc[cur];
67
+ static stack = stack;
68
+ static _tag = "d";
69
+ static handler = fnOrEffect;
70
+ };
71
+ }, {
72
+ success: rsc[cur].success,
73
+ successRaw: S.encodedSchema(rsc[cur].success),
74
+ failure: rsc[cur].failure,
75
+ raw: // "Raw" variations are for when you don't want to decode just to encode it again on the response
76
+ // e.g for direct projection from DB
77
+ // but more importantly, to skip Effectful decoders, like to resolve relationships from the database or remote client.
78
+ (fnOrEffect) => {
79
+ const stack = new Error().stack?.split("\n").slice(2).join("\n");
80
+ return Effect.isEffect(fnOrEffect)
81
+ ? class {
82
+ static request = rsc[cur];
83
+ static stack = stack;
84
+ static _tag = "raw";
85
+ static handler = () => fnOrEffect;
86
+ }
87
+ : class {
88
+ static request = rsc[cur];
89
+ static stack = stack;
90
+ static _tag = "raw";
91
+ static handler = (req, ctx) => fnOrEffect(req, { ...ctx, Response: rsc[cur].success });
92
+ };
93
+ }
94
+ });
95
+ return prev;
96
+ }, {});
97
+ const f = (layers, make) => {
98
+ const r = (class Router extends HttpRouter.Tag(`${meta.moduleName}Router`)() {
99
+ });
100
+ const layer = r.use((router) => Effect.gen(function* () {
101
+ const controllers = yield* make;
102
+ const rpc = yield* makeRpc(middleware);
103
+ // return make.pipe(Effect.map((c) => controllers(c, layers)))
104
+ const mapped = typedKeysOf(filtered).reduce((acc, cur) => {
105
+ const handler = controllers[cur];
106
+ const req = rsc[cur];
107
+ acc[cur] = rpc.effect(handler._tag === "raw"
108
+ ? class extends req {
109
+ static success = S.encodedSchema(req.success);
110
+ get [Schema.symbolSerializable]() {
111
+ return this.constructor;
112
+ }
113
+ get [Schema.symbolWithResult]() {
114
+ return {
115
+ failure: req.failure,
116
+ success: S.encodedSchema(req.success)
117
+ };
118
+ }
119
+ }
120
+ : req, (req) =>
121
+ // TODO: render more data... similar to console?
122
+ Effect
123
+ .annotateCurrentSpan("requestInput", Object.entries(req).reduce((prev, [key, value]) => {
124
+ prev[key] = key === "password"
125
+ ? "<redacted>"
126
+ : typeof value === "string" || typeof value === "number" || typeof value === "boolean"
127
+ ? typeof value === "string" && value.length > 256
128
+ ? (value.substring(0, 253) + "...")
129
+ : value
130
+ : Array.isArray(value)
131
+ ? `Array[${value.length}]`
132
+ : value === null || value === undefined
133
+ ? `${value}`
134
+ : typeof value === "object" && value
135
+ ? `Object[${Object.keys(value).length}]`
136
+ : typeof value;
137
+ return prev;
138
+ }, {}))
139
+ .pipe(
140
+ // can't use andThen due to some being a function and effect
141
+ Effect.zipRight(handler.handler(req)), Effect.tapErrorCause((cause) => Cause.isFailure(cause) ? logRequestError(cause) : Effect.void), Effect.tapDefect((cause) => Effect
142
+ .all([
143
+ reportRequestError(cause, {
144
+ action: `${meta.moduleName}.${req._tag}`
145
+ }),
146
+ Rpc.currentHeaders.pipe(Effect.andThen((headers) => {
147
+ return InfraLogger
148
+ .logError("Finished request", cause)
149
+ .pipe(Effect.annotateLogs({
150
+ action: `${meta.moduleName}.${req._tag}`,
151
+ req: pretty(req),
152
+ headers: pretty(headers)
153
+ // resHeaders: pretty(
154
+ // Object
155
+ // .entries(headers)
156
+ // .reduce((prev, [key, value]) => {
157
+ // prev[key] = value && typeof value === "string" ? snipString(value) : value
158
+ // return prev
159
+ // }, {} as Record<string, any>)
160
+ // )
161
+ }));
162
+ }))
163
+ ])), devMode ? (_) => _ : Effect.catchAllDefect(() => Effect.die("Internal Server Error")), Effect.withSpan("Request." + meta.moduleName + "." + req._tag, {
164
+ captureStackTrace: () => handler.stack
165
+ })), meta.moduleName); // TODO
166
+ return acc;
167
+ }, {});
168
+ const rpcRouter = RpcRouter.make(...Object.values(mapped));
169
+ const httpApp = toHttpApp(rpcRouter, {
170
+ spanPrefix: rsc
171
+ .meta
172
+ .moduleName + "."
173
+ });
174
+ yield* router
175
+ .all("/", httpApp,
176
+ // TODO: not queries.
177
+ { uninterruptible: true });
178
+ }));
179
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
180
+ const routes = layer.pipe(Layer.provideMerge(r.Live), layers && Array.isNonEmptyReadonlyArray(layers) ? Layer.provide(layers) : (_) => _,
181
+ // TODO: only provide to the middleware?
182
+ middleware.dependencies ? Layer.provide(middleware.dependencies) : (_) => _);
183
+ // Effect.Effect<HttpRouter.HttpRouter<unknown, HttpRouter.HttpRouter.DefaultServices>, never, UserRouter>
184
+ return {
185
+ moduleName: meta.moduleName,
186
+ Router: r,
187
+ routes
188
+ };
189
+ };
190
+ const effect = ((m) => f(m.dependencies, m.effect));
191
+ const total = Object.keys(filtered).length;
192
+ const router = {
193
+ accum: {},
194
+ add(a) {
195
+ ;
196
+ this.accum[a.request._tag] = a;
197
+ this[a.request._tag] = a;
198
+ if (Object.keys(this.accum).length === total)
199
+ return this.accum;
200
+ return this;
201
+ }
202
+ };
203
+ return Object.assign(effect, items, { router });
204
+ }
205
+ function matchAll(handlers, requestLayer) {
206
+ const routers = typedValuesOf(handlers);
207
+ const rootRouter = class extends HttpRouter.Tag("RootRouter")() {
208
+ };
209
+ const r = rootRouter
210
+ .use((router) => Effect.gen(function* () {
211
+ for (const route of routers) {
212
+ yield* router.mount(("/rpc/" + route.moduleName), yield* route
213
+ .Router
214
+ .router
215
+ .pipe(Effect.map(HttpRouter.use(flow(Effect.provide(requestLayer))))));
216
+ }
217
+ }))
218
+ .pipe(Layer.provide(routers.map((r) => r.routes).flat()));
219
+ return {
220
+ layer: r,
221
+ Router: rootRouter
222
+ };
223
+ }
224
+ return { matchAll, matchFor };
225
+ };
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5sZWdhY3kyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9yb3V0aW5nLmxlZ2FjeTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3RILE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRixPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRXhELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUMzQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQWVqRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBMEMsSUFBTyxFQUFFLE9BRTNFLEVBR0MsRUFBRTtJQUNGLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2xELE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDdkMsTUFBTSxPQUFPLEdB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
@@ -260,4 +260,4 @@ export type MakeHandlers<Make, Handlers extends Record<string, any>> = Make exte
260
260
  */
261
261
  export type MakeDepsOut<Make> = Contravariant.Type<MakeDeps<Make>[Layer.LayerTypeId]["_ROut"]>;
262
262
  export {};
263
- //# sourceMappingURL=routing6.d.ts.map
263
+ //# sourceMappingURL=routing.legacy3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.legacy3.d.ts","sourceRoot":"","sources":["../../src/api/routing.legacy3.ts"],"names":[],"mappings":"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"}