@effect-app/infra 3.0.0 → 3.0.2

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 (48) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/QueueMaker/errors.d.ts +1 -1
  3. package/dist/QueueMaker/errors.d.ts.map +1 -1
  4. package/dist/api/routing/middleware/RouterMiddleware.d.ts +1 -1
  5. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  6. package/dist/api/routing/middleware/middleware.d.ts +1 -2
  7. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  8. package/dist/api/routing/middleware/middleware.js +2 -3
  9. package/dist/api/routing/middleware.d.ts +0 -4
  10. package/dist/api/routing/middleware.d.ts.map +1 -1
  11. package/dist/api/routing/middleware.js +1 -5
  12. package/dist/api/routing.d.ts +5 -13
  13. package/dist/api/routing.d.ts.map +1 -1
  14. package/dist/api/routing.js +4 -13
  15. package/package.json +2 -22
  16. package/src/api/routing/middleware/RouterMiddleware.ts +1 -1
  17. package/src/api/routing/middleware/middleware.ts +1 -3
  18. package/src/api/routing/middleware.ts +0 -4
  19. package/src/api/routing.ts +20 -36
  20. package/test/controller.test.ts +13 -14
  21. package/test/dist/controller.test.d.ts.map +1 -1
  22. package/test/dist/fixtures.d.ts +9 -9
  23. package/test/dist/fixtures.js +2 -2
  24. package/test/dist/requires.test.d.ts.map +1 -1
  25. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  26. package/test/fixtures.ts +1 -1
  27. package/test/requires.test.ts +2 -2
  28. package/test/rpc-multi-middleware.test.ts +2 -2
  29. package/dist/api/routing/middleware/RpcMiddleware.d.ts +0 -188
  30. package/dist/api/routing/middleware/RpcMiddleware.d.ts.map +0 -1
  31. package/dist/api/routing/middleware/RpcMiddleware.js +0 -13
  32. package/dist/api/routing/middleware/RpcMiddlewareX.d.ts +0 -18
  33. package/dist/api/routing/middleware/RpcMiddlewareX.d.ts.map +0 -1
  34. package/dist/api/routing/middleware/RpcMiddlewareX.js +0 -16
  35. package/dist/api/routing/middleware/generic-middleware.d.ts +0 -55
  36. package/dist/api/routing/middleware/generic-middleware.d.ts.map +0 -1
  37. package/dist/api/routing/middleware/generic-middleware.js +0 -67
  38. package/dist/api/routing/middleware/middleware-api.d.ts +0 -107
  39. package/dist/api/routing/middleware/middleware-api.d.ts.map +0 -1
  40. package/dist/api/routing/middleware/middleware-api.js +0 -88
  41. package/dist/api/routing/middleware/middleware-native.d.ts +0 -23
  42. package/dist/api/routing/middleware/middleware-native.d.ts.map +0 -1
  43. package/dist/api/routing/middleware/middleware-native.js +0 -19
  44. package/src/api/routing/middleware/RpcMiddleware.ts +0 -254
  45. package/src/api/routing/middleware/RpcMiddlewareX.ts +0 -70
  46. package/src/api/routing/middleware/generic-middleware.ts +0 -198
  47. package/src/api/routing/middleware/middleware-api.ts +0 -404
  48. package/src/api/routing/middleware/middleware-native.ts +0 -23
