@effect-app/infra 2.90.1 → 2.91.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 2.91.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 920840a: try to reduce union complexity
8
+
9
+ ## 2.91.0
10
+
11
+ ### Minor Changes
12
+
13
+ - a660b08: cleanup legacy. move interruption/retryability to middleware
14
+
3
15
  ## 2.90.1
4
16
 
5
17
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { type Context, type Layer, type S } from "effect-app";
1
+ import { type Context, type Layer } from "effect-app";
2
2
  import type { GetContextConfig, RPCContextMap } from "effect-app/client/req";
3
3
  import { type MiddlewareMakerId } from "./middleware-api.js";
4
4
  import { type TagClass } from "./RpcMiddleware.js";
@@ -16,5 +16,4 @@ ContextProviderR> = TagClass<MiddlewareMakerId, "MiddlewareMaker", {
16
16
  Default: Layer.Layer<MiddlewareMakerId, MakeMiddlewareE, MakeMiddlewareR>;
17
17
  requestContext: Context.Tag<"RequestContextConfig", GetContextConfig<RequestContextMap>>;
18
18
  };
19
- export type RequestContextMapErrors<RequestContextMap extends Record<string, RPCContextMap.Any>> = S.Schema.Type<RequestContextMap[keyof RequestContextMap]["error"]>;
20
19
  //# sourceMappingURL=RouterMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouterMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RouterMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,MAAM,MAAM,gBAAgB,CAC1B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,qFAAqF;AAClJ,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE,gDAAgD;AACjE,gBAAgB,EAAE,qCAAqC;AACvD,gBAAgB,EAAE,0CAA0C;AAC5D,gBAAgB,IAEd,QAAQ,CACR,iBAAiB,EACjB,iBAAiB,EACjB;IACE,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC3D,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CACF,GACC;IACA,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IACzE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAA;CACzF,CAAA;AAEH,MAAM,MAAM,uBAAuB,CAAC,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAC9G,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,CAAC,OAAO,CAAC,CACpD,CAAA"}
1
+ {"version":3,"file":"RouterMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/RouterMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,MAAM,MAAM,gBAAgB,CAC1B,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,qFAAqF;AAClJ,eAAe,EAAE,iDAAiD;AAClE,eAAe,EAAE,gDAAgD;AACjE,gBAAgB,EAAE,qCAAqC;AACvD,gBAAgB,EAAE,0CAA0C;AAC5D,gBAAgB,IAEd,QAAQ,CACR,iBAAiB,EACjB,iBAAiB,EACjB;IACE,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC3D,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CACF,GACC;IACA,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IACzE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAA;CACzF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAoB,KAAK,EAAwB,MAAM,YAAY,CAAA;AAS1F,eAAO,MAAM,kBAAkB,kCAM9B,CAAA;;AAED,qBAAa,OAAQ,SAAQ,YAAsE;CAAG;;;;;;AAEtG,qBAAa,sBAAuB,SAAQ,2BAE1C;CACD;;;;;;AAED,qBAAa,mCACX,SAAQ,wCAON;CAEH;;;;;;AAED,qBAAa,gBAAiB,SAAQ,qBA0DpC;CACD;AAED,eAAO,MAAM,yBAAyB,+GAI5B,CAAA"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAoB,KAAK,EAA+C,MAAM,YAAY,CAAA;AAUjH,eAAO,MAAM,kBAAkB,kCAM9B,CAAA;;AAED,qBAAa,OAAQ,SAAQ,YAAsE;CAAG;;;;;;AAEtG,qBAAa,sBAAuB,SAAQ,2BAE1C;CACD;;;;;;AAOD,qBAAa,mCACX,SAAQ,wCAoBN;CAEH;;;;;;AAED,qBAAa,gBAAiB,SAAQ,qBA0DpC;CACD;AAED,eAAO,MAAM,yBAAyB,+GAI5B,CAAA"}
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Cause, Context, Duration, Effect, Layer, ParseResult, Request } from "effect-app";
2
+ import { Cause, Context, Duration, Effect, Layer, ParseResult, Request, Schedule } from "effect-app";
3
3
  import { pretty } from "effect-app/utils";
4
4
  import { logError, reportError } from "../../../errorReporter.js";
5
5
  import { InfraLogger } from "../../../logger.js";
6
+ import { determineMethod, isCommand } from "../utils.js";
6
7
  import { Tag } from "./RpcMiddleware.js";
7
8
  const logRequestError = logError("Request");
8
9
  const reportRequestError = reportError("Request");
