effect-app 3.0.4 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 3.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 182ca78: improve: MiddlewareMaker is a Tag with Self so we can extend it from class.
8
+
3
9
  ## 3.0.4
4
10
 
5
11
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  import { S } from "../internal/lib.js";
2
- import { type GetEffectError, type RpcContextMap } from "../rpc.js";
2
+ import { type GetEffectError, type RpcContextMap } from "../rpc/RpcContextMap.js";
3
3
  type JoinSchema<T> = T extends ReadonlyArray<S.Schema.All> ? S.Union<T> : typeof S.Never;
4
4
  /**
5
5
  * Converts struct fields to TypeLiteral schema, or returns existing schema.
@@ -1 +1 @@
1
- {"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../../src/client/makeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAA;AACtC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAInE,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAA;AAKxF;;;;;;;;;;;;;GAaG;AACH,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAA;AAO9G,eAAO,MAAM,aAAa,GACxB,aAAa,SAAS,MAAM,EAC5B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3D,aAAa,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,EAE1C,QAAQ,GAAG,CAAC,IAAI,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAE,EACzE,gBAAgB,aAAa;oBAQN,IAAI,OAAK;QAC9B,CAAC,GAAG,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;qBAL9C,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;qBAC9B,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;SAIgC,EACrE,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,aAAa,GAAG,CAAC,GAEvB,CAAC,CAAC,kBAAkB,CACpB,IAAI,EACJ,GAAG,EACH;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAAE,GAAG,OAAO,EACvC,cAAc,CAAC,CAAA,OAAO,MAAM,EAAC,SAAS,CAAC,CAAC,EACxC,UAAU,CACR,CAAC,cAAc,CAAC,CAAA,OAAO,MAAM,EAAC,SAAS,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAClG,CACF,GACC;YAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;SAAE,CAAA;QAC9C,CAAC,GAAG,SAAS,MAAM,EAAE,SAAO,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAC,SAAS,IAAI;qBApB3D,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;qBAC9B,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;WAmBuC,SAAS,CAAC,EACtF,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAO,EACf,MAAM,EAAE,aAAa,GAAG,GAAC,GAEvB,CAAC,CAAC,kBAAkB,CACpB,IAAI,EACJ,GAAG,EACH;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAAE,GAAG,SAAO,EACvC,cAAc,CAAC,CAAA,OAAO,MAAM,EAAC,SAAS,CAAC,CAAC,EACxC,UAAU,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,GAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CACnE,GACC;YAAE,MAAM,EAAE,IAAI,CAAC,GAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;SAAE,CAAA;QAC9C,CAAC,GAAG,SAAS,MAAM,EAAE,SAAO,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAC,SAAS,IAAI;qBAjC3D,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;qBAC9B,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;WAgCuC,SAAS,CAAC,EACtF,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAO,EACf,MAAM,EAAE,aAAa,GAAG,GAAC,GAEvB,CAAC,CAAC,kBAAkB,CACpB,IAAI,EACJ,GAAG,EACH;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAAE,GAAG,SAAO,EACvC,OAAO,CAAC,CAAC,IAAI,EACb,UAAU,CACR,CAAC,cAAc,CAAC,CAAA,OAAO,MAAM,EAAC,SAAS,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,EAAE,GAAC,CAAC,GAAG,aAAa,CAAC,CAClG,CACF,GACC;YAAE,MAAM,EAAE,IAAI,CAAC,GAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;SAAE,CAAA;QAC9C,CAAC,GAAG,SAAS,MAAM,EAAE,SAAO,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjF,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAO,EACf,MAAM,EAAE,GAAC,GAAG,aAAa,GAEvB,CAAC,CAAC,kBAAkB,CACpB,IAAI,EACJ,GAAG,EACH;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAAE,GAAG,SAAO,EACvC,OAAO,CAAC,CAAC,IAAI,EACb,UAAU,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,GAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CACnE,GACC;YAAE,MAAM,EAAE,IAAI,CAAC,GAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;SAAE,CAAA;QAC9C,CAAC,GAAG,SAAS,MAAM,EAAE,SAAO,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAClD,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAO,GAEb,CAAC,CAAC,kBAAkB,CACpB,IAAI,EACJ,GAAG,EACH;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAAE,GAAG,SAAO,EACvC,OAAO,CAAC,CAAC,IAAI,EACb,aAAa,SAAS,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,GAAG,aAAa,CAC7D,GAEC;YAAE,MAAM,EAAE,EAAE,CAAA;SAAE,CAAA;KACnB;CAkCF,CAAA"}
1
+ {"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../../src/client/makeClient.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
1
  import { Context } from "effect-app";
2
- import { Middleware } from "./rpc.js";
2
+ import { RpcX } from "./rpc.js";
3
3
  declare const DevMode_base: Context.ReferenceClass<DevMode, "DevMode", boolean>;
4
4
  export declare class DevMode extends DevMode_base {
5
5
  }
6
- declare const RequestCacheMiddleware_base: Middleware.TagClass<RequestCacheMiddleware, "RequestCacheMiddleware", {}, {
6
+ declare const RequestCacheMiddleware_base: RpcX.RpcMiddleware.TagClass<RequestCacheMiddleware, "RequestCacheMiddleware", {}, {
7
7
  requires: never;
8
8
  provides: never;
9
9
  }>;
10
10
  export declare class RequestCacheMiddleware extends RequestCacheMiddleware_base {
11
11
  }
12
- declare const ConfigureInterruptibilityMiddleware_base: Middleware.TagClass<ConfigureInterruptibilityMiddleware, "ConfigureInterruptibilityMiddleware", {}, {
12
+ declare const ConfigureInterruptibilityMiddleware_base: RpcX.RpcMiddleware.TagClass<ConfigureInterruptibilityMiddleware, "ConfigureInterruptibilityMiddleware", {}, {
13
13
  requires: never;
14
14
  provides: never;
15
15
  }>;
16
16
  export declare class ConfigureInterruptibilityMiddleware extends ConfigureInterruptibilityMiddleware_base {
17
17
  }
18
- declare const LoggerMiddleware_base: Middleware.TagClass<LoggerMiddleware, "LoggerMiddleware", {}, {
18
+ declare const LoggerMiddleware_base: RpcX.RpcMiddleware.TagClass<LoggerMiddleware, "LoggerMiddleware", {}, {
19
19
  requires: never;
20
20
  provides: never;
21
21
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;;AAErC,qBAAa,OAAQ,SAAQ,YAAsE;CAAG;;;;;AAEtG,qBAAa,sBAAuB,SAAQ,2BAAkE;CAAG;;;;;AAEjH,qBAAa,mCACX,SAAQ,wCAA4F;CACpG;;;;;AAEF,qBAAa,gBAAiB,SAAQ,qBAAsD;CAAG;AAE/F,eAAO,MAAM,yBAAyB,+GAI5B,CAAA"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;;AAE/B,qBAAa,OAAQ,SAAQ,YAAsE;CAAG;;;;;AAEtG,qBAAa,sBACX,SAAQ,2BAA0E;CAClF;;;;;AAEF,qBAAa,mCACX,SAAQ,wCAAoG;CAC5G;;;;;AAEF,qBAAa,gBAAiB,SAAQ,qBAA8D;CAAG;AAEvG,eAAO,MAAM,yBAAyB,+GAI5B,CAAA"}
@@ -1,17 +1,17 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Context } from "effect-app";
3
- import { Middleware } from "./rpc.js";
3
+ import { RpcX } from "./rpc.js";
4
4
  export class DevMode extends Context.Reference()("DevMode", { defaultValue: () => false }) {
5
5
  }
6
- export class RequestCacheMiddleware extends Middleware.Tag()("RequestCacheMiddleware") {
6
+ export class RequestCacheMiddleware extends RpcX.RpcMiddleware.Tag()("RequestCacheMiddleware") {
7
7
  }
8
- export class ConfigureInterruptibilityMiddleware extends Middleware.Tag()("ConfigureInterruptibilityMiddleware") {
8
+ export class ConfigureInterruptibilityMiddleware extends RpcX.RpcMiddleware.Tag()("ConfigureInterruptibilityMiddleware") {
9
9
  }
10
- export class LoggerMiddleware extends Middleware.Tag()("LoggerMiddleware") {
10
+ export class LoggerMiddleware extends RpcX.RpcMiddleware.Tag()("LoggerMiddleware") {
11
11
  }
12
12
  export const DefaultGenericMiddlewares = [
13
13
  RequestCacheMiddleware,
14
14
  ConfigureInterruptibilityMiddleware,
15
15
  LoggerMiddleware
16
16
  ];
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFckMsTUFBTSxPQUFPLE9BQVEsU0FBUSxPQUFPLENBQUMsU0FBUyxFQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0NBQUc7QUFFdEcsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFVBQVUsQ0FBQyxHQUFHLEVBQTBCLENBQUMsd0JBQXdCLENBQUM7Q0FBRztBQUVqSCxNQUFNLE9BQU8sbUNBQ1gsU0FBUSxVQUFVLENBQUMsR0FBRyxFQUF1QyxDQUFDLHFDQUFxQyxDQUFDO0NBQ3BHO0FBRUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFVBQVUsQ0FBQyxHQUFHLEVBQW9CLENBQUMsa0JBQWtCLENBQUM7Q0FBRztBQUUvRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxzQkFBc0I7SUFDdEIsbUNBQW1DO0lBQ25DLGdCQUFnQjtDQUNSLENBQUEifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFL0IsTUFBTSxPQUFPLE9BQVEsU0FBUSxPQUFPLENBQUMsU0FBUyxFQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0NBQUc7QUFFdEcsTUFBTSxPQUFPLHNCQUNYLFNBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQTBCLENBQUMsd0JBQXdCLENBQUM7Q0FDbEY7QUFFRixNQUFNLE9BQU8sbUNBQ1gsU0FBUSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBdUMsQ0FBQyxxQ0FBcUMsQ0FBQztDQUM1RztBQUVGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBb0IsQ0FBQyxrQkFBa0IsQ0FBQztDQUFHO0FBRXZHLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLHNCQUFzQjtJQUN0QixtQ0FBbUM7SUFDbkMsZ0JBQWdCO0NBQ1IsQ0FBQSJ9
@@ -2,7 +2,6 @@ import { Rpc, type RpcGroup, type RpcMiddleware, type RpcSchema } from "@effect/
2
2
  import { type HandlersFrom } from "@effect/rpc/RpcGroup";
3
3
  import { Context, Effect, Layer, type Schema, Schema as S } from "effect";
4
4
  import { type NonEmptyArray, type NonEmptyReadonlyArray } from "effect/Array";
5
- import { type Tag } from "effect/Context";
6
5
  import { type Scope } from "effect/Scope";
7
6
  import { type Simplify } from "effect/Types";
8
7
  import { type TypeTestId } from "../TypeTest.js";
@@ -13,7 +12,7 @@ export interface MiddlewareMakerId {
13
12
  readonly _id: unique symbol;
14
13
  }
15
14
  type MakeTags<A> = Context.Tag<A, A>;
16
- export interface MiddlewareMaker<RequestContextMap extends Record<string, RpcContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<MiddlewareMakerId, "MiddlewareMaker", Simplify<{
15
+ export interface MiddlewareMaker<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<Self, "MiddlewareMaker", Simplify<{
17
16
  readonly wrap: true;
18
17
  } & (Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? {} : {
19
18
  readonly requires: MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
@@ -22,7 +21,7 @@ export interface MiddlewareMaker<RequestContextMap extends Record<string, RpcCon
22
21
  }) & (MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? {} : {
23
22
  readonly provides: MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>;
24
23
  })>> {
25
- readonly layer: Layer.Layer<MiddlewareMakerId, never, Tag.Identifier<MiddlewareProviders[number]>>;
24
+ readonly layer: Layer.Layer<Self, never, Context.Tag.Identifier<MiddlewareProviders[number]>>;
26
25
  readonly requestContext: RequestContextTag<RequestContextMap>;
27
26
  readonly requestContextMap: RequestContextMap;
28
27
  }
@@ -66,12 +65,14 @@ type FilterInDynamicMiddlewares<MWs extends ReadonlyArray<MiddlewareMaker.Any>,
66
65
  } ? MWs[K] : never;
67
66
  };
68
67
  type RecursiveHandleMWsSideways<MWs, R extends {
68
+ self: any;
69
69
  rcm: Record<string, RpcContextMap.Any>;
70
70
  provided: keyof R["rcm"];
71
71
  middlewares: ReadonlyArray<MiddlewareMaker.Any>;
72
72
  dmp: any;
73
73
  middlewareR: any;
74
74
  }> = MWs extends [] ? R : MWs extends [infer F, ...infer Rest extends ReadonlyArray<any>] ? F extends MiddlewareMaker.Any ? RecursiveHandleMWsSideways<Rest, {
75
+ self: R["self"];
75
76
  rcm: R["rcm"];
76
77
  provided: Exclude<R["provided"] | FilterInDynamicMiddlewares<[F], R["rcm"]>[number]["dynamic"]["key"], GetDependsOnKeys<F>>;
77
78
  middlewares: [...R["middlewares"], F];
@@ -80,7 +81,7 @@ type RecursiveHandleMWsSideways<MWs, R extends {
80
81
  };
81
82
  middlewareR: MiddlewareMaker.ApplyManyServices<[F], R["middlewareR"]>;
82
83
  }> : `Absurd: F must extend MiddlewareMaker.Any` : never;
83
- export interface BuildingMiddleware<RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
84
+ export interface BuildingMiddleware<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
84
85
  _tag: string;
85
86
  } = never> {
86
87
  rpc: <const Tag extends string, Payload extends Schema.Schema.Any | Schema.Struct.Fields = typeof Schema.Void, Success extends Schema.Schema.Any = typeof Schema.Void, Error extends Schema.Schema.All = typeof Schema.Never, const Stream extends boolean = false, Config extends GetContextConfig<RequestContextMap> = {}>(tag: Tag, options?: {
@@ -94,29 +95,31 @@ export interface BuildingMiddleware<RequestContextMap extends Record<string, Rpc
94
95
  readonly config: Config;
95
96
  };
96
97
  middleware<MWs extends NonEmptyArray<MiddlewareMaker.Any>>(...mw: MWs): RecursiveHandleMWsSideways<MWs, {
98
+ self: Self;
97
99
  rcm: RequestContextMap;
98
100
  provided: Provided;
99
101
  middlewares: Middlewares;
100
102
  dmp: DynamicMiddlewareProviders;
101
103
  middlewareR: MiddlewareR;
102
104
  }> extends infer Res extends {
105
+ self: any;
103
106
  rcm: RequestContextMap;
104
107
  provided: keyof RequestContextMap;
105
108
  middlewares: ReadonlyArray<MiddlewareMaker.Any>;
106
109
  dmp: any;
107
110
  middlewareR: any;
108
- } ? MiddlewaresBuilder<Res["rcm"], Res["provided"], Res["middlewares"], Res["dmp"], Res["middlewareR"]> : never;
111
+ } ? MiddlewaresBuilder<Res["self"], Res["rcm"], Res["provided"], Res["middlewares"], Res["dmp"], Res["middlewareR"]> : never;
109
112
  readonly [TypeTestId]: {
110
113
  missingDynamicMiddlewares: Exclude<keyof RequestContextMap, Provided>;
111
114
  missingContext: MiddlewareR;
112
115
  };
113
116
  }
114
- export type MiddlewaresBuilder<RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
117
+ export type MiddlewaresBuilder<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
115
118
  _tag: string;
116
- } = never> = BuildingMiddleware<RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR> & // keyof Omit<RequestContextMap, Provided> extends never is true when all the dynamic middlewares are provided
117
- (keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<RequestContextMap, Middlewares> : {} : {});
118
- export declare const makeMiddleware: <RequestContextMap extends Record<string, RpcContextMap.Any>>(rcm: RequestContextMap) => MiddlewaresBuilder<RequestContextMap>;
119
- export declare const middlewareGroup: <RequestContextMap extends Record<string, RpcContextMap.Any>, Middleware extends Context.Tag<MiddlewareMakerId, any> & RpcMiddleware.TagClassAny & {
119
+ } = never> = BuildingMiddleware<Self, RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR> & // keyof Omit<RequestContextMap, Provided> extends never is true when all the dynamic middlewares are provided
120
+ (keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<Self, RequestContextMap, Middlewares> : {} : {});
121
+ export declare const Tag: <Self>() => <const Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>>(id: Id, rcm: RequestContextMap) => MiddlewaresBuilder<Self, RequestContextMap>;
122
+ export declare const middlewareGroup: <RequestContextMap extends Record<string, RpcContextMap.Any>, Middleware extends RpcMiddleware.TagClassAny & {
120
123
  readonly requestContext: RequestContextTag<RequestContextMap>;
121
124
  readonly requestContextMap: RequestContextMap;
122
125
  }>(middleware: Middleware) => <R extends Rpc.Any>(group: RpcGroup.RpcGroup<R>) => RpcGroup.RpcGroup<AddMiddleware<R, Middleware>> & {
@@ -1 +1 @@
1
- {"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,9 @@ const middlewareMaker = (middlewares) => {
25
25
  };
26
26
  });
27
27
  };
28
- const makeMiddlewareBasic =
28
+ const makeMiddlewareBasic = () =>
29
29
  // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
30
- (rcm, ...make) => {
30
+ (id, rcm, ...make) => {
31
31
  // reverse middlewares and wrap one after the other
32
32
  const middleware = middlewareMaker(make);
33
33
  const failures = make.map((_) => _.failure).filter(Boolean);
@@ -35,7 +35,7 @@ const makeMiddlewareBasic =
35
35
  const requires = make
36
36
  .flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
37
37
  .filter((_) => !provides.includes(_));
38
- const MiddlewareMaker = RpcMiddlewareX.Tag()("MiddlewareMaker", {
38
+ const MiddlewareMaker = RpcMiddlewareX.Tag()(id, {
39
39
  failure: (failures.length > 0
40
40
  ? S.Union(...failures)
41
41
  : S.Never),
@@ -57,10 +57,11 @@ const makeMiddlewareBasic =
57
57
  requestContextMap: rcm
58
58
  });
59
59
  };
60
- export const makeMiddleware = (rcm) => {
60
+ export const Tag = () => (id, rcm) => {
61
61
  let allMiddleware = [];
62
62
  const requestContext = Context.GenericTag("RequestContextConfig");
63
63
  const it = {
64
+ id,
64
65
  // rpc with config
65
66
  rpc: (tag, options) => {
66
67
  const config = options?.config ?? {};
@@ -81,7 +82,7 @@ export const makeMiddleware = (rcm) => {
81
82
  // for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
82
83
  ? it
83
84
  // actually, we don't know yet if MiddlewareR is never, but we can't easily check it at runtime
84
- : Object.assign(makeMiddlewareBasic(rcm, ...allMiddleware), it);
85
+ : Object.assign(makeMiddlewareBasic()(id, rcm, ...allMiddleware), it);
85
86
  }
86
87
  };
87
88
  return it;
@@ -96,4 +97,4 @@ export const middlewareGroup = (middleware) => (group) => {
96
97
  }
97
98
  });
98
99
  };
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZU1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9NaWRkbGV3YXJlTWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQXFELE1BQU0sYUFBYSxDQUFBO0FBRXBGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUczQyxPQUFPLEtBQUssY0FBYyxNQUFNLG9CQUFvQixDQUFBO0FBd05wRCxNQUFNLGVBQWUsR0FBRyxDQUV0QixXQUFnQyxFQVVoQyxFQUFFO0lBQ0Ysc0dBQXNHO0lBQ3RHLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFTLENBQUE7SUFFN0MsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFFdkMsOERBQThEO1FBQzlELE9BQU8sQ0FDTCxRQUtJLEVBQ0osRUFBRTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7WUFDckMsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtZQUVsQixxQ0FBcUM7WUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDOUIsaURBQWlEO2dCQUNqRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFFbEQsK0VBQStFO2dCQUMvRSxPQUFPLEdBQUcsYUFBYSxDQUFD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
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZU1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9NaWRkbGV3YXJlTWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQXFELE1BQU0sYUFBYSxDQUFBO0FBRXBGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBSXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUczQyxPQUFPLEtBQUssY0FBYyxNQUFNLG9CQUFvQixDQUFBO0FBa09wRCxNQUFNLGVBQWUsR0FBRyxDQUV0QixXQUFnQyxFQVVoQyxFQUFFO0lBQ0Ysc0dBQXNHO0lBQ3RHLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFTLENBQUE7SUFFN0MsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFFdkMsOERBQThEO1FBQzlELE9BQU8sQ0FDTCxRQUtJLEVBQ0osRUFBRTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7WUFDckMsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtZQUVsQixxQ0FBcUM7WUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDOUIsaURBQWlEO2dCQUNqRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFFbEQsK0VBQStFO2dCQUMvRSxPQUFPLEdBQUcsYUFBYSxDQUFD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
package/dist/rpc.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- export * from "./rpc/MiddlewareMaker.js";
2
- export * from "./rpc/RpcContextMap.js";
3
- export * from "./rpc/RpcMiddleware.js";
4
- export * as Middleware from "./rpc.js";
1
+ export * as RpcX from "./rpc.js";
2
+ export * as MiddlewareMaker from "./rpc/MiddlewareMaker.js";
3
+ export * as RpcMiddleware from "./rpc/RpcMiddleware.js";
5
4
  //# sourceMappingURL=rpc.d.ts.map
package/dist/rpc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AAGtC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,UAAU,CAAA;AAChC,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA"}
package/dist/rpc.js CHANGED
@@ -1,7 +1,4 @@
1
- // codegen:start {preset: barrel, include: ./rpc/*.ts, nodir: false }
2
- export * from "./rpc/MiddlewareMaker.js";
3
- export * from "./rpc/RpcContextMap.js";
4
- export * from "./rpc/RpcMiddleware.js";
5
- // codegen:end
6
- export * as Middleware from "./rpc.js";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYztBQUVkLE9BQU8sS0FBSyxVQUFVLE1BQU0sVUFBVSxDQUFBIn0=
1
+ export * as RpcX from "./rpc.js";
2
+ export * as MiddlewareMaker from "./rpc/MiddlewareMaker.js";
3
+ export * as RpcMiddleware from "./rpc/RpcMiddleware.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLFVBQVUsQ0FBQTtBQUNoQyxPQUFPLEtBQUssZUFBZSxNQUFNLDBCQUEwQixDQUFBO0FBQzNELE9BQU8sS0FBSyxhQUFhLE1BQU0sd0JBQXdCLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,5 +1,5 @@
1
1
  import { S } from "../internal/lib.js"
2
- import { type GetEffectError, type RpcContextMap } from "../rpc.js"
2
+ import { type GetEffectError, type RpcContextMap } from "../rpc/RpcContextMap.js"
3
3
  import { AST } from "../Schema.js"
4
4
 
5
5
  // TODO: Fix error types... (?)
package/src/middleware.ts CHANGED
@@ -1,16 +1,18 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Context } from "effect-app"
3
- import { Middleware } from "./rpc.js"
3
+ import { RpcX } from "./rpc.js"
4
4
 
5
5
  export class DevMode extends Context.Reference<DevMode>()("DevMode", { defaultValue: () => false }) {}
6
6
 
7
- export class RequestCacheMiddleware extends Middleware.Tag<RequestCacheMiddleware>()("RequestCacheMiddleware") {}
7
+ export class RequestCacheMiddleware
8
+ extends RpcX.RpcMiddleware.Tag<RequestCacheMiddleware>()("RequestCacheMiddleware")
9
+ {}
8
10
 
9
11
  export class ConfigureInterruptibilityMiddleware
10
- extends Middleware.Tag<ConfigureInterruptibilityMiddleware>()("ConfigureInterruptibilityMiddleware")
12
+ extends RpcX.RpcMiddleware.Tag<ConfigureInterruptibilityMiddleware>()("ConfigureInterruptibilityMiddleware")
11
13
  {}
12
14
 
13
- export class LoggerMiddleware extends Middleware.Tag<LoggerMiddleware>()("LoggerMiddleware") {}
15
+ export class LoggerMiddleware extends RpcX.RpcMiddleware.Tag<LoggerMiddleware>()("LoggerMiddleware") {}
14
16
 
15
17
  export const DefaultGenericMiddlewares = [
16
18
  RequestCacheMiddleware,
@@ -3,7 +3,6 @@ import { Rpc, type RpcGroup, type RpcMiddleware, type RpcSchema } from "@effect/
3
3
  import { type HandlersFrom } from "@effect/rpc/RpcGroup"
4
4
  import { Context, Effect, Layer, type Schema, Schema as S } from "effect"
5
5
  import { type NonEmptyArray, type NonEmptyReadonlyArray } from "effect/Array"
6
- import { type Tag } from "effect/Context"
7
6
  import { type Scope } from "effect/Scope"
8
7
  import { type Simplify } from "effect/Types"
9
8
  import { PreludeLogger } from "../logger.js"
@@ -21,11 +20,12 @@ export interface MiddlewareMakerId {
21
20
  type MakeTags<A> = Context.Tag<A, A>
22
21
 
23
22
  export interface MiddlewareMaker<
23
+ Self,
24
24
  RequestContextMap extends Record<string, RpcContextMap.Any>,
25
25
  MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>
26
26
  > extends
27
27
  RpcMiddleware.TagClass<
28
- MiddlewareMakerId,
28
+ Self,
29
29
  "MiddlewareMaker",
30
30
  Simplify<
31
31
  & { readonly wrap: true }
@@ -49,7 +49,7 @@ export interface MiddlewareMaker<
49
49
  >
50
50
  >
51
51
  {
52
- readonly layer: Layer.Layer<MiddlewareMakerId, never, Tag.Identifier<MiddlewareProviders[number]>>
52
+ readonly layer: Layer.Layer<Self, never, Context.Tag.Identifier<MiddlewareProviders[number]>>
53
53
  readonly requestContext: RequestContextTag<RequestContextMap>
54
54
  readonly requestContextMap: RequestContextMap
55
55
  }
@@ -111,6 +111,7 @@ type FilterInDynamicMiddlewares<
111
111
  type RecursiveHandleMWsSideways<
112
112
  MWs,
113
113
  R extends {
114
+ self: any
114
115
  rcm: Record<string, RpcContextMap.Any>
115
116
  provided: keyof R["rcm"] // that's fine
116
117
  middlewares: ReadonlyArray<MiddlewareMaker.Any>
@@ -120,6 +121,7 @@ type RecursiveHandleMWsSideways<
120
121
  > = MWs extends [] ? R
121
122
  : MWs extends [infer F, ...infer Rest extends ReadonlyArray<any>]
122
123
  ? F extends MiddlewareMaker.Any ? RecursiveHandleMWsSideways<Rest, {
124
+ self: R["self"]
123
125
  rcm: R["rcm"]
124
126
  // when one dynamic middleware depends on another, subtract the key to enforce the dependency to be provided after
125
127
  // (if already provided, it would have to be re-provided anyway, so better to provide it after)
@@ -143,6 +145,7 @@ type RecursiveHandleMWsSideways<
143
145
  : never
144
146
 
145
147
  export interface BuildingMiddleware<
148
+ Self,
146
149
  RequestContextMap extends Record<string, RpcContextMap.Any>,
147
150
  Provided extends keyof RequestContextMap,
148
151
  Middlewares extends ReadonlyArray<MiddlewareMaker.Any>,
@@ -177,18 +180,21 @@ export interface BuildingMiddleware<
177
180
  middleware<MWs extends NonEmptyArray<MiddlewareMaker.Any>>(
178
181
  ...mw: MWs
179
182
  ): RecursiveHandleMWsSideways<MWs, {
183
+ self: Self
180
184
  rcm: RequestContextMap
181
185
  provided: Provided
182
186
  middlewares: Middlewares
183
187
  dmp: DynamicMiddlewareProviders
184
188
  middlewareR: MiddlewareR
185
189
  }> extends infer Res extends {
190
+ self: any
186
191
  rcm: RequestContextMap
187
192
  provided: keyof RequestContextMap
188
193
  middlewares: ReadonlyArray<MiddlewareMaker.Any>
189
194
  dmp: any
190
195
  middlewareR: any
191
196
  } ? MiddlewaresBuilder<
197
+ Res["self"],
192
198
  Res["rcm"],
193
199
  Res["provided"],
194
200
  Res["middlewares"],
@@ -205,6 +211,7 @@ export interface BuildingMiddleware<
205
211
  }
206
212
 
207
213
  export type MiddlewaresBuilder<
214
+ Self,
208
215
  RequestContextMap extends Record<string, RpcContextMap.Any>,
209
216
  Provided extends keyof RequestContextMap = never,
210
217
  Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [],
@@ -212,6 +219,7 @@ export type MiddlewaresBuilder<
212
219
  MiddlewareR extends { _tag: string } = never
213
220
  > =
214
221
  & BuildingMiddleware<
222
+ Self,
215
223
  RequestContextMap,
216
224
  Provided,
217
225
  Middlewares,
@@ -221,6 +229,7 @@ export type MiddlewaresBuilder<
221
229
  & // keyof Omit<RequestContextMap, Provided> extends never is true when all the dynamic middlewares are provided
222
230
  // MiddlewareR is never when all the required services from generic & dynamic middlewares are provided
223
231
  (keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<
232
+ Self,
224
233
  RequestContextMap,
225
234
  Middlewares
226
235
  >
@@ -274,78 +283,83 @@ const middlewareMaker = <
274
283
  }) as any
275
284
  }
276
285
 
277
- const makeMiddlewareBasic =
278
- // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
279
- <
280
- RequestContextMap extends Record<string, RpcContextMap.Any>,
281
- MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>
282
- >(
283
- rcm: RequestContextMap,
284
- ...make: MiddlewareProviders
285
- ) => {
286
- // reverse middlewares and wrap one after the other
287
- const middleware = middlewareMaker(make)
288
-
289
- const failures = make.map((_) => _.failure).filter(Boolean)
290
- const provides = make.flatMap((_) => !_.provides ? [] : Array.isArray(_.provides) ? _.provides : [_.provides])
291
- const requires = make
292
- .flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
293
- .filter((_) => !provides.includes(_))
294
-
295
- const MiddlewareMaker = RpcMiddlewareX.Tag<MiddlewareMakerId>()("MiddlewareMaker", {
296
- failure: (failures.length > 0
297
- ? S.Union(...failures)
298
- : S.Never) as unknown as MiddlewareMaker.ManyErrors<MiddlewareProviders> extends never ? never
299
- : S.Schema<MiddlewareMaker.ManyErrors<MiddlewareProviders>>,
300
- requires: (requires.length > 0
301
- ? requires
302
- : undefined) as unknown as Exclude<
303
- MiddlewareMaker.ManyRequired<MiddlewareProviders>,
304
- MiddlewareMaker.ManyProvided<MiddlewareProviders>
305
- > extends never ? never : [
306
- MakeTags<
307
- Exclude<
308
- MiddlewareMaker.ManyRequired<MiddlewareProviders>,
309
- MiddlewareMaker.ManyProvided<MiddlewareProviders>
310
- >
286
+ const makeMiddlewareBasic = <Self>() =>
287
+ // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
288
+ <
289
+ const Id extends string,
290
+ RequestContextMap extends Record<string, RpcContextMap.Any>,
291
+ MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>
292
+ >(
293
+ id: Id,
294
+ rcm: RequestContextMap,
295
+ ...make: MiddlewareProviders
296
+ ) => {
297
+ // reverse middlewares and wrap one after the other
298
+ const middleware = middlewareMaker(make)
299
+
300
+ const failures = make.map((_) => _.failure).filter(Boolean)
301
+ const provides = make.flatMap((_) => !_.provides ? [] : Array.isArray(_.provides) ? _.provides : [_.provides])
302
+ const requires = make
303
+ .flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
304
+ .filter((_) => !provides.includes(_))
305
+
306
+ const MiddlewareMaker = RpcMiddlewareX.Tag<Self>()(id, {
307
+ failure: (failures.length > 0
308
+ ? S.Union(...failures)
309
+ : S.Never) as unknown as MiddlewareMaker.ManyErrors<MiddlewareProviders> extends never ? never
310
+ : S.Schema<MiddlewareMaker.ManyErrors<MiddlewareProviders>>,
311
+ requires: (requires.length > 0
312
+ ? requires
313
+ : undefined) as unknown as Exclude<
314
+ MiddlewareMaker.ManyRequired<MiddlewareProviders>,
315
+ MiddlewareMaker.ManyProvided<MiddlewareProviders>
316
+ > extends never ? never : [
317
+ MakeTags<
318
+ Exclude<
319
+ MiddlewareMaker.ManyRequired<MiddlewareProviders>,
320
+ MiddlewareMaker.ManyProvided<MiddlewareProviders>
311
321
  >
312
- ],
313
- provides: (provides.length > 0
314
- ? provides
315
- : undefined) as unknown as MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? never
316
- : MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>,
317
- wrap: true
318
- })
319
-
320
- const layer = Layer
321
- .scoped(
322
- MiddlewareMaker,
323
- middleware as Effect.Effect<
324
- any, // TODO: why ?
325
- Effect.Effect.Error<typeof middleware>,
326
- Effect.Effect.Context<typeof middleware>
327
322
  >
328
- )
329
-
330
- // add to the tag a default implementation
331
- return Object.assign(MiddlewareMaker, {
332
- layer,
333
- // tag to be used to retrieve the RequestContextConfig from Rpc annotations
334
- requestContext: Context.GenericTag<"RequestContextConfig", GetContextConfig<RequestContextMap>>(
335
- "RequestContextConfig"
336
- ),
337
- requestContextMap: rcm
338
- })
339
- }
323
+ ],
324
+ provides: (provides.length > 0
325
+ ? provides
326
+ : undefined) as unknown as MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? never
327
+ : MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>,
328
+ wrap: true
329
+ })
330
+
331
+ const layer = Layer
332
+ .scoped(
333
+ MiddlewareMaker,
334
+ middleware as Effect.Effect<
335
+ any, // TODO: why ?
336
+ Effect.Effect.Error<typeof middleware>,
337
+ Effect.Effect.Context<typeof middleware>
338
+ >
339
+ )
340
+
341
+ // add to the tag a default implementation
342
+ return Object.assign(MiddlewareMaker, {
343
+ layer,
344
+ // tag to be used to retrieve the RequestContextConfig from Rpc annotations
345
+ requestContext: Context.GenericTag<"RequestContextConfig", GetContextConfig<RequestContextMap>>(
346
+ "RequestContextConfig"
347
+ ),
348
+ requestContextMap: rcm
349
+ })
350
+ }
340
351
 
341
- export const makeMiddleware = <
352
+ export const Tag = <Self>() =>
353
+ <
354
+ const Id extends string,
342
355
  RequestContextMap extends Record<string, RpcContextMap.Any>
343
- >(rcm: RequestContextMap): MiddlewaresBuilder<RequestContextMap> => {
356
+ >(id: Id, rcm: RequestContextMap): MiddlewaresBuilder<Self, RequestContextMap> => {
344
357
  let allMiddleware: MiddlewareMaker.Any[] = []
345
358
  const requestContext = Context.GenericTag<"RequestContextConfig", GetContextConfig<RequestContextMap>>(
346
359
  "RequestContextConfig"
347
360
  )
348
361
  const it = {
362
+ id,
349
363
  // rpc with config
350
364
  rpc: <
351
365
  const Tag extends string,
@@ -394,7 +408,7 @@ export const makeMiddleware = <
394
408
  // for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
395
409
  ? it
396
410
  // actually, we don't know yet if MiddlewareR is never, but we can't easily check it at runtime
397
- : Object.assign(makeMiddlewareBasic<any, any>(rcm, ...allMiddleware), it)
411
+ : Object.assign(makeMiddlewareBasic<Self>()<any, any, any>(id, rcm, ...allMiddleware), it)
398
412
  }
399
413
  }
400
414
  return it as any
@@ -403,7 +417,7 @@ export const makeMiddleware = <
403
417
  // alternatively consider group.serverMiddleware? hmmm
404
418
  export const middlewareGroup = <
405
419
  RequestContextMap extends Record<string, RpcContextMap.Any>,
406
- Middleware extends Context.Tag<MiddlewareMakerId, any> & RpcMiddleware.TagClassAny & {
420
+ Middleware extends RpcMiddleware.TagClassAny & {
407
421
  readonly requestContext: RequestContextTag<RequestContextMap>
408
422
  readonly requestContextMap: RequestContextMap
409
423
  }
package/src/rpc.ts CHANGED
@@ -1,7 +1,3 @@
1
- // codegen:start {preset: barrel, include: ./rpc/*.ts, nodir: false }
2
- export * from "./rpc/MiddlewareMaker.js"
3
- export * from "./rpc/RpcContextMap.js"
4
- export * from "./rpc/RpcMiddleware.js"
5
- // codegen:end
6
-
7
- export * as Middleware from "./rpc.js"
1
+ export * as RpcX from "./rpc.js"
2
+ export * as MiddlewareMaker from "./rpc/MiddlewareMaker.js"
3
+ export * as RpcMiddleware from "./rpc/RpcMiddleware.js"