@effect-app/infra 0.85.0-next.4 → 0.85.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 +3 -36
- package/_cjs/_ext/Array.cjs +2 -3
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +10 -11
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +2 -3
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.test.cjs +2 -2
- package/_cjs/api/express/makeJsonSchema.test.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +4 -6
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -23
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +2 -2
- package/_cjs/api/setupRequest.cjs +4 -5
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +4 -6
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -12
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +8 -8
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -2
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +10 -11
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +5 -5
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +4 -4
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +7 -8
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +12 -14
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +4 -5
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +29 -31
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +5 -6
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +6 -7
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +17 -18
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +15 -16
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +16 -17
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +33 -35
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +20 -15
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +46 -49
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +18 -19
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +39 -43
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +14 -16
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +1 -1
- package/_cjs/services/Store/index.cjs +6 -7
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +13 -13
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +17 -19
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +8 -9
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +9 -11
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +18 -20
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +10 -11
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs +5 -5
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +17 -18
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/api/authorization.jwt.ts +1 -1
- package/_src/api/defaultErrorHandler.ts +2 -2
- package/_src/api/express/routing.ts.bak +8 -8
- package/_src/api/express/schema/routing.ts +59 -37
- package/_src/api/setupRequest.ts +11 -10
- package/_src/errorReporter.ts +1 -1
- package/_src/services/Emailer/Sendgrid.ts +1 -1
- package/_src/services/Operations/live.ts +5 -5
- package/_src/services/QueueMaker/errors.ts +1 -1
- package/_src/services/QueueMaker/memQueue.ts +2 -2
- package/_src/services/QueueMaker/sbqueue.ts +1 -1
- package/_src/services/Repository.ts +9 -9
- package/_src/services/RepositoryBase.ts +6 -8
- package/_src/services/RequestContextContainer.ts +12 -7
- package/_src/services/Store/Cosmos.ts +12 -17
- package/_src/services/Store/Disk.ts +4 -4
- package/_src/services/Store/Memory.ts +4 -4
- package/_src/services/Store/Redis.ts +1 -1
- package/_src/services/Store/index.test.ts.bak +5 -5
- package/_src/services/Store/index.ts +1 -1
- package/_src/services/Store/utils.ts +16 -16
- package/_src/services/simpledb/diskdb.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +1 -1
- package/_src/services/simpledb/simpledb.ts +3 -3
- package/dist/RequestContext.d.ts +4 -4
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +3 -4
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.d.ts +2 -2
- package/dist/api/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.js +11 -13
- package/dist/api/express/makeJsonSchema.d.ts +2 -2
- package/dist/api/express/makeJsonSchema.d.ts.map +1 -1
- package/dist/api/express/makeJsonSchema.js +3 -4
- package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +5 -7
- package/dist/api/express/schema/routing.d.ts +22 -7
- package/dist/api/express/schema/routing.d.ts.map +1 -1
- package/dist/api/express/schema/routing.js +23 -24
- package/dist/api/reportError.d.ts +5 -5
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +2 -2
- package/dist/api/setupRequest.d.ts +2 -2
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +7 -7
- package/dist/api/writeDocs.d.ts +1 -1
- package/dist/api/writeDocs.d.ts.map +1 -1
- package/dist/api/writeDocs.js +5 -7
- package/dist/errorReporter.d.ts +3 -3
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +12 -13
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/instrument.d.ts +1 -1
- package/dist/instrument.d.ts.map +1 -1
- package/dist/instrument.js +2 -3
- package/dist/logger/jsonLogger.d.ts +2 -2
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +11 -12
- package/dist/logger/logFmtLogger.d.ts +2 -2
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +6 -6
- package/dist/logger/shared.d.ts +1 -1
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +5 -5
- package/dist/rateLimit.d.ts +3 -3
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +8 -9
- package/dist/services/Emailer/Sendgrid.d.ts +1 -1
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +15 -17
- package/dist/services/Emailer/fake.d.ts +1 -1
- package/dist/services/Emailer/fake.d.ts.map +1 -1
- package/dist/services/Emailer/fake.js +5 -6
- package/dist/services/Emailer/service.d.ts +3 -3
- package/dist/services/Operations/live.d.ts +1 -1
- package/dist/services/Operations/live.d.ts.map +1 -1
- package/dist/services/Operations/live.js +37 -39
- package/dist/services/Operations/service.d.ts +8 -8
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +12 -13
- package/dist/services/QueueMaker/errors.d.ts +3 -3
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +6 -7
- package/dist/services/QueueMaker/memQueue.d.ts +3 -3
- package/dist/services/QueueMaker/memQueue.js +16 -17
- package/dist/services/QueueMaker/sbqueue.d.ts +4 -4
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +15 -16
- package/dist/services/Repository.d.ts +42 -42
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +17 -18
- package/dist/services/RepositoryBase.d.ts +12 -11
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +35 -37
- package/dist/services/RequestContextContainer.d.ts +14 -11
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +19 -18
- package/dist/services/Store/Cosmos.d.ts +3 -3
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +51 -54
- package/dist/services/Store/Disk.d.ts +3 -3
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +19 -20
- package/dist/services/Store/Memory.d.ts +5 -5
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +41 -45
- package/dist/services/Store/Redis.d.ts +3 -3
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +15 -17
- package/dist/services/Store/index.d.ts +1 -1
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +7 -8
- package/dist/services/Store/service.d.ts +8 -8
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +2 -2
- package/dist/services/Store/utils.d.ts +2 -2
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +21 -21
- package/dist/services/simpledb/cosmosdb.d.ts +5 -5
- package/dist/services/simpledb/cosmosdb.js +17 -19
- package/dist/services/simpledb/diskdb.d.ts +4 -4
- package/dist/services/simpledb/diskdb.js +9 -10
- package/dist/services/simpledb/memdb.d.ts +4 -4
- package/dist/services/simpledb/memdb.js +11 -13
- package/dist/services/simpledb/mongodb.d.ts +5 -5
- package/dist/services/simpledb/mongodb.js +14 -16
- package/dist/services/simpledb/redisdb.d.ts +4 -4
- package/dist/services/simpledb/redisdb.js +11 -12
- package/dist/services/simpledb/shared.d.ts +4 -4
- package/dist/services/simpledb/shared.js +6 -6
- package/dist/services/simpledb/simpledb.d.ts +6 -6
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +15 -16
- package/package.json +5 -25
- package/_cjs/api/express/schema/requestHandler.cjs +0 -172
- package/_cjs/api/express/schema/requestHandler.cjs.map +0 -1
- package/_cjs/api/routing.cjs +0 -278
- package/_cjs/api/routing.cjs.map +0 -1
- package/_src/api/express/schema/requestHandler.ts +0 -372
- package/_src/api/routing.ts +0 -660
- package/dist/api/express/schema/requestHandler.d.ts +0 -71
- package/dist/api/express/schema/requestHandler.d.ts.map +0 -1
- package/dist/api/express/schema/requestHandler.js +0 -140
- package/dist/api/routing.d.ts +0 -103
- package/dist/api/routing.d.ts.map +0 -1
- package/dist/api/routing.js +0 -265
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Effect } from "effect/Effect";
|
|
2
|
-
import { Layer } from "effect/Layer";
|
|
3
|
-
import { Option } from "effect/Option";
|
|
4
|
-
import * as MO from "@effect-app/schema";
|
|
5
|
-
import type { Methods } from "@effect-app/schema";
|
|
6
|
-
import type express from "express";
|
|
7
|
-
import { ValidationError } from "../../../errors.js";
|
|
8
|
-
export type _R<T extends Effect<any, any, any>> = [T] extends [
|
|
9
|
-
Effect<infer R, any, any>
|
|
10
|
-
] ? R : never;
|
|
11
|
-
export type _E<T extends Effect<any, any, any>> = [T] extends [
|
|
12
|
-
Effect<any, infer E, any>
|
|
13
|
-
] ? E : never;
|
|
14
|
-
export type Request<PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA> = MO.ReqResSchemed<unknown, ReqA> & {
|
|
15
|
-
method: Methods;
|
|
16
|
-
path: string;
|
|
17
|
-
Cookie?: MO.ReqRes<Record<string, string>, CookieA>;
|
|
18
|
-
Path?: MO.ReqRes<Record<string, string>, PathA>;
|
|
19
|
-
Body?: MO.ReqRes<unknown, BodyA>;
|
|
20
|
-
Query?: MO.ReqRes<Record<string, string>, QueryA>;
|
|
21
|
-
Headers?: MO.ReqRes<Record<string, string>, HeaderA>;
|
|
22
|
-
};
|
|
23
|
-
export type Request2<Path extends string, Method extends Methods, ReqA> = MO.ReqResSchemed<unknown, ReqA> & {
|
|
24
|
-
method: Method;
|
|
25
|
-
path: Path;
|
|
26
|
-
};
|
|
27
|
-
export type Encode<A, E> = (a: A) => E;
|
|
28
|
-
export declare function decodeErrors(x: unknown): unknown[];
|
|
29
|
-
export declare function parseRequestParams<PathA, CookieA, QueryA, BodyA, HeaderA>(parsers: RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>): ({ body, cookies, headers, params, query }: express.Request) => import("effect").Effect<never, ValidationError, {
|
|
30
|
-
body: import("effect").Option<BodyA>;
|
|
31
|
-
cookie: import("effect").Option<CookieA>;
|
|
32
|
-
headers: import("effect").Option<HeaderA>;
|
|
33
|
-
path: import("effect").Option<PathA>;
|
|
34
|
-
query: import("effect").Option<QueryA>;
|
|
35
|
-
}>;
|
|
36
|
-
export declare function respondSuccess<ReqA, A, E>(encodeResponse: (req: ReqA) => Encode<A, E>): (req: ReqA, res: express.Response) => (a: A) => import("effect").Effect<never, never, void>;
|
|
37
|
-
export interface RequestHandlerOptRes<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, ResE> {
|
|
38
|
-
adaptResponse?: any;
|
|
39
|
-
h: (i: PathA & QueryA & BodyA & {}) => Effect<R, ResE, ResA>;
|
|
40
|
-
Request: Request<PathA, CookieA, QueryA, BodyA, HeaderA, ReqA>;
|
|
41
|
-
Response?: MO.ReqRes<unknown, ResA> | MO.ReqResSchemed<unknown, ResA>;
|
|
42
|
-
}
|
|
43
|
-
export interface RequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, ResE> {
|
|
44
|
-
adaptResponse?: any;
|
|
45
|
-
h: (i: PathA & QueryA & BodyA & {}) => Effect<R, ResE, ResA>;
|
|
46
|
-
Request: Request<PathA, CookieA, QueryA, BodyA, HeaderA, ReqA>;
|
|
47
|
-
Response: MO.ReqRes<unknown, ResA> | MO.ReqResSchemed<unknown, ResA>;
|
|
48
|
-
ResponseOpenApi?: any;
|
|
49
|
-
}
|
|
50
|
-
export interface RequestHandler2<R, Path extends string, Method extends Methods, ReqA, ResA, ResE> {
|
|
51
|
-
h: (i: ReqA) => Effect<R, ResE, ResA>;
|
|
52
|
-
Request: Request2<Path, Method, ReqA>;
|
|
53
|
-
Response: MO.ReqRes<unknown, ResA> | MO.ReqResSchemed<unknown, ResA>;
|
|
54
|
-
}
|
|
55
|
-
export type MiddlewareHandler<ResE, R2 = never, PR = never> = (req: express.Request, res: express.Response) => Layer<R2, ResE, PR>;
|
|
56
|
-
export type Middleware<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, ResE, R2 = never, PR = never> = (handler: RequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE>) => {
|
|
57
|
-
handler: typeof handler;
|
|
58
|
-
handle: MiddlewareHandler<ResE, R2, PR>;
|
|
59
|
-
};
|
|
60
|
-
export type Middleware2<R, ReqA, ResA, R2 = never, PR = never> = Middleware<R, any, any, any, any, any, ReqA, ResA, any, R2, PR>;
|
|
61
|
-
export declare function makeRequestParsers<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, Errors>(Request: RequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, Errors>["Request"]): RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>;
|
|
62
|
-
type Decode<A> = (u: unknown) => Effect<never, unknown, A>;
|
|
63
|
-
export interface RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA> {
|
|
64
|
-
parseHeaders: Decode<Option<HeaderA>>;
|
|
65
|
-
parseQuery: Decode<Option<QueryA>>;
|
|
66
|
-
parseBody: Decode<Option<BodyA>>;
|
|
67
|
-
parsePath: Decode<Option<PathA>>;
|
|
68
|
-
parseCookie: Decode<Option<CookieA>>;
|
|
69
|
-
}
|
|
70
|
-
export {};
|
|
71
|
-
//# sourceMappingURL=requestHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestHandler.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/requestHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "effect/impl/Exit";
|
|
3
|
-
import * as tsplus_module_3 from "effect/impl/Cause";
|
|
4
|
-
import * as tsplus_module_4 from "effect/impl/Effect";
|
|
5
|
-
import * as tsplus_module_5 from "@effect-app/core/Function";
|
|
6
|
-
import * as tsplus_module_6 from "effect/Option";
|
|
7
|
-
import * as tsplus_module_7 from "effect/impl/Option";
|
|
8
|
-
import * as tsplus_module_8 from "@effect-app/core/EffectX";
|
|
9
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
11
|
-
import * as MO from "@effect-app/schema";
|
|
12
|
-
import { Parser } from "@effect-app/schema";
|
|
13
|
-
import { ValidationError } from "../../../errors.js";
|
|
14
|
-
// function getErrorMessage(current: ContextEntry) {
|
|
15
|
-
// switch (current.type.name) {
|
|
16
|
-
// case "NonEmptyString":
|
|
17
|
-
// return "Must not be empty"
|
|
18
|
-
// }
|
|
19
|
-
// if (current.type.name?.startsWith("NonEmptyReadonlyArray<")) {
|
|
20
|
-
// return "Must not be empty"
|
|
21
|
-
// }
|
|
22
|
-
// return `Invalid value specified`
|
|
23
|
-
// }
|
|
24
|
-
export function decodeErrors(x) {
|
|
25
|
-
return [x];
|
|
26
|
-
}
|
|
27
|
-
// const ValidationApplicative = Effect.getValidationApplicative(
|
|
28
|
-
// makeAssociative<ReadonlyArray<{ type: string; errors: ReturnType<typeof decodeErrors> }>>(
|
|
29
|
-
// (l, r) => l.concat(r)
|
|
30
|
-
// )
|
|
31
|
-
// )
|
|
32
|
-
// const structValidation = DSL.structF(ValidationApplicative)
|
|
33
|
-
export function parseRequestParams(parsers) {
|
|
34
|
-
return ({ body, cookies, headers, params, query }) => tsplus_module_4.flatMap(tsplus_module_1.Effect.all({
|
|
35
|
-
body: tsplus_module_4.flatMap(tsplus_module_4.exit(parsers
|
|
36
|
-
.parseBody(body)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
37
|
-
? tsplus_module_1.Effect.failCauseSync(() => _.cause)
|
|
38
|
-
: tsplus_module_1.Effect.sync(() => tsplus_module_2.isSuccess(_)
|
|
39
|
-
? { _tag: "Success", value: _.value }
|
|
40
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
41
|
-
cookie: tsplus_module_4.flatMap(tsplus_module_4.exit(parsers
|
|
42
|
-
.parseCookie(cookies)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
43
|
-
? tsplus_module_1.Effect.failCauseSync(() => _.cause)
|
|
44
|
-
: tsplus_module_1.Effect.sync(() => tsplus_module_2.isSuccess(_)
|
|
45
|
-
? { _tag: "Success", value: _.value }
|
|
46
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
47
|
-
headers: tsplus_module_4.flatMap(tsplus_module_4.exit(parsers
|
|
48
|
-
.parseHeaders(headers)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
49
|
-
? tsplus_module_1.Effect.failCauseSync(() => _.cause)
|
|
50
|
-
: tsplus_module_1.Effect.sync(() => tsplus_module_2.isSuccess(_)
|
|
51
|
-
? { _tag: "Success", value: _.value }
|
|
52
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
53
|
-
query: tsplus_module_4.flatMap(tsplus_module_4.exit(parsers
|
|
54
|
-
.parseQuery(query)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
55
|
-
? tsplus_module_1.Effect.failCauseSync(() => _.cause)
|
|
56
|
-
: tsplus_module_1.Effect.sync(() => tsplus_module_2.isSuccess(_)
|
|
57
|
-
? { _tag: "Success", value: _.value }
|
|
58
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
59
|
-
path: tsplus_module_4.flatMap(tsplus_module_4.exit(parsers
|
|
60
|
-
.parsePath(params)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
61
|
-
? tsplus_module_1.Effect.failCauseSync(() => _.cause)
|
|
62
|
-
: tsplus_module_1.Effect.sync(() => tsplus_module_2.isSuccess(_)
|
|
63
|
-
? { _tag: "Success", value: _.value }
|
|
64
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))
|
|
65
|
-
}), ({ body, cookie, headers, path, query }) => {
|
|
66
|
-
const errors = [];
|
|
67
|
-
if (body._tag === "Failure") {
|
|
68
|
-
errors.push(makeError("body")(body.errors));
|
|
69
|
-
}
|
|
70
|
-
if (cookie._tag === "Failure") {
|
|
71
|
-
errors.push(makeError("cookie")(cookie.errors));
|
|
72
|
-
}
|
|
73
|
-
if (headers._tag === "Failure") {
|
|
74
|
-
errors.push(makeError("headers")(headers.errors));
|
|
75
|
-
}
|
|
76
|
-
if (path._tag === "Failure") {
|
|
77
|
-
errors.push(makeError("path")(path.errors));
|
|
78
|
-
}
|
|
79
|
-
if (query._tag === "Failure") {
|
|
80
|
-
errors.push(makeError("query")(query.errors));
|
|
81
|
-
}
|
|
82
|
-
if (errors.length) {
|
|
83
|
-
return new ValidationError({ errors });
|
|
84
|
-
}
|
|
85
|
-
return tsplus_module_1.Effect.sync(() => ({
|
|
86
|
-
body: body.value,
|
|
87
|
-
cookie: cookie.value,
|
|
88
|
-
headers: headers.value,
|
|
89
|
-
path: path.value,
|
|
90
|
-
query: query.value
|
|
91
|
-
}));
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
|
-
// function mapErrors_<E, NE, NER extends Record<string, Effect<any, E, any>>>(
|
|
96
|
-
// t: NER, // TODO: enforce non empty
|
|
97
|
-
// mapErrors: (k: keyof NER) => (err: E) => NE
|
|
98
|
-
// ): {
|
|
99
|
-
// [K in keyof NER]: Effect<_R<NER[K]>, NE, Effect.Success<NER[K]>>
|
|
100
|
-
// } {
|
|
101
|
-
// return typedKeysOf(t).reduce(
|
|
102
|
-
// (prev, cur) => {
|
|
103
|
-
// prev[cur] = t[cur].mapError(mapErrors(cur))
|
|
104
|
-
// return prev
|
|
105
|
-
// },
|
|
106
|
-
// {} as {
|
|
107
|
-
// [K in keyof NER]: Effect<_R<NER[K]>, NE, Effect.Success<NER[K]>>
|
|
108
|
-
// }
|
|
109
|
-
// )
|
|
110
|
-
// }
|
|
111
|
-
function makeError(type) {
|
|
112
|
-
return (e) => [{ type, errors: decodeErrors(e) }];
|
|
113
|
-
}
|
|
114
|
-
export function respondSuccess(encodeResponse) {
|
|
115
|
-
return (req, res) => tsplus_module_5.flow(encodeResponse(req), tsplus_module_1.Effect.succeed, (_) => tsplus_module_4.flatMap(_, (r) => tsplus_module_1.Effect.sync(() => {
|
|
116
|
-
r === undefined
|
|
117
|
-
? res.status(204).send()
|
|
118
|
-
: res.status(200).send(r === null ? JSON.stringify(null) : r);
|
|
119
|
-
})));
|
|
120
|
-
}
|
|
121
|
-
export function makeRequestParsers(Request) {
|
|
122
|
-
const ph = tsplus_module_1.Effect.sync(() => tsplus_module_7.map(tsplus_module_7.map(tsplus_module_7.map(tsplus_module_6.Option.fromNullable(Request.Headers), (s) => s), Parser.for), MO.condemn));
|
|
123
|
-
const parseHeaders = (u) => tsplus_module_8.flatMapOption(ph, (d) => d(u));
|
|
124
|
-
const pq = tsplus_module_1.Effect.sync(() => tsplus_module_7.map(tsplus_module_7.map(tsplus_module_7.map(tsplus_module_6.Option.fromNullable(Request.Query), (s) => s), Parser.for), MO.condemn));
|
|
125
|
-
const parseQuery = (u) => tsplus_module_8.flatMapOption(pq, (d) => d(u));
|
|
126
|
-
const pb = tsplus_module_1.Effect.sync(() => tsplus_module_7.map(tsplus_module_7.map(tsplus_module_7.map(tsplus_module_6.Option.fromNullable(Request.Body), (s) => s), Parser.for), MO.condemn));
|
|
127
|
-
const parseBody = (u) => tsplus_module_8.flatMapOption(pb, (d) => d(u));
|
|
128
|
-
const pp = tsplus_module_1.Effect.sync(() => tsplus_module_7.map(tsplus_module_7.map(tsplus_module_7.map(tsplus_module_6.Option.fromNullable(Request.Path), (s) => s), Parser.for), MO.condemn));
|
|
129
|
-
const parsePath = (u) => tsplus_module_8.flatMapOption(pp, (d) => d(u));
|
|
130
|
-
const pc = tsplus_module_1.Effect.sync(() => tsplus_module_7.map(tsplus_module_7.map(tsplus_module_7.map(tsplus_module_6.Option.fromNullable(Request.Cookie), (s) => s), Parser.for), MO.condemn));
|
|
131
|
-
const parseCookie = (u) => tsplus_module_8.flatMapOption(pc, (d) => d(u));
|
|
132
|
-
return {
|
|
133
|
-
parseBody,
|
|
134
|
-
parseCookie,
|
|
135
|
-
parseHeaders,
|
|
136
|
-
parsePath,
|
|
137
|
-
parseQuery
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9fc3JjL2FwaS9leHByZXNzL3NjaGVtYS9yZXF1ZXN0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBd0NwRCxvREFBb0Q7QUFDcEQsaUNBQWlDO0FBQ2pDLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFDbkMsTUFBTTtBQUNOLG1FQUFtRTtBQUNuRSxpQ0FBaUM7QUFDakMsTUFBTTtBQUNOLHFDQUFxQztBQUNyQyxJQUFJO0FBQ0osTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFVO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNaLENBQUM7QUFFRCxpRUFBaUU7QUFDakUsK0ZBQStGO0FBQy9GLDRCQUE0QjtBQUM1QixNQUFNO0FBQ04sSUFBSTtBQUVKLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQStEO0lBRS9ELE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQW1CLEVBQUUsRUFBRSxDQUNwRSx3QkFBQSxnQkFBQSxNQUFNLENBQ0gsR0FBRyxDQUFDO1FBQ0gsSUFBSSxFQUFFLDZDQUFBLE9BQU87YUFDVixTQUFTLENBQUMsSUFBSSxDQUFDLEdBRVAsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLDBCQUFBLENBQUMsQ0FBWSxJQUFJLENBQUMsMEJBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBWTtZQUNuQyxDQUFDLENBQUUsZ0JBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxH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QUFHLEVBQUUsQ0FDMUIsb0JBQUEsb0JBQUEsb0JBQUEsZ0JBQUEsTUFBTSxDQUNILFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQ3ZCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUNuQixDQUFBO0lBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsTUFBTSxFQUFFLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsb0JBQUEsb0JBQUEsb0JBQUEsZ0JBQUEsTUFBTSxDQUNILFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3RCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUNuQixDQUFBO0lBQ0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFNUQsTUFBTSxFQUFFLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsb0JBQUEsb0JBQUEsb0JBQUEsZ0JBQUEsTUFBTSxDQUNILFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3RCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUNuQixDQUFBO0lBQ0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFNUQsTUFBTSxFQUFFLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsb0JBQUEsb0JBQUEsb0JBQUEsZ0JBQUEsTUFBTSxDQUNILFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3hCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUNuQixDQUFBO0lBQ0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFOUQsT0FBTztRQUNMLFNBQVM7UUFDVCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxVQUFVO0tBQ1gsQ0FBQTtBQUNILENBQUMifQ==
|
package/dist/api/routing.d.ts
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { Effect } from "effect/Effect";
|
|
2
|
-
import { Context } from "effect/Context";
|
|
3
|
-
import { ParsedShapeOf } from "@effect-app/prelude/schema";
|
|
4
|
-
import * as Ex from "@effect-app/infra-adapters/express";
|
|
5
|
-
import type { _E, _R } from "@effect-app/prelude/_ext/misc";
|
|
6
|
-
import type { SupportedErrors } from "@effect-app/prelude/client/errors";
|
|
7
|
-
import type { GetRequest, GetResponse } from "@effect-app/prelude/schema";
|
|
8
|
-
import * as MO from "@effect-app/prelude/schema";
|
|
9
|
-
import type express from "express";
|
|
10
|
-
import type { ValidationError } from "../errors.js";
|
|
11
|
-
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
12
|
-
import type { Encode, RequestHandler, RequestHandlerOptRes, RequestParsers } from "./express/schema/requestHandler.js";
|
|
13
|
-
import type { RouteDescriptorAny } from "./express/schema/routing.js";
|
|
14
|
-
export declare const RequestSettings: import("effect").FiberRef<{
|
|
15
|
-
verbose: boolean;
|
|
16
|
-
}>;
|
|
17
|
-
export declare function makeRequestParsers<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, Errors>(Request: RequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, Errors>["Request"]): RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>;
|
|
18
|
-
export type MakeMiddlewareContext<ResE, R2 = never, PR = never> = (req: express.Request, res: express.Response) => Effect<R2 | RequestContextContainer, ResE, Context<PR>>;
|
|
19
|
-
export type Middleware<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, ResE, R2 = never, PR = never> = (handler: RequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE>) => {
|
|
20
|
-
handler: typeof handler;
|
|
21
|
-
makeContext: MakeMiddlewareContext<ResE, R2, PR>;
|
|
22
|
-
};
|
|
23
|
-
export declare function match<R, E, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, R2 = never, PR = never, RErr = never>(requestHandler: RequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, E>, errorHandler: <R>(req: express.Request, res: express.Response, r2: Effect<R, E | ValidationError, void>) => Effect<RErr, never, void>, middleware?: Middleware<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, E, R2, PR>): import("effect").Effect<Ex.ExpressEnv | Exclude<R, RequestContextContainer> | Exclude<R2, RequestContextContainer> | Exclude<RErr, RequestContextContainer>, never, import("./express/schema/routing.js").RouteDescriptor<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, E, MO.Methods>>;
|
|
24
|
-
export declare function respondSuccess<ReqA, A, E>(encodeResponse: (req: ReqA) => Encode<A, E>): (req: ReqA, res: express.Response, a: A) => import("effect").Effect<never, never, void>;
|
|
25
|
-
export declare function makeRequestHandler<R, E, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA = void, R2 = never, PR = never, RErr = never>(handler: RequestHandlerOptRes<R | PR, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, E>, errorHandler: <R>(req: express.Request, res: express.Response, r2: Effect<R, E | ValidationError, void>) => Effect<RErr | R | RequestContextContainer, never, void>, makeMiddlewareContext?: MakeMiddlewareContext<E, R2, PR>): (req: express.Request, res: express.Response) => Effect<Exclude<RErr | R | R2, RequestContextContainer>, never, void>;
|
|
26
|
-
export type RequestHandlers = {
|
|
27
|
-
[key: string]: BasicRequestHandler;
|
|
28
|
-
};
|
|
29
|
-
export type BasicRequestHandler = RequestHandler<any, any, any, any, any, any, any, any, ValidationError>;
|
|
30
|
-
export type AnyRequestHandler = RequestHandler<any, any, any, any, any, any, any, any, any>;
|
|
31
|
-
type RouteAll<T extends RequestHandlers> = {
|
|
32
|
-
[K in keyof T]: T[K] extends RequestHandler<infer R, any, // infer PathA,
|
|
33
|
-
any, // infer CookieA,
|
|
34
|
-
any, // infer QueryA,
|
|
35
|
-
any, // infer BodyA,
|
|
36
|
-
any, // infer HeaderA,
|
|
37
|
-
any, // infer ReqA,
|
|
38
|
-
any, // infer ResA,
|
|
39
|
-
ValidationError> ? RouteMatch<R, never> : never;
|
|
40
|
-
};
|
|
41
|
-
export type RouteMatch<R, PR = never> = Effect<Ex.ExpressAppConfig | Ex.ExpressApp | Exclude<R, PR | RequestContextContainer>, never, RouteDescriptorAny>;
|
|
42
|
-
/**
|
|
43
|
-
* Gather all handlers of a module and attach them to the Server.
|
|
44
|
-
* Requires no login.
|
|
45
|
-
*/
|
|
46
|
-
export declare function matchAll<T extends RequestHandlers>(handlers: T): RouteAll<T>;
|
|
47
|
-
/**
|
|
48
|
-
* Gather all handlers of a module and attach them to the Server.
|
|
49
|
-
* Requires no login.
|
|
50
|
-
*/
|
|
51
|
-
export declare function matchAllAlt<T extends RequestHandlersTest>(handlers: T): Flatten<RouteAllTest<T>>;
|
|
52
|
-
export type RequestHandlersTest = {
|
|
53
|
-
[key: string]: Record<string, BasicRequestHandler>;
|
|
54
|
-
};
|
|
55
|
-
export type RouteAllTest<T extends RequestHandlersTest> = {
|
|
56
|
-
[K in keyof T]: RouteAll<T[K]>;
|
|
57
|
-
};
|
|
58
|
-
export type Flatten<T extends object> = object extends T ? object : {
|
|
59
|
-
[K in keyof T]-?: (x: NonNullable<T[K]> extends infer V ? V extends object ? V extends readonly any[] ? Pick<T, K> : FlattenLVL1<V> extends infer FV ? ({
|
|
60
|
-
[P in keyof FV as `${Extract<K, string | number>}.${Extract<P, string | number>}`]: FV[P];
|
|
61
|
-
}) : never : Pick<T, K> : never) => void;
|
|
62
|
-
} extends Record<keyof T, (y: infer O) => void> ? O extends unknown ? {
|
|
63
|
-
[K in keyof O]: O[K];
|
|
64
|
-
} : never : never;
|
|
65
|
-
type FlattenLVL1<T extends object> = object extends T ? object : {
|
|
66
|
-
[K in keyof T]-?: (x: NonNullable<T[K]> extends infer V ? V extends object ? V extends readonly any[] ? Pick<T, K> : Pick<T, K> : never : never) => void;
|
|
67
|
-
} extends Record<keyof T, (y: infer O) => void> ? O extends unknown ? {
|
|
68
|
-
[K in keyof O]: O[K];
|
|
69
|
-
} : never : never;
|
|
70
|
-
export declare function handle<TModule extends Record<string, any>>(_: TModule & {
|
|
71
|
-
ResponseOpenApi?: any;
|
|
72
|
-
}, adaptResponse?: any): <R, E>(h: (r: InstanceType<GetRequest<TModule> extends new (...args: any[]) => any ? GetRequest<TModule> : never>) => import("effect").Effect<R, E, MO.ParsedShapeOf<Extr<GetResponse<TModule>>>>) => ReqHandler<InstanceType<GetRequest<TModule> extends new (...args: any[]) => any ? GetRequest<TModule> : never>, R, E, MO.ParsedShapeOf<Extr<GetResponse<TModule>>>, GetRequest<TModule>, GetResponse<TModule>, any>;
|
|
73
|
-
export type Extr<T> = T extends {
|
|
74
|
-
Model: MO.SchemaAny;
|
|
75
|
-
} ? T["Model"] : T extends MO.SchemaAny ? T : never;
|
|
76
|
-
export interface ReqHandler<Req, R, E, Res, ReqSchema extends MO.SchemaAny, ResSchema extends MO.SchemaAny, CTX = any> {
|
|
77
|
-
h: (r: Req, ctx: CTX) => Effect<R, E, Res>;
|
|
78
|
-
Request: ReqSchema;
|
|
79
|
-
Response: ResSchema;
|
|
80
|
-
ResponseOpenApi: any;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Provided a module with resources, and provided an Object with resource handlers, will prepare route handlers to be attached to server.
|
|
84
|
-
* @param mod The module with Resources you want to match.
|
|
85
|
-
* @returns A function that must be called with an Object with a handler "Request -> Effect<R, E, Response>" for each resource defined in the Module.
|
|
86
|
-
*
|
|
87
|
-
* Example:
|
|
88
|
-
* ```
|
|
89
|
-
* class SayHelloRequest extends Get("/say-hello")<SayHelloRequest>()({ name: prop(ReasonableString) }) {}
|
|
90
|
-
* class SayHelloResponse extends Model<SayHelloRequest>()({ message: prop(LongString) }) {}
|
|
91
|
-
*
|
|
92
|
-
* export const SayHelloControllers = matchResource({ SayHello: { SayHelloRequest, SayHelloResponse } })({
|
|
93
|
-
* SayHello: (req) => Effect.sync(() => { message: `Hi ${req.name}` })
|
|
94
|
-
* })
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
|
-
export declare function matchResource<TModules extends Record<string, Record<string, any>>>(mod: TModules): <THandlers extends keyof TModules extends infer T extends keyof TModules ? { [K in T]: (req: InstanceType<GetRequest<TModules[K]> extends infer T_1 ? T_1 extends GetRequest<TModules[K]> ? T_1 extends new (...args: any[]) => any ? T_1 : never : never : never>) => import("effect").Effect<any, import("@effect-app/prelude/client/errors").ValidationError | import("@effect-app/prelude/client/errors").NotFoundError | import("@effect-app/prelude/client/errors").InvalidStateError | import("@effect-app/prelude/client/errors").NotLoggedInError | import("@effect-app/prelude/client/errors").UnauthorizedError | import("@effect-app/prelude/client/errors").OptimisticConcurrencyException, MO.ParsedShapeOf<Extr<GetResponse<TModules[K]>>>>; } : never>(handlers: THandlers) => keyof TModules extends infer T_2 extends keyof TModules ? { [K_1 in T_2]: ReqHandler<InstanceType<GetRequest<TModules[K_1]> extends infer T_3 ? T_3 extends GetRequest<TModules[K_1]> ? T_3 extends new (...args: any[]) => any ? T_3 : never : never : never>, _R<ReturnType<THandlers[K_1]>>, _E<ReturnType<THandlers[K_1]>>, MO.ParsedShapeOf<Extr<GetResponse<TModules[K_1]>>>, GetRequest<TModules[K_1]>, GetResponse<TModules[K_1]>, any>; } : never;
|
|
98
|
-
export type ReqFromSchema<ReqSchema> = InstanceType<ReqSchema extends {
|
|
99
|
-
new (...args: any[]): any;
|
|
100
|
-
} ? ReqSchema : never>;
|
|
101
|
-
export type ResFromSchema<ResSchema> = ParsedShapeOf<Extr<ResSchema>>;
|
|
102
|
-
export {};
|
|
103
|
-
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../_src/api/routing.ts"],"names":[],"mappings":"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"}
|