@effect-app/infra 2.74.0 → 2.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/api/layerUtils.d.ts +22 -0
  3. package/dist/api/layerUtils.d.ts.map +1 -0
  4. package/dist/api/layerUtils.js +2 -0
  5. package/dist/api/routing/middleware/ContextProvider.d.ts +41 -0
  6. package/dist/api/routing/middleware/ContextProvider.d.ts.map +1 -0
  7. package/dist/api/routing/middleware/ContextProvider.js +27 -0
  8. package/dist/api/routing/middleware/DynamicMiddleware.d.ts +61 -0
  9. package/dist/api/routing/middleware/DynamicMiddleware.d.ts.map +1 -0
  10. package/dist/api/routing/middleware/DynamicMiddleware.js +45 -0
  11. package/dist/api/routing/middleware/dynamic-middleware.d.ts +25 -0
  12. package/dist/api/routing/middleware/dynamic-middleware.d.ts.map +1 -0
  13. package/dist/api/routing/middleware/dynamic-middleware.js +39 -0
  14. package/dist/api/routing/middleware/generic-middleware.d.ts +9 -0
  15. package/dist/api/routing/middleware/generic-middleware.d.ts.map +1 -0
  16. package/dist/api/routing/middleware/generic-middleware.js +20 -0
  17. package/dist/api/routing/middleware/middleware.d.ts +28 -0
  18. package/dist/api/routing/middleware/middleware.d.ts.map +1 -0
  19. package/dist/api/routing/middleware/middleware.js +101 -0
  20. package/dist/api/routing/middleware.d.ts +6 -0
  21. package/dist/api/routing/middleware.d.ts.map +1 -0
  22. package/dist/api/routing/middleware.js +8 -0
  23. package/dist/api/routing.d.ts +18 -28
  24. package/dist/api/routing.d.ts.map +1 -1
  25. package/dist/api/routing.js +3 -3
  26. package/package.json +27 -7
  27. package/src/api/layerUtils.ts +33 -0
  28. package/src/api/routing/middleware/ContextProvider.ts +136 -0
  29. package/src/api/routing/middleware/DynamicMiddleware.ts +317 -0
  30. package/src/api/routing/{dynamic-middleware.ts → middleware/dynamic-middleware.ts} +29 -63
  31. package/src/api/routing/middleware/generic-middleware.ts +38 -0
  32. package/src/api/routing/middleware/middleware.ts +134 -0
  33. package/src/api/routing/middleware.ts +7 -0
  34. package/src/api/routing.ts +37 -56
  35. package/test/controller.test.ts +132 -15
  36. package/test/dist/controller.test.d.ts.map +1 -1
  37. package/dist/api/routing/DynamicMiddleware.d.ts +0 -104
  38. package/dist/api/routing/DynamicMiddleware.d.ts.map +0 -1
  39. package/dist/api/routing/DynamicMiddleware.js +0 -122
  40. package/dist/api/routing/dynamic-middleware.d.ts +0 -24
  41. package/dist/api/routing/dynamic-middleware.d.ts.map +0 -1
  42. package/dist/api/routing/dynamic-middleware.js +0 -39
  43. package/src/api/routing/DynamicMiddleware.ts +0 -527
@@ -1,21 +1,11 @@
1
- import { type Array, Effect, Layer, type NonEmptyReadonlyArray, S } from "effect-app";
1
+ import { type Array, Effect, Layer, S } from "effect-app";
2
2
  import type { GetEffectContext, RPCContextMap } from "effect-app/client/req";
3
3
  import { type HttpHeaders, HttpRouter } from "effect-app/http";
4
4
  import type { Contravariant } from "effect/Types";
5
5
  import { type YieldWrap } from "effect/Utils";