@@ -92,20 +92,20 @@ declare const SomeService_base: (abstract new (service: {
92
92
  };
93
93
  export declare class SomeService extends SomeService_base {
94
94
  }
95
- declare const SomeMiddleware_base: import("../src/api/routing.js").TagClass<SomeMiddleware, "SomeMiddleware", {
95
+ declare const SomeMiddleware_base: import("effect-app/rpc").TagClass<SomeMiddleware, "SomeMiddleware", {
96
96
  readonly provides: typeof Some;
97
97
  }>;
98
98
  export declare class SomeMiddleware extends SomeMiddleware_base {
99
99
  }
100
100
  export declare const SomeMiddlewareLive: Layer.Layer<SomeMiddleware, never, never>;
101
- declare const SomeMiddlewareWrap_base: import("../src/api/routing.js").TagClass<SomeMiddlewareWrap, "SomeMiddlewareWrap", {
101
+ declare const SomeMiddlewareWrap_base: import("effect-app/rpc").TagClass<SomeMiddlewareWrap, "SomeMiddlewareWrap", {
102
102
  readonly provides: typeof Some;
103
103
  readonly wrap: true;
104
104
  }>;
105
105
  export declare class SomeMiddlewareWrap extends SomeMiddlewareWrap_base {
106
106
  }
107
107
  export declare const SomeMiddlewareWrapLive: Layer.Layer<SomeMiddlewareWrap, never, never>;
108
- declare const SomeElseMiddleware_base: import("../src/api/routing.js").TagClass<SomeElseMiddleware, "SomeElseMiddleware", {
108
+ declare const SomeElseMiddleware_base: import("effect-app/rpc").TagClass<SomeElseMiddleware, "SomeElseMiddleware", {
109
109
  readonly provides: typeof SomeElse;
110
110
  readonly wrap: true;
111
111
  }>;
@@ -120,24 +120,24 @@ export declare const RequestContextMap: {
120
120
  type _RequestContextMap = typeof RequestContextMap;
121
121
  export interface RequestContextMap extends _RequestContextMap {
122
122
  }
123
- declare const AllowAnonymous_base: import("../src/api/routing.js").TagClass<AllowAnonymous, "AllowAnonymous", {
124
- readonly dynamic: import("../src/api/routing.js").RpcDynamic<"allowAnonymous", RPCContextMap.Inverted<[typeof UserProfile], typeof NotLoggedInError>>;
123
+ declare const AllowAnonymous_base: import("effect-app/rpc").TagClass<AllowAnonymous, "AllowAnonymous", {
124
+ readonly dynamic: import("effect-app/rpc").RpcDynamic<"allowAnonymous", RPCContextMap.Inverted<[typeof UserProfile], typeof NotLoggedInError>>;
125
125
  readonly requires: typeof SomeElse;
126
126
  }>;
127
127
  export declare class AllowAnonymous extends AllowAnonymous_base {
128
128
  }
129
129
  export declare const AllowAnonymousLive: Layer.Layer<AllowAnonymous, never, never>;
130
- declare const RequireRoles_base: import("../src/api/routing.js").TagClass<RequireRoles, "RequireRoles", {
131
- readonly dynamic: import("../src/api/routing.js").RpcDynamic<"requireRoles", RPCContextMap.Custom<never, typeof UnauthorizedError, string[]>>;
130
+ declare const RequireRoles_base: import("effect-app/rpc").TagClass<RequireRoles, "RequireRoles", {
131
+ readonly dynamic: import("effect-app/rpc").RpcDynamic<"requireRoles", RPCContextMap.Custom<never, typeof UnauthorizedError, string[]>>;
132
132
  readonly wrap: true;
133
133
  readonly dependsOn: readonly [typeof AllowAnonymous];
134
134
  }>;
135
135
  export declare class RequireRoles extends RequireRoles_base {
136
136
  }
137
137
  export declare const RequireRolesLive: Layer.Layer<RequireRoles, never, SomeService>;
138
- declare const Test_base: import("../src/api/routing.js").TagClass<Test, "Test", {
138
+ declare const Test_base: import("effect-app/rpc").TagClass<Test, "Test", {
139
139
  readonly wrap: true;
140
- readonly dynamic: import("../src/api/routing.js").RpcDynamic<"test", RPCContextMap.RPCContextMap<never, typeof S.Never>>;
140
+ readonly dynamic: import("effect-app/rpc").RpcDynamic<"test", RPCContextMap.RPCContextMap<never, typeof S.Never>>;
141
141
  }>;
142
142
  export declare class Test extends Test_base {
143
143
  }
@@ -1,7 +1,7 @@
1
1
  import { Context, Effect, Layer, Option, S, Scope } from "effect-app";
2
2
  import { NotLoggedInError, RPCContextMap, UnauthorizedError } from "effect-app/client";
3
+ import { contextMap, getConfig, Tag } from "effect-app/rpc";
3
4
  import { TaggedError } from "effect-app/Schema";
4
- import { contextMap, getConfig, Tag } from "../src/api/routing.js";
5
5
  export class UserProfile extends Context.assignTag("UserProfile")(S.Class("UserProfile")({
6
6
  id: S.String,
7
7
  roles: S.Array(S.String)
@@ -121,4 +121,4 @@ export class CustomError1 extends TaggedError()("CustomError1", {}) {
121
121
  }
122
122
  export class CustomError2 extends TaggedError()("CustomError1", {}) {
123
123
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUVsRSxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU8sQ0FBQyxTQUFTLENBQTJCLGFBQWEsQ0FBQyxDQUN6RixDQUFDLENBQUMsS0FBSyxDQUFjLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Q0FDekIsQ0FBQyxDQUNIO0NBQ0E7QUFFRCxNQUFNLE9BQU8sSUFBSyxTQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFRO0NBQUc7QUFDeEYsTUFBTSxPQUFPLFFBQVMsU0FBUSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBWTtDQUFHO0FBQ3BHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNoRCxNQUFNLE9B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
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUvQyxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU8sQ0FBQyxTQUFTLENBQTJCLGFBQWEsQ0FBQyxDQUN6RixDQUFDLENBQUMsS0FBSyxDQUFjLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Q0FDekIsQ0FBQyxDQUNIO0NBQ0E7QUFFRCxNQUFNLE9BQU8sSUFBSyxTQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFRO0NBQUc7QUFDeEYsTUFBTSxPQUFPLFFBQVMsU0FBUSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBWTtDQUFHO0FBQ3BHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNoRCxNQUFNLE9B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
@@ -1 +1 @@
1
- {"version":3,"file":"requires.test.d.ts","sourceRoot":"","sources":["../requires.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,EAAkB,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAyC,YAAY,EAAoB,IAAI,EAAE,kBAAkB,EAA8D,kBAAkB,EAAe,IAAI,EAAY,MAAM,eAAe,CAAA;;;;;;;AAE5P,qBAAa,sBAAuB,SAAQ,2BAa1C;CACD;AAkBD,eAAO,MAAM,eAAe;;;;;;;;;;SAKK,CAAA"}
1
+ {"version":3,"file":"requires.test.d.ts","sourceRoot":"","sources":["../requires.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGvE,OAAO,EAAE,cAAc,EAAyC,YAAY,EAAoB,IAAI,EAAE,kBAAkB,EAA8D,kBAAkB,EAAe,IAAI,EAAY,MAAM,eAAe,CAAA;;;;;;;AAE5P,qBAAa,sBAAuB,SAAQ,2BAa1C;CACD;AAkBD,eAAO,MAAM,eAAe;;;;;;;;;;SAKK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-multi-middleware.test.d.ts","sourceRoot":"","sources":["../rpc-multi-middleware.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkD,MAAM,aAAa,CAAA;AAEvF,OAAO,EAA2B,KAAK,EAAE,MAAM,QAAQ,CAAA;AAOvD,OAAO,EAAoN,WAAW,EAAE,MAAM,eAAe,CAAA;AA8C7P,eAAO,MAAM,OAAO,uFAWO,CAAA;AAiB3B,eAAO,MAAM,YAAY,gLAItB,CAAA;AAEH,eAAO,MAAM,YAAY,+FAgByB,CAAA"}
1
+ {"version":3,"file":"rpc-multi-middleware.test.d.ts","sourceRoot":"","sources":["../rpc-multi-middleware.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkD,MAAM,aAAa,CAAA;AAEvF,OAAO,EAA2B,KAAK,EAAE,MAAM,QAAQ,CAAA;AAOvD,OAAO,EAAoN,WAAW,EAAE,MAAM,eAAe,CAAA;AA8C7P,eAAO,MAAM,OAAO,uFAWO,CAAA;AAiB3B,eAAO,MAAM,YAAY,yKAItB,CAAA;AAEH,eAAO,MAAM,YAAY,+FAgByB,CAAA"}
package/test/fixtures.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Context, Effect, Layer, Option, S, Scope } from "effect-app"
2
2
  import { NotLoggedInError, RPCContextMap, UnauthorizedError } from "effect-app/client"
3
+ import { contextMap, getConfig, Tag } from "effect-app/rpc"
3
4
  import { TaggedError } from "effect-app/Schema"
4
- import { contextMap, getConfig, Tag } from "../src/api/routing.js"
5
5
 
6
6
  export class UserProfile extends Context.assignTag<UserProfile, UserProfile>("UserProfile")(
7
7
  S.Class<UserProfile>("UserProfile")({
@@ -4,10 +4,10 @@ import { describe, expect, expectTypeOf, it } from "@effect/vitest"
4
4
  import { Context, Effect, Either, Layer, S } from "effect-app"
5
5
  import { NotLoggedInError, UnauthorizedError } from "effect-app/client"
6
6
  import { HttpHeaders } from "effect-app/http"
7
- import { makeMiddleware, Middleware } from "../src/api/routing.js"
7
+ import { makeMiddleware, TagService } from "effect-app/rpc"
8
8
  import { AllowAnonymous, AllowAnonymousLive, RequestContextMap, RequireRoles, RequireRolesLive, Some, SomeElseMiddleware, SomeElseMiddlewareLive, SomeMiddleware, SomeMiddlewareLive, SomeMiddlewareWrap, SomeService, Test, TestLive } from "./fixtures.js"
9
9
 
10
- export class RequiresSomeMiddleware extends Middleware.TagService<RequiresSomeMiddleware>()("RequiresSomeMiddleware", {
10
+ export class RequiresSomeMiddleware extends TagService<RequiresSomeMiddleware>()("RequiresSomeMiddleware", {
11
11
  requires: [Some],
12
12
  wrap: true
13
13
  })({
@@ -6,9 +6,9 @@ import { Console, Effect, Either, Layer } from "effect"
6
6
  import { S } from "effect-app"
7
7
  import { NotLoggedInError } from "effect-app/client"
8
8
  import { HttpLayerRouter } from "effect-app/http"
9
+ import { DefaultGenericMiddlewares, makeMiddleware, middlewareGroup } from "effect-app/rpc"
9
10
  import { createServer } from "http"
10
- import { DefaultGenericMiddlewaresLive, makeMiddleware, middlewareGroup } from "../src/api/routing.js"
11
- import { DefaultGenericMiddlewares } from "../src/api/routing/middleware/middleware-native.js"
11
+ import { DefaultGenericMiddlewaresLive } from "../src/api/routing.js"
12
12
  import { AllowAnonymous, AllowAnonymousLive, RequestContextMap, RequireRoles, RequireRolesLive, Some, SomeElseMiddleware, SomeElseMiddlewareLive, SomeMiddlewareWrap, SomeMiddlewareWrapLive, SomeService, Test, TestLive, UserProfile } from "./fixtures.js"
13
13
 
14
14
  const middleware = makeMiddleware(RequestContextMap)
@@ -1,188 +0,0 @@
1
- import { type Rpc } from "@effect/rpc";
2
- import { type SuccessValue, type TypeId } from "@effect/rpc/RpcMiddleware";
3
- import { type Context, type Effect, type NonEmptyReadonlyArray, type Option, type S, type Schema, type Scope } from "effect-app";
4
- import type { AnyService, ContextTagArray, RPCContextMap } from "effect-app/client/req";
5
- import { type HttpHeaders } from "effect-app/http";
6
- export interface RpcMiddleware<Provides, E, Requires> {
7
- (options: {
8
- readonly clientId: number;
9
- readonly rpc: Rpc.AnyWithProps;
10
- readonly payload: unknown;
11
- readonly headers: HttpHeaders.Headers;
12
- }): Effect.Effect<Provides, E, Scope.Scope | Requires>;
13
- }
14
- export interface RpcMiddlewareWrap<Provides, E, Requires> {
15
- (options: {
16
- readonly clientId: number;
17
- readonly rpc: Rpc.AnyWithProps;
18
- readonly payload: unknown;
19
- readonly headers: HttpHeaders.Headers;
20
- readonly next: Effect.Effect<SuccessValue, E, Provides | Scope.Scope | Requires>;
21
- }): Effect.Effect<SuccessValue, E, Scope.Scope | Requires>;
22
- }
23
- export type RpcOptionsOriginal = {
24
- readonly wrap?: boolean;
25
- readonly optional?: boolean;
26
- readonly failure?: Schema.Schema.All;
27
- readonly provides?: AnyService;
28
- readonly requiredForClient?: boolean;
29
- };
30
- export type RpcDynamic<Key extends string, A extends RPCContextMap.Any> = {
31
- key: Key;
32
- settings: A;
33
- };
34
- export type AnyDynamic = {
35
- dynamic: RpcDynamic<any, any>;
36
- };
37
- export type DependsOn = {
38
- readonly dependsOn: NonEmptyReadonlyArray<AnyDynamic> | undefined;
39
- };
40
- export interface RpcOptionsDynamic<Key extends string, A extends RPCContextMap.Any> extends RpcOptionsOriginal {
41
- readonly dynamic: RpcDynamic<Key, A>;
42
- readonly dependsOn?: NonEmptyReadonlyArray<AnyDynamic> | undefined;
43
- }
44
- export type Dynamic<Options> = Options extends RpcOptionsDynamic<any, any> ? true : false;
45
- export interface RpcMiddlewareDynamicWrap<E, R, _Config> {
46
- (options: {
47
- readonly next: Effect.Effect<SuccessValue, E, Scope.Scope | R>;
48
- readonly clientId: number;
49
- readonly rpc: Rpc.AnyWithProps;
50
- readonly payload: unknown;
51
- readonly headers: HttpHeaders.Headers;
52
- }): Effect.Effect<SuccessValue, E, Scope.Scope | R>;
53
- }
54
- export interface RpcMiddlewareDynamicNormal<A, E, R, _Config> {
55
- (options: {
56
- readonly clientId: number;
57
- readonly rpc: Rpc.AnyWithProps;
58
- readonly payload: unknown;
59
- readonly headers: HttpHeaders.Headers;
60
- }): Effect.Effect<Option.Option<A>, E, Scope.Scope | R>;
61
- }
62
- export interface TagClassAny extends Context.Tag<any, any> {
63
- readonly [TypeId]: TypeId;
64
- readonly optional: boolean;
65
- readonly provides?: Context.Tag<any, any> | ContextTagArray | undefined;
66
- readonly requires?: Context.Tag<any, any> | ContextTagArray | undefined;
67
- readonly failure: Schema.Schema.All;
68
- readonly requiredForClient: boolean;
69
- readonly wrap: boolean;
70
- readonly dynamic?: RpcDynamic<any, any> | undefined;
71
- readonly dependsOn?: NonEmptyReadonlyArray<AnyDynamic> | undefined;
72
- }
73
- export declare namespace TagClass {
74
- /**
75
- * @since 1.0.0
76
- * @category models
77
- */
78
- type Provides<Options> = Options extends {
79
- readonly provides: Context.Tag<any, any>;
80
- readonly optional?: false;
81
- } ? Context.Tag.Identifier<Options["provides"]> : Options extends {
82
- readonly provides: ContextTagArray;
83
- readonly optional?: false;
84
- } ? ContextTagArray.Identifier<Options["provides"]> : never;
85
- /**
86
- * @since 1.0.0
87
- * @category models
88
- */
89
- type Requires<Options> = Options extends {
90
- readonly requires: Context.Tag<any, any>;
91
- } ? Context.Tag.Identifier<Options["requires"]> : Options extends {
92
- readonly requires: ContextTagArray;
93
- } ? ContextTagArray.Identifier<Options["requires"]> : never;
94
- /**
95
- * @since 1.0.0
96
- * @category models
97
- */
98
- type Service<Options> = Options extends {
99
- readonly provides: Context.Tag<any, any>;
100
- } ? Context.Tag.Service<Options["provides"]> : Options extends {
101
- readonly dynamic: RpcDynamic<any, infer A>;
102
- } ? Options extends {
103
- wrap: true;
104
- } ? void : AnyService.Bla<A["service"]> : Options extends {
105
- readonly provides: ContextTagArray;
106
- } ? Context.Context<ContextTagArray.Identifier<Options["provides"]>> : void;
107
- /**
108
- * @since 1.0.0
109
- * @category models
110
- */
111
- type FailureSchema<Options> = Options extends {
112
- readonly failure: Schema.Schema.All;
113
- readonly optional?: false;
114
- } ? Options["failure"] : typeof Schema.Never;
115
- /**
116
- * @since 1.0.0
117
- * @category models
118
- */
119
- type Failure<Options> = Options extends {
120
- readonly failure: Schema.Schema<infer _A, infer _I, infer _R>;
121
- readonly optional?: false;
122
- } ? _A : Options extends {
123
- readonly dynamic: RpcDynamic<any, infer A>;
124
- } ? S.Schema.Type<A["error"]> : never;
125
- /**
126
- * @since 1.0.0
127
- * @category models
128
- */
129
- type FailureContext<Options> = Schema.Schema.Context<FailureSchema<Options>>;
130
- /**
131
- * @since 1.0.0
132
- * @category models
133
- */
134
- type FailureService<Options> = Optional<Options> extends true ? unknown : Failure<Options>;
135
- /**
136
- * @since 1.0.0
137
- * @category models
138
- */
139
- type Optional<Options> = Options extends {
140
- readonly optional: true;
141
- } ? true : false;
142
- /**
143
- * @since 1.0.0
144
- * @category models
145
- */
146
- type RequiredForClient<Options> = Options extends {
147
- readonly requiredForClient: true;
148
- } ? true : false;
149
- /**
150
- * @since 1.0.0
151
- * @category models
152
- */
153
- type Wrap<Options> = Options extends {
154
- readonly wrap: true;
155
- } ? true : false;
156
- /**
157
- * @since 1.0.0
158
- * @category models
159
- */
160
- interface Base<Self, Name extends string, Options, Service> extends Context.Tag<Self, Service> {
161
- new (_: never): Context.TagClassShape<Name, Service>;
162
- readonly [TypeId]: TypeId;
163
- readonly optional: Optional<Options>;
164
- readonly failure: FailureSchema<Options>;
165
- readonly provides: Options extends {
166
- readonly provides: Context.Tag<any, any>;
167
- } ? Options["provides"] : Options extends {
168
- readonly provides: ContextTagArray;
169
- } ? Options["provides"] : undefined;
170
- readonly requires: Options extends {
171
- readonly requires: Context.Tag<any, any>;
172
- } ? Options["requires"] : Options extends {
173
- readonly requires: ContextTagArray;
174
- } ? Options["requires"] : undefined;
175
- readonly dynamic: Options extends RpcOptionsDynamic<any, any> ? Options["dynamic"] : undefined;
176
- readonly dependsOn: Options extends DependsOn ? Options["dependsOn"] : undefined;
177
- readonly requiredForClient: RequiredForClient<Options>;
178
- readonly wrap: Wrap<Options>;
179
- }
180
- }
181
- export interface TagClass<Self, Name extends string, Options> extends TagClass.Base<Self, Name, Options, Options extends RpcOptionsDynamic<any, any> ? TagClass.Wrap<Options> extends true ? RpcMiddlewareDynamicWrap<TagClass.FailureService<Options>, TagClass.Requires<Options>, {
182
- [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"];
183
- }> : RpcMiddlewareDynamicNormal<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>, {
184
- [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"];
185
- }> : TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>, TagClass.Requires<Options>> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>>> {
186
- }
187
- export declare const Tag: <Self>() => <const Name extends string, const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any>>(id: Name, options?: Options | undefined) => TagClass<Self, Name, Options>;
188
- //# sourceMappingURL=RpcMiddleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RpcMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
- /* eslint-disable @typescript-eslint/no-unsafe-return */
3
- /* eslint-disable @typescript-eslint/no-explicit-any */
4
- import { RpcMiddleware } from "@effect/rpc";
5
- import { Unify } from "effect-app";
6
- export const Tag = () => (id, options) => class extends RpcMiddleware.Tag()(id, options) {
7
- static dynamic = options && "dynamic" in options ? options.dynamic : undefined;
8
- static dependsOn = options && "dependsOn" in options ? options.dependsOn : undefined;
9
- static [Unify.typeSymbol];
10
- static [Unify.unifySymbol];
11
- static [Unify.ignoreSymbol];
12
- };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL1JwY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVyRCxPQUFPLEVBQXVHLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQTBPdkksTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQVMsRUFBRSxDQUM5QixDQUlFLEVBQVEsRUFDUixPQUE2QixFQUNFLEVBQUUsQ0FDakMsS0FBTSxTQUFRLGFBQWEsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxFQUFFLEVBQUUsT0FBYyxDQUFDO0lBQ3pELE1BQU0sQ0FBVSxPQUFPLEdBQUcsT0FBTyxJQUFJLFNBQVMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUN2RixNQUFNLENBQVUsU0FBUyxHQUFHLE9BQU8sSUFBSSxXQUFXLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDN0YsTUFBTSxDQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFVO0lBQzVDLE1BQU0sQ0FBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBd0I7SUFDM0QsTUFBTSxDQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFpQjtDQUMvQyxDQUFBIn0=
@@ -1,18 +0,0 @@
1
- import { type Effect, Layer, type NonEmptyReadonlyArray } from "effect-app";
2
- import { type Service } from "effect/Effect";
3
- import { type RpcMiddleware, type RpcMiddlewareDynamicNormal, type RpcMiddlewareDynamicWrap, type RpcMiddlewareWrap, type RpcOptionsDynamic, type RpcOptionsOriginal, type TagClass } from "./RpcMiddleware.js";
4
- /**
5
- * @deprecated - RPC groups are defined centrally and re-used between server and client,
6
- * so layer implementation details should not be mixed.
7
- */
8
- export declare const TagService: <Self>() => <const Name extends string, const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any>>(id: Name, options?: Options | undefined) => <LayerOpts extends {
9
- effect: Effect.Effect<Options extends RpcOptionsDynamic<any, any> ? TagClass.Wrap<Options> extends true ? RpcMiddlewareDynamicWrap<TagClass.FailureService<Options>, TagClass.Requires<Options>, { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"]; }> : RpcMiddlewareDynamicNormal<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>, { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"]; }> : TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>, TagClass.Requires<Options>> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>>, any, any>;
10
- dependencies?: NonEmptyReadonlyArray<Layer.Layer.Any>;
11
- }>(opts: LayerOpts) => TagClass<Self, Name, Options> & {
12
- Default: Layer.Layer<Self, (LayerOpts extends {
13
- effect: Effect<infer _A, infer _E, infer _R>;
14
- } ? _E : never) | Service.MakeDepsE<LayerOpts>, Exclude<LayerOpts extends {
15
- effect: Effect<infer _A, infer _E_1, infer _R_1>;
16
- } ? _R_1 : never, Service.MakeDepsOut<LayerOpts>> | Service.MakeDepsIn<LayerOpts>>;
17
- };
18
- //# sourceMappingURL=RpcMiddlewareX.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RpcMiddlewareX.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RpcMiddlewareX.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAS,MAAM,YAAY,CAAA;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,0BAA0B,EAAE,KAAK,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAO,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEpN;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,QAE7B,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,MAG7B,SAAS,SAAS;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,wBAAwB,CACtG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAChC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1B,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,0BAA0B,CAC1B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAChC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1B,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,GACC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,iBAAiB,CACrD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC3B,GACD,aAAa,CACb,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAChC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC3B,EACH,GAAG,EACH,GAAG,CACJ,CAAA;IACD,YAAY,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CACtD,EACD,MAAM,SAAS,KAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;IAClD,OAAO,EAAE,KAAK,CAAC,KAAK,CAClB,IAAI,EACF,CAAC,SAAS,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG,EAAE,GACtE,KAAK,CAAC,GACR,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAC5B,OAAO,CACP,SAAS,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,IAAE,EAAE,MAAM,IAAE,CAAC,CAAA;KAAE,GAAG,IAAE,GAAG,KAAK,EAC/E,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAC/B,GACC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAChC,CAAA;CASO,CAAA"}
@@ -1,16 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
- /* eslint-disable @typescript-eslint/no-unsafe-return */
3
- /* eslint-disable @typescript-eslint/no-explicit-any */
4
- import { Layer, Unify } from "effect-app";
5
- import { Tag } from "./RpcMiddleware.js";
6
- /**
7
- * @deprecated - RPC groups are defined centrally and re-used between server and client,
8
- * so layer implementation details should not be mixed.
9
- */
10
- export const TagService = () => (id, options) => (opts) => class extends Tag()(id, options) {
11
- static Default = Layer.scoped(this, opts.effect).pipe(Layer.provide([Layer.empty, ...opts.dependencies ?? []]));
12
- static [Unify.typeSymbol];
13
- static [Unify.unifySymbol];
14
- static [Unify.ignoreSymbol];
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZVguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWlkZGxld2FyZS9ScGNNaWRkbGV3YXJlWC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxPQUFPLEVBQWUsS0FBSyxFQUE4QixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHbEYsT0FBTyxFQUErSixHQUFHLEVBQWlCLE1BQU0sb0JBQW9CLENBQUE7QUFFcE47OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQVMsRUFBRSxDQUNyQyxDQUlFLEVBQVEsRUFDUixPQUE2QixFQUM3QixFQUFFLENBQ0osQ0E2QkUsSUFBZSxFQVlmLEVBQUUsQ0FDRixLQUFNLFNBQVEsR0FBRyxFQUFRLENBQUMsRUFBRSxFQUFFLE9BQWMsQ0FBQztJQUMzQyxNQUFNLENBQVUsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFhLENBQUMsQ0FBQyxJQUFJLENBQ25FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUN6RCxDQUFBO0lBQ0QsTUFBTSxDQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFVO0lBQzVDLE1BQU0sQ0FBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBd0I7SUFDM0QsTUFBTSxDQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFpQjtDQUMvQyxDQUFBIn0=
@@ -1,55 +0,0 @@
1
- import { type RpcMiddleware } from "@effect/rpc";
2
- import { Context, Effect, type Layer, type NonEmptyReadonlyArray, type S } from "effect-app";
3
- import { type ContextTagArray, type GetContextConfig, type RPCContextMap } from "effect-app/client";
4
- import { type Tag } from "effect/Context";
5
- import { type Simplify } from "effect/Types";
6
- import { type MakeTags, type MiddlewareMakerId } from "./middleware-api.js";
7
- import { type RpcMiddlewareWrap, type TagClassAny } from "./RpcMiddleware.js";
8
- export interface MiddlewareMaker<RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<MiddlewareMakerId, "MiddlewareMaker", Simplify<{
9
- readonly wrap: true;
10
- } & (Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? {} : {
11
- readonly requires: MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
12
- }) & (MiddlewareMaker.ManyErrors<MiddlewareProviders> extends never ? {} : {
13
- readonly failure: S.Schema<MiddlewareMaker.ManyErrors<MiddlewareProviders>>;
14
- }) & (MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? {} : {
15
- readonly provides: MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>;
16
- })>> {
17
- readonly layer: Layer.Layer<MiddlewareMakerId, never, Tag.Identifier<MiddlewareProviders[number]>>;
18
- readonly requestContext: RequestContextTag<RequestContextMap>;
19
- readonly requestContextMap: RequestContextMap;
20
- }
21
- export interface RequestContextTag<RequestContextMap extends Record<string, RPCContextMap.Any>> extends Context.Tag<"RequestContextConfig", GetContextConfig<RequestContextMap>> {
22
- }
23
- export declare namespace MiddlewareMaker {
24
- type Any = TagClassAny;
25
- type ApplyServices<A extends TagClassAny, R> = Exclude<R, Provided<A>> | Required<A>;
26
- type ApplyManyServices<A extends NonEmptyReadonlyArray<TagClassAny>, R> = Exclude<R, {
27
- [K in keyof A]: Provided<A[K]>;
28
- }[number]> | {
29
- [K in keyof A]: Required<A[K]>;
30
- }[number];
31
- type ManyProvided<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
32
- [K in keyof A]: Provided<A[K]>;
33
- }[number] : Provided<A[number]>;
34
- type ManyRequired<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
35
- [K in keyof A]: Required<A[K]>;
36
- }[number] : Required<A[number]>;
37
- type ManyErrors<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
38
- [K in keyof A]: Errors<A[K]>;
39
- }[number] : Errors<A[number]>;
40
- type Provided<T> = T extends TagClassAny ? T extends {
41
- provides: Context.Tag<any, any>;
42
- } ? Context.Tag.Identifier<T["provides"]> : T extends {
43
- provides: ContextTagArray;
44
- } ? ContextTagArray.Identifier<T["provides"]> : never : never;
45
- type Errors<T> = T extends TagClassAny ? T extends {
46
- failure: S.Schema.Any;
47
- } ? S.Schema.Type<T["failure"]> : never : never;
48
- type Required<T> = T extends TagClassAny ? T extends {
49
- requires: Context.Tag<any, any>;
50
- } ? Context.Tag.Identifier<T["requires"]> : T extends {
51
- requires: ContextTagArray;
52
- } ? ContextTagArray.Identifier<T["requires"]> : never : never;
53
- }
54
- export declare const middlewareMaker: <MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>>(middlewares: MiddlewareProviders) => Effect.Effect<RpcMiddlewareWrap<MiddlewareMaker.ManyProvided<MiddlewareProviders>, MiddlewareMaker.ManyErrors<MiddlewareProviders>, Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? never : Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>>;
55
- //# sourceMappingURL=generic-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/generic-middleware.ts"],"names":[],"mappings":"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"}
@@ -1,67 +0,0 @@
1
- import { Context, Effect, Option } from "effect-app";
2
- import { InfraLogger } from "../../../logger.js";
3
- export const middlewareMaker = (middlewares) => {
4
- // we want to run them in reverse order because latter middlewares will provide context to former ones
5
- middlewares = middlewares.toReversed();
6
- return Effect.gen(function* () {
7
- const context = yield* Effect.context();
8
- // returns a Effect/RpcMiddlewareWrap with Scope in requirements
9
- return (options) => {
10
- // we start with the actual handler
11
- let handler = options.next;
12
- // inspired from Effect/RpcMiddleware
13
- for (const tag of middlewares) {
14
- if (tag.wrap) {
15
- // use the tag to get the middleware from context
16
- const middleware = Context.unsafeGet(context, tag);
17
- // wrap the current handler, allowing the middleware to run before and after it
18
- handler = InfraLogger.logDebug("Applying middleware wrap " + tag.key).pipe(Effect.zipRight(middleware({ ...options, next: handler })));
19
- }
20
- else if (tag.optional) {
21
- // use the tag to get the middleware from context
22
- // if the middleware fails to run, we will ignore the error
23
- const middleware = Context.unsafeGet(context, tag);
24
- const previous = handler;
25
- // set the previous handler to run after the middleware
26
- // if the middleware is not present, we just return the previous handler
27
- // otherwise the middleware will provide some context to be provided to the previous handler
28
- handler = InfraLogger.logDebug("Applying middleware optional " + tag.key).pipe(Effect.zipRight(Effect.matchEffect(middleware(options), {
29
- onFailure: () => previous,
30
- onSuccess: tag.provides !== undefined
31
- ? (value) => Context.isContext(value)
32
- ? Effect.provide(previous, value)
33
- : Effect.provideService(previous, tag.provides, value)
34
- : (_) => previous
35
- })));
36
- }
37
- else if (tag.dynamic) {
38
- // use the tag to get the middleware from context
39
- const middleware = Context.unsafeGet(context, tag);
40
- const previous = handler;
41
- // set the previous handler to run after the middleware
42
- // we do expect the middleware to be present, but the context might not be available
43
- // if it is, we provide it to the previous handler
44
- handler = InfraLogger.logDebug("Applying middleware dynamic " + tag.key, tag.dynamic).pipe(Effect.zipRight(middleware(options).pipe(Effect.flatMap((o) => Option.isSome(o)
45
- ? Context.isContext(o.value)
46
- ? Effect.provide(previous, o.value)
47
- : Effect.provideService(previous, tag.dynamic.settings.service, /* TODO */ o.value)
48
- : previous))));
49
- }
50
- else {
51
- // use the tag to get the middleware from context
52
- const middleware = Context.unsafeGet(context, tag);
53
- const previous = handler;
54
- // set the previous handler to run after the middleware
55
- // we do expect both the middleware and the context to be present
56
- handler = InfraLogger.logDebug("Applying middleware " + tag.key).pipe(Effect.zipRight(tag.provides !== undefined
57
- ? middleware(options).pipe(Effect.flatMap((value) => Context.isContext(value)
58
- ? Effect.provide(previous, value)
59
- : Effect.provideService(previous, tag.provides, value)))
60
- : Effect.zipRight(middleware(options), previous)));
61
- }
62
- }
63
- return handler;
64
- };
65
- });
66
- };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvZ2VuZXJpYy1taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUEwQyxNQUFNLEVBQXNCLE1BQU0sWUFBWSxDQUFBO0FBSWhILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQWdGaEQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBRTdCLFdBQWdDLEVBVWhDLEVBQUU7SUFDRixzR0FBc0c7SUFDdEcsV0FBVyxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQVMsQ0FBQTtJQUU3QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUV2QyxnRUFBZ0U7UUFDaEUsT0FBTyxDQUNMLE9BTUksRUFDSixFQUFFO1lBQ0YsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7WUFFMUIscUNBQXFDO1lBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQzlCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNiLGlEQUFpRDtvQkFDakQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7b0JBRWxELCtFQUErRTtvQkFDL0UsT0FBTyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUs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