@effect-app/infra 2.87.2 → 2.88.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.
- package/CHANGELOG.md +13 -1
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +4 -22
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/RouterMiddleware.js +1 -1
- package/dist/api/routing/middleware/RpcMiddleware.d.ts +13 -13
- package/dist/api/routing/middleware/RpcMiddleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/RpcMiddleware.js +1 -1
- package/dist/api/routing/middleware/dynamic-middleware.d.ts +1 -9
- package/dist/api/routing/middleware/dynamic-middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/generic-middleware.d.ts +8 -8
- package/dist/api/routing/middleware/generic-middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/generic-middleware.js +23 -7
- package/dist/api/routing/middleware/middleware-api.d.ts +59 -30
- package/dist/api/routing/middleware/middleware-api.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware-api.js +44 -35
- package/dist/api/routing/middleware/middleware.d.ts +7 -7
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +5 -5
- package/package.json +2 -2
- package/src/api/routing/middleware/RouterMiddleware.ts +8 -86
- package/src/api/routing/middleware/RpcMiddleware.ts +13 -12
- package/src/api/routing/middleware/dynamic-middleware.ts +0 -47
- package/src/api/routing/middleware/generic-middleware.ts +45 -14
- package/src/api/routing/middleware/middleware-api.ts +147 -101
- package/src/api/routing/middleware/middleware.ts +5 -5
- package/test/contextProvider.test.ts +27 -24
- package/test/controller.test.ts +44 -9
- package/test/dist/contextProvider.test.d.ts.map +1 -1
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/fixtures.d.ts +39 -45
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +21 -9
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/fixtures.ts +22 -13
- package/test/layerUtils.test.ts +1 -2
- package/test/requires.test.ts +119 -97
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 2.88.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- bda3435: add sideways elimination when building middlewares
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 244f84d: various improvements, documentation
|
|
12
|
+
- Updated dependencies [244f84d]
|
|
13
|
+
- effect-app@2.52.1
|
|
14
|
+
|
|
3
15
|
## 2.87.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -167,7 +179,7 @@
|
|
|
167
179
|
### Minor Changes
|
|
168
180
|
|
|
169
181
|
- 6490adf: add "generic middleware"
|
|
170
|
-
- 0fc2abc: extract
|
|
182
|
+
- 0fc2abc: extract ConfigureInterruptibilityMiddleware
|
|
171
183
|
|
|
172
184
|
### Patch Changes
|
|
173
185
|
|
|
@@ -2,32 +2,14 @@ import { type Effect, type Request, type S, type Scope } from "effect-app";
|
|
|
2
2
|
import type { GetEffectContext, RPCContextMap } from "effect-app/client/req";
|
|
3
3
|
import type * as EffectRequest from "effect/Request";
|
|
4
4
|
import { type ContextTagWithDefault } from "../../layerUtils.js";
|
|
5
|
-
import { type
|
|
6
|
-
export type MakeRPCHandlerFactory<RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareR> = <T extends {
|
|
7
|
-
config?: Partial<Record<keyof RequestContextMap, any>>;
|
|
8
|
-
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, next: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>>, moduleName: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, MiddlewareR | Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>>;
|
|
5
|
+
import { type MiddlewareMaker, type MiddlewareMakerId } from "./middleware-api.js";
|
|
9
6
|
export type RPCHandlerFactory<RequestContextMap extends Record<string, RPCContextMap.Any>, ContextProviderA> = <T extends {
|
|
10
7
|
config?: Partial<Record<keyof RequestContextMap, any>>;
|
|
11
|
-
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>,
|
|
12
|
-
export type RequestContextMapProvider<RequestContextMap extends Record<string, RPCContextMap.Any>> = {
|
|
13
|
-
[K in keyof RequestContextMap]: ContextWithLayer.Base<{
|
|
14
|
-
[K in keyof RequestContextMap]?: RequestContextMap[K]["contextActivation"];
|
|
15
|
-
}, RequestContextMap[K]["service"], S.Schema.Type<RequestContextMap[K]["error"]>>;
|
|
16
|
-
};
|
|
17
|
-
export interface MiddlewareMakerId {
|
|
18
|
-
_tag: "MiddlewareMaker";
|
|
19
|
-
}
|
|
8
|
+
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, HandlerR>, moduleName: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, Scope.Scope | Exclude<Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>, ContextProviderA>>;
|
|
20
9
|
export type RouterMiddleware<RequestContextMap extends Record<string, RPCContextMap.Any>, // what services will the middlware provide dynamically to the next, or raise errors.
|
|
21
10
|
MakeMiddlewareE, // what the middleware construction can fail with
|
|
22
11
|
MakeMiddlewareR, // what the middlware requires to be constructed
|
|
23
|
-
ContextProviderA> = ContextTagWithDefault<MiddlewareMakerId,
|
|
24
|
-
_tag: "MiddlewareMaker";
|
|
25
|
-
effect: RPCHandlerFactory<RequestContextMap, ContextProviderA>;
|
|
26
|
-
}, MakeMiddlewareE, MakeMiddlewareR>;
|
|
12
|
+
ContextProviderA> = ContextTagWithDefault<MiddlewareMakerId, MiddlewareMaker<RPCHandlerFactory<RequestContextMap, ContextProviderA>>, MakeMiddlewareE, MakeMiddlewareR>;
|
|
27
13
|
export type RequestContextMapErrors<RequestContextMap extends Record<string, RPCContextMap.Any>> = S.Schema.Type<RequestContextMap[keyof RequestContextMap]["error"]>;
|
|
28
|
-
export declare function makeRpcEffect<RequestContextMap extends Record<string, RPCContextMap.Any>, ContextProviderA>(): (cb: <
|
|
29
|
-
config?: Partial<Record<keyof RequestContextMap, any>>;
|
|
30
|
-
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, next: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, HandlerR>, moduleName: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, Scope.Scope | Exclude<Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>, ContextProviderA>>) => <T extends {
|
|
31
|
-
config?: Partial<Record<keyof RequestContextMap, any>>;
|
|
32
|
-
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, next: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, HandlerR>, moduleName: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, Scope.Scope | Exclude<Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>, ContextProviderA>>;
|
|
14
|
+
export declare function makeRpcEffect<RequestContextMap extends Record<string, RPCContextMap.Any>, ContextProviderA>(): (cb: RPCHandlerFactory<RequestContextMap, ContextProviderA>) => RPCHandlerFactory<RequestContextMap, ContextProviderA>;
|
|
33
15
|
//# sourceMappingURL=RouterMiddleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RouterMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,KAAK,aAAa,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"RouterMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RouterMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,KAAK,aAAa,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,MAAM,MAAM,iBAAiB,CAC3B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3D,gBAAgB,IACd,CACF,CAAC,SAAS;IACR,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAA;CACvD,EACD,GAAG,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,EAC/B,QAAQ,EAER,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,OAAO,EAAE,CACP,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,KACT,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAClC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAChC,QAAQ,CACT,EACD,UAAU,EAAE,MAAM,KACf,CACH,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,GAAG,KACT,MAAM,CAAC,MAAM,CAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAC1B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAC1B,uBAAuB,CAAC,iBAAiB,CAAC,EAC1C,KAAK,CAAC,KAAK,GACX,OAAO,CAEP,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAEjG,gBAAgB,CACjB,CACF,CAAA;AAED,MAAM,MAAM,gBAAgB,CAC1B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,qFAAqF;AAClJ,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE,gDAAgD;AACjE,gBAAgB,IACd,qBAAqB,CACvB,iBAAiB,EACjB,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,EACvE,eAAe,EACf,eAAe,CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAC9G,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,CAAC,OAAO,CAAC,CACpD,CAAA;AAGD,wBAAgB,aAAa,CAC3B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3D,gBAAgB,MAER,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,4DACnE"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
export function makeRpcEffect() {
|
|
3
3
|
return (cb) => cb;
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL1JvdXRlck1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0VBLG1GQUFtRjtBQUNuRixNQUFNLFVBQVUsYUFBYTtJQUkzQixPQUFPLENBQUMsRUFBMEQsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFBO0FBQzNFLENBQUMifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Rpc } from "@effect/rpc";
|
|
2
2
|
import { type SuccessValue, type TypeId } from "@effect/rpc/RpcMiddleware";
|
|
3
3
|
import { type Context, type Effect, Layer, type NonEmptyReadonlyArray, type Option, type S, type Schema, type Scope } from "effect-app";
|
|
4
|
-
import type { AnyService,
|
|
4
|
+
import type { AnyService, ContextTagArray, RPCContextMap } from "effect-app/client/req";
|
|
5
5
|
import { type HttpHeaders } from "effect-app/http";
|
|
6
6
|
import { type LayerUtils } from "../../layerUtils.js";
|
|
7
7
|
export interface RpcMiddleware<Provides, E, Requires> {
|
|
@@ -38,10 +38,10 @@ export type AnyDynamic = {
|
|
|
38
38
|
export type DependsOn = {
|
|
39
39
|
readonly dependsOn: NonEmptyReadonlyArray<AnyDynamic> | undefined;
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
interface RpcOptionsDynamic<Key extends string, A extends RPCContextMap.Any> extends RpcOptionsOriginal {
|
|
42
42
|
readonly dynamic: RpcDynamic<Key, A>;
|
|
43
43
|
readonly dependsOn?: NonEmptyReadonlyArray<AnyDynamic> | undefined;
|
|
44
|
-
}
|
|
44
|
+
}
|
|
45
45
|
export type Dynamic<Options> = Options extends RpcOptionsDynamic<any, any> ? true : false;
|
|
46
46
|
export interface RpcMiddlewareDynamicWrap<E, R, Config> {
|
|
47
47
|
(options: {
|
|
@@ -65,8 +65,8 @@ export interface RpcMiddlewareDynamicNormal<A, E, R, Config> {
|
|
|
65
65
|
export interface TagClassAny extends Context.Tag<any, any> {
|
|
66
66
|
readonly [TypeId]: TypeId;
|
|
67
67
|
readonly optional: boolean;
|
|
68
|
-
readonly provides?: Context.Tag<any, any> |
|
|
69
|
-
readonly requires?: Context.Tag<any, any> |
|
|
68
|
+
readonly provides?: Context.Tag<any, any> | ContextTagArray | undefined;
|
|
69
|
+
readonly requires?: Context.Tag<any, any> | ContextTagArray | undefined;
|
|
70
70
|
readonly failure: Schema.Schema.All;
|
|
71
71
|
readonly requiredForClient: boolean;
|
|
72
72
|
readonly wrap: boolean;
|
|
@@ -82,9 +82,9 @@ export declare namespace TagClass {
|
|
|
82
82
|
readonly provides: Context.Tag<any, any>;
|
|
83
83
|
readonly optional?: false;
|
|
84
84
|
} ? Context.Tag.Identifier<Options["provides"]> : Options extends {
|
|
85
|
-
readonly provides:
|
|
85
|
+
readonly provides: ContextTagArray;
|
|
86
86
|
readonly optional?: false;
|
|
87
|
-
} ?
|
|
87
|
+
} ? ContextTagArray.Identifier<Options["provides"]> : never;
|
|
88
88
|
/**
|
|
89
89
|
* @since 1.0.0
|
|
90
90
|
* @category models
|
|
@@ -92,8 +92,8 @@ export declare namespace TagClass {
|
|
|
92
92
|
type Requires<Options> = Options extends {
|
|
93
93
|
readonly requires: Context.Tag<any, any>;
|
|
94
94
|
} ? Context.Tag.Identifier<Options["requires"]> : Options extends {
|
|
95
|
-
readonly requires:
|
|
96
|
-
} ?
|
|
95
|
+
readonly requires: ContextTagArray;
|
|
96
|
+
} ? ContextTagArray.Identifier<Options["requires"]> : never;
|
|
97
97
|
/**
|
|
98
98
|
* @since 1.0.0
|
|
99
99
|
* @category models
|
|
@@ -105,8 +105,8 @@ export declare namespace TagClass {
|
|
|
105
105
|
} ? Options extends {
|
|
106
106
|
wrap: true;
|
|
107
107
|
} ? void : AnyService.Bla<A["service"]> : Options extends {
|
|
108
|
-
readonly provides:
|
|
109
|
-
} ? Context.Context<
|
|
108
|
+
readonly provides: ContextTagArray;
|
|
109
|
+
} ? Context.Context<ContextTagArray.Identifier<Options["provides"]>> : void;
|
|
110
110
|
/**
|
|
111
111
|
* @since 1.0.0
|
|
112
112
|
* @category models
|
|
@@ -170,12 +170,12 @@ export declare namespace TagClass {
|
|
|
170
170
|
readonly provides: Options extends {
|
|
171
171
|
readonly provides: Context.Tag<any, any>;
|
|
172
172
|
} ? Options["provides"] : Options extends {
|
|
173
|
-
readonly provides:
|
|
173
|
+
readonly provides: ContextTagArray;
|
|
174
174
|
} ? Options["provides"] : undefined;
|
|
175
175
|
readonly requires: Options extends {
|
|
176
176
|
readonly requires: Context.Tag<any, any>;
|
|
177
177
|
} ? Options["requires"] : Options extends {
|
|
178
|
-
readonly requires:
|
|
178
|
+
readonly requires: ContextTagArray;
|
|
179
179
|
} ? Options["requires"] : undefined;
|
|
180
180
|
readonly dynamic: Options extends RpcOptionsDynamic<any, any> ? Options["dynamic"] : undefined;
|
|
181
181
|
readonly dependsOn: Options extends DependsOn ? Options["dependsOn"] : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RpcMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,GAAG,EAAiB,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAA;AAC9I,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RpcMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,4 @@ export const Tag = () => (id, options) => (opts) => class extends RpcMiddleware.
|
|
|
11
11
|
static [Unify.unifySymbol];
|
|
12
12
|
static [Unify.ignoreSymbol];
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL1JwY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVyRCxPQUFPLEVBQTZCLEtBQUssRUFBNEUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBMk85SSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBUyxFQUFFLENBQzlCLENBSUUsRUFBUSxFQUNSLE9BQTZCLEVBQzdCLEVBQUUsQ0FDSixDQUF5RCxJQTJCeEQsRUFFQyxFQUFFLENBQ0YsS0FBTSxTQUFRLGFBQWEsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxFQUFFLEVBQUUsT0FBYyxDQUFDO0lBQ3pELE1BQU0sQ0FBVSxPQUFPLEdBQUcsT0FBTyxJQUFJLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUN2RixNQUFNLENBQVUsU0FBUyxHQUFHLE9BQU8sSUFBSSxXQUFXLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDN0YsTUFBTSxDQUFVLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBYSxDQUFDLENBQUMsSUFBSSxDQUNuRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDekQsQ0FBQTtJQUNELE1BQU0sQ0FBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBVTtJQUM1QyxNQUFNLENBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQXdCO0lBQzNELE1BQU0sQ0FBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBaUI7Q0FDL0MsQ0FBQSJ9
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { type RpcMiddlewareDynamicNormal, type RpcMiddlewareDynamicWrap } from "./RpcMiddleware.js";
|
|
3
|
-
export type RpcMiddlewareDynamic<A, E, R, Config> = [A] extends [void] ? RpcMiddlewareDynamicWrap<E, R, Config> : RpcMiddlewareDynamicNormal<A, E, R, Config>;
|
|
4
|
-
export type ContextWithLayer<Config, Service, Error, Dependencies, Id, LayerE, LayerR> = (ContextTagWithDefault<Id, RpcMiddlewareDynamic<Service, Error, any, Config>, LayerE, LayerR> | ContextTagWithDefault<Id, RpcMiddlewareDynamic<Service, Error, never, Config>, LayerE, LayerR>) & {
|
|
5
|
-
dependsOn?: Dependencies;
|
|
6
|
-
};
|
|
7
|
-
export declare namespace ContextWithLayer {
|
|
8
|
-
type Base<Config, Service, Error> = ContextWithLayer<Config, Service, Error, any, any, any, any>;
|
|
9
|
-
}
|
|
1
|
+
export {};
|
|
10
2
|
//# sourceMappingURL=dynamic-middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/dynamic-middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dynamic-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/dynamic-middleware.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { type Rpc, type RpcMiddleware } from "@effect/rpc";
|
|
2
2
|
import { type SuccessValue } from "@effect/rpc/RpcMiddleware";
|
|
3
3
|
import { type Array, Context, Effect, type Layer, type NonEmptyReadonlyArray, type Scope } from "effect-app";
|
|
4
|
-
import { type
|
|
4
|
+
import { type ContextTagArray } from "effect-app/client";
|
|
5
5
|
import { type HttpHeaders } from "effect-app/http";
|
|
6
6
|
import { type TagClassAny } from "./RpcMiddleware.js";
|
|
7
7
|
export interface GenericMiddlewareOptions<E> {
|
|
8
|
-
readonly next: Effect.Effect<SuccessValue, E, Scope.Scope>;
|
|
9
|
-
readonly payload: unknown;
|
|
10
|
-
readonly headers: HttpHeaders.Headers;
|
|
11
8
|
readonly clientId: number;
|
|
12
9
|
readonly rpc: Rpc.AnyWithProps;
|
|
10
|
+
readonly payload: unknown;
|
|
11
|
+
readonly headers: HttpHeaders.Headers;
|
|
12
|
+
readonly next: Effect.Effect<SuccessValue, E, Scope.Scope>;
|
|
13
13
|
}
|
|
14
14
|
export type GenericMiddlewareMaker = TagClassAny & {
|
|
15
15
|
Default: Layer.Layer.Any;
|
|
@@ -24,13 +24,13 @@ export declare namespace GenericMiddlewareMaker {
|
|
|
24
24
|
type Provided<T> = T extends TagClassAny ? T extends {
|
|
25
25
|
provides: Context.Tag<any, any>;
|
|
26
26
|
} ? Context.Tag.Identifier<T["provides"]> : T extends {
|
|
27
|
-
provides:
|
|
28
|
-
} ?
|
|
27
|
+
provides: ContextTagArray;
|
|
28
|
+
} ? ContextTagArray.Identifier<T["provides"]> : never : never;
|
|
29
29
|
type Required<T> = T extends TagClassAny ? T extends {
|
|
30
30
|
requires: Context.Tag<any, any>;
|
|
31
31
|
} ? Context.Tag.Identifier<T["requires"]> : T extends {
|
|
32
|
-
requires:
|
|
33
|
-
} ?
|
|
32
|
+
requires: ContextTagArray;
|
|
33
|
+
} ? ContextTagArray.Identifier<T["requires"]> : never : never;
|
|
34
34
|
}
|
|
35
35
|
export declare const genericMiddlewareMaker: <T extends Array<GenericMiddlewareMaker>>(...middlewares: T) => {
|
|
36
36
|
dependencies: { [K in keyof T]: T[K]["Default"]; };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/generic-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,qBAAqB,EAAU,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"generic-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/generic-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
import { Context, Effect, Option } from "effect-app";
|
|
2
2
|
import { InfraLogger } from "../../../logger.js";
|
|
3
3
|
export const genericMiddlewareMaker = (...middlewares) => {
|
|
4
|
-
// we want to run them in reverse order
|
|
4
|
+
// we want to run them in reverse order because latter middlewares will provide context to former ones
|
|
5
5
|
middlewares = middlewares.toReversed();
|
|
6
6
|
return {
|
|
7
7
|
dependencies: middlewares.map((_) => _.Default),
|
|
8
8
|
effect: Effect.gen(function* () {
|
|
9
9
|
const context = yield* Effect.context();
|
|
10
|
+
// returns a Effect/RpcMiddlewareWrap with Scope in requirements
|
|
10
11
|
return (options) => {
|
|
12
|
+
// we start with the actual handler
|
|
11
13
|
let handler = options.next;
|
|
12
|
-
//
|
|
14
|
+
// inspired from Effect/RpcMiddleware
|
|
13
15
|
for (const tag of middlewares) {
|
|
14
16
|
if (tag.wrap) {
|
|
17
|
+
// use the tag to get the middleware from context
|
|
15
18
|
const middleware = Context.unsafeGet(context, tag);
|
|
19
|
+
// wrap the current handler, allowing the middleware to run before and after it
|
|
16
20
|
handler = InfraLogger.logDebug("Applying middleware wrap " + tag.key).pipe(Effect.zipRight(middleware({ ...options, next: handler })));
|
|
17
21
|
}
|
|
18
22
|
else if (tag.optional) {
|
|
23
|
+
// use the tag to get the middleware from context
|
|
24
|
+
// if the middleware fails to run, we will ignore the error
|
|
19
25
|
const middleware = Context.unsafeGet(context, tag);
|
|
20
26
|
const previous = handler;
|
|
27
|
+
// set the previous handler to run after the middleware
|
|
28
|
+
// if the middleware is not present, we just return the previous handler
|
|
29
|
+
// otherwise the middleware will provide some context to be provided to the previous handler
|
|
21
30
|
handler = InfraLogger.logDebug("Applying middleware optional " + tag.key).pipe(Effect.zipRight(Effect.matchEffect(middleware(options), {
|
|
22
31
|
onFailure: () => previous,
|
|
23
32
|
onSuccess: tag.provides !== undefined
|
|
@@ -28,17 +37,24 @@ export const genericMiddlewareMaker = (...middlewares) => {
|
|
|
28
37
|
})));
|
|
29
38
|
}
|
|
30
39
|
else if (tag.dynamic) {
|
|
40
|
+
// use the tag to get the middleware from context
|
|
31
41
|
const middleware = Context.unsafeGet(context, tag);
|
|
32
42
|
const previous = handler;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
// set the previous handler to run after the middleware
|
|
44
|
+
// we do expect the middleware to be present, but the context might not be available
|
|
45
|
+
// if it is, we provide it to the previous handler
|
|
46
|
+
handler = InfraLogger.logDebug("Applying middleware dynamic " + tag.key, tag.dynamic).pipe(Effect.zipRight(middleware(options).pipe(Effect.flatMap((o) => Option.isSome(o)
|
|
47
|
+
? Context.isContext(o.value)
|
|
48
|
+
? Effect.provide(previous, o.value)
|
|
49
|
+
: Effect.provideService(previous, tag.dynamic.settings.service, /* TODO */ o.value)
|
|
37
50
|
: previous))));
|
|
38
51
|
}
|
|
39
52
|
else {
|
|
53
|
+
// use the tag to get the middleware from context
|
|
40
54
|
const middleware = Context.unsafeGet(context, tag);
|
|
41
55
|
const previous = handler;
|
|
56
|
+
// set the previous handler to run after the middleware
|
|
57
|
+
// we do expect both the middleware and the context to be present
|
|
42
58
|
handler = InfraLogger.logDebug("Applying middleware " + tag.key).pipe(Effect.zipRight(tag.provides !== undefined
|
|
43
59
|
? middleware(options).pipe(Effect.flatMap((value) => Context.isContext(value)
|
|
44
60
|
? Effect.provide(previous, value)
|
|
@@ -51,4 +67,4 @@ export const genericMiddlewareMaker = (...middlewares) => {
|
|
|
51
67
|
})
|
|
52
68
|
};
|
|
53
69
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvZ2VuZXJpYy1taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUEwQyxNQUFNLEVBQWMsTUFBTSxZQUFZLENBQUE7QUFHcEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBb0NoRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUVwQyxHQUFHLFdBQWMsRUFHakIsRUFBRTtJQUNGLHNHQUFzRztJQUN0RyxXQUFXLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBUyxDQUFBO0lBRTdDLE9BQU87UUFDTCxZQUFZLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMvQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBRXZDLGdFQUFnRTtZQUNoRSxPQUFPLENBQ0wsT0FBb0MsRUFDcEMsRUFBRTtnQkFDRixtQ0FBbUM7Z0JBQ25DLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7Z0JBRTFCLHFDQUFxQztnQkFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2IsaURBQWlEO3dCQUNqRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTt3QkFFbEQsK0VBQStFO3dCQUMvRSxPQUFPLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQywy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
|
|
@@ -2,44 +2,73 @@ import { Context, Layer, type NonEmptyArray, type NonEmptyReadonlyArray } from "
|
|
|
2
2
|
import { type RPCContextMap } from "effect-app/client";
|
|
3
3
|
import { type LayerUtils } from "../../layerUtils.js";
|
|
4
4
|
import { type GenericMiddlewareMaker } from "./generic-middleware.js";
|
|
5
|
-
import { type
|
|
5
|
+
import { type RPCHandlerFactory } from "./RouterMiddleware.js";
|
|
6
6
|
import { type AnyDynamic, type RpcDynamic, type TagClassAny } from "./RpcMiddleware.js";
|
|
7
|
-
export declare const contextMap: <RequestContextMap extends Record<string, RPCContextMap.Any
|
|
8
|
-
key: K;
|
|
9
|
-
settings: RequestContextMap[typeof a];
|
|
10
|
-
};
|
|
11
|
-
export interface MiddlewareM<RequestContext extends Record<string, RPCContextMap.Any>, Provided extends keyof RequestContext, Middlewares extends ReadonlyArray<GenericMiddlewareMaker>, DynamicMiddlewareProviders, MiddlewareR = never> {
|
|
12
|
-
middleware<MW extends NonEmptyArray<GenericMiddlewareMaker>>(...mw: MW): DynamicMiddlewareMakerrsss<RequestContext, Provided, [
|
|
13
|
-
...Middlewares,
|
|
14
|
-
...MW
|
|
15
|
-
], DynamicMiddlewareProviders, GenericMiddlewareMaker.ApplyManyServices<MW, MiddlewareR>>;
|
|
16
|
-
}
|
|
7
|
+
export declare const contextMap: <RequestContextMap extends Record<string, RPCContextMap.Any>, Key extends (keyof RequestContextMap) & string>(rcm: RequestContextMap, key: Key) => RpcDynamic<Key, RequestContextMap[Key]>;
|
|
17
8
|
type GetDependsOnKeys<MW extends GenericMiddlewareMaker> = MW extends {
|
|
18
9
|
dependsOn: NonEmptyReadonlyArray<TagClassAny>;
|
|
19
10
|
} ? {
|
|
20
11
|
[K in keyof MW["dependsOn"]]: MW["dependsOn"][K] extends AnyDynamic ? MW["dependsOn"][K]["dynamic"]["key"] : never;
|
|
21
12
|
}[keyof MW["dependsOn"]] : never;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
dynamic: RpcDynamic<any,
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
13
|
+
type FilterInDynamicMiddlewares<MWs extends ReadonlyArray<GenericMiddlewareMaker>, RequestContextMap extends Record<string, RPCContextMap.Any>> = {
|
|
14
|
+
[K in keyof MWs]: MWs[K] extends {
|
|
15
|
+
dynamic: RpcDynamic<any, RequestContextMap[keyof RequestContextMap]>;
|
|
16
|
+
} ? MWs[K] : never;
|
|
17
|
+
};
|
|
18
|
+
type RecursiveHandleMWsSideways<MWs, R extends {
|
|
19
|
+
rcm: Record<string, RPCContextMap.Any>;
|
|
20
|
+
provided: keyof R["rcm"];
|
|
21
|
+
middlewares: ReadonlyArray<GenericMiddlewareMaker>;
|
|
22
|
+
dmp: any;
|
|
23
|
+
middlewareR: any;
|
|
24
|
+
}> = MWs extends [
|
|
25
|
+
infer F extends GenericMiddlewareMaker,
|
|
26
|
+
...infer Rest extends ReadonlyArray<GenericMiddlewareMaker>
|
|
27
|
+
] ? RecursiveHandleMWsSideways<Rest, {
|
|
28
|
+
rcm: R["rcm"];
|
|
29
|
+
provided: Exclude<R["provided"] | FilterInDynamicMiddlewares<[F], R["rcm"]>[number]["dynamic"]["key"], GetDependsOnKeys<F>>;
|
|
30
|
+
middlewares: [...R["middlewares"], F];
|
|
31
|
+
dmp: [FilterInDynamicMiddlewares<[F], R["rcm"]>[number]] extends [never] ? R["dmp"] : R["dmp"] & {
|
|
32
|
+
[U in FilterInDynamicMiddlewares<[F], R["rcm"]>[number] as U["dynamic"]["key"]]: U;
|
|
33
|
+
};
|
|
34
|
+
middlewareR: GenericMiddlewareMaker.ApplyManyServices<[F], R["middlewareR"]>;
|
|
35
|
+
}> : R;
|
|
36
|
+
export interface BuildingMiddleware<RequestContextMap extends Record<string, RPCContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<GenericMiddlewareMaker>, DynamicMiddlewareProviders, out MiddlewareR extends {
|
|
37
|
+
_tag: string;
|
|
38
|
+
} = never> {
|
|
39
|
+
middleware<MWs extends NonEmptyArray<GenericMiddlewareMaker>>(...mw: MWs): RecursiveHandleMWsSideways<MWs, {
|
|
40
|
+
rcm: RequestContextMap;
|
|
41
|
+
provided: Provided;
|
|
42
|
+
middlewares: Middlewares;
|
|
43
|
+
dmp: DynamicMiddlewareProviders;
|
|
44
|
+
middlewareR: MiddlewareR;
|
|
45
|
+
}> extends infer Res extends {
|
|
46
|
+
rcm: RequestContextMap;
|
|
47
|
+
provided: keyof RequestContextMap;
|
|
48
|
+
middlewares: ReadonlyArray<GenericMiddlewareMaker>;
|
|
49
|
+
dmp: any;
|
|
50
|
+
middlewareR: any;
|
|
51
|
+
} ? MiddlewaresBuilder<Res["rcm"], Res["provided"], Res["middlewares"], Res["dmp"], Res["middlewareR"]> : never;
|
|
52
|
+
missing: {
|
|
53
|
+
missingDynamicMiddlewares: Exclude<keyof RequestContextMap, Provided>;
|
|
54
|
+
missingContext: MiddlewareR;
|
|
55
|
+
};
|
|
36
56
|
}
|
|
37
|
-
type
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
57
|
+
export type MiddlewaresBuilder<RequestContextMap extends Record<string, RPCContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<GenericMiddlewareMaker> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
|
|
58
|
+
_tag: string;
|
|
59
|
+
} = never> = keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? ReturnType<typeof makeMiddlewareBasic<RequestContextMap, Middlewares>> : BuildingMiddleware<RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR> : BuildingMiddleware<RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR>;
|
|
60
|
+
export declare const makeMiddleware: <RequestContextMap extends Record<string, RPCContextMap.Any>>(rcm: RequestContextMap) => MiddlewaresBuilder<RequestContextMap>;
|
|
61
|
+
export declare const MiddlewareMakerTag: "MiddlewareMaker";
|
|
62
|
+
export interface MiddlewareMaker<E> {
|
|
63
|
+
readonly effect: E;
|
|
64
|
+
readonly _tag: typeof MiddlewareMakerTag;
|
|
65
|
+
}
|
|
66
|
+
export type MiddlewareMakerId = Pick<MiddlewareMaker<any>, "_tag">;
|
|
67
|
+
export declare const buildMiddlewareMaker: <E>(eff: E) => {
|
|
41
68
|
_tag: "MiddlewareMaker";
|
|
42
|
-
|
|
69
|
+
effect: E;
|
|
70
|
+
};
|
|
71
|
+
declare const makeMiddlewareBasic: <RequestContextMap extends Record<string, RPCContextMap.Any>, GenericMiddlewareProviders extends ReadonlyArray<GenericMiddlewareMaker>>(_rcm: RequestContextMap, ...make: GenericMiddlewareProviders) => Context.Tag<MiddlewareMakerId, MiddlewareMaker<RPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]>>>> & {
|
|
43
72
|
Default: Layer.Layer<MiddlewareMakerId, LayerUtils.GetLayersError<[...{ [K in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K]["Default"]; }]>, LayerUtils.GetLayersContext<[...{ [K in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K]["Default"]; }]>>;
|
|
44
73
|
};
|
|
45
74
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-api.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACnG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,KAAK,sBAAsB,EAA0B,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAiB,KAAK,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"middleware-api.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware-api.ts"],"names":[],"mappings":"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"}
|