6
- import { type Middleware } from "./routing/DynamicMiddleware.js";
7
- export * from "./routing/DynamicMiddleware.js";
8
- export declare namespace LayersUtils {
9
- type GetLayersSuccess<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> ? {
10
- [k in keyof Layers]: Layer.Layer.Success<Layers[k]>;
11
- }[number] : never;
12
- type GetLayersContext<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> ? {
13
- [k in keyof Layers]: Layer.Layer.Context<Layers[k]>;
14
- }[number] : never;
15
- type GetLayersError<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> ? {
16
- [k in keyof Layers]: Layer.Layer.Error<Layers[k]>;
17
- }[number] : never;
18
- }
6
+ import { type LayerUtils } from "./layerUtils.js";
7
+ import { type Middleware } from "./routing/middleware.js";
8
+ export * from "./routing/middleware.js";
19
9
  export type AnyRequestModule = S.Schema.Any & {
20
10
  _tag: string;
21
11
  config: any;
@@ -228,66 +218,66 @@ export declare const makeRouter: <RequestContextMap extends Record<string, RPCCo
228
218
  raw: any;
229
219
  } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
230
220
  raw: any;
231
- } ? Impl[K]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K]["raw"] extends Effect<any, any, infer R> ? R : Impl[K]["raw"] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never : Impl[K] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K] extends Effect<any, any, infer R> ? R : Impl[K] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never, GetEffectContext<RequestContextMap, Resource_1[K]["config"]> | ContextProviderA>, HttpRouter.HttpRouter.Provided>>; }) => Generator<YieldWrap<Effect<any, any, Make["strict"] extends false ? any : LayersUtils.GetLayersSuccess<Make["dependencies"]>>>, { [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any>;
221
+ } ? Impl[K]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K]["raw"] extends Effect<any, any, infer R> ? R : Impl[K]["raw"] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never : Impl[K] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K] extends Effect<any, any, infer R> ? R : Impl[K] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never, GetEffectContext<RequestContextMap, Resource_1[K]["config"]> | ContextProviderA>, HttpRouter.HttpRouter.Provided>>; }) => Generator<YieldWrap<Effect<any, any, Make["strict"] extends false ? any : LayerUtils.GetLayersSuccess<Make["dependencies"]>>>, { [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any>;
232
222
  strict?: boolean;
233
223
  /** @deprecated */
234
224
  readonly ಠ_ಠ: never;
235
225
  }>(make: Make): {
236
226
  moduleName: ModuleName;
237
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
227
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
238
228
  make: Make;
239
229
  };
240
230
  <const Make extends {
241
231
  dependencies: Array<Layer.Layer.Any>;
242
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : LayersUtils.GetLayersSuccess<Make["dependencies"]>>;
232
+ effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : LayerUtils.GetLayersSuccess<Make["dependencies"]>>;
243
233
  strict?: boolean;
244
234
  /** @deprecated */
245
235
  readonly ಠ_ಠ: never;
246
236
  }>(make: Make): {
247
237
  moduleName: ModuleName;
248
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
238
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
249
239
  make: Make;
250
240
  };
251
241
  <const Make extends {
252
242
  dependencies: Array<Layer.Layer.Any>;
253
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : LayersUtils.GetLayersSuccess<Make["dependencies"]>>;
243
+ effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : LayerUtils.GetLayersSuccess<Make["dependencies"]>>;
254
244
  strict?: boolean;
255
245
  /** @deprecated */
256
246
  readonly ಠ_ಠ: never;
257
247
  }>(make: Make): {
258
248
  moduleName: ModuleName;
259
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
249
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
260
250
  make: Make;
261
251
  };
262
252
  <const Make extends {
263
253
  dependencies: Array<Layer.Layer.Any>;
264
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : LayersUtils.GetLayersSuccess<Make["dependencies"]>>;
254
+ effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : LayerUtils.GetLayersSuccess<Make["dependencies"]>>;
265
255
  strict?: boolean;
266
256
  /** @deprecated */
267
257
  readonly ಠ_ಠ: never;
268
258
  }>(make: Make): {
269
259
  moduleName: ModuleName;
270
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
260
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
271
261
  make: Make;
272
262
  };
273
263
  <const Make extends {
274
264
  dependencies: Array<Layer.Layer.Any>;
275
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, LayersUtils.GetLayersSuccess<Make["dependencies"]>>;
265
+ effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, LayerUtils.GetLayersSuccess<Make["dependencies"]>>;
276
266
  strict?: boolean;
277
267
  /** @deprecated */
278
268
  readonly ಠ_ಠ: never;
279
269
  }>(make: Make): {
280
270
  moduleName: ModuleName;
281
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
271
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
282
272
  make: Make;
283
273
  };
284
274
  <const Make extends {
285
275
  dependencies: Array<Layer.Layer.Any>;
286
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, LayersUtils.GetLayersSuccess<Make["dependencies"]>>;
276
+ effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, LayerUtils.GetLayersSuccess<Make["dependencies"]>>;
287
277
  strict?: boolean;
288
278
  }>(make: Make): {
289
279
  moduleName: ModuleName;
290
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
280
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
291
281
  make: Make;
292
282
  };
293
283
  <const Make extends {
@@ -302,11 +292,11 @@ export declare const makeRouter: <RequestContextMap extends Record<string, RPCCo
302
292
  raw: any;
303
293
  } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
304
294
  raw: any;
305
- } ? Impl[K]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K]["raw"] extends Effect<any, any, infer R> ? R : Impl[K]["raw"] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never : Impl[K] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K] extends Effect<any, any, infer R> ? R : Impl[K] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never, GetEffectContext<RequestContextMap, Resource_1[K]["config"]> | ContextProviderA>, HttpRouter.HttpRouter.Provided>>; }) => Generator<YieldWrap<Effect<any, any, Make["strict"] extends false ? any : LayersUtils.GetLayersSuccess<Make["dependencies"]>>>, { [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any>;
295
+ } ? Impl[K]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K]["raw"] extends Effect<any, any, infer R> ? R : Impl[K]["raw"] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never : Impl[K] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K] extends Effect<any, any, infer R> ? R : Impl[K] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> ? R : never, GetEffectContext<RequestContextMap, Resource_1[K]["config"]> | ContextProviderA>, HttpRouter.HttpRouter.Provided>>; }) => Generator<YieldWrap<Effect<any, any, Make["strict"] extends false ? any : LayerUtils.GetLayersSuccess<Make["dependencies"]>>>, { [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any>;
306
296
  strict?: boolean;
307
297
  }>(make: Make): {
308
298
  moduleName: ModuleName;
309
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayersUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
299
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayerUtils.GetLayersError<Make["dependencies"]> | Layer.Error<typeof middleware.Default>, LayerUtils.GetLayersContext<Make["dependencies"]> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, LayerUtils.GetLayersSuccess<Make["dependencies"]>>>;
310
300
  make: Make;
311
301
  };
312
302
  <const Make extends {
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/api/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/api/routing.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ import { Rpc, RpcGroup, RpcServer } from "@effect/rpc";
7
7
  import { Duration, Effect, Layer, Predicate, Request, S, Schedule, Schema } from "effect-app";
8
8
  import { HttpRouter } from "effect-app/http";
9
9
  import { typedKeysOf, typedValuesOf } from "effect-app/utils";
10
- import { DevMode } from "./routing/DynamicMiddleware.js";
11
- export * from "./routing/DynamicMiddleware.js";
10
+ import { DevMode } from "./routing/middleware.js";
11
+ export * from "./routing/middleware.js";
12
12
  // retry just once on optimistic concurrency exceptions
13
13
  const optimisticConcurrencySchedule = Schedule.once.pipe(Schedule.intersect(Schedule.recurWhile((a) => a?._tag === "OptimisticConcurrencyException")));
14
14
  // note:
@@ -172,4 +172,4 @@ export const makeRouter = (middleware, devMode) => {
172
172
  };
173
173
  };
174
174
  export const RequestCacheLayers = Layer.mergeAll(Layer.setRequestCache(Request.makeCache({ capacity: 500, timeToLive: Duration.hours(8) })), Layer.setRequestCaching(true), Layer.setRequestBatching(true));
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsMERBQTBEO0FBQzFELDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdEQsT0FBTyxFQUFjLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrRCxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXpKLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUc3RCxPQUFPLEVBQUUsT0FBTyxFQUFtQixNQUFNLGdDQUFnQyxDQUFBO0FBRXpFLGNBQWMsZ0NBQWdDLENBQUE7QUFzQjlDLHVEQUF1RDtBQUN2RCxNQUFNLDZCQUE2QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN0RCxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssZ0NBQWdDLENBQUMsQ0FBQyxDQUNsRyxDQUFBO0FBOEJELFFBQVE7QUFDUix1Q0FBdUM7QUFDdkMsNENBQTRDO0FBQzVDLElBQVUsWUFBWSxDQUtyQjtBQUxELFdBQVUsWUFBWTtJQUNQLG9CQUFPLEdBQUcsR0FBWSxDQUFBO0lBRXRCLGlCQUFJLEdBQUcsS0FBYyxDQUFBO0FBRXBDLENBQUMsRUFMUyxZQUFZLEtBQVosWUFBWSxRQUtyQjtBQXdD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
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsMERBQTBEO0FBQzFELDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdEQsT0FBTyxFQUFjLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFzQixTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTdILE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUk3RCxPQUFPLEVBQUUsT0FBTyxFQUFtQixNQUFNLHlCQUF5QixDQUFBO0FBRWxFLGNBQWMseUJBQXlCLENBQUE7QUFFdkMsdURBQXVEO0FBQ3ZELE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3RELFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQ2xHLENBQUE7QUE4QkQsUUFBUTtBQUNSLHVDQUF1QztBQUN2Qyw0Q0FBNEM7QUFDNUMsSUFBVSxZQUFZLENBS3JCO0FBTEQsV0FBVSxZQUFZO0lBQ1Asb0JBQU8sR0FBRyxHQUFZLENBQUE7SUFFdEIsaUJBQUksR0FBRyxLQUFjLENBQUE7QUFFcEMsQ0FBQyxFQUxTLFlBQVksS0FBWixZQUFZLFFBS3JCO0FBd0NE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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "2.74.0",
3
+ "version": "2.76.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -282,6 +282,10 @@
282
282
  "types": "./dist/api/codec.d.ts",
283
283
  "default": "./dist/api/codec.js"
284
284
  },
