@effect-app/infra 2.80.0 → 2.81.1

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 (30) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/api/internal/auth.d.ts +2 -2
  3. package/dist/api/internal/auth.d.ts.map +1 -1
  4. package/dist/api/internal/auth.js +5 -5
  5. package/dist/api/routing/middleware/DynamicMiddleware.d.ts +129 -6
  6. package/dist/api/routing/middleware/DynamicMiddleware.d.ts.map +1 -1
  7. package/dist/api/routing/middleware/DynamicMiddleware.js +79 -11
  8. package/dist/api/routing/middleware/dynamic-middleware.d.ts +8 -9
  9. package/dist/api/routing/middleware/dynamic-middleware.d.ts.map +1 -1
  10. package/dist/api/routing/middleware/dynamic-middleware.js +3 -3
  11. package/dist/api/routing/middleware/generic-middleware.d.ts +5 -0
  12. package/dist/api/routing/middleware/generic-middleware.d.ts.map +1 -1
  13. package/dist/api/routing/middleware/generic-middleware.js +1 -1
  14. package/dist/api/routing/middleware/middleware-api.d.ts +17 -0
  15. package/dist/api/routing/middleware/middleware-api.d.ts.map +1 -0
  16. package/dist/api/routing/middleware/middleware-api.js +19 -0
  17. package/dist/api/routing/middleware/middleware.d.ts +3 -3
  18. package/dist/api/routing/middleware.d.ts +1 -0
  19. package/dist/api/routing/middleware.d.ts.map +1 -1
  20. package/dist/api/routing/middleware.js +2 -1
  21. package/package.json +5 -1
  22. package/src/api/internal/auth.ts +4 -5
  23. package/src/api/routing/middleware/DynamicMiddleware.ts +295 -19
  24. package/src/api/routing/middleware/dynamic-middleware.ts +12 -23
  25. package/src/api/routing/middleware/generic-middleware.ts +5 -0
  26. package/src/api/routing/middleware/middleware-api.ts +44 -0
  27. package/src/api/routing/middleware.ts +1 -0
  28. package/test/controller.test.ts +35 -25
  29. package/test/dist/controller.test.d.ts.map +1 -1
  30. package/test/dist/middleware-api.test.d.ts.map +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 2.81.1
4
+
5
+ ### Patch Changes
6
+
7
+ - a33dd24: cleanupy
8
+
9
+ ## 2.81.0
10
+
11
+ ### Minor Changes
12
+
13
+ - e9ce960: improve: make dynamic middleware with the same RpcMiddleware.tag api.
14
+ added experimental `makeNewMiddleware` with fluent api.
15
+ remove HttpServerRequest requirement from checkJWTI
16
+
3
17
  ## 2.80.0
4
18
 
5
19
  ### Minor Changes
@@ -1,8 +1,8 @@
1
1
  import { Effect } from "effect-app";
2
- import { HttpServerRequest, HttpServerResponse } from "effect-app/http";
2
+ import { HttpHeaders, HttpServerRequest, HttpServerResponse } from "effect-app/http";
3
3
  import { auth, InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError } from "express-oauth2-jwt-bearer";
4
4
  type Config = Parameters<typeof auth>[0];
5
- export declare const checkJWTI: (config: Config) => Effect.Effect<void, UnauthorizedError, HttpServerRequest.HttpServerRequest>;
5
+ export declare const checkJWTI: (config: Config) => (headers: HttpHeaders.Headers) => Effect.Effect<void, InsufficientScopeError | InvalidRequestError | InvalidTokenError | UnauthorizedError, never>;
6
6
  export declare const checkJwt: (config: Config) => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
7
7
  declare const JWTError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
8
8
  readonly _tag: "JWTError";
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/internal/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAA+B,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAMnI,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,gFA+BvC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,sKAkBtC,CAAA;;;;AAED,qBAAa,QAAS,SAAQ,cAA6B;IACzD,KAAK,EACD,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,CAAA;CACtB,CAAC;CAAG"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/internal/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,WAAW,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAMnI,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,uJA6BvC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,sKAmBtC,CAAA;;;;AAED,qBAAa,QAAS,SAAQ,cAA6B;IACzD,KAAK,EACD,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,CAAA;CACtB,CAAC;CAAG"}
@@ -5,8 +5,7 @@ import { HttpHeaders, HttpMiddleware, HttpServerRequest, HttpServerResponse } fr
5
5
  import { auth, InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError } from "express-oauth2-jwt-bearer";
