@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 +12 -0
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +1 -2
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +23 -5
- package/dist/api/routing/utils.d.ts +1 -1
- package/dist/api/routing/utils.d.ts.map +1 -1
- package/dist/api/routing/utils.js +4 -2
- package/dist/api/routing.d.ts +105 -186
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +12 -32
- package/package.json +1 -1
- package/src/api/routing/middleware/RouterMiddleware.ts +2 -6
- package/src/api/routing/middleware/middleware.ts +26 -7
- package/src/api/routing/utils.ts +5 -2
- package/src/api/routing.ts +45 -89
- package/test/controller.test.ts +3 -9
- package/test/dist/controller.test.d.ts.map +1 -1
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
|
|
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,
|
|
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,
|
|
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.
|
|
18
|
-
|
|
19
|
-
|
|
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,
|
|
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: (
|
|
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,
|
|
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 = (
|
|
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,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUc5QixNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUV6QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBWSxFQUFXLEVBQUU7SUFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM3QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxPQUFPLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVksRUFBVyxFQUFFO0lBQy9DLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNoRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQzVDLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDM0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFpRCxFQUFXLEVBQUU7SUFDakYsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQUUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxtQkFBbUI7SUFDL0csT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQWdCLEVBQUUsTUFBa0IsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLENBQUE7SUFFekMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBVyxDQUFBO0lBQzFGLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFXLENBQUE7SUFDdEYsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQVcsQ0FBQTtJQUNyRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFXLENBQUE7QUFDckQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBMEMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUEifQ==
|
package/dist/api/routing.d.ts
CHANGED
|
@@ -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
|
|
29
|
-
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.
|
|
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
|
-
|
|
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<
|
|
212
|
-
raw: (req: S.Schema.Type<
|
|
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<
|
|
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<
|
|
217
|
-
}) | (((req: S.Schema.Type<
|
|
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.
|
|
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,
|
|
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<
|
|
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:
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
|
|
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<
|
|
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:
|
|
248
|
-
|
|
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<
|
|
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:
|
|
259
|
-
|
|
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<
|
|
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:
|
|
270
|
-
|
|
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<
|
|
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:
|
|
281
|
-
|
|
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<
|
|
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<
|
|
290
|
-
raw: (req: S.Schema.Type<
|
|
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<
|
|
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<
|
|
295
|
-
}) | (((req: S.Schema.Type<
|
|
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.
|
|
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,
|
|
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<
|
|
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"]
|
|
310
|
-
effect:
|
|
311
|
-
|
|
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<
|
|
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"]
|
|
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
|