285
+ "./api/layerUtils": {
286
+ "types": "./dist/api/layerUtils.d.ts",
287
+ "default": "./dist/api/layerUtils.js"
288
+ },
285
289
  "./api/middlewares": {
286
290
  "types": "./dist/api/middlewares.d.ts",
287
291
  "default": "./dist/api/middlewares.js"
@@ -294,13 +298,29 @@
294
298
  "types": "./dist/api/routing.d.ts",
295
299
  "default": "./dist/api/routing.js"
296
300
  },
297
- "./api/routing/DynamicMiddleware": {
298
- "types": "./dist/api/routing/DynamicMiddleware.d.ts",
299
- "default": "./dist/api/routing/DynamicMiddleware.js"
301
+ "./api/routing/middleware": {
302
+ "types": "./dist/api/routing/middleware.d.ts",
303
+ "default": "./dist/api/routing/middleware.js"
304
+ },
305
+ "./api/routing/middleware/ContextProvider": {
306
+ "types": "./dist/api/routing/middleware/ContextProvider.d.ts",
307
+ "default": "./dist/api/routing/middleware/ContextProvider.js"
308
+ },
309
+ "./api/routing/middleware/DynamicMiddleware": {
310
+ "types": "./dist/api/routing/middleware/DynamicMiddleware.d.ts",
311
+ "default": "./dist/api/routing/middleware/DynamicMiddleware.js"
312
+ },
313
+ "./api/routing/middleware/dynamic-middleware": {
314
+ "types": "./dist/api/routing/middleware/dynamic-middleware.d.ts",
315
+ "default": "./dist/api/routing/middleware/dynamic-middleware.js"
316
+ },
317
+ "./api/routing/middleware/generic-middleware": {
318
+ "types": "./dist/api/routing/middleware/generic-middleware.d.ts",
319
+ "default": "./dist/api/routing/middleware/generic-middleware.js"
300
320
  },
301
- "./api/routing/dynamic-middleware": {
302
- "types": "./dist/api/routing/dynamic-middleware.d.ts",
303
- "default": "./dist/api/routing/dynamic-middleware.js"
321
+ "./api/routing/middleware/middleware": {
322
+ "types": "./dist/api/routing/middleware/middleware.d.ts",
323
+ "default": "./dist/api/routing/middleware/middleware.js"
304
324
  },
305
325
  "./api/routing/schema/jwt": {
306
326
  "types": "./dist/api/routing/schema/jwt.d.ts",
@@ -0,0 +1,33 @@
1
+ import { type Context, type Layer, type NonEmptyReadonlyArray } from "effect-app"
2
+
3
+ export namespace LayerUtils {
4
+ export type GetLayersSuccess<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends
5
+ NonEmptyReadonlyArray<Layer.Layer.Any> ? {
6
+ [k in keyof Layers]: Layer.Layer.Success<Layers[k]>
7
+ }[number]
8
+ : never
9
+
10
+ export type GetLayersContext<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends
11
+ NonEmptyReadonlyArray<Layer.Layer.Any> ? {
12
+ [k in keyof Layers]: Layer.Layer.Context<Layers[k]>
13
+ }[number]
14
+ : never
15
+
16
+ export type GetLayersError<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends
17
+ NonEmptyReadonlyArray<Layer.Layer.Any> ? {
18
+ [k in keyof Layers]: Layer.Layer.Error<Layers[k]>
19
+ }[number]
20
+ : never
21
+ }
22
+
23
+ export type ContextTagWithDefault<Id, A, LayerE, LayerR, Tag = unknown> =
24
+ & (Tag extends string ? Context.Tag<Id, { _tag: Tag } & A> : Context.Tag<Id, A>)
25
+ & {
26
+ Default: Layer.Layer<Id, LayerE, LayerR>
27
+ }
28
+
29
+ export namespace ContextTagWithDefault {
30
+ export type Base<A> = ContextTagWithDefault<any, any, A, any, any>
31
+ }
32
+
33
+ export type GetContext<T> = T extends Context.Context<infer Y> ? Y : never
@@ -0,0 +1,136 @@
1
+ import { type Array, Context, Effect, Layer, type NonEmptyArray, pipe, type Scope } from "effect-app"
2
+ import { type HttpRouter } from "effect-app/http"
3
+ import { type Tag } from "effect/Context"
4
+ import { type ContextTagWithDefault, type GetContext, type LayerUtils } from "../../layerUtils.js"
5
+ import { mergeContexts } from "./dynamic-middleware.js"
6
+
7
+ // the context provider provides additional stuff
8
+ export type ContextProviderShape<ContextProviderA, ContextProviderR extends HttpRouter.HttpRouter.Provided> = Effect<
9
+ Context.Context<ContextProviderA>,
10
+ never, // no errors are allowed
11
+ ContextProviderR
12
+ >
13
+
14
+ export interface ContextProviderId {
15
+ _tag: "ContextProvider"
16
+ }
17
+
18
+ /**
19
+ * TDeps is an array of services with Default implementation
20
+ * each service is an effect which builds some context for each request
21
+ */
22
+ type TDepsArr = Array.NonEmptyReadonlyArray<
23
+ & (
24
+ // E = never => the context provided cannot trigger errors
25
+ // can't put HttpRouter.HttpRouter.Provided as R here because of variance
26
+ // (TDeps is an input type parameter so it's contravariant therefore Effect's R becomes contravariant too)
27
+ | Context.Tag<any, Effect<Context.Context<any>, never, any> & { _tag: any }>
28
+ | Context.Tag<any, Effect<Context.Context<any>, never, never> & { _tag: any }>
29
+ )
30
+ & {
31
+ Default: Layer.Layer<Effect<Context.Context<any>> & { _tag: any }, any, any>
32
+ }
33
+ >
34
+
35
+ type ConstrainDeps<TDeps extends TDepsArr> = {
36
+ [K in keyof TDeps]: TDeps[K]["Service"] extends Effect<Context.Context<any>, never, HttpRouter.HttpRouter.Provided>
37
+ ? TDeps[K]
38
+ : `HttpRouter.HttpRouter.Provided are the only requirements ${TDeps[K]["Service"][
39
+ "_tag"
40
+ ]}'s returned effect can have`
41
+ }
42
+
43
+ // Note: the type here must be aligned with MergedContextProvider
44
+ export const mergeContextProviders = <
45
+ TDeps extends TDepsArr
46
+ >(
47
+ ...deps: ConstrainDeps<TDeps>
48
+ ): {
49
+ dependencies: { [K in keyof TDeps]: TDeps[K]["Default"] }
50
+ effect: Effect.Effect<
51
+ Effect.Effect<
52
+ // we need to merge all contexts into one
53
+ Context.Context<GetContext<Effect.Success<Tag.Service<TDeps[number]>>>>,
54
+ never,
55
+ Effect.Context<Tag.Service<TDeps[number]>>
56
+ >,
57
+ LayerUtils.GetLayersError<{ [K in keyof TDeps]: TDeps[K]["Default"] }>,
58
+ LayerUtils.GetLayersSuccess<{ [K in keyof TDeps]: TDeps[K]["Default"] }>
59
+ >
60
+ } => ({
61
+ dependencies: deps.map((_) => _.Default) as any,
62
+ effect: Effect.gen(function*() {
63
+ const makers = yield* Effect.all(deps)
64
+ return Effect
65
+ .gen(function*() {
66
+ const services = (makers as any[]).map((handle, i) => ({ maker: deps[i], handle }))
67
+ // services are effects which return some Context.Context<...>
68
+ const context = yield* mergeContexts(services as any)
69
+ return context
70
+ })
71
+ }) as any
72
+ })
73
+
74
+ export const ContextProvider = <
75
+ ContextProviderA,
76
+ MakeContextProviderE,
77
+ MakeContextProviderR,
78
+ ContextProviderR extends HttpRouter.HttpRouter.Provided,
79
+ Dependencies extends NonEmptyArray<Layer.Layer.Any>
80
+ >(
81
+ input: {
82
+ effect: Effect<
83
+ Effect<ContextProviderA, never, ContextProviderR>,
84
+ MakeContextProviderE,
85
+ MakeContextProviderR | Scope
86
+ >
87
+ dependencies?: Dependencies
88
+ }
89
+ ) => {
90
+ const ctx = Context.GenericTag<
91
+ ContextProviderId,
92
+ Effect<ContextProviderA, never, ContextProviderR>
93
+ >(
94
+ "ContextProvider"
95
+ )
96
+ const l = Layer.scoped(ctx, input.effect)
97
+ return Object.assign(ctx, {
98
+ Default: l.pipe(
99
+ input.dependencies ? Layer.provide(input.dependencies) as any : (_) => _
100
+ ) as Layer.Layer<
101
+ ContextProviderId,
102
+ | MakeContextProviderE
103
+ | LayerUtils.GetLayersError<Dependencies>,
104
+ | Exclude<MakeContextProviderR, LayerUtils.GetLayersSuccess<Dependencies>>
105
+ | LayerUtils.GetLayersContext<Dependencies>
106
+ >
107
+ })
108
+ }
109
+
110
+ // Note: the type here must be aligned with mergeContextProviders
111
+ export const MergedContextProvider = <
112
+ TDeps extends TDepsArr
113
+ >(
114
+ ...deps: ConstrainDeps<TDeps>
115
+ ) =>
116
+ pipe(
117
+ deps as [Parameters<typeof mergeContextProviders>[0]],
118
+ (_) => mergeContextProviders(..._),
119
+ (_) => ContextProvider(_ as any)
120
+ ) as unknown as ContextTagWithDefault<
121
+ ContextProviderId,
122
+ Effect.Effect<
123
+ // we need to merge all contexts into one
124
+ Context.Context<GetContext<Effect.Success<Tag.Service<TDeps[number]>>>>,
125
+ never,
126
+ Effect.Context<Tag.Service<TDeps[number]>>
127
+ >,
128
+ LayerUtils.GetLayersError<{ [K in keyof TDeps]: TDeps[K]["Default"] }>,
129
+ | Exclude<
130
+ Tag.Service<TDeps[number]>,
131
+ LayerUtils.GetLayersSuccess<{ [K in keyof TDeps]: TDeps[K]["Default"] }>
132
+ >
133
+ | LayerUtils.GetLayersContext<{ [K in keyof TDeps]: TDeps[K]["Default"] }>
134
+ >
135
+
136
+ export const EmptyContextProvider = ContextProvider({ effect: Effect.succeed(Effect.succeed(Context.empty())) })