6
6
  export const checkJWTI = (config) => {
7
7
  const mw = auth(config);
8
- return Effect.gen(function* () {
9
- const req = yield* HttpServerRequest.HttpServerRequest;
8
+ return Effect.fnUntraced(function* (headers) {
10
9
  return yield* Effect.async((cb) => {
11
10
  const next = (err) => {
12
11
  if (!err)
@@ -19,7 +18,7 @@ export const checkJWTI = (config) => {
19
18
  }
20
19
  return cb(Effect.die(err));
21
20
  };
22
- const r = { headers: req.headers, query: {}, body: {}, is: () => false }; // is("urlencoded")
21
+ const r = { headers, query: {}, body: {}, is: () => false }; // is("urlencoded")
23
22
  try {
24
23
  mw(r, {}, next);
25
24
  }
@@ -32,7 +31,8 @@ export const checkJWTI = (config) => {
32
31
  export const checkJwt = (config) => {
33
32
  const check = checkJWTI(config);
34
33
  return HttpMiddleware.make((app) => Effect.gen(function* () {
35
- const response = yield* check.pipe(Effect.catchAll((e) => Effect.succeed(HttpServerResponse.unsafeJson({ message: e.message }, {
34
+ const req = yield* HttpServerRequest.HttpServerRequest;
35
+ const response = yield* check(req.headers).pipe(Effect.catchAll((e) => Effect.succeed(HttpServerResponse.unsafeJson({ message: e.message }, {
36
36
  status: e.status,
37
37
  headers: HttpHeaders.fromInput(e.headers)
38
38
  }))));
@@ -44,4 +44,4 @@ export const checkJwt = (config) => {
44
44
  };
45
45
  export class JWTError extends Data.TaggedClass("JWTError") {
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDcEcsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBT25JLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO1FBRXRELE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FJeEIsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNMLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHO29CQUFFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDaEMsSUFDRSxHQUFHLFlBQVksc0JBQXNCO3VCQUNsQyxHQUFHLFlBQVksbUJBQW1CO3VCQUNsQyxHQUFHLFlBQVksaUJBQWlCO3VCQUNoQyxHQUFHLFlBQVksaUJBQWlCLEVBQ25DLENBQUM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM3QixDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM1QixDQUFDLENBQUE7WUFDRCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7WUFDNUYsSUFBSSxDQUFDO2dCQUNILEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBUyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNsQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUNaLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLFFBQVMsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FNdkQ7Q0FBRyJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDcEcsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBT25JLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2QixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBNEI7UUFDN0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUl4QixDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ0wsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLEdBQUc7b0JBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNoQyxJQUNFLEdBQUcsWUFBWSxzQkFBc0I7dUJBQ2xDLEdBQUcsWUFBWSxtQkFBbUI7dUJBQ2xDLEdBQUcsWUFBWSxpQkFBaUI7dUJBQ2hDLEdBQUcsWUFBWSxpQkFBaUIsRUFDbkMsQ0FBQztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7Z0JBQzdCLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQzVCLENBQUMsQ0FBQTtZQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7WUFDL0UsSUFBSSxDQUFDO2dCQUNILEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBUyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNsQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQTtRQUN0RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDcEUsTUFBTSxDQUFDLE9BQU8sQ0FDWixrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNoQixPQUFPLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzFDLENBQUMsQ0FDSCxDQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUE7SUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sT0FBTyxRQUFTLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBTXZEO0NBQUcifQ==
@@ -1,6 +1,6 @@
1
1
  import { Rpc, RpcMiddleware } from "@effect/rpc";
2
- import { type SuccessValue, type TagClass } from "@effect/rpc/RpcMiddleware";
3
- import { Context, Effect, Layer, type NonEmptyReadonlyArray, type Request, type S, type Schema, type Scope } from "effect-app";
2
+ import { type SuccessValue, type TypeId } from "@effect/rpc/RpcMiddleware";
3
+ import { Context, Effect, Layer, type NonEmptyReadonlyArray, type Option, type Request, type S, type Schema, type Scope } from "effect-app";
4
4
  import type { GetEffectContext, RPCContextMap } from "effect-app/client/req";
5
5
  import { type HttpHeaders } from "effect-app/http";
6
6
  import type * as EffectRequest from "effect/Request";
@@ -13,7 +13,7 @@ export type MakeRPCHandlerFactory<RequestContextMap extends Record<string, RPCCo
13
13
  export type RPCHandlerFactory<RequestContextMap extends Record<string, RPCContextMap.Any>, ContextProviderA> = <T extends {
14
14
  config?: Partial<Record<keyof RequestContextMap, any>>;
15
15
  }, 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>>;
16
- type RequestContextMapProvider<RequestContextMap extends Record<string, RPCContextMap.Any>> = {
16
+ export type RequestContextMapProvider<RequestContextMap extends Record<string, RPCContextMap.Any>> = {
17
17
  [K in keyof RequestContextMap]: ContextWithLayer.Base<{
18
18
  [K in keyof RequestContextMap]?: RequestContextMap[K]["contextActivation"];
19
19
  }, RequestContextMap[K]["service"], S.Schema.Type<RequestContextMap[K]["error"]>>;
@@ -49,6 +49,13 @@ MakeMiddlewareR = never>(make: MiddlewareMake<RequestContextMap, RequestContextP
49
49
  }> & {
50
50
  Default: Layer.Layer<MiddlewareMakerId, MakeMiddlewareE | LayerUtils.GetLayersError<[...{ [K in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K]["Default"]; }]>, LayerUtils.GetLayersContext<MiddlewareDependencies> | LayerUtils.GetLayersContext<[...{ [K in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K]["Default"]; }]> | Exclude<MakeMiddlewareR, LayerUtils.GetLayersSuccess<MiddlewareDependencies>>>;
51
51
  };
52
+ export declare const makeMiddlewareBasic: <RequestContextMap extends Record<string, RPCContextMap.Any>, RequestContextProviders extends RequestContextMapProvider<RequestContextMap>, // how to resolve the dynamic middleware
53
+ GenericMiddlewareProviders extends NonEmptyReadonlyArray<GenericMiddlewareMaker>>(make: MiddlewareMake<RequestContextMap, RequestContextProviders, GenericMiddlewareProviders, never, never, never>) => Context.Tag<MiddlewareMakerId, {
54
+ effect: RPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]>>;
55
+ _tag: "MiddlewareMaker";
56
+ }> & {
57
+ Default: Layer.Layer<MiddlewareMakerId, LayerUtils.GetLayersError<[...{ [K in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K]["Default"]; }]>, LayerUtils.GetLayersContext<[...{ [K in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K]["Default"]; }]>>;
58
+ };
52
59
  export interface RpcMiddleware<Provides, E> {
53
60
  (options: {
54
61
  readonly clientId: number;
@@ -73,10 +80,126 @@ type RpcOptionsOriginal = {
73
80
  readonly provides?: Context.Tag<any, any>;
74
81
  readonly requiredForClient?: boolean;
75
82
  };
76
- export declare const Tag: <Self>() => <const Name extends string, const Options extends RpcOptionsOriginal>(id: Name, options?: Options | undefined) => <E, R, L extends NonEmptyReadonlyArray<Layer.Layer.Any>>(opts: {
77
- effect: Effect.Effect<TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>>, E, R>;
83
+ type RpcDynamic<Key extends string, A extends RPCContextMap.Any> = {
84
+ key: Key;
85
+ settings: A;
86
+ };
87
+ type RpcOptionsDynamic<Key extends string, A extends RPCContextMap.Any> = RpcOptionsOriginal & {
88
+ readonly dynamic: RpcDynamic<Key, A>;
89
+ };
90
+ export type Dynamic<Options> = Options extends RpcOptionsDynamic<any, any> ? true : false;
91
+ export interface RpcMiddlewareDynamic<A, E, Config> {
92
+ (options: {
93
+ readonly config: Config;
94
+ readonly clientId: number;
95
+ readonly rpc: Rpc.AnyWithProps;
96
+ readonly payload: unknown;
97
+ readonly headers: HttpHeaders.Headers;
98
+ }): Effect.Effect<Option.Option<Context.Context<A>>, E, Scope.Scope>;
99
+ }
100
+ export interface TagClassDynamicAny<RequestContext extends Record<string, RPCContextMap.Any>> extends Context.Tag<any, any> {
101
+ readonly [RpcMiddleware.TypeId]: RpcMiddleware.TypeId;
102
+ readonly optional: boolean;
103
+ readonly provides?: Context.Tag<any, any> | undefined;
104
+ readonly failure: Schema.Schema.All;
105
+ readonly requiredForClient: boolean;
106
+ readonly dynamic: RpcDynamic<any, RequestContext[keyof RequestContext]>;
107
+ readonly wrap: boolean;
108
+ }
109
+ export declare namespace TagClass {
110
+ /**
111
+ * @since 1.0.0
112
+ * @category models
113
+ */
114
+ type Provides<Options> = Options extends {
115
+ readonly provides: Context.Tag<any, any>;
116
+ readonly optional?: false;
117
+ } ? Context.Tag.Identifier<Options["provides"]> : never;
118
+ /**
119
+ * @since 1.0.0
120
+ * @category models
121
+ */
122
+ type Service<Options> = Options extends {
123
+ readonly provides: Context.Tag<any, any>;
124
+ } ? Context.Tag.Service<Options["provides"]> : Options extends {
125
+ readonly dynamic: RpcDynamic<any, infer A>;
126
+ } ? A["service"] : void;
127
+ /**
128
+ * @since 1.0.0
129
+ * @category models
130
+ */
131
+ type FailureSchema<Options> = Options extends {
132
+ readonly failure: Schema.Schema.All;
133
+ readonly optional?: false;
134
+ } ? Options["failure"] : Options extends {
135
+ readonly dynamic: RpcDynamic<any, infer A>;
136
+ } ? A["error"] : typeof Schema.Never;
137
+ /**
138
+ * @since 1.0.0
139
+ * @category models
140
+ */
141
+ type Failure<Options> = Options extends {
142
+ readonly failure: Schema.Schema<infer _A, infer _I, infer _R>;
143
+ readonly optional?: false;
144
+ } ? _A : Options extends {
145
+ readonly dynamic: RpcDynamic<any, infer A>;
146
+ } ? S.Schema.Type<A["error"]> : never;
147
+ /**
148
+ * @since 1.0.0
149
+ * @category models
150
+ */
151
+ type FailureContext<Options> = Schema.Schema.Context<FailureSchema<Options>>;
152
+ /**
153
+ * @since 1.0.0
154
+ * @category models
155
+ */
156
+ type FailureService<Options> = Optional<Options> extends true ? unknown : Failure<Options>;
157
+ /**
158
+ * @since 1.0.0
159
+ * @category models
160
+ */
161
+ type Optional<Options> = Options extends {
162
+ readonly optional: true;
163
+ } ? true : false;
164
+ /**
165
+ * @since 1.0.0
166
+ * @category models
167
+ */
168
+ type RequiredForClient<Options> = Options extends {
169
+ readonly requiredForClient: true;
170
+ } ? true : false;
171
+ /**
172
+ * @since 1.0.0
173
+ * @category models
174
+ */
175
+ type Wrap<Options> = Options extends {
176
+ readonly wrap: true;
177
+ } ? true : false;
178
+ /**
179
+ * @since 1.0.0
180
+ * @category models
181
+ */
182
+ interface Base<Self, Name extends string, Options, Service> extends Context.Tag<Self, Service> {
183
+ new (_: never): Context.TagClassShape<Name, Service>;
184
+ readonly [TypeId]: TypeId;
185
+ readonly optional: Optional<Options>;
186
+ readonly failure: FailureSchema<Options>;
187
+ readonly provides: Options extends {
188
+ readonly provides: Context.Tag<any, any>;
189
+ } ? Options["provides"] : undefined;
190
+ readonly dynamic: Options extends RpcOptionsDynamic<any, any> ? Options["dynamic"] : undefined;
191
+ readonly requiredForClient: RequiredForClient<Options>;
192
+ readonly wrap: Wrap<Options>;
193
+ }
194
+ }
195
+ export interface TagClass<Self, Name extends string, Options> extends TagClass.Base<Self, Name, Options, TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>> : Options extends RpcOptionsDynamic<any, any> ? RpcMiddlewareDynamic<TagClass.Service<Options>, TagClass.FailureService<Options>, {
196
+ [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"];
197
+ }> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>>> {
198
+ }
199
+ export declare const Tag: <Self>() => <const Name extends string, const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any>>(id: Name, options?: Options | undefined) => <E, R, L extends NonEmptyReadonlyArray<Layer.Layer.Any>>(opts: {
200
+ effect: Effect.Effect<TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>> : Options extends RpcOptionsDynamic<any, any> ? RpcMiddlewareDynamic<TagClass.Service<Options>, TagClass.FailureService<Options>, { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"]; }> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>>, E, R>;
78
201
  dependencies?: L;
79
- }) => RpcMiddleware.TagClass<Self, Name, Options> & {
202
+ }) => TagClass<Self, Name, Options> & {
80
203
  Default: Layer.Layer<Self, E | LayerUtils.GetLayersError<L>, Exclude<R, LayerUtils.GetLayersSuccess<L>>>;
81
204
  };
82
205
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/DynamicMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAW,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAE,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAA;AAC9I,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,KAAK,aAAa,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAAE,KAAK,sBAAsB,EAA0B,MAAM,yBAAyB,CAAA;AAI7F,MAAM,MAAM,qBAAqB,CAC/B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3D,WAAW,IACT,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,IAAI,EAAE,CACJ,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,EAEhC,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,CAClG,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,EAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,EAErE,WAAW,GAEX,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,CACpG,CAAA;AAED,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,IAAI,EAAE,CACJ,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,EAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,EACrE,KAAK,CAAC,KAAK,GACX,OAAO,CAGP,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,KAAK,yBAAyB,CAAC,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI;KAC3F,CAAC,IAAI,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CACnD;SAAG,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAAE,EAC9E,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC7C;CACF,CAAA;AAED,MAAM,WAAW,cAAc,CAC7B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,sFAAsF;AACnJ,0BAA0B,SAAS,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,wCAAwC;AACzH,0BAA0B,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EAChF,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE,iDAAiD;AAClE,sBAAsB,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAGrE,kBAAkB,EAAE,0BAA0B,CAAA;IAC9C,2FAA2F;IAC3F,kBAAkB,EAAE,0BAA0B,CAAA;IAG9C,YAAY,CAAC,EAAE,sBAAsB,CAAA;IAErC,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,CAGL,EAAE,EAAE,qBAAqB,CACvB,iBAAiB,EACf,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,GACnE,KAAK,CAAC,KAAK,CACd,KACE,qBAAqB,CACxB,iBAAiB,EACf,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,GACnE,KAAK,CAAC,KAAK,CACd,KACE,MAAM,CACT,qBAAqB,CACnB,iBAAiB,EACf,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,GACnE,KAAK,CAAC,KAAK,CACd,EACD,eAAe,EACf,eAAe,GAAG,KAAK,CACxB,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAA;CACxB;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;IACE,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;CAC/D,EACD,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,eAAO,MAAM,cAAc,GAGvB,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,QAG3D,uBAAuB,SAAS,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,wCAAwC;AACtH,0BAA0B,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EAChF,sBAAsB,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,sDAAsD;AAC7H,eAAe,GAAG,KAAK,EAAE,iDAAiD;AAC1E,eAAe,GAAG,KAAK,EAEvB,MAAM,cAAc,CAClB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,sBAAsB,CACvB;YAKW,iBAAiB,CACvB,iBAAiB,EACjB,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CACpE;UACK,iBAAiB;;;CA+F5B,CAAA;AA0CH,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC,OAAO,EAAE;QACR,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;KACtC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC5C;AACD,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC,OAAO,EAAE;QACR,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;QACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;KACtE,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAChD;AAED,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,IAAI,QAEtB,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,OAAO,SAAS,kBAAkB,EAExC,IAAI,IAAI,EACR,UAAU,OAAO,GAAG,SAAS,MAE9B,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,iBAAiB,CACnD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,GACC,aAAa,CACb,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CACjC,EACH,CAAC,EACD,CAAC,CACF,CAAA;IACD,YAAY,CAAC,EAAE,CAAC,CAAA;CACjB,KAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;IAChD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAShG,CAAA"}
1
+ {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/DynamicMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAA;AAClJ,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,KAAK,aAAa,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAAE,KAAK,sBAAsB,EAA0B,MAAM,yBAAyB,CAAA;AAI7F,MAAM,MAAM,qBAAqB,CAC/B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3D,WAAW,IACT,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,IAAI,EAAE,CACJ,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,EAEhC,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,CAClG,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,EAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,EAErE,WAAW,GAEX,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,CACpG,CAAA;AAED,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,IAAI,EAAE,CACJ,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,EAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,EACrE,KAAK,CAAC,KAAK,GACX,OAAO,CAGP,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,yBAAyB,CAAC,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI;KAClG,CAAC,IAAI,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CACnD;SAAG,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAAE,EAC9E,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC7C;CACF,CAAA;AAED,MAAM,WAAW,cAAc,CAC7B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,sFAAsF;AACnJ,0BAA0B,SAAS,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,wCAAwC;AACzH,0BAA0B,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EAChF,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE,iDAAiD;AAClE,sBAAsB,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAGrE,kBAAkB,EAAE,0BAA0B,CAAA;IAC9C,2FAA2F;IAC3F,kBAAkB,EAAE,0BAA0B,CAAA;IAG9C,YAAY,CAAC,EAAE,sBAAsB,CAAA;IAErC,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,CAGL,EAAE,EAAE,qBAAqB,CACvB,iBAAiB,EACf,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,GACnE,KAAK,CAAC,KAAK,CACd,KACE,qBAAqB,CACxB,iBAAiB,EACf,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,GACnE,KAAK,CAAC,KAAK,CACd,KACE,MAAM,CACT,qBAAqB,CACnB,iBAAiB,EACf,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,GACnE,KAAK,CAAC,KAAK,CACd,EACD,eAAe,EACf,eAAe,GAAG,KAAK,CACxB,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAA;CACxB;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;IACE,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;CAC/D,EACD,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;AAUD,eAAO,MAAM,cAAc,GAGvB,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,QAG3D,uBAAuB,SAAS,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,wCAAwC;AACtH,0BAA0B,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EAChF,sBAAsB,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,sDAAsD;AAC7H,eAAe,GAAG,KAAK,EAAE,iDAAiD;AAC1E,eAAe,GAAG,KAAK,EAEvB,MAAM,cAAc,CAClB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,sBAAsB,CACvB;YAKW,iBAAiB,CACvB,iBAAiB,EACjB,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CACpE;UACK,iBAAiB;;;CAiG5B,CAAA;AAEH,eAAO,MAAM,mBAAmB,GAG5B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3D,uBAAuB,SAAS,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,wCAAwC;AACtH,0BAA0B,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EAEhF,MAAM,cAAc,CAClB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,EACL,KAAK,EACL,KAAK,CACN;YAKW,iBAAiB,CACvB,iBAAiB,EACjB,sBAAsB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CACpE;UACK,iBAAiB;;;CA2F5B,CAAA;AA0CH,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC,OAAO,EAAE;QACR,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;KACtC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC5C;AACD,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC,OAAO,EAAE;QACR,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;QACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;KACtE,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAChD;AAED,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC,CAAA;AAED,KAAK,UAAU,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,CAAC,GAAG,IAAI;IACjE,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,CAAC,CAAA;CACZ,CAAA;AAED,KAAK,iBAAiB,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,CAAC,GAAG,IAAI,kBAAkB,GAAG;IAC7F,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,OAAO,IAAI,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEzF,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM;IAChD,CAAC,OAAO,EAAE;QACR,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;KACtC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CACrE;AAED,MAAM,WAAW,kBAAkB,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAC1F,SAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IAE7B,QAAQ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAA;IACrD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,cAAc,CAAC,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC;;;OAGG;IACH,KAAY,QAAQ,CAAC,OAAO,IAAI,OAAO,SAAS;QAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;KAC1B,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAC3C,KAAK,CAAA;IAET;;;OAGG;IACH,KAAY,OAAO,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAAE,GACvF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GACxC,OAAO,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAC7E,IAAI,CAAA;IAER;;;OAGG;IACH,KAAY,aAAa,CAAC,OAAO,IAAI,OAAO,SAC1C;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GACrF,OAAO,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAC3E,OAAO,MAAM,CAAC,KAAK,CAAA;IAEvB;;;OAGG;IACH,KAAY,OAAO,CAAC,OAAO,IAAI,OAAO,SACpC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,EAAE,GAC/F,OAAO,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAC1F,KAAK,CAAA;IAET;;;OAGG;IACH,KAAY,cAAc,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAEnF;;;OAGG;IACH,KAAY,cAAc,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjG;;;OAGG;IACH,KAAY,QAAQ,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAA;IAE1F;;;OAGG;IACH,KAAY,iBAAiB,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAA;IAE5G;;;OAGG;IACH,KAAY,IAAI,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAA;IAElF;;;OAGG;IACH,UAAiB,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,MAAM,EAAE,OAAO,EAAE,OAAO,CAAE,SAAQ,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;QACnG,KAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,SAAS;YAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,UAAU,CAAC,GACjG,SAAS,CAAA;QACb,QAAQ,CAAC,OAAO,EAAE,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAC9E,SAAS,CAAA;QACb,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACtD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KAC7B;CACF;AAED,MAAM,WAAW,QAAQ,CACvB,IAAI,EACJ,IAAI,SAAS,MAAM,EACnB,OAAO,CACP,SACA,QAAQ,CAAC,IAAI,CACX,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,iBAAiB,CACnD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,GACC,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAChE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAChC;KAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;CAAE,CAC3F,GACD,aAAa,CACb,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CACjC,CACJ;CACD;AAEF,eAAO,MAAM,GAAG,GAAI,IAAI,QAEtB,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,OAAO,SAAS,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEtE,IAAI,IAAI,EACR,UAAU,OAAO,GAAG,SAAS,MAE9B,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,iBAAiB,CACnD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,GACC,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAChE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAChC,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,GAAE,CAC3F,GACD,aAAa,CACb,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CACjC,EACH,CAAC,EACD,CAAC,CACF,CAAA;IACD,YAAY,CAAC,EAAE,CAAC,CAAA;CACjB,KAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;IAClC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAWhG,CAAA"}
@@ -2,13 +2,78 @@
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-return */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  import { Rpc, RpcMiddleware } from "@effect/rpc";
5
- import { Console, Context, Effect, Layer, Unify } from "effect-app";
5
+ import { Context, Effect, Layer, Unify } from "effect-app";
6
6
  import { implementMiddleware } from "./dynamic-middleware.js";
7
7
  import { genericMiddlewareMaker } from "./generic-middleware.js";
8
+ /*:
9
+ & Context.Tag<MiddlewareMakerId, {
10
+ effect: RPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]>>
11
+ _tag: "MiddlewareMaker"
12
+ }>
13
+ & { Default: "abc" } */
8
14
  // factory for middlewares
9
15
  export const makeMiddleware =
10
16
  // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
11
17
  () => (make) => {
18
+ const MiddlewareMaker = Context.GenericTag("MiddlewareMaker");
19
+ const dynamicMiddlewares = implementMiddleware()(make.dynamicMiddlewares);
20
+ const middlewares = genericMiddlewareMaker(...make.genericMiddlewares);
21
+ const l = Layer.scoped(MiddlewareMaker, Effect
22
+ .all({
23
+ dynamicMiddlewares: dynamicMiddlewares.effect,
24
+ generic: middlewares.effect,
25
+ middleware: make.execute
26
+ ? make.execute((cb) => cb)
27
+ : Effect.succeed((_schema, next) => (payload, headers) => next(payload, headers))
28
+ })
29
+ .pipe(Effect.map(({ dynamicMiddlewares, generic, middleware }) => ({
30
+ _tag: "MiddlewareMaker",
31
+ effect: makeRpcEffect()((schema, next, moduleName) => {
32
+ const h = middleware(schema, next, moduleName);
33
+ return (payload, headers) => {
34
+ const basic = {
35
+ config: schema.config ?? {},
36
+ payload,
37
+ headers,
38
+ clientId: 0, // TODO: get the clientId from the request context
39
+ rpc: {
40
+ ...Rpc.fromTaggedRequest(schema),
41
+ // middlewares ? // todo: get from actual middleware flow?
42
+ annotations: Context.empty(), // TODO //Annotations(schema as any),
43
+ // successSchema: schema.success ?? Schema.Void,
44
+ // errorSchema: schema.failure ?? Schema.Never,
45
+ payloadSchema: schema,
46
+ _tag: `${moduleName}.${payload._tag}`,
47
+ key: `${moduleName}.${payload._tag}` /* ? */
48
+ // clientId: 0 as number /* ? */
49
+ }
50
+ };
51
+ return Effect
52
+ .gen(function* () {
53
+ const gen = generic({
54
+ ...basic,
55
+ next:
56
+ // the contextProvider is an Effect that builds the context for the request
57
+ // the dynamicMiddlewares is an Effect that builds the dynamiuc context for the request
58
+ dynamicMiddlewares(basic).pipe(Effect.flatMap((dynamicContext) => h(payload, headers).pipe(Effect.provide(dynamicContext))))
59
+ });
60
+ return yield* gen;
61
+ }); // why?
62
+ };
63
+ })
64
+ }))));
65
+ const dependencies = [
66
+ ...(make.dependencies ? make.dependencies : []),
67
+ ...dynamicMiddlewares.dependencies,
68
+ ...middlewares.dependencies
69
+ ];
70
+ const middlewareLayer = l
71
+ .pipe(Layer.provide(dependencies));
72
+ return Object.assign(MiddlewareMaker, { Default: middlewareLayer });
73
+ };
74
+ export const makeMiddlewareBasic =
75
+ // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
76
+ (make) => {
12
77
  const MiddlewareMaker = Context.GenericTag("MiddlewareMaker");
13
78
  const dynamicMiddlewares = implementMiddleware()(make.dynamicMiddlewares);
14
79
  const middlewares = genericMiddlewareMaker(...make.genericMiddlewares);
@@ -26,7 +91,8 @@ export const makeMiddleware =
26
91
  const h = middleware(schema, next, moduleName);
27
92
  return (payload, headers) => Effect
28
93
  .gen(function* () {
29
- const gen = generic({
94
+ const basic = {
95
+ config: schema.config ?? {},
30
96
  payload,
31
97
  headers,
32
98
  clientId: 0, // TODO: get the clientId from the request context
@@ -40,21 +106,21 @@ export const makeMiddleware =
40
106
  _tag: `${moduleName}.${payload._tag}`,
41
107
  key: `${moduleName}.${payload._tag}` /* ? */
42
108
  // clientId: 0 as number /* ? */
43
- }, // todo: make moduleName part of the tag on S.Req creation.
109
+ }
110
+ };
111
+ return yield* generic({
112
+ ...basic,
44
113
  next:
45
114
  // the contextProvider is an Effect that builds the context for the request
46
115
  // the dynamicMiddlewares is an Effect that builds the dynamiuc context for the request
47
- dynamicMiddlewares(schema.config ?? {}, headers).pipe(Effect.flatMap((dynamicContext) => h(payload, headers).pipe(Effect.provide(dynamicContext))))
116
+ dynamicMiddlewares(basic).pipe(Effect.flatMap((dynamicContext) => h(payload, headers).pipe(Effect.provide(dynamicContext))))
48
117
  });
49
- console.log({ gen });
50
- return yield* gen;
51
- })
52
- .pipe(Effect.onExit(Console.log)); // why?
118
+ }); // why?
53
119
  })
54
- })), Effect.onExit(Console.log)));
120
+ }))));
55
121
  const dependencies = [
56
122
  ...(make.dependencies ? make.dependencies : []),
57
- ...dynamicMiddlewares.dependencies,
123
+ ...(dynamicMiddlewares.dependencies),
58
124
  ...middlewares.dependencies
59
125
  ];
60
126
  const middlewareLayer = l
@@ -66,6 +132,8 @@ function makeRpcEffect() {
66
132
  return (cb) => cb;
67
133
  }
68
134
  export const Tag = () => (id, options) => (opts) => class extends RpcMiddleware.Tag()(id, options) {
135
+ // TODO: move to TagClass.
136
+ static dynamic = options && "dynamic" in options ? options.dynamic : undefined;
69
137
  static Default = Layer.scoped(this, opts.effect).pipe(Layer.provide([Layer.empty, ...opts.dependencies ?? []]));
70
138
  static [Unify.typeSymbol];
71
139
  static [Unify.unifySymbol];
@@ -96,4 +164,4 @@ export const Tag = () => (id, options) => (opts) => class extends RpcMiddleware.
96
164
  // }) => RpcMiddleware.TagClass<Self, Name, Options> & {
97
165
  // Default: Layer.Layer<Self, E | LayerUtils.GetLayersError<L>, Exclude<R, LayerUtils.GetLayersSuccess<L>>>
98
166
  // }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWlkZGxld2FyZS9EeW5hbWljTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE2RSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFNOUksT0FBTyxFQUF5QixtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BGLE9BQU8sRUFBK0Isc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQWlKN0YsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGNBQWM7QUFDekIscUdBQXFHO0FBQ3JHLEdBRUksRUFBRSxDQUNOLENBT0UsSUFPQyxFQUNELEVBQUU7SUFDRixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQVV4QyxpQkFBaUIsQ0FDbEIsQ0FBQTtJQUVELE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLEVBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDNUYsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUV0RSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNwQixlQUFlLEVBQ2YsTUFBTTtTQUNILEdBQUcsQ0FBQztRQUNILGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLE1BQU07UUFDN0MsT0FBTyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTztZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLE9B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
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWlkZGxld2FyZS9EeW5hbWljTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQTBGLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQU1sSixPQUFPLEVBQXlCLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDcEYsT0FBTyxFQUErQixzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBaUo3Rjs7Ozs7MkJBSzJCO0FBRTNCLDBCQUEwQjtBQUMxQixNQUFNLENBQUMsTUFBTSxjQUFjO0FBQ3pCLHFHQUFxRztBQUNyRyxHQUVJLEVBQUUsQ0FDTixDQU9FLElBT0MsRUFDRCxFQUFFO0lBQ0YsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FVeEMsaUJBQWlCLENBQ2xCLENBQUE7SUFFRCxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixFQUFxQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzVGLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFFdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEIsZUFBZSxFQUNmLE1BQU07U0FDSCxHQUFHLENBQUM7UUFDSCxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1FBQzdDLE9BQU8sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDdEIsQ0FBQyxDQUFDLElBQUks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
@@ -1,14 +1,10 @@
1
- import { type Context, Effect, type Option, type S } from "effect-app";
1
+ import { type Context, Effect, type S } from "effect-app";
2
2
  import { type GetEffectContext, type RPCContextMap } from "effect-app/client";
3
3
  import { type Tag } from "effect-app/Context";
4
+ import { type HttpHeaders } from "effect-app/http";
4
5
  import { type ContextTagWithDefault } from "../../layerUtils.js";
5
- export type ContextWithLayer<Config, Service, Error, Dependencies, Id, LayerE, LayerR> = (ContextTagWithDefault<Id, {
6
- _tag: any;
7
- handle: (config: Config, headers: Record<string, string>) => Effect<Option<Context<Service>>, Error, any>;
8
- }, LayerE, LayerR> | ContextTagWithDefault<Id, {
9
- _tag: any;
10
- handle: (config: Config, headers: Record<string, string>) => Effect<Option<Context<Service>>, Error, never>;
11
- }, LayerE, LayerR>) & {
6
+ import { type RpcMiddlewareDynamic } from "./DynamicMiddleware.js";
7
+ export type ContextWithLayer<Config, Service, Error, Dependencies, Id, LayerE, LayerR> = (ContextTagWithDefault<Id, RpcMiddlewareDynamic<Service, Error, Config>, LayerE, LayerR> | ContextTagWithDefault<Id, RpcMiddlewareDynamic<Service, Error, Config>, LayerE, LayerR>) & {
12
8
  dependsOn?: Dependencies;
13
9
  };
14
10
  export declare namespace ContextWithLayer {
@@ -16,6 +12,9 @@ export declare namespace ContextWithLayer {
16
12
  }
17
13
  export declare const implementMiddleware: <T extends Record<string, RPCContextMap.Any>>() => <TI extends { [K in keyof T]: ContextWithLayer.Base<{ [K_1 in keyof T]?: T[K_1]["contextActivation"]; }, T[K]["service"], S.Schema.Type<T[K]["error"]>>; }>(implementations: TI) => {
18
14
  dependencies: { [K in keyof TI]: TI[K]["Default"]; }[keyof TI][];
19
- effect: Effect<(config: { [K in keyof T]?: T[K]["contextActivation"]; }, headers: Record<string, string>) => Effect.Effect<Context.Context<GetEffectContext<T, typeof config>>, Effect.Error<ReturnType<Tag.Service<TI[keyof TI]>["handle"]>>, Effect.Context<ReturnType<Tag.Service<TI[keyof TI]>["handle"]>>>, never, Tag.Identifier<{ [K in keyof TI]: TI[K]; }[keyof TI]>>;
15
+ effect: Effect<(options: {
16
+ config: { [K in keyof T]?: T[K]["contextActivation"]; };
17
+ headers: HttpHeaders.Headers;
18
+ }) => Effect.Effect<Context.Context<GetEffectContext<T, (typeof options)["config"]>>, Effect.Error<ReturnType<Tag.Service<TI[keyof TI]>>>, Effect.Context<ReturnType<Tag.Service<TI[keyof TI]>>>>, never, Tag.Identifier<{ [K in keyof TI]: TI[K]; }[keyof TI]>>;
20
19
  };
21
20
  //# 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":"AACA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,KAAK,qBAAqB,EAAuB,MAAM,qBAAqB,CAAA;AAGrF,MAAM,MAAM,gBAAgB,CAC1B,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,EAAE,EACF,MAAM,EACN,MAAM,IAEJ,CACE,qBAAqB,CACrB,EAAE,EACF;IACE,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,CACN,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;CAClD,EACD,MAAM,EACN,MAAM,CACP,GACC,qBAAqB,CACrB,EAAE,EACF;IACE,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,CACN,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;CACpD,EACD,MAAM,EACN,MAAM,CACP,CACF,GACC;IACA,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB,CAAA;AAEH,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,gBAAgB,CACzD,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAA;CACF;AAGD,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,QAE7E,EAAE,SAAS,GACR,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CACnC,GAAG,GAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAC,CAAC,CAAC,mBAAmB,CAAC,GAAE,EAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC7B,GACF,EACD,iBAAiB,EAAE;kBACmD,GACnE,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAClC,CAAC,MAAM,EAAE,CAAC,EAAE;YAkBI,MAAM,CACrB,CACE,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAE,EACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,MAAM,CAAC,MAAM,CAChB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC,CAAC,EACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC7D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChE,EACD,KAAK,EACL,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CACrD;CACD,CAAA"}
1
+ {"version":3,"file":"dynamic-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/dynamic-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,KAAK,qBAAqB,EAAuB,MAAM,qBAAqB,CAAA;AAErF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAElE,MAAM,MAAM,gBAAgB,CAC1B,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,EAAE,EACF,MAAM,EACN,MAAM,IAEJ,CACE,qBAAqB,CACrB,EAAE,EACF,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAC5C,MAAM,EACN,MAAM,CACP,GACC,qBAAqB,CACrB,EAAE,EACF,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAC5C,MAAM,EACN,MAAM,CACP,CACF,GACC;IACA,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB,CAAA;AAEH,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,gBAAgB,CACzD,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAA;CACF;AAGD,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,QAE7E,EAAE,SAAS,GACR,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CACnC,GAAG,GAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAC,CAAC,CAAC,mBAAmB,CAAC,GAAE,EAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC7B,GACF,EACD,iBAAiB,EAAE;kBACmD,GACnE,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAClC,CAAC,MAAM,EAAE,CAAC,EAAE;YAkBI,MAAM,CACrB,CACE,OAAO,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAE,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;KAAE,KAC9F,MAAM,CAAC,MAAM,CAChB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAA,OAAO,OAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,EAC9D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EACnD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACtD,EACD,KAAK,EACL,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CACrD;CACD,CAAA"}
@@ -9,10 +9,10 @@ export const implementMiddleware = () => (implementations) => ({
9
9
  effect: Effect.gen(function* () {
10
10
  const sorted = sort(typedValuesOf(implementations));
11
11
  const makers = yield* Effect.all(sorted);
12
- return Effect.fnUntraced(function* (config, headers) {
13
- const ctx = yield* mergeOptionContexts(Array.map(makers, (_, i) => ({ maker: sorted[i], handle: _.handle(config, headers) })));
12
+ return Effect.fnUntraced(function* (options) {
13
+ const ctx = yield* mergeOptionContexts(Array.map(makers, (_, i) => ({ maker: sorted[i], handle: _(options) })));
14
14
  return ctx;
15
15
  });
16
16
  })
17
17
  });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvZHluYW1pYy1taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFnQixNQUFNLEVBQXVCLE1BQU0sWUFBWSxDQUFBO0FBRzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQXFEbEMseUpBQXlKO0FBQ3pKLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQWdELEVBQUUsQ0FDckYsQ0FRRSxlQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLFlBQVksRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUVwRDtJQUNiLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7UUFFbkQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QyxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQ3RCLFFBQVEsQ0FBQyxFQUFDLE1BQXNELEVBQUUsT0FBK0I7WUFDL0YsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsbUJBQW1CLENBQ3BDLEtBQUssQ0FBQyxHQUFHLENBQ1AsTUFBTSxFQUNOLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFHLENBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBUSxFQUFFLENBQVEsQ0FDM0YsQ0FDRixDQUFBO1lBQ0QsT0FBTyxHQUVOLENBQUE7UUFDSCxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FXQTtDQUNGLENBQUMsQ0FBQSJ9
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvZHluYW1pYy1taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFnQixNQUFNLEVBQVUsTUFBTSxZQUFZLENBQUE7QUFJaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBOEIsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBMENsQyx5SkFBeUo7QUFDekosTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBZ0QsRUFBRSxDQUNyRixDQVFFLGVBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBRXBEO0lBQ2IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQTtRQUVuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3hDLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FDdEIsUUFBUSxDQUFDLEVBQUMsT0FBaUc7WUFDekcsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsbUJBQW1CLENBQ3BDLEtBQUssQ0FBQyxHQUFHLENBQ1AsTUFBTSxFQUNOLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFHLENBQVMsQ0FBQyxPQUFPLENBQVEsRUFBRSxDQUFRLENBQzVFLENBQ0YsQ0FBQTtZQUNELE9BQU8sR0FFTixDQUFBO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDLENBVUE7Q0FDRixDQUFDLENBQUEifQ==
@@ -1,7 +1,9 @@
1
1
  import { type Rpc, type RpcMiddleware } from "@effect/rpc";
2
2
  import { type SuccessValue, type TagClassAny } from "@effect/rpc/RpcMiddleware";
3
3
  import { type Array, Context, Effect, type Layer, type Scope } from "effect-app";
4
+ import { type RPCContextMap } from "effect-app/client";
4
5
  import { type HttpHeaders } from "effect-app/http";
6
+ import { type TagClassDynamicAny } from "./DynamicMiddleware.js";
5
7
  export interface GenericMiddlewareOptions<E> {
6
8
  readonly next: Effect.Effect<SuccessValue, E, Scope.Scope>;
7
9
  readonly payload: unknown;
@@ -12,6 +14,9 @@ export interface GenericMiddlewareOptions<E> {
12
14
  export type GenericMiddlewareMaker = TagClassAny & {
13
15
  Default: Layer.Layer.Any;
14
16
  };
17
+ export type DynamicMiddlewareMaker<RequestContext extends Record<string, RPCContextMap.Any>> = TagClassDynamicAny<RequestContext> & {
18
+ Default: Layer.Layer.Any;
19
+ };
15
20
  export declare namespace GenericMiddlewareMaker {
16
21
  type Provided<T> = T extends TagClassAny ? T extends {
17
22
  provides: Context.Tag<any, any>;
@@ -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,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAChF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD,MAAM,WAAW,wBAAwB,CAAC,CAAC;IAEzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;CAAE,CAAA;AAE/E,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,GAC3C,CAAC,SAAS;QAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,GAC7F,KAAK,CAAA;CACV;AAED,eAAO,MAAM,iBAAiB,GAAI,GAAG,sBAAsB,2BAAM,CAAA;AAEjE,eAAO,MAAM,sBAAsB,GACjC,CAAC,SAAS,KAAK,CAAC,sBAAsB,CAAC,EACvC,GAAG,aAAa,CAAC,KAAG;IACpB,YAAY,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAA;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;CAkDjE,CAAA"}
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,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAChF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,MAAM,WAAW,wBAAwB,CAAC,CAAC;IAEzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;CAAE,CAAA;AAC/E,MAAM,MAAM,sBAAsB,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IACvF,kBAAkB,CAAC,cAAc,CAAC,GAClC;IAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;CAAE,CAAA;AAEhC,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,GAC3C,CAAC,SAAS;QAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,GAC7F,KAAK,CAAA;CACV;AAED,eAAO,MAAM,iBAAiB,GAAI,GAAG,sBAAsB,2BAAM,CAAA;AAEjE,eAAO,MAAM,sBAAsB,GACjC,CAAC,SAAS,KAAK,CAAC,sBAAsB,CAAC,EACvC,GAAG,aAAa,CAAC,KAAG;IACpB,YAAY,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAA;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;CAkDjE,CAAA"}
@@ -42,4 +42,4 @@ export const genericMiddlewareMaker = (...middlewares) => {
42
42
  })
43
43
  };
44
44
  };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvZ2VuZXJpYy1taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUEwQixNQUFNLFlBQVksQ0FBQTtBQUVoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFtQmhELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBRXBDLEdBQUcsV0FBYyxFQUdqQixFQUFFO0lBQ0YsdUNBQXVDO0lBQ3ZDLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFTLENBQUE7SUFDN0MsT0FBTztRQUNMLFlBQVksRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQy9DLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUMxQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDdkMsd0dBQXdHO1lBQ3hHLHdCQUF3QjtZQUN4QixrQkFBa0I7WUFDbEIsY0FBYztZQUVkLE9BQU8sQ0FDTCxPQUFvQyxFQUNwQyxFQUFFO2dCQUNGLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7Z0JBQzFCLDJCQUEyQjtnQkFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7d0JBQ2xELE9BQU8sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ25FLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQWMsRUFBRSxDQUFDLENBQUMsQ0FDM0QsQ0FBQTtvQkFDVixDQUFDO3lCQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUN4QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQTBDLENBQUE7d0JBQzNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQTt3QkFDeEIsT0FBTyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbkUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTs0QkFDdEQsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7NEJBQ3pCLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVM7Z0NBQ25DLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQWUsRUFBRSxLQUFLLENBQUM7Z0NBQ3hFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUTt5QkFDcEIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtvQkFDSCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUEwQyxDQUFBO3dCQUMzRixPQUFPLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNuRSxNQUFNLENBQUMsUUFBUSxDQUNiLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUzs0QkFDeEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQWUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7NEJBQ2hGLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDbEQsQ0FDRixDQUFBO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLE9BQU8sQ0FBQTtZQUNoQixDQUFDLENBQUE7UUFDSCxDQUFDLENBQUM7S0FDSSxDQUFBO0FBQ1YsQ0FBQyxDQUFBIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvZ2VuZXJpYy1taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUEwQixNQUFNLFlBQVksQ0FBQTtBQUdoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUF1QmhELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBRXBDLEdBQUcsV0FBYyxFQUdqQixFQUFFO0lBQ0YsdUNBQXVDO0lBQ3ZDLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFTLENBQUE7SUFDN0MsT0FBTztRQUNMLFlBQVksRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQy9DLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUMxQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDdkMsd0dBQXdHO1lBQ3hHLHdCQUF3QjtZQUN4QixrQkFBa0I7WUFDbEIsY0FBYztZQUVkLE9BQU8sQ0FDTCxPQUFvQyxFQUNwQyxFQUFFO2dCQUNGLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7Z0JBQzFCLDJCQUEyQjtnQkFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ2IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7d0JBQ2xELE9BQU8sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ25FLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQWMsRUFBRSxDQUFDLENBQUMsQ0FDM0QsQ0FBQTtvQkFDVixDQUFDO3lCQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUN4QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQTBDLENBQUE7d0JBQzNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQTt3QkFDeEIsT0FBTyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbkUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTs0QkFDdEQsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7NEJBQ3pCLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVM7Z0NBQ25DLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQWUsRUFBRSxLQUFLLENBQUM7Z0NBQ3hFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUTt5QkFDcEIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtvQkFDSCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUEwQyxDQUFBO3dCQUMzRixPQUFPLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNuRSxNQUFNLENBQUMsUUFBUSxDQUNiLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUzs0QkFDeEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQWUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7NEJBQ2hGLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDbEQsQ0FDRixDQUFBO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLE9BQU8sQ0FBQTtZQUNoQixDQUFDLENBQUE7UUFDSCxDQUFDLENBQUM7S0FDSSxDQUFBO0FBQ1YsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,17 @@
1
+ import { type NonEmptyReadonlyArray } from "effect-app";
2
+ import { type RPCContextMap } from "effect-app/client";
3
+ import { type DynamicMiddlewareMaker, type GenericMiddlewareMaker, type makeMiddlewareBasic, type RequestContextMapProvider } from "../../routing.js";
4
+ export declare const contextMap: <RequestContextMap>() => <K extends keyof RequestContextMap>(a: K) => {
5
+ key: K;
6
+ settings: RequestContextMap[typeof a];
7
+ };
8
+ type DynamicMiddlewareMakerrsss<RequestContext extends Record<string, RPCContextMap.Any>, Provided extends keyof RequestContext, Middlewares extends NonEmptyReadonlyArray<GenericMiddlewareMaker>, DynamicMiddlewareProviders extends RequestContextMapProvider<RequestContext>> = keyof Omit<RequestContext, Provided> extends never ? {
9
+ make: () => ReturnType<typeof makeMiddlewareBasic<RequestContext, DynamicMiddlewareProviders, Middlewares>>;
10
+ } : {
11
+ addDynamicMiddleware: <MW extends DynamicMiddlewareMaker<RequestContext>>(a: MW) => DynamicMiddlewareMakerrsss<RequestContext, Provided | MW["dynamic"]["key"], Middlewares, DynamicMiddlewareProviders & {
12
+ [K in MW["dynamic"]["key"]]: MW;
13
+ }>;
14
+ };
15
+ export declare const makeNewMiddleware: <RequestContextMap extends Record<string, RPCContextMap.Any>>() => <Middlewares extends NonEmptyReadonlyArray<GenericMiddlewareMaker>>(...genericMiddlewares: Middlewares) => DynamicMiddlewareMakerrsss<RequestContextMap, never, Middlewares, never>;
16
+ export {};
17
+ //# sourceMappingURL=middleware-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware-api.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAkB,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAErK,eAAO,MAAM,UAAU,GAAI,iBAAiB,QAAQ,CAAC,SAAS,MAAM,iBAAiB,EAAE,GAAG,CAAC;;cAEhE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACpD,CAAA;AAEF,KAAK,0BAA0B,CAC7B,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EACxD,QAAQ,SAAS,MAAM,cAAc,EACrC,WAAW,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EACjE,0BAA0B,SAAS,yBAAyB,CAAC,cAAc,CAAC,IAC1E,MAAM,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,KAAK,GAClD;IAAE,IAAI,EAAE,MAAM,UAAU,CAAC,OAAO,mBAAmB,CAAC,cAAc,EAAE,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAA;CAAE,GAC/G;IACA,oBAAoB,EAAE,CAAC,EAAE,SAAS,sBAAsB,CAAC,cAAc,CAAC,EACtE,CAAC,EAAE,EAAE,KACF,0BAA0B,CAC7B,cAAc,EACd,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAC/B,WAAW,EACX,0BAA0B,GAAG;SAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;KAAE,CACjE,CAAA;CACF,CAAA;AAEH,eAAO,MAAM,iBAAiB,EAAE,CAC9B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,OACtD,CAAC,WAAW,SAAS,qBAAqB,CAAC,sBAAsB,CAAC,EACvE,GAAG,kBAAkB,EAAE,WAAW,KAC/B,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAY3E,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { makeMiddleware } from "../../routing.js";
2
+ export const contextMap = () => (a) => ({
3
+ key: a,
4
+ settings: null
5
+ });
6
+ export const makeNewMiddleware = () => (...genericMiddlewares) => {
7
+ const dynamicMiddlewares = {};
8
+ const make = makeMiddleware();
9
+ const it = {
10
+ addDynamicMiddleware: (a) => {
11
+ console.log("Adding dynamic middleware", a, a.dynamic, Object.keys(a));
12
+ dynamicMiddlewares[a.dynamic.key] = a;
13
+ return it;
14
+ },
15
+ make: () => make({ genericMiddlewares: genericMiddlewares, dynamicMiddlewares })
16
+ };
17
+ return it;
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWlkZGxld2FyZS9taWRkbGV3YXJlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQTRELGNBQWMsRUFBNEQsTUFBTSxrQkFBa0IsQ0FBQTtBQUVySyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBc0IsRUFBRSxDQUFDLENBQW9DLENBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRixHQUFHLEVBQUUsQ0FBQztJQUNOLFFBQVEsRUFBRSxJQUEwQztDQUNyRCxDQUFDLENBQUE7QUFvQkYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBSWtELEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxFQUFFO0lBQzlHLE1BQU0sa0JBQWtCLEdBQTJCLEVBQVMsQ0FBQTtJQUM1RCxNQUFNLElBQUksR0FBRyxjQUFjLEVBQU8sQ0FBQTtJQUNsQyxNQUFNLEVBQUUsR0FBRztRQUNULG9CQUFvQixFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3JFO1lBQUMsa0JBQTBCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDL0MsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQixFQUFFLGtCQUF5QixFQUFFLGtCQUFrQixFQUFFLENBQUM7S0FDeEYsQ0FBQTtJQUNELE9BQU8sRUFBRSxDQUFBO0FBQ1gsQ0FBQyxDQUFBIn0=