@@ -13,10 +14,27 @@ export class RequestCacheMiddleware extends Tag()("RequestCacheMiddleware", { wr
13
14
  effect: Effect.succeed(({ next }) => next.pipe(Effect.provide(RequestCacheLayers)))
14
15
  }) {
15
16
  }
17
+ // retry just once on optimistic concurrency exceptions
18
+ const optimisticConcurrencySchedule = Schedule.once.pipe(Schedule.intersect(Schedule.recurWhile((a) => a?._tag === "OptimisticConcurrencyException")));
16
19
  export class ConfigureInterruptibilityMiddleware extends Tag()("ConfigureInterruptibilityMiddleware", { wrap: true })({
17
- effect: Effect.succeed(({ next }) => next.pipe(
18
- // TODO: make this depend on query/command, and consider if middleware also should be affected. right now it's not.
19
- Effect.uninterruptible))
20
+ effect: Effect.gen(function* () {
21
+ const cache = new Map();
22
+ const getCached = (key, schema) => {
23
+ const existing = cache.get(key);
24
+ if (existing)
25
+ return existing;
26
+ const n = determineMethod(key, schema);
27
+ cache.set(key, n);
28
+ return n;
29
+ };
30
+ return ({ next, rpc }) => {
31
+ const method = getCached(rpc._tag, rpc.payloadSchema);
32
+ next = isCommand(method)
33
+ ? Effect.retry(Effect.uninterruptible(next), optimisticConcurrencySchedule)
34
+ : Effect.interruptible(next);
35
+ return next;
36
+ };
37
+ })
20
38
  }) {
21
39
  }
