@effect-app/infra 1.16.2 → 1.16.3
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/_cjs/api/routing/base.cjs +1 -0
- package/_cjs/api/routing/base.cjs.map +1 -1
- package/_cjs/router.cjs +1 -1
- package/_cjs/router.cjs.map +1 -1
- package/dist/api/routing/base.d.ts +1 -4
- package/dist/api/routing/base.d.ts.map +1 -1
- package/dist/api/routing/base.js +2 -1
- package/dist/router.d.ts +29 -68
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +2 -2
- package/package.json +4 -4
- package/src/api/routing/base.ts +2 -22
- package/src/router.ts +74 -83
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 1.16.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 88f56d4: verify
|
|
8
|
+
- 2b56d7e: cleanup routing
|
|
9
|
+
- 73d5e0a: cleanup routing
|
|
10
|
+
- Updated dependencies [2b56d7e]
|
|
11
|
+
- Updated dependencies [73d5e0a]
|
|
12
|
+
- effect-app@1.15.1
|
|
13
|
+
- @effect-app/infra-adapters@1.10.2
|
|
14
|
+
|
|
3
15
|
## 1.16.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -12,6 +12,7 @@ var _effectApp = require("effect-app");
|
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
15
16
|
|
|
16
17
|
// function getErrorMessage(current: ContextEntry) {
|
|
17
18
|
// switch (current.type.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.cjs","names":["_errors","require","S","_interopRequireWildcard","_effectApp","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","decodeErrors","x","parseRequestParams","parsers","handleParse","effect","pipe","Effect","exit","flatMap","_","Exit","isFailure","Cause","cause","failCauseSync","sync","isSuccess","_tag","value","errors","failures","body","cookies","headers","params","query","all","parseBody","cookie","parseCookie","parseHeaders","parseQuery","path","parsePath","push","makeError","length","ValidationError","type","makeRequestParsers","Request","ph","Option","fromNullable","Headers","map","s","decodeUnknown","flatMapOption","d","pq","Query","pb","Body","pp","Path","pc","Cookie"],"sources":["../../../src/api/routing/base.ts"],"sourcesContent":[null],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"base.cjs","names":["_errors","require","S","_interopRequireWildcard","_effectApp","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","decodeErrors","x","parseRequestParams","parsers","handleParse","effect","pipe","Effect","exit","flatMap","_","Exit","isFailure","Cause","cause","failCauseSync","sync","isSuccess","_tag","value","errors","failures","body","cookies","headers","params","query","all","parseBody","cookie","parseCookie","parseHeaders","parseQuery","path","parsePath","push","makeError","length","ValidationError","type","makeRequestParsers","Request","ph","Option","fromNullable","Headers","map","s","decodeUnknown","flatMapOption","d","pq","Query","pb","Body","pp","Path","pc","Cookie"],"sources":["../../../src/api/routing/base.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/router.cjs
CHANGED
|
@@ -10,7 +10,7 @@ var _routing = require("@effect-app/infra/api/routing");
|
|
|
10
10
|
var _effectApp = require("effect-app");
|
|
11
11
|
var _http = require("effect-app/http");
|
|
12
12
|
var _schema = require("effect-app/schema");
|
|
13
|
-
// TODO: support FLIP
|
|
13
|
+
// TODO: support FLIP (true means dependency available, false not. vs true means not available, false means available)
|
|
14
14
|
const makeRouter = (handleRequestEnv /* Middleware */) => {
|
|
15
15
|
function match(requestHandler, errorHandler, middleware) {
|
|
16
16
|
let middlewareLayer = undefined;
|
package/_cjs/router.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.cjs","names":["_Effect","require","_utils","_routing","_effectApp","_http","_schema","makeRouter","handleRequestEnv","match","requestHandler","errorHandler","middleware","middlewareLayer","undefined","handler","makeRequestLayer","makeRequestHandler","route","HttpRouter","makeRoute","Request","method","path","pipe","Effect","withSpan","name","captureStackTrace","stack","handle","_","adaptResponse","S","REST","extractRequest","Response","extractResponse","h","ResponseOpenApi","Context","CTX","rt","_tag","matchFor","rsc","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","ctx","andThen","allLower","svc2","controllers","handlers","m","meta","Error","moduleName","mapped","determineMethod","split","Object","assign","Auto","fromIterable","values","r","prev","svcOrFnOrEffect","fnOrNone","slice","join","isEffect","resourceRequest","res","r2","defaultErrorHandler","catchTag","die","failure","matchAll","concat","empty","exports"],"sources":["../src/router.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"file":"router.cjs","names":["_Effect","require","_utils","_routing","_effectApp","_http","_schema","makeRouter","handleRequestEnv","match","requestHandler","errorHandler","middleware","middlewareLayer","undefined","handler","makeRequestLayer","makeRequestHandler","route","HttpRouter","makeRoute","Request","method","path","pipe","Effect","withSpan","name","captureStackTrace","stack","handle","_","adaptResponse","S","REST","extractRequest","Response","extractResponse","h","ResponseOpenApi","Context","CTX","rt","_tag","matchFor","rsc","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","ctx","andThen","allLower","svc2","controllers","handlers","m","meta","Error","moduleName","mapped","determineMethod","split","Object","assign","Auto","fromIterable","values","r","prev","svcOrFnOrEffect","fnOrNone","slice","join","isEffect","resourceRequest","res","r2","defaultErrorHandler","catchTag","die","failure","matchAll","concat","empty","exports"],"sources":["../src/router.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import type { EnforceNonEmptyRecord } from "@effect-app/core/utils";
|
|
2
1
|
import { ValidationError } from "@effect-app/infra/errors";
|
|
3
2
|
import type { Struct } from "@effect/schema/Schema";
|
|
4
3
|
import * as S from "@effect/schema/Schema";
|
|
5
4
|
import type { Context } from "effect-app";
|
|
6
5
|
import { Effect, Option } from "effect-app";
|
|
7
|
-
import type { HttpRouter, HttpServerError } from "effect-app/http";
|
|
8
6
|
import type { REST } from "effect-app/schema";
|
|
9
7
|
import type { Simplify } from "effect/Types";
|
|
10
|
-
export
|
|
11
|
-
export interface ReqHandler<Req, R, E, Res, ReqSchema extends S.Schema<any, any, any>, ResSchema extends S.Schema<any, any, any>, CTX = any, Context = any> {
|
|
8
|
+
export interface ReqHandler<Req, R, E, Res, ReqSchema extends S.Schema.Any, ResSchema extends S.Schema.Any, CTX = any, Context = any> {
|
|
12
9
|
h: (r: Req, ctx: CTX) => Effect<Res, E, R>;
|
|
13
10
|
Request: ReqSchema;
|
|
14
11
|
Response: ResSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/api/routing/base.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/api/routing/base.ts"],"names":[],"mappings":"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"}
|
package/dist/api/routing/base.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
3
|
import { ValidationError } from "@effect-app/infra/errors";
|
|
3
4
|
import * as S from "@effect/schema/Schema";
|
|
4
5
|
import { Cause, Effect, Exit, Option } from "effect-app";
|
|
@@ -125,4 +126,4 @@ export function makeRequestParsers(Request) {
|
|
|
125
126
|
parseQuery
|
|
126
127
|
};
|
|
127
128
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRTFELE9BQU8sS0FBSyxDQUFDLE1BQU0sdUJBQXVCLENBQUE7QUFFMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQTRDeEQsb0RBQW9EO0FBQ3BELGlDQUFpQztBQUNqQyw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixtRUFBbUU7QUFDbkUsaUNBQWlDO0FBQ2pDLE1BQU07QUFDTixxQ0FBcUM7QUFDckMsSUFBSTtBQUNKLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBVTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDWixDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLCtGQUErRjtBQUMvRiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLElBQUk7QUFFSiw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLGtCQUFrQixDQU9oQyxPQUErRDtJQUUvRCxNQUFNLFdBQVcsR0FBRyxDQUFVLE1BQXVCLEVBQUUsRUFBRSxDQUN2RCxNQUFNLENBQUMsSUFBSSxDQUNULE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTTtTQUNILE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1QyxDQUFDLENBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFvQztRQUN6RSxDQUFDLENBQUMsTUFBTSxD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
|
package/dist/router.d.ts
CHANGED
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
import type { EffectUnunified, LowerServices } from "@effect-app/core/Effect";
|
|
2
2
|
import type { EnforceNonEmptyRecord } from "@effect-app/core/utils";
|
|
3
|
-
import type {
|
|
3
|
+
import type { _R, EffectDeps } from "@effect-app/infra/api/routing";
|
|
4
4
|
import { Effect, S } from "effect-app";
|
|
5
|
-
import type {
|
|
5
|
+
import type { SupportedErrors } from "effect-app/client/errors";
|
|
6
6
|
import { HttpRouter } from "effect-app/http";
|
|
7
|
-
import { REST } from "effect-app/schema";
|
|
8
7
|
export type RouteMatch<R, M, PR = never> = HttpRouter.Route<never, Exclude<Exclude<R, EnforceNonEmptyRecord<M>>, PR>>;
|
|
9
8
|
export interface Hint<Err extends string> {
|
|
10
9
|
Err: Err;
|
|
11
10
|
}
|
|
11
|
+
type HandleVoid<Expected, Actual, Result> = [Expected] extends [void] ? [Actual] extends [void] ? Result : Hint<"You're returning non void for a void Response, please fix"> : Result;
|
|
12
|
+
type AnyRequestModule = S.Schema.Any & {
|
|
13
|
+
success?: S.Schema.Any;
|
|
14
|
+
failure?: S.Schema.Any;
|
|
15
|
+
};
|
|
16
|
+
type GetSuccess<T> = T extends {
|
|
17
|
+
success: S.Schema.Any;
|
|
18
|
+
} ? T["success"] : typeof S.Void;
|
|
19
|
+
type GetFailure<T extends {
|
|
20
|
+
failure?: S.Schema.Any;
|
|
21
|
+
}> = T["failure"] extends never ? typeof S.Never : T["failure"];
|
|
22
|
+
export interface Handler<Action extends AnyRequestModule, RT extends "raw" | "d", A, E, R, Context> {
|
|
23
|
+
new (): {};
|
|
24
|
+
_tag: RT;
|
|
25
|
+
handler: (req: S.Schema.Type<Action>, ctx: Context) => Effect<A, E, R>;
|
|
26
|
+
}
|
|
27
|
+
type AHandler<Action extends AnyRequestModule> = Handler<Action, "raw", S.Schema.Encoded<GetSuccess<Action>>, SupportedErrors | S.ParseResult.ParseError | S.Schema.Type<GetFailure<Action>>, any, any> | Handler<Action, "d", S.Schema.Type<GetSuccess<Action>>, SupportedErrors | S.ParseResult.ParseError | S.Schema.Type<GetFailure<Action>>, any, any>;
|
|
12
28
|
export declare const makeRouter: <CTX, CTXMap extends Record<string, [string, any, boolean]>>(handleRequestEnv: any) => {
|
|
13
29
|
matchFor: <Rsc extends Record<string, any>>(rsc: Rsc) => {
|
|
14
30
|
controllers: <THandlers extends { [K in keyof { [K_1 in keyof Rsc as Rsc[K_1] extends {
|
|
15
31
|
Response: any;
|
|
16
32
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
17
33
|
Response: any;
|
|
18
|
-
} ? Rsc[K_1] : never; }]: {
|
|
19
|
-
new (): {};
|
|
20
|
-
_tag: "raw";
|
|
21
|
-
handler: (req: Rsc[K]["Request"], ctx: Rsc[K]["Context"]) => Effect<S.Schema.Encoded<Extr<REST.GetResponse<Rsc[K]>>>, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").NotFoundError<ItemType> | import("effect-app/client/errors").NotLoggedInError | import("effect-app/client/errors").LoginError | import("effect-app/client/errors").UnauthorizedError | ValidationError | import("effect-app/client/errors").ServiceUnavailableError | S.ParseResult.ParseError | S.Schema.Type<Rsc[K]["failure"]>, any>;
|
|
22
|
-
} | {
|
|
23
|
-
new (): {};
|
|
24
|
-
_tag: "d";
|
|
25
|
-
handler: (req: Rsc[K]["Request"], ctx: Rsc[K]["Context"]) => Effect<S.Schema.Type<Extr<REST.GetResponse<Rsc[K]>>>, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").NotFoundError<ItemType> | import("effect-app/client/errors").NotLoggedInError | import("effect-app/client/errors").LoginError | import("effect-app/client/errors").UnauthorizedError | ValidationError | import("effect-app/client/errors").ServiceUnavailableError | S.ParseResult.ParseError | S.Schema.Type<Rsc[K]["failure"]>, any>;
|
|
26
|
-
}; }>(controllers: THandlers) => HttpRouter.HttpRouter<[(keyof { [K_1 in keyof Rsc as Rsc[K_1] extends {
|
|
34
|
+
} ? Rsc[K_1] : never; }]: AHandler<Rsc[K]>; }>(controllers: THandlers) => HttpRouter.HttpRouter<[(keyof { [K_1 in keyof Rsc as Rsc[K_1] extends {
|
|
27
35
|
Response: any;
|
|
28
36
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
29
37
|
Response: any;
|
|
@@ -31,7 +39,7 @@ export declare const makeRouter: <CTX, CTXMap extends Record<string, [string, an
|
|
|
31
39
|
Response: any;
|
|
32
40
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
33
41
|
Response: any;
|
|
34
|
-
} ? Rsc[K_1] : never; } ? { [K in T]:
|
|
42
|
+
} ? Rsc[K_1] : never; } ? { [K in T]: RouteMatch<_R<ReturnType<THandlers[K]["handler"]>>, Rsc[K], { [key in keyof CTXMap as key extends keyof Rsc[K] ? Rsc[K][key] extends true ? never : CTXMap[key][0] : CTXMap[key][0]]: CTXMap[key][1]; }[keyof { [key in keyof CTXMap as key extends keyof Rsc[K] ? Rsc[K][key] extends true ? never : CTXMap[key][0] : CTXMap[key][0]]: CTXMap[key][1]; }]>; } : never)[keyof { [K_1 in keyof Rsc as Rsc[K_1] extends {
|
|
35
43
|
Response: any;
|
|
36
44
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
37
45
|
Response: any;
|
|
@@ -43,7 +51,7 @@ export declare const makeRouter: <CTX, CTXMap extends Record<string, [string, an
|
|
|
43
51
|
Response: any;
|
|
44
52
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
45
53
|
Response: any;
|
|
46
|
-
} ? Rsc[K_1] : never; } ? { [K in T]:
|
|
54
|
+
} ? Rsc[K_1] : never; } ? { [K in T]: RouteMatch<_R<ReturnType<THandlers[K]["handler"]>>, Rsc[K], { [key in keyof CTXMap as key extends keyof Rsc[K] ? Rsc[K][key] extends true ? never : CTXMap[key][0] : CTXMap[key][0]]: CTXMap[key][1]; }[keyof { [key in keyof CTXMap as key extends keyof Rsc[K] ? Rsc[K][key] extends true ? never : CTXMap[key][0] : CTXMap[key][0]]: CTXMap[key][1]; }]>; } : never)[keyof { [K_1 in keyof Rsc as Rsc[K_1] extends {
|
|
47
55
|
Response: any;
|
|
48
56
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
49
57
|
Response: any;
|
|
@@ -53,68 +61,21 @@ export declare const makeRouter: <CTX, CTXMap extends Record<string, [string, an
|
|
|
53
61
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
54
62
|
Response: any;
|
|
55
63
|
} ? Rsc[K_1] : never; }]: {
|
|
56
|
-
<R2, E, A>(f: Effect<A, E, R2>): S.Schema.Type<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
handler: (req: Rsc[Key]["Request"], ctx: Rsc[Key]["Context"]) => Effect<A, E, R2>;
|
|
60
|
-
} : Hint<"You're returning non void for a void Response, please fix"> : {
|
|
61
|
-
new (): {};
|
|
62
|
-
_tag: "d";
|
|
63
|
-
handler: (req: Rsc[Key]["Request"], ctx: Rsc[Key]["Context"]) => Effect<A, E, R2>;
|
|
64
|
-
} : never : never;
|
|
65
|
-
<R2, E_1, A_1>(f: (req: S.Schema.Type<REST.GetRequest<Rsc[Key]>>, ctx: CTX & { [key in keyof CTXMap as key extends keyof REST.GetRequest<Rsc[Key]> ? REST.GetRequest<Rsc[Key]>[key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof REST.GetRequest<Rsc[Key]> ? REST.GetRequest<Rsc[Key]>[key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key], "Response">) => Effect<A_1, E_1, R2>): S.Schema.Type<REST.GetResponse<Rsc[Key]>> extends infer T ? T extends S.Schema.Type<REST.GetResponse<Rsc[Key]>> ? T extends void ? A_1 extends void ? {
|
|
66
|
-
new (): {};
|
|
67
|
-
_tag: "d";
|
|
68
|
-
handler: (req: Rsc[Key]["Request"], ctx: Rsc[Key]["Context"]) => Effect<A_1, E_1, R2>;
|
|
69
|
-
} : Hint<"You're returning non void for a void Response, please fix"> : {
|
|
70
|
-
new (): {};
|
|
71
|
-
_tag: "d";
|
|
72
|
-
handler: (req: Rsc[Key]["Request"], ctx: Rsc[Key]["Context"]) => Effect<A_1, E_1, R2>;
|
|
73
|
-
} : never : never;
|
|
74
|
-
<SVC extends Record<string, EffectUnunified<any, any, any>>, R2, E_2, A_2>(services: SVC, f: (req: S.Schema.Type<REST.GetRequest<Rsc[Key]>>, ctx: import("@effect-app/core/utils").ComputeFlat<LowerServices<EffectDeps<SVC>> & CTX & { [key in keyof CTXMap as key extends keyof REST.GetRequest<Rsc[Key]> ? REST.GetRequest<Rsc[Key]>[key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof REST.GetRequest<Rsc[Key]> ? REST.GetRequest<Rsc[Key]>[key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key], "Response">>) => Effect<A_2, E_2, R2>): S.Schema.Type<REST.GetResponse<Rsc[Key]>> extends infer T ? T extends S.Schema.Type<REST.GetResponse<Rsc[Key]>> ? T extends void ? A_2 extends void ? {
|
|
75
|
-
new (): {};
|
|
76
|
-
_tag: "d";
|
|
77
|
-
handler: (req: Rsc[Key]["Request"], ctx: Rsc[Key]["Context"]) => Effect<A_2, E_2, R2>;
|
|
78
|
-
} : Hint<"You're returning non void for a void Response, please fix"> : {
|
|
79
|
-
new (): {};
|
|
80
|
-
_tag: "d";
|
|
81
|
-
handler: (req: Rsc[Key]["Request"], ctx: Rsc[Key]["Context"]) => Effect<A_2, E_2, R2>;
|
|
82
|
-
} : never : never;
|
|
64
|
+
<R2, E, A>(f: Effect<A, E, R2>): HandleVoid<S.Schema.Type<GetSuccess<Rsc[Key]>>, A, Handler<Rsc[Key], "d", A, E, R2, CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key] ? Rsc[Key][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key] ? Rsc[Key][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; }>>;
|
|
65
|
+
<R2, E_1, A_1>(f: (req: S.Schema.Type<Rsc[Key]>, ctx: CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key] ? Rsc[Key][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key] ? Rsc[Key][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key], "Response">) => Effect<A_1, E_1, R2>): HandleVoid<S.Schema.Type<GetSuccess<Rsc[Key]>>, A_1, Handler<Rsc[Key], "d", A_1, E_1, R2, CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key] ? Rsc[Key][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key] ? Rsc[Key][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; }>>;
|
|
66
|
+
<SVC extends Record<string, EffectUnunified<any, any, any>>, R2, E_2, A_2>(services: SVC, f: (req: S.Schema.Type<Rsc[Key]>, ctx: import("@effect-app/core/utils").ComputeFlat<LowerServices<EffectDeps<SVC>> & CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key] ? Rsc[Key][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key] ? Rsc[Key][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key], "Response">>) => Effect<A_2, E_2, R2>): HandleVoid<S.Schema.Type<GetSuccess<Rsc[Key]>>, A_2, Handler<Rsc[Key], "d", A_2, E_2, R2, CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key] ? Rsc[Key][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key] ? Rsc[Key][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; }>>;
|
|
83
67
|
}; } & { [Key_1 in keyof { [K_1 in keyof Rsc as Rsc[K_1] extends {
|
|
84
68
|
Response: any;
|
|
85
69
|
} ? K_1 : never]: Rsc[K_1] extends {
|
|
86
70
|
Response: any;
|
|
87
71
|
} ? Rsc[K_1] : never; } as Key_1 extends string ? `${Key_1}Raw` : never]: {
|
|
88
|
-
<R2_1, E, A>(f: Effect<A, E, R2_1>): S.Schema.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
handler: (req: Rsc[Key_1]["Request"], ctx: Rsc[Key_1]["Context"]) => Effect<A, E, R2_1>;
|
|
92
|
-
} : Hint<"You're returning non void for a void Response, please fix"> : {
|
|
93
|
-
new (): {};
|
|
94
|
-
_tag: "raw";
|
|
95
|
-
handler: (req: Rsc[Key_1]["Request"], ctx: Rsc[Key_1]["Context"]) => Effect<A, E, R2_1>;
|
|
96
|
-
} : never : never;
|
|
97
|
-
<R2_1, E_1, A_1>(f: (req: S.Schema.Type<REST.GetRequest<Rsc[Key_1]>>, ctx: CTX & { [key in keyof CTXMap as key extends keyof REST.GetRequest<Rsc[Key_1]> ? REST.GetRequest<Rsc[Key_1]>[key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof REST.GetRequest<Rsc[Key_1]> ? REST.GetRequest<Rsc[Key_1]>[key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key_1], "Response">) => Effect<A_1, E_1, R2_1>): S.Schema.Type<REST.GetResponse<Rsc[Key_1]>> extends infer T ? T extends S.Schema.Type<REST.GetResponse<Rsc[Key_1]>> ? T extends void ? A_1 extends void ? {
|
|
98
|
-
new (): {};
|
|
99
|
-
_tag: "raw";
|
|
100
|
-
handler: (req: Rsc[Key_1]["Request"], ctx: Rsc[Key_1]["Context"]) => Effect<A_1, E_1, R2_1>;
|
|
101
|
-
} : Hint<"You're returning non void for a void Response, please fix"> : {
|
|
102
|
-
new (): {};
|
|
103
|
-
_tag: "raw";
|
|
104
|
-
handler: (req: Rsc[Key_1]["Request"], ctx: Rsc[Key_1]["Context"]) => Effect<A_1, E_1, R2_1>;
|
|
105
|
-
} : never : never;
|
|
106
|
-
<SVC extends Record<string, EffectUnunified<any, any, any>>, R2, E_2, A_2>(services: SVC, f: (req: S.Schema.Type<REST.GetRequest<Rsc[Key_1]>>, ctx: import("@effect-app/core/utils").ComputeFlat<LowerServices<EffectDeps<SVC>> & CTX & { [key in keyof CTXMap as key extends keyof REST.GetRequest<Rsc[Key_1]> ? REST.GetRequest<Rsc[Key_1]>[key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof REST.GetRequest<Rsc[Key_1]> ? REST.GetRequest<Rsc[Key_1]>[key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key_1], "Response">>) => Effect<A_2, E_2, R2>): S.Schema.Type<REST.GetResponse<Rsc[Key_1]>> extends infer T ? T extends S.Schema.Type<REST.GetResponse<Rsc[Key_1]>> ? T extends void ? A_2 extends void ? {
|
|
107
|
-
new (): {};
|
|
108
|
-
_tag: "raw";
|
|
109
|
-
handler: (req: Rsc[Key_1]["Request"], ctx: Rsc[Key_1]["Context"]) => Effect<A_2, E_2, R2>;
|
|
110
|
-
} : Hint<"You're returning non void for a void Response, please fix"> : {
|
|
111
|
-
new (): {};
|
|
112
|
-
_tag: "raw";
|
|
113
|
-
handler: (req: Rsc[Key_1]["Request"], ctx: Rsc[Key_1]["Context"]) => Effect<A_2, E_2, R2>;
|
|
114
|
-
} : never : never;
|
|
72
|
+
<R2_1, E, A>(f: Effect<A, E, R2_1>): HandleVoid<S.Schema.Encoded<GetSuccess<Rsc[Key_1]>>, A, Handler<Rsc[Key_1], "raw", A, E, R2_1, CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key_1] ? Rsc[Key_1][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key_1] ? Rsc[Key_1][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; }>>;
|
|
73
|
+
<R2_1, E_1, A_1>(f: (req: S.Schema.Type<Rsc[Key_1]>, ctx: CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key_1] ? Rsc[Key_1][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key_1] ? Rsc[Key_1][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key_1], "Response">) => Effect<A_1, E_1, R2_1>): HandleVoid<S.Schema.Encoded<GetSuccess<Rsc[Key_1]>>, A_1, Handler<Rsc[Key_1], "raw", A_1, E_1, R2_1, CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key_1] ? Rsc[Key_1][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key_1] ? Rsc[Key_1][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; }>>;
|
|
74
|
+
<SVC extends Record<string, EffectUnunified<any, any, any>>, R2, E_2, A_2>(services: SVC, f: (req: S.Schema.Type<Rsc[Key_1]>, ctx: import("@effect-app/core/utils").ComputeFlat<LowerServices<EffectDeps<SVC>> & CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key_1] ? Rsc[Key_1][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key_1] ? Rsc[Key_1][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & Pick<Rsc[Key_1], "Response">>) => Effect<A_2, E_2, R2>): HandleVoid<S.Schema.Encoded<GetSuccess<Rsc[Key_1]>>, A_2, Handler<Rsc[Key_1], "raw", A_2, E_2, R2, CTX & { [key in keyof CTXMap as key extends keyof Rsc[Key_1] ? Rsc[Key_1][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as key_1 extends keyof Rsc[Key_1] ? Rsc[Key_1][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; }>>;
|
|
115
75
|
}; };
|
|
116
76
|
matchAll: <T extends {
|
|
117
77
|
[key: string]: HttpRouter.HttpRouter<any, any>;
|
|
118
78
|
}>(handlers: T) => HttpRouter.HttpRouter<[T[keyof T]] extends [HttpRouter.HttpRouter<any, infer E_3>] ? E_3 : never, [T[keyof T]] extends [HttpRouter.HttpRouter<infer R, any>] ? R : never>;
|
|
119
79
|
};
|
|
80
|
+
export {};
|
|
120
81
|
//# sourceMappingURL=router.d.ts.map
|
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG7E,OAAO,KAAK,EAAW,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/router.js
CHANGED
|
@@ -4,7 +4,7 @@ import { defaultErrorHandler, makeRequestHandler } from "@effect-app/infra/api/r
|
|
|
4
4
|
import { Effect, Predicate, S } from "effect-app";
|
|
5
5
|
import { HttpRouter } from "effect-app/http";
|
|
6
6
|
import { REST } from "effect-app/schema";
|
|
7
|
-
// TODO: support FLIP
|
|
7
|
+
// TODO: support FLIP (true means dependency available, false not. vs true means not available, false means available)
|
|
8
8
|
export const makeRouter = (handleRequestEnv /* Middleware */) => {
|
|
9
9
|
function match(requestHandler, errorHandler, middleware) {
|
|
10
10
|
let middlewareLayer = undefined;
|
|
@@ -146,4 +146,4 @@ export const makeRouter = (handleRequestEnv /* Middleware */) => {
|
|
|
146
146
|
}
|
|
147
147
|
return { matchFor, matchAll };
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBV3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRXZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBNkR4QyxzSEFBc0g7QUFDdEgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLGdCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxFQUFFO0lBcUJGLFNBQVMsS0FBSyxDQW9CWixjQWVDLEVBQ0QsWUFRQyxFQUNELFVBa0JDO1FBRUQsSUFBSSxlQUFlLEdBQTJDLFNBQVMsQ0FBQTtRQUN2RSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUNoRSxjQUFjLEdBQUcsT0FBYyxDQUFBLENBQUMsT0FBTztZQUN2QyxlQUFlLEdBQUcsZ0JBQWdCLENBQUE7UUFDcEMsQ0FBQztRQUNELDhEQUE4RDtRQUU5RCxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FrQmhDLGNBQXFCLEVBQUUsK0VBQStFO1FBQ3RHLFlBQVksRUFDWixlQUFlLENBQ2hCLENBQUE7UUFFRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsU0FBUyxDQUNoQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFDN0IsY0FBYyxDQUFDLE9B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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"proper-lockfile": "^4.1.2",
|
|
19
19
|
"pure-rand": "6.1.0",
|
|
20
20
|
"redlock": "^4.2.0",
|
|
21
|
-
"@effect-app/infra-adapters": "1.10.
|
|
22
|
-
"@effect-app/schema": "1.11.0",
|
|
21
|
+
"@effect-app/infra-adapters": "1.10.2",
|
|
23
22
|
"@effect-app/core": "1.9.0",
|
|
24
|
-
"effect-app": "1.
|
|
23
|
+
"@effect-app/schema": "1.11.0",
|
|
24
|
+
"effect-app": "1.15.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/cli": "^7.25.6",
|
package/src/api/routing/base.ts
CHANGED
|
@@ -1,41 +1,21 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
|
-
import type { EnforceNonEmptyRecord } from "@effect-app/core/utils"
|
|
5
4
|
import { ValidationError } from "@effect-app/infra/errors"
|
|
6
5
|
import type { Struct } from "@effect/schema/Schema"
|
|
7
6
|
import * as S from "@effect/schema/Schema"
|
|
8
7
|
import type { Context } from "effect-app"
|
|
9
8
|
import { Cause, Effect, Exit, Option } from "effect-app"
|
|
10
|
-
import type { HttpRouter, HttpServerError } from "effect-app/http"
|
|
11
9
|
import type { REST } from "effect-app/schema"
|
|
12
10
|
import type { Simplify } from "effect/Types"
|
|
13
11
|
|
|
14
|
-
export type RouteMatch<
|
|
15
|
-
R,
|
|
16
|
-
M,
|
|
17
|
-
PR = never
|
|
18
|
-
> // RErr = never,
|
|
19
|
-
= // PathA,
|
|
20
|
-
// CookieA,
|
|
21
|
-
// QueryA,
|
|
22
|
-
// BodyA,
|
|
23
|
-
// HeaderA,
|
|
24
|
-
// ReqA extends PathA & QueryA & BodyA,
|
|
25
|
-
// ResA,
|
|
26
|
-
// PR = never
|
|
27
|
-
Effect<
|
|
28
|
-
// RouteDescriptor<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, SupportedErrors, Methods>
|
|
29
|
-
HttpRouter.Route<Exclude<Exclude<R, EnforceNonEmptyRecord<M>>, PR>, HttpServerError.RequestError>
|
|
30
|
-
>
|
|
31
|
-
|
|
32
12
|
export interface ReqHandler<
|
|
33
13
|
Req,
|
|
34
14
|
R,
|
|
35
15
|
E,
|
|
36
16
|
Res,
|
|
37
|
-
ReqSchema extends S.Schema
|
|
38
|
-
ResSchema extends S.Schema
|
|
17
|
+
ReqSchema extends S.Schema.Any,
|
|
18
|
+
ResSchema extends S.Schema.Any,
|
|
39
19
|
CTX = any,
|
|
40
20
|
Context = any
|
|
41
21
|
> {
|
package/src/router.ts
CHANGED
|
@@ -8,13 +8,10 @@ import type {
|
|
|
8
8
|
_E,
|
|
9
9
|
_R,
|
|
10
10
|
EffectDeps,
|
|
11
|
-
Extr,
|
|
12
11
|
JWTError,
|
|
13
12
|
Middleware,
|
|
14
|
-
ReqFromSchema,
|
|
15
13
|
ReqHandler,
|
|
16
|
-
RequestHandler
|
|
17
|
-
ResFromSchema
|
|
14
|
+
RequestHandler
|
|
18
15
|
} from "@effect-app/infra/api/routing"
|
|
19
16
|
import { defaultErrorHandler, makeRequestHandler } from "@effect-app/infra/api/routing"
|
|
20
17
|
import type { Layer, Scope } from "effect-app"
|
|
@@ -39,9 +36,52 @@ export interface Hint<Err extends string> {
|
|
|
39
36
|
Err: Err
|
|
40
37
|
}
|
|
41
38
|
|
|
42
|
-
type
|
|
39
|
+
type HandleVoid<Expected, Actual, Result> = [Expected] extends [void]
|
|
40
|
+
? [Actual] extends [void] ? Result : Hint<"You're returning non void for a void Response, please fix">
|
|
41
|
+
: Result
|
|
42
|
+
|
|
43
|
+
type AnyRequestModule = S.Schema.Any & { success?: S.Schema.Any; failure?: S.Schema.Any }
|
|
44
|
+
|
|
45
|
+
type GetSuccess<T> = T extends { success: S.Schema.Any } ? T["success"] : typeof S.Void
|
|
46
|
+
|
|
47
|
+
type GetSuccessShape<Action extends { success?: S.Schema.Any }, RT extends "d" | "raw"> = RT extends "raw"
|
|
48
|
+
? S.Schema.Encoded<GetSuccess<Action>>
|
|
49
|
+
: S.Schema.Type<GetSuccess<Action>>
|
|
50
|
+
type GetFailure<T extends { failure?: S.Schema.Any }> = T["failure"] extends never ? typeof S.Never : T["failure"]
|
|
51
|
+
|
|
52
|
+
export interface Handler<Action extends AnyRequestModule, RT extends "raw" | "d", A, E, R, Context> {
|
|
53
|
+
new(): {}
|
|
54
|
+
_tag: RT
|
|
55
|
+
handler: (
|
|
56
|
+
req: S.Schema.Type<Action>,
|
|
57
|
+
ctx: Context
|
|
58
|
+
) => Effect<
|
|
59
|
+
A,
|
|
60
|
+
E,
|
|
61
|
+
R
|
|
62
|
+
>
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Separate "raw" vs "d" to verify A
|
|
66
|
+
type AHandler<Action extends AnyRequestModule> =
|
|
67
|
+
| Handler<
|
|
68
|
+
Action,
|
|
69
|
+
"raw",
|
|
70
|
+
S.Schema.Encoded<GetSuccess<Action>>,
|
|
71
|
+
SupportedErrors | S.ParseResult.ParseError | S.Schema.Type<GetFailure<Action>>,
|
|
72
|
+
any,
|
|
73
|
+
any
|
|
74
|
+
>
|
|
75
|
+
| Handler<
|
|
76
|
+
Action,
|
|
77
|
+
"d",
|
|
78
|
+
S.Schema.Type<GetSuccess<Action>>,
|
|
79
|
+
SupportedErrors | S.ParseResult.ParseError | S.Schema.Type<GetFailure<Action>>,
|
|
80
|
+
any,
|
|
81
|
+
any
|
|
82
|
+
>
|
|
43
83
|
|
|
44
|
-
// TODO: support FLIP
|
|
84
|
+
// TODO: support FLIP (true means dependency available, false not. vs true means not available, false means available)
|
|
45
85
|
export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, boolean]>>(
|
|
46
86
|
handleRequestEnv: any /* Middleware */
|
|
47
87
|
) => {
|
|
@@ -178,25 +218,17 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
178
218
|
}
|
|
179
219
|
|
|
180
220
|
function handle<
|
|
181
|
-
|
|
182
|
-
string,
|
|
183
|
-
any
|
|
184
|
-
>
|
|
221
|
+
ReqSchema extends AnyRequestModule
|
|
185
222
|
>(
|
|
186
|
-
_:
|
|
223
|
+
_: ReqSchema & { ResponseOpenApi?: any },
|
|
187
224
|
name: string,
|
|
188
225
|
adaptResponse?: any
|
|
189
226
|
) {
|
|
190
227
|
const Request = S.REST.extractRequest(_)
|
|
191
228
|
const Response = S.REST.extractResponse(_)
|
|
192
|
-
|
|
193
|
-
type
|
|
194
|
-
type
|
|
195
|
-
type Req = InstanceType<
|
|
196
|
-
ReqSchema extends { new(...args: any[]): any } ? ReqSchema
|
|
197
|
-
: never
|
|
198
|
-
>
|
|
199
|
-
type Res = S.Schema.Type<Extr<ResSchema>>
|
|
229
|
+
type ResSchema = GetSuccess<ReqSchema>
|
|
230
|
+
type Req = S.Schema.Type<ReqSchema>
|
|
231
|
+
type Res = S.Schema.Type<ResSchema> // TODO: depends on raw
|
|
200
232
|
|
|
201
233
|
return <R, E>(
|
|
202
234
|
h: { _tag: "raw" | "d"; handler: (r: Req) => Effect<Res, E, R>; stack?: string }
|
|
@@ -223,19 +255,6 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
223
255
|
>)
|
|
224
256
|
}
|
|
225
257
|
|
|
226
|
-
type RouteMatch<
|
|
227
|
-
R,
|
|
228
|
-
M,
|
|
229
|
-
// TODO: specific failure
|
|
230
|
-
// Err extends SupportedErrors | S.ParseResult.ParseError,
|
|
231
|
-
PR = never
|
|
232
|
-
> // RErr = never,
|
|
233
|
-
= HttpRouter.Route<never, Exclude<Exclude<R, EnforceNonEmptyRecord<M>>, PR>>
|
|
234
|
-
|
|
235
|
-
type HandleVoid<Expected, Actual, Result> = Expected extends void
|
|
236
|
-
? Actual extends void ? Result : Hint<"You're returning non void for a void Response, please fix">
|
|
237
|
-
: Result
|
|
238
|
-
|
|
239
258
|
function matchFor<Rsc extends Record<string, any>>(
|
|
240
259
|
rsc: Rsc
|
|
241
260
|
) {
|
|
@@ -251,7 +270,6 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
251
270
|
}, {} as Filtered)
|
|
252
271
|
|
|
253
272
|
const matchWithServices = <Key extends keyof Filtered>(action: Key) => {
|
|
254
|
-
type Req = ReqFromSchema<REST.GetRequest<Rsc[Key]>>
|
|
255
273
|
return <
|
|
256
274
|
SVC extends Record<
|
|
257
275
|
string,
|
|
@@ -263,9 +281,9 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
263
281
|
>(
|
|
264
282
|
services: SVC,
|
|
265
283
|
f: (
|
|
266
|
-
req:
|
|
284
|
+
req: S.Schema.Type<Rsc[Key]>,
|
|
267
285
|
ctx: Compute<
|
|
268
|
-
LowerServices<EffectDeps<SVC>> & GetCTX<
|
|
286
|
+
LowerServices<EffectDeps<SVC>> & GetCTX<Rsc[Key]>,
|
|
269
287
|
"flat"
|
|
270
288
|
>
|
|
271
289
|
) => Effect<A, E, R2>
|
|
@@ -278,31 +296,33 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
278
296
|
<R2, E, A>(
|
|
279
297
|
f: Effect<A, E, R2>
|
|
280
298
|
): HandleVoid<
|
|
281
|
-
|
|
299
|
+
GetSuccessShape<Rsc[Key], RT>,
|
|
282
300
|
A,
|
|
283
301
|
Handler<
|
|
284
302
|
Rsc[Key],
|
|
285
303
|
RT,
|
|
286
304
|
A,
|
|
287
305
|
E,
|
|
288
|
-
R2
|
|
306
|
+
R2,
|
|
307
|
+
GetCTX<Rsc[Key]>
|
|
289
308
|
>
|
|
290
309
|
>
|
|
291
310
|
|
|
292
311
|
<R2, E, A>(
|
|
293
312
|
f: (
|
|
294
|
-
req:
|
|
295
|
-
ctx: GetCTX<
|
|
313
|
+
req: S.Schema.Type<Rsc[Key]>,
|
|
314
|
+
ctx: GetCTX<Rsc[Key]> & Pick<Rsc[Key], "Response">
|
|
296
315
|
) => Effect<A, E, R2>
|
|
297
316
|
): HandleVoid<
|
|
298
|
-
|
|
317
|
+
GetSuccessShape<Rsc[Key], RT>,
|
|
299
318
|
A,
|
|
300
319
|
Handler<
|
|
301
320
|
Rsc[Key],
|
|
302
321
|
RT,
|
|
303
322
|
A,
|
|
304
323
|
E,
|
|
305
|
-
R2
|
|
324
|
+
R2,
|
|
325
|
+
GetCTX<Rsc[Key]>
|
|
306
326
|
>
|
|
307
327
|
>
|
|
308
328
|
|
|
@@ -317,54 +337,27 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
317
337
|
>(
|
|
318
338
|
services: SVC,
|
|
319
339
|
f: (
|
|
320
|
-
req:
|
|
340
|
+
req: S.Schema.Type<Rsc[Key]>,
|
|
321
341
|
ctx: Compute<
|
|
322
|
-
LowerServices<EffectDeps<SVC>> & GetCTX<
|
|
342
|
+
LowerServices<EffectDeps<SVC>> & GetCTX<Rsc[Key]> & Pick<Rsc[Key], "Response">,
|
|
323
343
|
"flat"
|
|
324
344
|
>
|
|
325
345
|
) => Effect<A, E, R2>
|
|
326
346
|
): HandleVoid<
|
|
327
|
-
|
|
347
|
+
GetSuccessShape<Rsc[Key], RT>,
|
|
328
348
|
A,
|
|
329
349
|
Handler<
|
|
330
350
|
Rsc[Key],
|
|
331
351
|
RT,
|
|
332
352
|
A,
|
|
333
353
|
E,
|
|
334
|
-
R2
|
|
354
|
+
R2,
|
|
355
|
+
GetCTX<Rsc[Key]>
|
|
335
356
|
>
|
|
336
357
|
>
|
|
337
358
|
}
|
|
338
359
|
|
|
339
360
|
type Keys = keyof Filtered
|
|
340
|
-
type Handler<Action extends AnyRequestModule, RT extends "raw" | "d", A, E, R> = {
|
|
341
|
-
new(): {}
|
|
342
|
-
_tag: RT
|
|
343
|
-
handler: (
|
|
344
|
-
req: Action["Request"],
|
|
345
|
-
ctx: Action["Context"]
|
|
346
|
-
) => Effect<
|
|
347
|
-
A,
|
|
348
|
-
E,
|
|
349
|
-
R
|
|
350
|
-
>
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
type AHandler<Action extends AnyRequestModule> =
|
|
354
|
-
| Handler<
|
|
355
|
-
Action,
|
|
356
|
-
"raw",
|
|
357
|
-
ResRawFromSchema<REST.GetResponse<Action>>,
|
|
358
|
-
SupportedErrors | S.ParseResult.ParseError | S.Schema.Type<Action["failure"]>,
|
|
359
|
-
any
|
|
360
|
-
>
|
|
361
|
-
| Handler<
|
|
362
|
-
Action,
|
|
363
|
-
"d",
|
|
364
|
-
ResFromSchema<REST.GetResponse<Action>>,
|
|
365
|
-
SupportedErrors | S.ParseResult.ParseError | S.Schema.Type<Action["failure"]>,
|
|
366
|
-
any
|
|
367
|
-
>
|
|
368
361
|
|
|
369
362
|
const controllers = <
|
|
370
363
|
THandlers extends {
|
|
@@ -387,14 +380,14 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
387
380
|
},
|
|
388
381
|
{} as {
|
|
389
382
|
[K in Keys]: ReqHandler<
|
|
390
|
-
|
|
383
|
+
S.Schema.Type<Rsc[K]>,
|
|
391
384
|
_R<ReturnType<THandlers[K]["handler"]>>,
|
|
392
385
|
_E<ReturnType<THandlers[K]["handler"]>>,
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
GetCTX<
|
|
397
|
-
GetContext<
|
|
386
|
+
S.Schema.Type<GetSuccess<Rsc[K]>>, // TODO: GetSuccessShape, but requires RT
|
|
387
|
+
Rsc[K],
|
|
388
|
+
GetSuccess<Rsc[K]>,
|
|
389
|
+
GetCTX<Rsc[K]>,
|
|
390
|
+
GetContext<Rsc[K]>
|
|
398
391
|
>
|
|
399
392
|
}
|
|
400
393
|
)
|
|
@@ -424,9 +417,9 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
424
417
|
}, {} as any) as {
|
|
425
418
|
[K in Keys]: RouteMatch<
|
|
426
419
|
_R<ReturnType<THandlers[K]["handler"]>>,
|
|
427
|
-
|
|
420
|
+
Rsc[K],
|
|
428
421
|
// _E<ReturnType<THandlers[K]["handler"]>>,
|
|
429
|
-
GetContext<
|
|
422
|
+
GetContext<Rsc[K]>
|
|
430
423
|
>
|
|
431
424
|
}
|
|
432
425
|
|
|
@@ -446,8 +439,6 @@ export const makeRouter = <CTX, CTXMap extends Record<string, [string, any, bool
|
|
|
446
439
|
>
|
|
447
440
|
}
|
|
448
441
|
|
|
449
|
-
type ResRawFromSchema<ResSchema> = S.Schema.Encoded<Extr<ResSchema>>
|
|
450
|
-
|
|
451
442
|
const r = {
|
|
452
443
|
controllers,
|
|
453
444
|
...typedKeysOf(filtered).reduce(
|