@effect-app/infra 2.90.0 → 2.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -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 +108 -189
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +12 -32
- package/package.json +2 -2
- 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 +52 -92
- package/test/controller.test.ts +3 -3
- package/test/dist/controller.test.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 2.91.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- a660b08: cleanup legacy. move interruption/retryability to middleware
|
|
8
|
+
|
|
9
|
+
## 2.90.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [9f90266]
|
|
14
|
+
- effect-app@2.54.1
|
|
15
|
+
|
|
3
16
|
## 2.90.0
|
|
4
17
|
|
|
5
18
|
### Minor 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<
|
|
251
|
+
readonly effect: (_: any) => Effect<infer _A, infer E, infer _R>;
|
|
338
252
|
} ? E : Make extends {
|
|
339
|
-
readonly effect: (_: any) =>
|
|
253
|
+
readonly effect: (_: any) => Effect<infer _A, never, infer _R>;
|
|
254
|
+
} ? never : Make extends {
|
|
255
|
+
readonly effect: (_: any) => Generator<YieldWrap<Effect<infer _A, never, infer _R>>, infer _A, infer _2>;
|
|
256
|
+
} ? never : Make extends {
|
|
257
|
+
readonly effect: (_: any) => Generator<YieldWrap<Effect<infer _A, infer E, infer _R>>, infer _A, infer _2>;
|
|
340
258
|
} ? E : never;
|
|
341
259
|
export type MakeContext<Make> = Make extends {
|
|
342
|
-
readonly effect: Effect<
|
|
260
|
+
readonly effect: (_: any) => Effect<infer _A, infer _E, infer R>;
|
|
343
261
|
} ? R : Make extends {
|
|
344
|
-
readonly effect: (_: any) =>
|
|
262
|
+
readonly effect: (_: any) => Effect<infer _A, infer _E, never>;
|
|
263
|
+
} ? never : Make extends {
|
|
264
|
+
readonly effect: (_: any) => Generator<YieldWrap<Effect<infer _A, infer _E, never>>, infer _A, infer _2>;
|
|
265
|
+
} ? never : Make extends {
|
|
266
|
+
readonly effect: (_: any) => Generator<YieldWrap<Effect<infer _A, infer _E, infer R>>, infer _A, infer _2>;
|
|
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"]
|
|
351
|
-
readonly effect: (_: any) => Generator<YieldWrap<any>, infer S,
|
|
272
|
+
} ? Effect.Success<ReturnType<Make["effect"]>> : Make extends {
|
|
273
|
+
readonly effect: (_: any) => Generator<YieldWrap<any>, infer S, infer _R>;
|
|
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
|