22
40
  export class LoggerMiddleware extends Tag()("LoggerMiddleware", { wrap: true })({
@@ -77,4 +95,4 @@ export const DefaultGenericMiddlewares = [
77
95
  ConfigureInterruptibilityMiddleware,
78
96
  LoggerMiddleware
79
97
  ];
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUV4QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDM0MsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFakQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FDOUMsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNwRSxFQUNELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFDN0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUMvQixDQUFBO0FBRUQsTUFBTSxPQUFPLE9BQVEsU0FBUSxPQUFPLENBQUMsU0FBUyxFQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0NB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
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sWUFBWSxDQUFBO0FBQ2pILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxRQUFRLENBQzlDLEtBQUssQ0FBQyxlQUFlLENBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDcEUsRUFDRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQzdCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FDL0IsQ0FBQTtBQUVELE1BQU0sT0FBTyxPQUFRLFNBQVEsT0FBTyxDQUFDLFNBQVMsRUFBVyxD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
@@ -1,5 +1,5 @@
1
1
  import type { Schema } from "effect-app/Schema";
2
- export declare const determineMethod: (actionName: string, schema: Schema<any, any, any>) => {
2
+ export declare const determineMethod: (fullName: string, schema: Schema.Any) => {
3
3
  readonly _tag: "query";
4
4
  readonly method: "GET" | "POST";
5
5
  } | {
@@ -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;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;;;;;;CAA8B,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,UAAU,MAAM,EAAE,QAAQ,MAAM,CAAC,GAAG;;;;;;;;;CAYnE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;;;;;;CAA8B,CAAA"}
@@ -25,7 +25,9 @@ const onlyStrings = (schema) => {
25
25
  return onlyStringsAst(S.Struct(schema.fields).ast); // only one level..
26
26
  return onlyStringsAst(schema.ast);
27
27
  };
28
- export const determineMethod = (actionName, schema) => {
28
+ export const determineMethod = (fullName, schema) => {
29
+ const bits = fullName.split(".");
30
+ const actionName = bits[bits.length - 1];
29
31
  if (get.some((_) => actionName.startsWith(_))) {
30
32
  return { _tag: "query", method: onlyStrings(schema) ? "GET" : "POST" };
31
33
  }
@@ -37,4 +39,4 @@ export const determineMethod = (actionName, schema) => {
37
39
  return { _tag: "command", method: "POST" };
38
40
  };
39
41
  export const isCommand = (method) => method._tag === "command";
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUc5QixNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUV6QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBWSxFQUFXLEVBQUU7SUFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM3QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxPQUFPLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVksRUFBVyxFQUFFO0lBQy9DLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNoRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDM0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUE4RCxFQUFXLEVBQUU7SUFDOUYsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxtQkFBbUI7SUFDL0csT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFVBQWtCLEVBQUUsTUFBNkIsRUFBRSxFQUFFO0lBQ25GLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQVcsQ0FBQTtJQUMxRixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFBO0lBQ3RGLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFXLENBQUE7SUFDckcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVyxDQUFBO0FBQ3JELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQTBDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFBIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUc5QixNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUV6QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBWSxFQUFXLEVBQUU7SUFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM3QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxPQUFPLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVksRUFBVyxFQUFFO0lBQy9DLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNoRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDM0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFpRCxFQUFXLEVBQUU7SUFDakYsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxtQkFBbUI7SUFDL0csT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQWdCLEVBQUUsTUFBa0IsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLENBQUE7SUFFekMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFBO0lBQzFGLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFXLENBQUE7SUFDdEYsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQVcsQ0FBQTtJQUNyRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFXLENBQUE7QUFDckQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBMEMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUEifQ==
@@ -25,8 +25,8 @@ export interface AddAction<Actions extends AnyRequestModule, Accum extends Recor
25
25
  declare namespace RequestTypes {
26
26
  const DECODED: "d";
27
27
  type DECODED = typeof DECODED;
28
- const TYPE: "raw";
29
- type TYPE = typeof TYPE;
28
+ const RAW: "raw";
29
+ type RAW = typeof RAW;
30
30
  }
31
31
  type RequestType = typeof RequestTypes[keyof typeof RequestTypes];
32
32
  type GetSuccess<T> = T extends {
@@ -69,7 +69,7 @@ export type RouteMatcher<RequestContextMap extends Record<string, any>, Resource
69
69
  /**
70
70
  * Requires the Encoded shape (e.g directly undecoded from DB, so that we don't do multiple Decode/Encode)
71
71
  */
72
- raw: Match<Resource, RequestContextMap, RequestTypes.TYPE, Key>;
72
+ raw: Match<Resource, RequestContextMap, RequestTypes.RAW, Key>;
73
73
  };
74
74
  };
75
75
  declare const Router_base: HttpRouter.HttpRouter.TagClass<Router, "@effect-app/Rpc", unknown, HttpRouter.HttpRouter.DefaultServices>;
@@ -82,276 +82,195 @@ export declare const makeRouter: <RequestContextMap extends Record<string, RPCCo
82
82
  moduleName: string;
83
83
  };
84
84
  }>(handlers: T) => Layer.Layer<never, Layer.Layer.Error<(typeof handlers)[keyof typeof handlers]["routes"]>, Layer.Layer.Context<(typeof handlers)[keyof typeof handlers]["routes"]>>;
85
- matchFor: <const ModuleName extends string, const Resource extends Record<string, any>>(rsc: Resource & {
86
- meta: {
87
- moduleName: ModuleName;
88
- };
89
- }) => <const Impl extends { [K in keyof FilterRequestModules<Resource & {
90
- meta: {
91
- moduleName: ModuleName;
92
- };
93
- }>]: ({
94
- raw: (req: S.Schema.Type<(Resource & {
95
- meta: {
96
- moduleName: ModuleName;
97
- };
98
- })[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<(Resource & {
99
- meta: {
100
- moduleName: ModuleName;
101
- };
102
- })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
103
- meta: {
104
- moduleName: ModuleName;
105
- };
106
- })[K]["config"]>>>, S.Schema.Encoded<GetSuccess<(Resource & {
107
- meta: {
108
- moduleName: ModuleName;
109
- };
110
- })[K]>>, never>;
111
- } | {
112
- raw: (req: S.Schema.Type<(Resource & {
113
- meta: {
114
- moduleName: ModuleName;
115
- };
116
- })[K]>) => Effect<S.Schema.Encoded<GetSuccess<(Resource & {
117
- meta: {
118
- moduleName: ModuleName;
119
- };
120
- })[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<(Resource & {
121
- meta: {
122
- moduleName: ModuleName;
123
- };
124
- })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
125
- meta: {
126
- moduleName: ModuleName;
127
- };
128
- })[K]["config"]>>;
129
- } | {
130
- raw: Effect<S.Schema.Encoded<GetSuccess<(Resource & {
131
- meta: {
132
- moduleName: ModuleName;
133
- };
134
- })[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<(Resource & {
135
- meta: {
136
- moduleName: ModuleName;
137
- };
138
- })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
139
- meta: {
140
- moduleName: ModuleName;
141
- };
142
- })[K]["config"]>>;
143
- }) | (((req: S.Schema.Type<(Resource & {
144
- meta: {
145
- moduleName: ModuleName;
146
- };
147
- })[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<(Resource & {
148
- meta: {
149
- moduleName: ModuleName;
150
- };
151
- })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
152
- meta: {
153
- moduleName: ModuleName;
154
- };
155
- })[K]["config"]>>>, S.Schema.Type<GetSuccess<(Resource & {
156
- meta: {
157
- moduleName: ModuleName;
158
- };
159
- })[K]>>, never>) | ((req: S.Schema.Type<(Resource & {
160
- meta: {
161
- moduleName: ModuleName;
162
- };
163
- })[K]>) => Effect<S.Schema.Type<GetSuccess<(Resource & {
164
- meta: {
165
- moduleName: ModuleName;
166
- };
167
- })[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<(Resource & {
168
- meta: {
169
- moduleName: ModuleName;
170
- };
171
- })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
172
- meta: {
173
- moduleName: ModuleName;
174
- };
175
- })[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<(Resource & {
176
- meta: {
177
- moduleName: ModuleName;
178
- };
179
- })[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<(Resource & {
180
- meta: {
181
- moduleName: ModuleName;
182
- };
183
- })[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
184
- meta: {
185
- moduleName: ModuleName;
186
- };
187
- })[K]["config"]>>); }>(impl: Impl) => { [K_1 in keyof Impl & keyof FilterRequestModules<Resource & {
188
- meta: {
189
- moduleName: ModuleName;
190
- };
191
- }>]: Handler<FilterRequestModules<Resource & {
192
- meta: {
193
- moduleName: ModuleName;
194
- };
195
- }>[K_1], Impl[K_1] extends {
196
- raw: any;
197
- } ? "raw" : "d", Exclude<Exclude<Impl[K_1] extends {
198
- raw: any;
199
- } ? 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, ContextProviderA | GetEffectContext<RequestContextMap, (Resource & {
200
- meta: {
201
- moduleName: ModuleName;
202
- };
203
- })[K_1]["config"]>>, Scope.Scope>>; };
204
- Router: <const ModuleName extends string, const Resource_1 extends Record<string, any>>(rsc: Resource_1 & {
85
+ Router: <const ModuleName extends string, const Resource extends Record<string, any>>(rsc: Resource & {
205
86
  meta: {
206
87
  moduleName: ModuleName;
207
88
  };
208
89
  }) => {
209
90
  <const Make extends {
210
91
  dependencies?: Array<Layer.Layer.Any>;
211
- effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource_1>]: ({
212
- raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
92
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
93
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
213
94
  } | {
214
- raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
95
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
215
96
  } | {
216
- raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
217
- }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, S.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]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, S.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 {
97
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
98
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
218
99
  raw: any;
219
- } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
100
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
220
101
  raw: 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>, Scope.Scope>>; }) => Generator<YieldWrap<Effect<any, any, Make["strict"] extends false ? any : Make extends {
222
- dependencies: Array<Layer.Layer.Any>;
223
- } ? MakeDepsOut<Make> : any>>, { [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any>;
224
- strict?: boolean;
102
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Generator<YieldWrap<Effect<any, any, any>>, { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any>;
225
103
  /** @deprecated */
226
104
  readonly ಠ_ಠ: never;
227
105
  }>(make: Make): {
228
106
  moduleName: ModuleName;
229
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
107
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
230
108
  make: Make;
231
109
  };
232
110
  <const Make extends {
233
111
  dependencies?: Array<Layer.Layer.Any>;
234
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : Make extends {
235
- dependencies: Array<Layer.Layer.Any>;
236
- } ? MakeDepsOut<Make> : any>;
237
- strict?: boolean;
112
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
113
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
114
+ } | {
115
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
116
+ } | {
117
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
118
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
119
+ raw: any;
120
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
121
+ raw: any;
122
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Effect<{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any, any>;
238
123
  /** @deprecated */
239
124
  readonly ಠ_ಠ: never;
240
125
  }>(make: Make): {
241
126
  moduleName: ModuleName;
242
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
127
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
243
128
  make: Make;
244
129
  };
245
130
  <const Make extends {
246
131
  dependencies?: Array<Layer.Layer.Any>;
247
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : MakeDepsOut<Make>>;
248
- strict?: boolean;
132
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
133
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
134
+ } | {
135
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
136
+ } | {
137
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
138
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
139
+ raw: any;
140
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
141
+ raw: any;
142
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Effect<{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any, any>;
249
143
  /** @deprecated */
250
144
  readonly ಠ_ಠ: never;
251
145
  }>(make: Make): {
252
146
  moduleName: ModuleName;
253
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
147
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
254
148
  make: Make;
255
149
  };
256
150
  <const Make extends {
257
151
  dependencies?: Array<Layer.Layer.Any>;
258
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, Make["strict"] extends false ? any : MakeDepsOut<Make>>;
259
- strict?: boolean;
152
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
153
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
154
+ } | {
155
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
156
+ } | {
157
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
158
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
159
+ raw: any;
160
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
161
+ raw: any;
162
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Effect<{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any, any>;
260
163
  /** @deprecated */
261
164
  readonly ಠ_ಠ: never;
262
165
  }>(make: Make): {
263
166
  moduleName: ModuleName;
264
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
167
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
265
168
  make: Make;
266
169
  };
267
170
  <const Make extends {
268
171
  dependencies?: Array<Layer.Layer.Any>;
269
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, MakeDepsOut<Make>>;
270
- strict?: boolean;
172
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
173
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
174
+ } | {
175
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
176
+ } | {
177
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
178
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
179
+ raw: any;
180
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
181
+ raw: any;
182
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Effect<{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any, any>;
271
183
  /** @deprecated */
272
184
  readonly ಠ_ಠ: never;
273
185
  }>(make: Make): {
274
186
  moduleName: ModuleName;
275
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
187
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
276
188
  make: Make;
277
189
  };
278
190
  <const Make extends {
279
191
  dependencies?: Array<Layer.Layer.Any>;
280
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, MakeDepsOut<Make>>;
281
- strict?: boolean;
192
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
193
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
194
+ } | {
195
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
196
+ } | {
197
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
198
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
199
+ raw: any;
200
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
201
+ raw: any;
202
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Effect<{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any, any>;
282
203
  }>(make: Make): {
283
204
  moduleName: ModuleName;
284
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
205
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
285
206
  make: Make;
286
207
  };
287
208
  <const Make extends {
288
209
  dependencies?: Array<Layer.Layer.Any>;
289
- effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource_1>]: ({
290
- raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
210
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
211
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
291
212
  } | {
292
- raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
213
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
293
214
  } | {
294
- raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
295
- }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, S.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]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, S.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 {
215
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
216
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
296
217
  raw: any;
297
- } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
218
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
298
219
  raw: any;
299
- } ? 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>, Scope.Scope>>; }) => Generator<YieldWrap<Effect<any, any, Make["strict"] extends false ? any : Make extends {
300
- dependencies: Array<Layer.Layer.Any>;
301
- } ? MakeDepsOut<Make> : any>>, { [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any>;
302
- strict?: boolean;
220
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Generator<YieldWrap<Effect<any, any, any>>, { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any>;
303
221
  }>(make: Make): {
304
222
  moduleName: ModuleName;
305
- routes: Layer.Layer<RouterShape<Resource_1>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
223
+ routes: Layer.Layer<RouterShape<Resource>, MakeErrors<Make> | Service.MakeDepsE<Make> | Layer.Error<typeof middleware.Default>, Service.MakeDepsIn<Make> | Layer.Context<typeof middleware.Default> | Exclude<MakeContext<Make>, MakeDepsOut<Make>>>;
306
224
  make: Make;
307
225
  };
308
226
  <const Make extends {
309
- dependencies: [...Make["dependencies"], ...Exclude<Effect.Context<Make["effect"]>, MakeDepsOut<Make>> extends never ? [] : [Layer.Layer<Exclude<Effect.Context<Make["effect"]>, MakeDepsOut<Make>>, never, never>]];
310
- effect: Effect<{ [K in keyof FilterRequestModules<Resource_1>]: AnyHandler<Resource_1[K]>; }, any, any>;
311
- strict?: boolean;
227
+ dependencies: [...Make["dependencies"], ...Exclude<Effect.Context<ReturnType<Make["effect"]>>, MakeDepsOut<Make>> extends never ? [] : [Layer.Layer<Exclude<Effect.Context<ReturnType<Make["effect"]>>, MakeDepsOut<Make>>, never, never>]];
228
+ effect: (match: <const Impl extends { [K in keyof FilterRequestModules<Resource>]: ({
229
+ raw: (req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource[K]>>, never>;
230
+ } | {
231
+ raw: (req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
232
+ } | {
233
+ raw: Effect<S.Schema.Encoded<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>;
234
+ }) | (((req: S.Schema.Type<Resource[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>>, S.Schema.Type<GetSuccess<Resource[K]>>, never>) | ((req: S.Schema.Type<Resource[K]>) => Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource[K]["config"]>>); }>(impl: Impl) => { [K in keyof Impl & keyof FilterRequestModules<Resource>]: Handler<FilterRequestModules<Resource>[K], Impl[K] extends {
235
+ raw: any;
236
+ } ? RequestTypes.RAW : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
237
+ raw: any;
238
+ } ? 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[K]["config"]> | ContextProviderA>, Scope.Scope>>; }) => Effect<{ [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]>; }, any, any>;
312
239
  }>(make: Make): {
313
240
  moduleName: ModuleName;
314
- Router: HttpRouter.HttpRouter.TagClass<RouterShape<Resource_1>, `${ModuleName}Router`, never, never>;
241
+ Router: HttpRouter.HttpRouter.TagClass<RouterShape<Resource>, `${ModuleName}Router`, never, never>;
315
242
  routes: any;
316
243
  make: Make;
317
244
  };
318
- } & RouteMatcher<RequestContextMap, Resource_1> & {
319
- router: AddAction<FilterRequestModules<Resource_1>[keyof FilterRequestModules<Resource_1>], {}>;
320
- router3: <const Impl extends { [K in keyof FilterRequestModules<Resource_1>]: ({
321
- raw: (req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>>, S.Schema.Encoded<GetSuccess<Resource_1[K]>>, never>;
322
- } | {
323
- raw: (req: S.Schema.Type<Resource_1[K]>) => Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
324
- } | {
325
- raw: Effect<S.Schema.Encoded<GetSuccess<Resource_1[K]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>;
326
- }) | (((req: S.Schema.Type<Resource_1[K]>) => Generator<YieldWrap<Effect<any, S.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]>>, S.ParseResult.ParseError | S.Schema.Type<GetFailure<Resource_1[K]>>, ContextProviderA | GetEffectContext<RequestContextMap, Resource_1[K]["config"]>>) | Effect<S.Schema.Type<GetSuccess<Resource_1[K]>>, S.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 {
327
- raw: any;
328
- } ? RequestTypes.TYPE : RequestTypes.DECODED, Exclude<Exclude<Impl[K] extends {
329
- raw: any;
330
- } ? 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>, Scope.Scope>>; };
331
245
  };
332
246
  };
333
247
  export type MakeDeps<Make> = Make extends {
334
248
  readonly dependencies: ReadonlyArray<Layer.Layer.Any>;
335
249
  } ? Make["dependencies"][number] : never;
336
250
  export type MakeErrors<Make> = Make extends {
337
- readonly effect: Effect<any, infer E, any>;
251
+ readonly effect: (_: any) => Effect<any, infer E, any>;
338
252
  } ? E : Make extends {
253
+ readonly effect: (_: any) => Effect<any, never, any>;
254
+ } ? never : Make extends {
255
+ readonly effect: (_: any) => Generator<YieldWrap<Effect<any, never, any>>, any, any>;
256
+ } ? never : Make extends {
339
257
  readonly effect: (_: any) => Generator<YieldWrap<Effect<any, infer E, any>>, any, any>;
340
258
  } ? E : never;
341
259
  export type MakeContext<Make> = Make extends {
342
- readonly effect: Effect<any, any, infer R>;
260
+ readonly effect: (_: any) => Effect<any, any, infer R>;
343
261
  } ? R : Make extends {
262
+ readonly effect: (_: any) => Effect<any, any, never>;
263
+ } ? never : Make extends {
264
+ readonly effect: (_: any) => Generator<YieldWrap<Effect<any, any, never>>, any, any>;
265
+ } ? never : Make extends {
344
266
  readonly effect: (_: any) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any>;
345
267
  } ? R : never;
346
268
  export type MakeHandlers<Make, Handlers extends Record<string, any>> = Make extends {
347
- readonly effect: Effect<{
269
+ readonly effect: (_: any) => Effect<{
348
270
  [K in keyof Handlers]: AnyHandler<Handlers[K]>;
349
271
  }, any, any>;
350
- } ? Effect.Success<Make["effect"]> : Make extends {
272
+ } ? Effect.Success<ReturnType<Make["effect"]>> : Make extends {
351
273
  readonly effect: (_: any) => Generator<YieldWrap<any>, infer S, any>;
352
274
  } ? S : never;
353
- /**
354
- * @since 3.9.0
355
- */
356
275
  export type MakeDepsOut<Make> = Contravariant.Type<MakeDeps<Make>[Layer.LayerTypeId]["_ROut"]>;
357
276
  //# sourceMappingURL=routing.d.ts.map