@effect-app/infra 2.70.2 → 2.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 2.72.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 96c51df: replace execute with executeContextual
8
+
9
+ ### Patch Changes
10
+
11
+ - 96c51df: add support for error
12
+
13
+ ## 2.71.0
14
+
15
+ ### Minor Changes
16
+
17
+ - 8bb246b: cleanup and document router/middleware
18
+
19
+ ### Patch Changes
20
+
21
+ - 8bb246b: better middlewares creation
22
+ - Updated dependencies [8bb246b]
23
+ - effect-app@2.48.0
24
+
3
25
  ## 2.70.2
4
26
 
5
27
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  import { Context, Effect, Layer } from "effect-app";
2
2
  import { ContextMap } from "./service.js";
3
- declare const ContextMapContainer_base: Context.ReferenceClass<ContextMapContainer, "ContextMapContainer", ContextMap | "root">;
3
+ declare const ContextMapContainer_base: Context.ReferenceClass<ContextMapContainer, "ContextMapContainer", "root" | ContextMap>;
4
4
  export declare class ContextMapContainer extends ContextMapContainer_base {
5
5
  static readonly layer: Layer.Layer<ContextMapContainer, never, never>;
6
6
  }
@@ -165,4 +165,4 @@ export const cors = (_options) => {
165
165
  return response.pipe(ServerResponse.setHeaders(dropUndefined(corsHeaders)));
166
166
  }));
167
167
  };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2ludGVybmFsL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMzRCxPQUFPLEtBQUssVUFBVSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEtBQUssY0FBYyxNQUFNLHFDQUFxQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBc0MsTUFBTSxFQUFFLEVBQUUsQ0FDeEUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FDRixpQkFBaUIsQ0FBQyxpQkFBaUIsRUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFB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
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2ludGVybmFsL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMzRCxPQUFPLEtBQUssVUFBVSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEtBQUssY0FBYyxNQUFNLHFDQUFxQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBc0MsTUFBTSxFQUFFLEVBQUUsQ0FDeEUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FDRixpQkFBaUIsQ0FBQyxpQkFBaUIsRUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFB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
@@ -1,25 +1,35 @@
1
- import { type Array, type Context, Effect, type Layer, type Request, type S, type Scope } from "effect-app";
2
- import type { RPCContextMap } from "effect-app/client/req";
1
+ import { Context, Effect, Layer, type NonEmptyArray, type Request, type S, type Scope } from "effect-app";
2
+ import type { GetEffectContext, RPCContextMap } from "effect-app/client/req";
3
3
  import type * as EffectRequest from "effect/Request";
4
- export type RPCHandlerFactory<CTXMap extends Record<string, RPCContextMap.Any>> = <T extends {
5
- config?: Partial<Record<keyof CTXMap, any>>;
6
- }, Req extends S.TaggedRequest.All, R>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, any>;
7
- export type ContextProviderOut<RRet> = Effect<Context.Context<RRet>, never, Scope>;
8
- export type ContextProviderShape<RRet> = ContextProviderOut<RRet>;
9
- export interface Middleware<MiddlewareContext, CTXMap extends Record<string, RPCContextMap.Any>, R, Layers extends Array<Layer.Layer.Any>, CtxId, CtxTag extends string, RRet, RErr, RCtx> {
10
- dependencies?: Layers;
11
- contextMap: CTXMap;
12
- context: MiddlewareContext;
13
- contextProvider: Context.Tag<CtxId, CtxId & ContextProviderShape<RRet> & {
14
- _tag: CtxTag;
4
+ import { type LayersUtils } from "../routing.js";
5
+ export declare const MiddlewareMaker: Context.Tag<"MiddlewareMaker", any>;
6
+ export type RPCHandlerFactory<RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareR> = <T extends {
7
+ config?: Partial<Record<keyof RequestContextMap, any>>;
8
+ }, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, HandlerR>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, MiddlewareR | Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>>;
9
+ export declare const makeMiddlewareLayer: <RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareR, MakeMiddlewareR, MiddlewareDependencies extends NonEmptyArray<Layer.Layer.Any>, ContextProviderId, ContextProviderKey extends string, ContextProviderA, MakeContextProviderE, MakeContextProviderR>(middleware: Middleware<MiddlewareR, RequestContextMap, MakeMiddlewareR, MiddlewareDependencies, ContextProviderId, ContextProviderKey, ContextProviderA, MakeContextProviderE, MakeContextProviderR>) => Layer.Layer<"MiddlewareMaker", never, Exclude<MiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>>>;
10
+ export type ContextProviderShape<ContextProviderA> = Effect<Context.Context<ContextProviderA>, never, Scope>;
11
+ export interface Middleware<MiddlewareR, // what the middlware requires to execute
12
+ RequestContextMap extends Record<string, RPCContextMap.Any>, // what services will the middlware provide dynamically to the handler, or raise errors.
13
+ MakeMiddlewareR, // what the middlware requires to be constructed
14
+ MiddlewareDependencies extends NonEmptyArray<Layer.Layer.Any>, // layers provided for the middlware to be constructed
15
+ ContextProviderId, // it is the context provider itself
16
+ ContextProviderKey extends string, // tag for the context provider
17
+ ContextProviderA, // what the context provider provides
18
+ MakeContextProviderE, // what the context provider construction can fail with
19
+ MakeContextProviderR> {
20
+ dependencies?: MiddlewareDependencies;
21
+ contextProvider: Context.Tag<ContextProviderId, ContextProviderId & ContextProviderShape<ContextProviderA> & {
22
+ _tag: ContextProviderKey;
15
23
  }> & {
16
- Default: Layer.Layer<CtxId, RErr, RCtx>;
24
+ Default: Layer.Layer<ContextProviderId, MakeContextProviderE, MakeContextProviderR>;
17
25
  };
18
- execute: Effect<RPCHandlerFactory<CTXMap>, never, R>;
26
+ execute: (maker: (cb: RPCHandlerFactory<RequestContextMap, MiddlewareR>) => RPCHandlerFactory<RequestContextMap, MiddlewareR>) => Effect<RPCHandlerFactory<RequestContextMap, MiddlewareR>, never, MakeMiddlewareR>;
19
27
  }
20
- export declare const makeRpc: <Context, CTXMap extends Record<string, RPCContextMap.Any>, R, Layers extends Array<Layer.Layer.Any>, CtxId, CtxTag extends string, RRet, RErr, RCtx>(middleware: Middleware<Context, CTXMap, R, Layers, CtxId, CtxTag, RRet, RErr, RCtx>) => Effect.Effect<{
28
+ export type RequestContextMapErrors<RequestContextMap extends Record<string, RPCContextMap.Any>> = S.Schema.Type<RequestContextMap[keyof RequestContextMap]["error"]>;
29
+ export declare const makeMiddleware: <RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareR>() => <M extends Middleware<MiddlewareR, RequestContextMap, any, NonEmptyArray<Layer.Layer.Any>, any, any, any, any, any>>(content: M) => M;
30
+ export declare const makeRpc: <MiddlewareR, RequestContextMap extends Record<string, RPCContextMap.Any>, MakeMiddlewareR, MiddlewareDependencies extends NonEmptyArray<Layer.Layer.Any>, ContextProviderId, ContextProviderKey extends string, ContextProviderA, MakeContextProviderE, MakeContextProviderR>(middleware: Middleware<MiddlewareR, RequestContextMap, MakeMiddlewareR, MiddlewareDependencies, ContextProviderId, ContextProviderKey, ContextProviderA, MakeContextProviderE, MakeContextProviderR>) => Effect.Effect<{
21
31
  effect: <T extends {
22
- config?: Partial<Record<keyof CTXMap, any>>;
23
- }, Req extends S.TaggedRequest.All, R_1>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R_1>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, Exclude<any, RRet>>;
24
- }, never, R | CtxId>;
32
+ config?: Partial<Record<keyof RequestContextMap, any>>;
33
+ }, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, HandlerR>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | S.Schema.Type<RequestContextMap[keyof RequestContextMap]["error"]>, Scope.Scope | Exclude<MiddlewareR, ContextProviderA> | Exclude<Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>, ContextProviderA>>;
34
+ }, never, "MiddlewareMaker" | ContextProviderId>;
25
35
  //# sourceMappingURL=DynamicMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,39 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-return */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
- import { Effect } from "effect-app";
4
+ import { Context, Effect, Layer } from "effect-app";
5
+ export const MiddlewareMaker = Context.GenericTag("MiddlewareMaker");
6
+ function makeRpcHandler() {
7
+ return (cb) => cb;
8
+ }
9
+ export const makeMiddlewareLayer = (middleware) => {
10
+ const middlewareLayer = Layer
11
+ .effect(MiddlewareMaker, middleware.execute(makeRpcHandler()))
12
+ .pipe(middleware.dependencies ? Layer.provide(middleware.dependencies) : (_) => _);
13
+ return middlewareLayer;
14
+ };
15
+ // identity factory for Middleware
16
+ export const makeMiddleware =
17
+ // by setting MiddlewareR and RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
18
+ () => (content) => content;
19
+ // it just provides the right types without cluttering the implementation with them
20
+ function makeRpcEffect() {
21
+ return (cb) => cb;
22
+ }
5
23
  export const makeRpc = (middleware) => Effect
6
24
  .all({
7
- execute: middleware.execute,
8
- contextProvider: middleware.contextProvider
25
+ middleware: MiddlewareMaker,
26
+ contextProvider: middleware.contextProvider // uses the middleware.contextProvider tag to get the context provider service
9
27
  })
10
- .pipe(Effect.map(({ contextProvider, execute }) => ({
11
- effect: (schema, handler, moduleName) => {
12
- const h = execute(schema, handler, moduleName);
13
- return (req, headers) => Effect.gen(function* () {
14
- const ctx = yield* contextProvider;
15
- return yield* h(req, headers).pipe(Effect.provide(ctx), Effect.uninterruptible // TODO: make this depend on query/command, and consider if middleware also should be affected or not.
16
- );
17
- });
18
- }
28
+ .pipe(Effect.map(({ contextProvider, middleware }) => ({
29
+ effect: makeRpcEffect()((schema, handler, moduleName) => {
30
+ const h = middleware(schema, handler, moduleName);
31
+ return (req, headers) =>
32
+ // the contextProvider is an Effect that builds the context for the request
33
+ contextProvider.pipe(Effect.flatMap((ctx) => h(req, headers)
34
+ .pipe(Effect.provide(ctx),
35
+ // TODO: make this depend on query/command, and consider if middleware also should be affected or not.
36
+ Effect.uninterruptible)));
37
+ })
19
38
  })));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvRHluYW1pY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUE0QixNQUFNLEVBQWdELE1BQU0sWUFBWSxDQUFBO0FBc0QzRyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FXckIsVUFBbUYsRUFDbkYsRUFBRSxDQUNGLE1BQU07S0FDSCxHQUFHLENBQUM7SUFDSCxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87SUFDM0IsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO0NBQzVDLENBQUM7S0FDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFBRSxDQUNOLE1BQXFDLEVBQ3JDLE9BT0MsRUFDRCxVQUFtQixFQUNuQixFQUFFO1FBQ0YsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDOUMsT0FBTyxDQUFDLEdBQVEsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUNoQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNsQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUE7WUFDbEMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxzR0FBc0c7YUFDOUgsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFDLENBQUEifQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvRHluYW1pY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUF3RCxNQUFNLFlBQVksQ0FBQTtBQUt6RyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBeUIsaUJBQWlCLENBQUMsQ0FBQTtBQStCNUYsU0FBUyxjQUFjO0lBQ3JCLE9BQU8sQ0FBQyxFQUFxRCxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDdEUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBV2pDLFVBVUMsRUFDRCxFQUFFO0lBQ0YsTUFBTSxlQUFlLEdBQUcsS0FBSztTQUMxQixNQUFNLENBQ0wsZUFBZSxFQUNmLFVBQVUsQ0FBQyxPQUFRLENBQUMsY0FBYyxFQUFrQyxDQUFDLENBQ3RFO1NBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0YsT0FBTyxlQUlOLENBQUE7QUFDSCxDQUFDLENBQUE7QUFzQ0Qsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGNBQWM7QUFDekIscUhBQXFIO0FBQ3JILEdBQTZFLEVBQUUsQ0FDL0UsQ0FDRSxPQUFVLEVBQ1AsRUFBRSxDQUFDLE9BQU8sQ0FBQTtBQUVqQixtRkFBbUY7QUFDbkYsU0FBUyxhQUFhO0lBQ3BCLE9BQU8sQ0FDTCxFQTZCQyxFQUNELEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDVCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBV3JCLFVBVUMsRUFDRCxFQUFFLENBQ0YsTUFBTTtLQUNILEdBQUcsQ0FBQztJQUNILFVBQVUsRUFBRSxlQUdYO0lBQ0QsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUMsOEVBQThFO0NBQzNILENBQUM7S0FDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sRUFBRSxhQUFhLEVBQW9ELENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFO1FBQ3hHLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdEIsMkVBQTJFO1FBQzNFLGVBQWUsQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNyQixDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQzthQUNaLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNuQixzR0FBc0c7UUFDdEcsTUFBTSxDQUFDLGVBQWUsQ0FDdkIsQ0FDSixDQUNGLENBQUE7SUFDTCxDQUFDLENBQUM7Q0FDSCxDQUFDLENBQUMsQ0FBQyxDQUFBIn0=
@@ -9,4 +9,11 @@ export declare const determineMethod: (actionName: string, schema: Schema<any, a
9
9
  readonly _tag: "command";
10
10
  readonly method: "PATCH";
11
11
  };
12
+ export declare const isCommand: (method: ReturnType<typeof determineMethod>) => method is {
13
+ readonly _tag: "command";
14
+ readonly method: "POST" | "DELETE";
15
+ } | {
16
+ readonly _tag: "command";
17
+ readonly method: "PATCH";
18
+ };
12
19
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA6BpD,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,QAAQ,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;;;;;;;;CAShF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA6BpD,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,QAAQ,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;;;;;;;;CAShF,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;;;;;;CAA8B,CAAA"}
@@ -36,4 +36,5 @@ export const determineMethod = (actionName, schema) => {
36
36
  return { _tag: "command", method: "PATCH" };
37
37
  return { _tag: "command", method: "POST" };
38
38
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUc5QixNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUV6QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBWSxFQUFXLEVBQUU7SUFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM3QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxPQUFPLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVksRUFBVyxFQUFFO0lBQy9DLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNoRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDM0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUE4RCxFQUFXLEVBQUU7SUFDOUYsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxtQkFBbUI7SUFDL0csT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFVBQWtCLEVBQUUsTUFBNkIsRUFBRSxFQUFFO0lBQ25GLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQVcsQ0FBQTtJQUMxRixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFBO0lBQ3RGLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFXLENBQUE7SUFDckcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVyxDQUFBO0FBQ3JELENBQUMsQ0FBQSJ9
39
+ export const isCommand = (method) => method._tag === "command";
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUc5QixNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUV6QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBWSxFQUFXLEVBQUU7SUFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM3QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxPQUFPLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVksRUFBVyxFQUFFO0lBQy9DLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNoRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDM0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUE4RCxFQUFXLEVBQUU7SUFDOUYsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxtQkFBbUI7SUFDL0csT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFVBQWtCLEVBQUUsTUFBNkIsRUFBRSxFQUFFO0lBQ25GLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQVcsQ0FBQTtJQUMxRixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFBO0lBQ3RGLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFXLENBQUE7SUFDckcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVyxDQUFBO0FBQ3JELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQTBDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFBIn0=
@@ -1,10 +1,11 @@
1
- import { Array, Context, Effect, Layer, type NonEmptyReadonlyArray, ParseResult, S } from "effect-app";
1
+ import { Array, Context, Effect, Layer, type NonEmptyArray, type NonEmptyReadonlyArray, ParseResult, 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
6
  import { type Middleware } from "./routing/DynamicMiddleware.js";
7
- declare namespace LayersUtils {
7
+ export * from "./routing/DynamicMiddleware.js";
8
+ export declare namespace LayersUtils {
8
9
  type GetLayersSuccess<Layers extends ReadonlyArray<Layer.Layer.Any>> = Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> ? {
9
10
  [k in keyof Layers]: Layer.Layer.Success<Layers[k]>;
10
11
  }[number] : never;
@@ -66,26 +67,25 @@ export declare const RouterSymbol: unique symbol;
66
67
  export interface RouterShape<Resource> {
67
68
  [RouterSymbol]: Resource;
68
69
  }
69
- type Match<Resource extends Record<string, any>, CTXMap extends Record<string, any>, RT extends RequestType, Key extends keyof Resource, MiddlewareContext> = {
70
- <A extends GetSuccessShape<Resource[Key], RT>, R2 = never, E = never>(f: Effect<A, E, R2>): Handler<Resource[Key], RT, Exclude<MiddlewareContext | Exclude<R2, GetEffectContext<CTXMap, Resource[Key]["config"]>>, HttpRouter.HttpRouter.Provided>>;
71
- <A extends GetSuccessShape<Resource[Key], RT>, R2 = never, E = never>(f: (req: S.Schema.Type<Resource[Key]>) => Effect<A, E, R2>): Handler<Resource[Key], RT, Exclude<MiddlewareContext | Exclude<R2, GetEffectContext<CTXMap, Resource[Key]["config"]>>, HttpRouter.HttpRouter.Provided>>;
70
+ type Match<Resource extends Record<string, any>, RequestContextMap extends Record<string, any>, RT extends RequestType, Key extends keyof Resource, MiddlewareR> = {
71
+ <A extends GetSuccessShape<Resource[Key], RT>, R2 = never, E = never>(f: Effect<A, E, R2>): Handler<Resource[Key], RT, Exclude<MiddlewareR | Exclude<R2, GetEffectContext<RequestContextMap, Resource[Key]["config"]>>, HttpRouter.HttpRouter.Provided>>;
72
+ <A extends GetSuccessShape<Resource[Key], RT>, R2 = never, E = never>(f: (req: S.Schema.Type<Resource[Key]>) => Effect<A, E, R2>): Handler<Resource[Key], RT, Exclude<MiddlewareR | Exclude<R2, GetEffectContext<RequestContextMap, Resource[Key]["config"]>>, HttpRouter.HttpRouter.Provided>>;
72
73
  };
73
- export type RouteMatcher<CTXMap extends Record<string, any>, Resource extends Record<string, any>, MiddlewareContext> = {
74
- [Key in keyof FilterRequestModules<Resource>]: Match<Resource, CTXMap, RequestTypes.DECODED, Key, MiddlewareContext> & {
74
+ export type RouteMatcher<RequestContextMap extends Record<string, any>, Resource extends Record<string, any>, MiddlewareR> = {
75
+ [Key in keyof FilterRequestModules<Resource>]: Match<Resource, RequestContextMap, RequestTypes.DECODED, Key, MiddlewareR> & {
75
76
  success: Resource[Key]["success"];
76
77
  successRaw: S.SchemaClass<S.Schema.Encoded<Resource[Key]["success"]>>;
77
78
  failure: Resource[Key]["failure"];
78
79
  /**
79
80
  * Requires the Encoded shape (e.g directly undecoded from DB, so that we don't do multiple Decode/Encode)
80
81
  */
81
- raw: Match<Resource, CTXMap, RequestTypes.TYPE, Key, MiddlewareContext>;
82
+ raw: Match<Resource, RequestContextMap, RequestTypes.TYPE, Key, MiddlewareR>;
82
83
  };
83
84
  };
84
- export declare const makeMiddleware: <MiddlewareContext, CTXMap extends Record<string, RPCContextMap.Any>, MiddlewareR, Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[], CtxId, CtxTag extends string, RRet, RErr, RCtx>(content: Middleware<MiddlewareContext, CTXMap, MiddlewareR, Layers, CtxId, CtxTag, RRet, RErr, RCtx>) => Middleware<MiddlewareContext, CTXMap, MiddlewareR, Layers, CtxId, CtxTag, RRet, RErr, RCtx>;
85
85
  declare const Router_base: HttpRouter.HttpRouter.TagClass<Router, "@effect-app/Rpc", unknown, HttpRouter.HttpRouter.DefaultServices>;
86
86
  export declare class Router extends Router_base {
87
87
  }
88
- export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<string, RPCContextMap.Any>, MiddlewareR, Layers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[], CtxId, CtxTag extends string, RRet, RErr, RCtx>(middleware: Middleware<MiddlewareContext, CTXMap, MiddlewareR, Layers, CtxId, CtxTag, RRet, RErr, RCtx>, devMode: boolean) => {
88
+ export declare const makeRouter: <MiddlewareR, RequestContextMap extends Record<string, RPCContextMap.Any>, MakeMiddlewareR, MiddlewareDependencies extends NonEmptyArray<Layer.Layer.Any>, ContextProviderId, ContextProviderKey extends string, ContextProviderA, MakeContextProviderE, MakeContextProviderR>(middleware: Middleware<MiddlewareR, RequestContextMap, MakeMiddlewareR, MiddlewareDependencies, ContextProviderId, ContextProviderKey, ContextProviderA, MakeContextProviderE, MakeContextProviderR>, devMode: boolean) => {
89
89
  matchAll: <T extends {
90
90
  [key: string]: {
91
91
  routes: Layer.Layer<any, any, any>;
@@ -109,7 +109,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
109
109
  meta: {
110
110
  moduleName: ModuleName;
111
111
  };
112
- })[K]>>, RRet | GetEffectContext<CTXMap, (Resource & {
112
+ })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
113
113
  meta: {
114
114
  moduleName: ModuleName;
115
115
  };
@@ -131,7 +131,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
131
131
  meta: {
132
132
  moduleName: ModuleName;
133
133
  };
134
- })[K]>>, RRet | GetEffectContext<CTXMap, (Resource & {
134
+ })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
135
135
  meta: {
136
136
  moduleName: ModuleName;
137
137
  };
@@ -145,7 +145,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
145
145
  meta: {
146
146
  moduleName: ModuleName;
147
147
  };
148
- })[K]>>, RRet | GetEffectContext<CTXMap, (Resource & {
148
+ })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
149
149
  meta: {
150
150
  moduleName: ModuleName;
151
151
  };
@@ -158,7 +158,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
158
158
  meta: {
159
159
  moduleName: ModuleName;
160
160
  };
161
- })[K]>>, RRet | GetEffectContext<CTXMap, (Resource & {
161
+ })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
162
162
  meta: {
163
163
  moduleName: ModuleName;
164
164
  };
@@ -178,7 +178,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
178
178
  meta: {
179
179
  moduleName: ModuleName;
180
180
  };
181
- })[K]>>, RRet | GetEffectContext<CTXMap, (Resource & {
181
+ })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
182
182
  meta: {
183
183
  moduleName: ModuleName;
184
184
  };
@@ -190,7 +190,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
190
190
  meta: {
191
191
  moduleName: ModuleName;
192
192
  };
193
- })[K]>>, RRet | GetEffectContext<CTXMap, (Resource & {
193
+ })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
194
194
  meta: {
195
195
  moduleName: ModuleName;
196
196
  };
@@ -204,9 +204,9 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
204
204
  };
205
205
  }>[K_1], Impl[K_1] extends {
206
206
  raw: any;
207
- } ? "raw" : "d", Exclude<MiddlewareContext, HttpRouter.HttpRouter.Provided> | Exclude<Exclude<Impl[K_1] extends {
207
+ } ? "raw" : "d", Exclude<MiddlewareR, HttpRouter.HttpRouter.Provided> | Exclude<Exclude<Impl[K_1] extends {
208
208
  raw: any;
209
- } ? Impl[K_1]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K_1]["raw"] extends Effect<any, any, infer R_1> ? R_1 : Impl[K_1]["raw"] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R_2>>, any, any> ? R_2 : never : Impl[K_1] extends (...args: any[]) => Effect<any, any, infer R_3> ? R_3 : Impl[K_1] extends Effect<any, any, infer R_4> ? R_4 : Impl[K_1] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R_5>>, any, any> ? R_5 : never, GetEffectContext<CTXMap, (Resource & {
209
+ } ? Impl[K_1]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R : Impl[K_1]["raw"] extends Effect<any, any, infer R_1> ? R_1 : Impl[K_1]["raw"] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R_2>>, any, any> ? R_2 : never : Impl[K_1] extends (...args: any[]) => Effect<any, any, infer R_3> ? R_3 : Impl[K_1] extends Effect<any, any, infer R_4> ? R_4 : Impl[K_1] extends (...args: any[]) => Generator<YieldWrap<Effect<any, any, infer R_5>>, any, any> ? R_5 : never, GetEffectContext<RequestContextMap, (Resource & {
210
210
  meta: {
211
211
  moduleName: ModuleName;
212
212
  };
@@ -219,22 +219,22 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
219
219
  <const Make extends {
220
220
  dependencies: Array<Layer.Layer.Any>;
221
221
  effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource_1>]: ({
222
- raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
222
+ raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
223
223
  } | {
224
- raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>;
224
+ raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
225
225
  } | {
226
- raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>;
227
- }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource_1[K]>>, never>) | ((req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource_1>]: Handler<FilterRequestModules<Resource_1>[K], Impl[K] extends {
226
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
227
+ }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource_1[K]>>, never>) | ((req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource_1>]: Handler<FilterRequestModules<Resource_1>[K], Impl[K] extends {
228
228
  raw: any;
229
- } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<MiddlewareContext | Exclude<Impl[K] extends {
229
+ } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<MiddlewareR | Exclude<Impl[K] extends {
230
230
  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<CTXMap, Resource_1[K]["config"]>>, 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>;
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"]>>, 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>;
232
232
  strict?: boolean;
233
233
  /** @deprecated */
234
234
  readonly ಠ_ಠ: never;
235
235
  }>(make: Make): {
236
236
  moduleName: ModuleName;
237
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
237
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
238
238
  make: Make;
239
239
  };
240
240
  <const Make extends {
@@ -245,7 +245,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
245
245
  readonly ಠ_ಠ: never;
246
246
  }>(make: Make): {
247
247
  moduleName: ModuleName;
248
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
248
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
249
249
  make: Make;
250
250
  };
251
251
  <const Make extends {
@@ -256,7 +256,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
256
256
  readonly ಠ_ಠ: never;
257
257
  }>(make: Make): {
258
258
  moduleName: ModuleName;
259
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
259
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
260
260
  make: Make;
261
261
  };
262
262
  <const Make extends {
@@ -267,7 +267,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
267
267
  readonly ಠ_ಠ: never;
268
268
  }>(make: Make): {
269
269
  moduleName: ModuleName;
270
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
270
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
271
271
  make: Make;
272
272
  };
273
273
  <const Make extends {
@@ -278,7 +278,7 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
278
278
  readonly ಠ_ಠ: never;
279
279
  }>(make: Make): {
280
280
  moduleName: ModuleName;
281
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
281
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
282
282
  make: Make;
283
283
  };
284
284
  <const Make extends {
@@ -287,26 +287,26 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
287
287
  strict?: boolean;
288
288
  }>(make: Make): {
289
289
  moduleName: ModuleName;
290
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
290
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
291
291
  make: Make;
292
292
  };
293
293
  <const Make extends {
294
294
  dependencies: Array<Layer.Layer.Any>;
295
295
  effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource_1>]: ({
296
- raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
296
+ raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
297
297
  } | {
298
- raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>;
298
+ raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
299
299
  } | {
300
- raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>;
301
- }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource_1[K]>>, never>) | ((req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource_1>]: Handler<FilterRequestModules<Resource_1>[K], Impl[K] extends {
300
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
301
+ }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource_1[K]>>, never>) | ((req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource_1>]: Handler<FilterRequestModules<Resource_1>[K], Impl[K] extends {
302
302
  raw: any;
303
- } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<MiddlewareContext | Exclude<Impl[K] extends {
303
+ } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<MiddlewareR | Exclude<Impl[K] extends {
304
304
  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<CTXMap, Resource_1[K]["config"]>>, 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>;
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"]>>, 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>;
306
306
  strict?: boolean;
307
307
  }>(make: Make): {
308
308
  moduleName: ModuleName;
309
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]>, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeContext<Make> | MiddlewareR | RCtx, LayersUtils.GetLayersSuccess<Make["dependencies"]> | LayersUtils.GetLayersSuccess<Layers>>>;
309
+ routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | LayersUtils.GetLayersError<Make["dependencies"]> | LayersUtils.GetLayersError<MiddlewareDependencies> | MakeContextProviderE, LayersUtils.GetLayersContext<Make["dependencies"]> | Exclude<MakeMiddlewareR, LayersUtils.GetLayersSuccess<MiddlewareDependencies>> | LayersUtils.GetLayersContext<MiddlewareDependencies> | MakeContextProviderR | Exclude<MakeContext<Make>, LayersUtils.GetLayersSuccess<Make["dependencies"]>>>;
310
310
  make: Make;
311
311
  };
312
312
  <const Make extends {
@@ -315,23 +315,23 @@ export declare const makeRouter: <MiddlewareContext, CTXMap extends Record<strin
315
315
  strict?: boolean;
316
316
  }>(make: Make): {
317
317
  moduleName: ModuleName;
318
- Router: HttpRouter.HttpRouter.TagClass<RouterShape<Resource_1>, `${ModuleName}Router`, never, Exclude<MiddlewareContext, HttpRouter.HttpRouter.Provided>>;
318
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Resource_1>, `${ModuleName}Router`, never, Exclude<MiddlewareR, HttpRouter.HttpRouter.Provided>>;
319
319
  routes: any;
320
320
  make: Make;
321
321
  };
322
- } & RouteMatcher<CTXMap, Resource_1, MiddlewareContext> & {
322
+ } & RouteMatcher<RequestContextMap, Resource_1, MiddlewareR> & {
323
323
  router: AddAction<FilterRequestModules<Resource_1>[keyof FilterRequestModules<Resource_1>], {}>;
324
324
  router3: <const Impl extends { [K in keyof FilterRequestModules<Resource_1>]: ({
325
- raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
325
+ raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
326
326
  } | {
327
- raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>;
327
+ raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
328
328
  } | {
329
- raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>;
330
- }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource_1[K]>>, never>) | ((req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, RRet | GetEffectContext<CTXMap, Resource_1[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource_1>]: Handler<FilterRequestModules<Resource_1>[K], Impl[K] extends {
329
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
330
+ }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource_1[K]>>, never>) | ((req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource_1>]: Handler<FilterRequestModules<Resource_1>[K], Impl[K] extends {
331
331
  raw: any;
332
- } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<MiddlewareContext | Exclude<Impl[K] extends {
332
+ } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<MiddlewareR | Exclude<Impl[K] extends {
333
333
  raw: any;
334
- } ? 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<CTXMap, Resource_1[K]["config"]>>, HttpRouter.HttpRouter.Provided>>; };
334
+ } ? 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"]>>, HttpRouter.HttpRouter.Provided>>; };
335
335
  };
336
336
  };
337
337
  export type MakeDeps<Make> = Make extends {
@@ -373,10 +373,9 @@ export declare const contextMaker: <TDeps extends Array.NonEmptyReadonlyArray<(C
373
373
  dependencies: { [K in keyof TDeps]: TDeps[K]["Default"]; };
374
374
  effect: Effect.Effect<Effect.Effect<Context.Context<GetContext<Effect.Success<InstanceType<TDeps[number]>>>>, Effect.Error<InstanceType<TDeps[number]>>, Effect.Context<InstanceType<TDeps[number]>>>, never, InstanceType<TDeps[number]>>;
375
375
  };
376
- declare const DefaultContextMaker_base: Effect.Service.Class<DefaultContextMaker, "DefaultContextMaker", {
376
+ declare const EmptyContextMaker_base: Effect.Service.Class<EmptyContextMaker, "EmptyContextMaker", {
377
377
  readonly succeed: Effect.Effect<Context.Context<never>, never, never>;
378
378
  }>;
379
- export declare class DefaultContextMaker extends DefaultContextMaker_base {
379
+ export declare class EmptyContextMaker extends EmptyContextMaker_base {
380
380
  }
381
- export {};
382
381
  //# sourceMappingURL=routing.d.ts.map