@effect-app/infra 0.13.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/_cjs/api/codec.cjs +2 -4
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +18 -21
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +4 -4
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +5 -7
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +57 -56
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -22
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +6 -17
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +70 -70
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +2 -4
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +6 -8
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -13
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +1 -1
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -3
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +6 -8
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +12 -18
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +4 -7
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +23 -26
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +3 -5
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +28 -30
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +58 -58
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +15 -16
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +14 -16
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +22 -23
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +1 -1
- package/_cjs/services/Store/index.cjs +7 -7
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +2 -4
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +16 -17
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +23 -25
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +20 -21
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +11 -13
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +20 -22
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +25 -25
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs +4 -6
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +16 -17
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/errors.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/dist/RequestContext.d.ts +12 -12
- package/dist/api/codec.js +3 -5
- package/dist/api/defaultErrorHandler.js +20 -21
- package/dist/api/express/makeJsonSchema.js +3 -5
- package/dist/api/express/makeOpenApiSpecs.js +5 -7
- package/dist/api/express/schema/requestHandler.d.ts +5 -5
- package/dist/api/express/schema/requestHandler.js +50 -52
- package/dist/api/express/schema/routing.js +21 -23
- package/dist/api/reportError.js +6 -18
- package/dist/api/routing.js +65 -67
- package/dist/api/setupRequest.js +3 -5
- package/dist/api/writeDocs.js +7 -9
- package/dist/errorReporter.js +10 -12
- package/dist/errors.js +2 -2
- package/dist/instrument.js +2 -4
- package/dist/rateLimit.js +7 -9
- package/dist/services/Emailer/Sendgrid.js +15 -22
- package/dist/services/Emailer/fake.js +5 -8
- package/dist/services/Emailer/service.d.ts +1 -1
- package/dist/services/Operations/live.js +24 -27
- package/dist/services/Operations/service.js +4 -6
- package/dist/services/Repository.d.ts +4 -4
- package/dist/services/Repository.js +22 -24
- package/dist/services/Store/Cosmos.d.ts +1 -1
- package/dist/services/Store/Cosmos.js +61 -63
- package/dist/services/Store/Disk.js +16 -19
- package/dist/services/Store/Memory.d.ts +1 -1
- package/dist/services/Store/Memory.js +16 -18
- package/dist/services/Store/Redis.d.ts +1 -1
- package/dist/services/Store/Redis.js +21 -24
- package/dist/services/Store/index.js +6 -8
- package/dist/services/Store/service.d.ts +1 -1
- package/dist/services/Store/service.js +3 -5
- package/dist/services/Store/utils.d.ts +2 -2
- package/dist/services/Store/utils.js +18 -19
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/cosmosdb.js +23 -25
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.js +18 -18
- package/dist/services/simpledb/memdb.d.ts +3 -3
- package/dist/services/simpledb/memdb.js +13 -14
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- package/dist/services/simpledb/mongodb.js +18 -20
- package/dist/services/simpledb/redisdb.d.ts +8 -8
- package/dist/services/simpledb/redisdb.js +21 -23
- package/dist/services/simpledb/shared.d.ts +9 -9
- package/dist/services/simpledb/shared.js +5 -7
- package/dist/services/simpledb/simpledb.d.ts +1 -1
- package/dist/services/simpledb/simpledb.js +19 -19
- package/package.json +12 -12
- package/tsconfig.json +5 -1
|
@@ -27,11 +27,11 @@ export type Request2<Path extends string, Method extends Methods, ReqA> = MO.Req
|
|
|
27
27
|
export type Encode<A, E> = (a: A) => E;
|
|
28
28
|
export declare function decodeErrors(x: unknown): unknown[];
|
|
29
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/io/Effect").Effect<never, ValidationError, {
|
|
30
|
-
body: import("@fp-ts/
|
|
31
|
-
cookie: import("@fp-ts/
|
|
32
|
-
headers: import("@fp-ts/
|
|
33
|
-
path: import("@fp-ts/
|
|
34
|
-
query: import("@fp-ts/
|
|
30
|
+
body: import("@fp-ts/core/Option").Option<BodyA>;
|
|
31
|
+
cookie: import("@fp-ts/core/Option").Option<CookieA>;
|
|
32
|
+
headers: import("@fp-ts/core/Option").Option<HeaderA>;
|
|
33
|
+
path: import("@fp-ts/core/Option").Option<PathA>;
|
|
34
|
+
query: import("@fp-ts/core/Option").Option<QueryA>;
|
|
35
35
|
}>;
|
|
36
36
|
export declare function respondSuccess<ReqA, A, E>(encodeResponse: (req: ReqA) => Encode<A, E>): (req: ReqA, res: express.Response) => (a: A) => import("@effect/io/Effect").Effect<never, never, void>;
|
|
37
37
|
export interface RequestHandlerOptRes<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, ResE> {
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "packages/infra/_src/api/express/schema/requestHandler.ts";
|
|
3
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
2
|
import * as tsplus_module_2 from "@effect/io/Exit";
|
|
5
3
|
import * as tsplus_module_3 from "@effect/io/Cause";
|
|
6
4
|
import * as tsplus_module_4 from "@effect-app/core/Function";
|
|
7
|
-
import * as tsplus_module_5 from "@fp-ts/
|
|
5
|
+
import * as tsplus_module_5 from "@fp-ts/core/Option";
|
|
8
6
|
import * as tsplus_module_6 from "@effect-app/core/Effect";
|
|
9
7
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
8
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
@@ -31,7 +29,38 @@ export function decodeErrors(x) {
|
|
|
31
29
|
// )
|
|
32
30
|
// const structValidation = DSL.structF(ValidationApplicative)
|
|
33
31
|
export function parseRequestParams(parsers) {
|
|
34
|
-
return ({ body, cookies, headers, params, query }) =>
|
|
32
|
+
return ({ body, cookies, headers, params, query }) => tsplus_module_1.flatMap(tsplus_module_1.struct({
|
|
33
|
+
body: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
|
|
34
|
+
.parseBody(body)), _ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
35
|
+
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
36
|
+
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
37
|
+
? { _tag: "Success", value: _.value }
|
|
38
|
+
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
39
|
+
cookie: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
|
|
40
|
+
.parseCookie(cookies)), _ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
41
|
+
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
42
|
+
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
43
|
+
? { _tag: "Success", value: _.value }
|
|
44
|
+
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
45
|
+
headers: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
|
|
46
|
+
.parseHeaders(headers)), _ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
47
|
+
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
48
|
+
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
49
|
+
? { _tag: "Success", value: _.value }
|
|
50
|
+
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
51
|
+
query: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
|
|
52
|
+
.parseQuery(query)), _ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
53
|
+
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
54
|
+
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
55
|
+
? { _tag: "Success", value: _.value }
|
|
56
|
+
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
57
|
+
path: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
|
|
58
|
+
.parsePath(params)), _ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
59
|
+
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
60
|
+
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
61
|
+
? { _tag: "Success", value: _.value }
|
|
62
|
+
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))
|
|
63
|
+
}), ({ body, cookie, headers, path, query }) => {
|
|
35
64
|
const errors = [];
|
|
36
65
|
if (body._tag === "Failure") {
|
|
37
66
|
errors.push(makeError("body")(body.errors));
|
|
@@ -49,47 +78,16 @@ export function parseRequestParams(parsers) {
|
|
|
49
78
|
errors.push(makeError("path")(path.errors));
|
|
50
79
|
}
|
|
51
80
|
if (errors.length) {
|
|
52
|
-
return
|
|
81
|
+
return tsplus_module_1.fail(new ValidationError(errors));
|
|
53
82
|
}
|
|
54
|
-
return
|
|
83
|
+
return tsplus_module_1.sync(() => ({
|
|
55
84
|
body: body.value,
|
|
56
85
|
cookie: cookie.value,
|
|
57
86
|
headers: headers.value,
|
|
58
87
|
path: path.value,
|
|
59
88
|
query: query.value
|
|
60
|
-
}))
|
|
61
|
-
})
|
|
62
|
-
body: tracer_1.withCallTrace(fileName_1 + ":75:15")(tsplus_module_1.flatMap(_ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
63
|
-
? tracer_1.withCallTrace(fileName_1 + ":77:23")(tsplus_module_1.failCauseSync(() => _.cause))
|
|
64
|
-
: tracer_1.withCallTrace(fileName_1 + ":78:15")(tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
65
|
-
? { _tag: "Success", value: _.value }
|
|
66
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))))(tsplus_module_1.exit(parsers
|
|
67
|
-
.parseBody(body))),
|
|
68
|
-
cookie: tracer_1.withCallTrace(fileName_1 + ":86:15")(tsplus_module_1.flatMap(_ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
69
|
-
? tracer_1.withCallTrace(fileName_1 + ":88:23")(tsplus_module_1.failCauseSync(() => _.cause))
|
|
70
|
-
: tracer_1.withCallTrace(fileName_1 + ":89:15")(tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
71
|
-
? { _tag: "Success", value: _.value }
|
|
72
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))))(tsplus_module_1.exit(parsers
|
|
73
|
-
.parseCookie(cookies))),
|
|
74
|
-
headers: tracer_1.withCallTrace(fileName_1 + ":97:15")(tsplus_module_1.flatMap(_ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
75
|
-
? tracer_1.withCallTrace(fileName_1 + ":99:23")(tsplus_module_1.failCauseSync(() => _.cause))
|
|
76
|
-
: tracer_1.withCallTrace(fileName_1 + ":100:15")(tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
77
|
-
? { _tag: "Success", value: _.value }
|
|
78
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))))(tsplus_module_1.exit(parsers
|
|
79
|
-
.parseHeaders(headers))),
|
|
80
|
-
query: tracer_1.withCallTrace(fileName_1 + ":108:15")(tsplus_module_1.flatMap(_ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
81
|
-
? tracer_1.withCallTrace(fileName_1 + ":110:23")(tsplus_module_1.failCauseSync(() => _.cause))
|
|
82
|
-
: tracer_1.withCallTrace(fileName_1 + ":111:15")(tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
83
|
-
? { _tag: "Success", value: _.value }
|
|
84
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))))(tsplus_module_1.exit(parsers
|
|
85
|
-
.parseQuery(query))),
|
|
86
|
-
path: tracer_1.withCallTrace(fileName_1 + ":119:15")(tsplus_module_1.flatMap(_ => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
87
|
-
? tracer_1.withCallTrace(fileName_1 + ":121:23")(tsplus_module_1.failCauseSync(() => _.cause))
|
|
88
|
-
: tracer_1.withCallTrace(fileName_1 + ":122:15")(tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
89
|
-
? { _tag: "Success", value: _.value }
|
|
90
|
-
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))))(tsplus_module_1.exit(parsers
|
|
91
|
-
.parsePath(params)))
|
|
92
|
-
})));
|
|
89
|
+
}));
|
|
90
|
+
});
|
|
93
91
|
}
|
|
94
92
|
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
93
|
// function mapErrors_<E, NE, NER extends Record<string, Effect<any, E, any>>>(
|
|
@@ -112,23 +110,23 @@ function makeError(type) {
|
|
|
112
110
|
return (e) => [{ type, errors: decodeErrors(e) }];
|
|
113
111
|
}
|
|
114
112
|
export function respondSuccess(encodeResponse) {
|
|
115
|
-
return (req, res) => tsplus_module_4.flow(encodeResponse(req), tsplus_module_1.succeed, _ =>
|
|
113
|
+
return (req, res) => tsplus_module_4.flow(encodeResponse(req), tsplus_module_1.succeed, _ => tsplus_module_1.flatMap(_, r => tsplus_module_1.sync(() => {
|
|
116
114
|
r === undefined
|
|
117
115
|
? res.status(204).send()
|
|
118
116
|
: res.status(200).send(r === null ? JSON.stringify(null) : r);
|
|
119
|
-
})))
|
|
117
|
+
})));
|
|
120
118
|
}
|
|
121
119
|
export function makeRequestParsers(Request) {
|
|
122
|
-
const ph =
|
|
123
|
-
const parseHeaders = (u) =>
|
|
124
|
-
const pq =
|
|
125
|
-
const parseQuery = (u) =>
|
|
126
|
-
const pb =
|
|
127
|
-
const parseBody = (u) =>
|
|
128
|
-
const pp =
|
|
129
|
-
const parsePath = (u) =>
|
|
130
|
-
const pc =
|
|
131
|
-
const parseCookie = (u) =>
|
|
120
|
+
const ph = tsplus_module_1.sync(() => tsplus_module_5.map(MO.condemn)(tsplus_module_5.map(Parser.for)(tsplus_module_5.map(s => s)(tsplus_module_5.fromNullable(Request.Headers)))));
|
|
121
|
+
const parseHeaders = (u) => tsplus_module_6.flatMapOpt(ph, d => d(u));
|
|
122
|
+
const pq = tsplus_module_1.sync(() => tsplus_module_5.map(MO.condemn)(tsplus_module_5.map(Parser.for)(tsplus_module_5.map(s => s)(tsplus_module_5.fromNullable(Request.Query)))));
|
|
123
|
+
const parseQuery = (u) => tsplus_module_6.flatMapOpt(pq, d => d(u));
|
|
124
|
+
const pb = tsplus_module_1.sync(() => tsplus_module_5.map(MO.condemn)(tsplus_module_5.map(Parser.for)(tsplus_module_5.map(s => s)(tsplus_module_5.fromNullable(Request.Body)))));
|
|
125
|
+
const parseBody = (u) => tsplus_module_6.flatMapOpt(pb, d => d(u));
|
|
126
|
+
const pp = tsplus_module_1.sync(() => tsplus_module_5.map(MO.condemn)(tsplus_module_5.map(Parser.for)(tsplus_module_5.map(s => s)(tsplus_module_5.fromNullable(Request.Path)))));
|
|
127
|
+
const parsePath = (u) => tsplus_module_6.flatMapOpt(pp, d => d(u));
|
|
128
|
+
const pc = tsplus_module_1.sync(() => tsplus_module_5.map(MO.condemn)(tsplus_module_5.map(Parser.for)(tsplus_module_5.map(s => s)(tsplus_module_5.fromNullable(Request.Cookie)))));
|
|
129
|
+
const parseCookie = (u) => tsplus_module_6.flatMapOpt(pc, d => d(u));
|
|
132
130
|
return {
|
|
133
131
|
parseBody,
|
|
134
132
|
parseCookie,
|
|
@@ -137,4 +135,4 @@ export function makeRequestParsers(Request) {
|
|
|
137
135
|
parseQuery
|
|
138
136
|
};
|
|
139
137
|
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9fc3JjL2FwaS9leHByZXNzL3NjaGVtYS9yZXF1ZXN0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQXdDcEQsb0RBQW9EO0FBQ3BELGlDQUFpQztBQUNqQyw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixtRUFBbUU7QUFDbkUsaUNBQWlDO0FBQ2pDLE1BQU07QUFDTixxQ0FBcUM7QUFDckMsSUFBSTtBQUNKLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBVTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDWixDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLCtGQUErRjtBQUMvRiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLElBQUk7QUFFSiw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUErRDtJQUUvRCxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFtQixFQUFFLEVBQUUsQ0FDcEUsd0JBQUEsdUJBQWM7UUFDWixJQUFJLEVBQUUsNkNBQUEsT0FBTzthQUNWLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FDRixDQUFDLENBQUMsRUFBRSxDQUNoQiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUEyQztZQUNoRixDQUFDLENBQUMsMkJBQ0EsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBUyxFQUFFLENBQ2xELENBQ0o7UUFDSCxNQUFNLEVBQUUsNkNBQUEsT0FBTzthQUNaLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FDUCxDQUFDLENBQUMsRUFBRSxDQUNoQiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUEyQztZQUNoRixDQUFDLENBQUMsMkJBQ0EsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBUyxFQUFFLENBQ2xELENBQ0o7UUFDSCxPQUFPLEVBQUUsNkNBQUEsT0FBTzthQUNiLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FDUixDQUFDLENBQUMsRUFBRSxDQUNoQiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUEyQztZQUNoRixDQUFDLENBQUMsMkJBQ0EsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBUyxFQUFFLENBQ2xELENBQ0o7UUFDSCxLQUFLLEVBQUUsNkNBQUEsT0FBTzthQUNYLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FDSixDQUFDLENBQUMsRUFBRSxDQUNoQiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUEyQztZQUNoRixDQUFDLENBQUMsMkJBQ0EsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBUyxFQUFFLENBQ2xELENBQ0o7UUFDSCxJQUFJLEVBQUUsNkNBQUEsT0FBTzthQUNWLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FDSixDQUFDLENBQUMsRUFBRSxDQUNoQiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUEyQztZQUNoRixDQUFDLENBQUMsMkJBQ0EsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBUyxFQUFFLENBQ2xELENBQ0o7S0FDSixDQUFDLEVBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFB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
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
const fileName_1 = "packages/infra/_src/api/express/schema/routing.ts";
|
|
3
|
-
import * as tsplus_module_1 from "@fp-ts/data/Option";
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/core/Option";
|
|
4
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
|
-
import * as tsplus_module_3 from "@
|
|
3
|
+
import * as tsplus_module_3 from "@fp-ts/core/Option";
|
|
6
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
5
|
import * as MO from "@effect-app/schema";
|
|
8
6
|
import { isObjectSchema } from "@effect-app/infra-adapters/Openapi/atlas-plutus";
|
|
@@ -24,16 +22,16 @@ export function makeFromSchema(e) {
|
|
|
24
22
|
const Res = r ? MO.extractSchema(r) : MO.Void;
|
|
25
23
|
// TODO EffectOpt.fromNullable(Req.Headers).flatMapOpt(jsonSchema)
|
|
26
24
|
// TODO: use the path vs body etc serialisation also in the Client.
|
|
27
|
-
const makeReqQuerySchema =
|
|
28
|
-
const makeReqHeadersSchema =
|
|
29
|
-
const makeReqCookieSchema =
|
|
30
|
-
const makeReqPathSchema =
|
|
31
|
-
const makeReqBodySchema =
|
|
25
|
+
const makeReqQuerySchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Query)), _ => tsplus_module_3.match(() => tsplus_module_2.sync(() => tsplus_module_1.none), _ => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some))(_));
|
|
26
|
+
const makeReqHeadersSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Headers)), _ => tsplus_module_3.match(() => tsplus_module_2.sync(() => tsplus_module_1.none), _ => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some))(_));
|
|
27
|
+
const makeReqCookieSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Cookie)), _ => tsplus_module_3.match(() => tsplus_module_2.sync(() => tsplus_module_1.none), _ => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some))(_));
|
|
28
|
+
const makeReqPathSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Path)), _ => tsplus_module_3.match(() => tsplus_module_2.sync(() => tsplus_module_1.none), _ => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some))(_));
|
|
29
|
+
const makeReqBodySchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Body)), _ => tsplus_module_3.match(() => tsplus_module_2.sync(() => tsplus_module_1.none), _ => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some))(_));
|
|
32
30
|
// const makeReqSchema = schema(Req)
|
|
33
31
|
const makeResSchema = jsonSchema_(Res);
|
|
34
32
|
function makeParameters(inn) {
|
|
35
33
|
return (a) => {
|
|
36
|
-
return
|
|
34
|
+
return tsplus_module_3.getOrElse(() => [])(tsplus_module_3.map(x => {
|
|
37
35
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
36
|
return Object.keys(x.properties).map(p => {
|
|
39
37
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -41,10 +39,18 @@ export function makeFromSchema(e) {
|
|
|
41
39
|
const required = Boolean(x.required?.includes(p));
|
|
42
40
|
return { name: p, in: inn, required, schema };
|
|
43
41
|
});
|
|
44
|
-
})(
|
|
42
|
+
})(tsplus_module_3.flatMap(o => (isObjectSchema(o) ? tsplus_module_3.some(o) : tsplus_module_1.none))(a)));
|
|
45
43
|
};
|
|
46
44
|
}
|
|
47
|
-
return
|
|
45
|
+
return tsplus_module_2.map(tsplus_module_2.struct({
|
|
46
|
+
req: jsonSchema(Req.Model),
|
|
47
|
+
reqQuery: makeReqQuerySchema,
|
|
48
|
+
reqHeaders: makeReqHeadersSchema,
|
|
49
|
+
reqBody: makeReqBodySchema,
|
|
50
|
+
reqPath: makeReqPathSchema,
|
|
51
|
+
reqCookie: makeReqCookieSchema,
|
|
52
|
+
res: makeResSchema
|
|
53
|
+
}), _ => {
|
|
48
54
|
// console.log("$$$ REQ", _.req)
|
|
49
55
|
const isEmpty = !e.handler.Response || e.handler.Response === MO.Void;
|
|
50
56
|
return {
|
|
@@ -60,7 +66,7 @@ export function makeFromSchema(e) {
|
|
|
60
66
|
...makeParameters("header")(_.reqHeaders),
|
|
61
67
|
...makeParameters("cookie")(_.reqCookie)
|
|
62
68
|
],
|
|
63
|
-
requestBody:
|
|
69
|
+
requestBody: tsplus_module_1.getOrUndefined(tsplus_module_3.map(schema => ({
|
|
64
70
|
content: { "application/json": { schema } }
|
|
65
71
|
}))(_.reqBody)),
|
|
66
72
|
responses: [
|
|
@@ -75,15 +81,7 @@ export function makeFromSchema(e) {
|
|
|
75
81
|
? [new Response(404, { description: "NotFoundError" })]
|
|
76
82
|
: [])
|
|
77
83
|
};
|
|
78
|
-
})
|
|
79
|
-
req: jsonSchema(Req.Model),
|
|
80
|
-
reqQuery: makeReqQuerySchema,
|
|
81
|
-
reqHeaders: makeReqHeadersSchema,
|
|
82
|
-
reqBody: makeReqBodySchema,
|
|
83
|
-
reqPath: makeReqPathSchema,
|
|
84
|
-
reqCookie: makeReqCookieSchema,
|
|
85
|
-
res: makeResSchema
|
|
86
|
-
})));
|
|
84
|
+
});
|
|
87
85
|
}
|
|
88
86
|
class Response {
|
|
89
87
|
constructor(statusCode, type // string | JSONSchema | SubSchema
|
|
@@ -92,4 +90,4 @@ class Response {
|
|
|
92
90
|
this.type = type;
|
|
93
91
|
}
|
|
94
92
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3Mvc2NoZW1hL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFJeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQ2hGLE9BQU8sS0FBSyxPQUFPLE1BQU0sMENBQTBDLENBQUE7QUFHbkUsTUFBTSxVQUFVLHFCQUFxQixDQUErQixDQUFJO0lBQ3RFLE9BQU8sQ0FBdUIsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxHQUFxQjtJQUVyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBa0NELE1BQU0sVUFBVSxtQkFBbUIsQ0FZakMsSUFBWSxFQUNaLE1BQWMsRUFDZCxPQVVDO0lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBVzdDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsQ0FBZ0U7SUFFaEUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtJQUMvQixNQUFNLFVBQVUsR0FBRyxDQUFPLENBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUE7SUFDbkUsTUFBTSxDQUFDLEdBQUcsZUFBZSxJQUFJLElBQUksQ0FBQTtJQUNqQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUE7SUFDN0Msa0VBQWtFO0lBQ2xFLG1FQUFtRTtJQUNuRSxNQUFNLGtCQUFrQixHQUFHLHdCQUFBLDJCQUFPLDZCQUFpQixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBUyxDQUFDLENBQUMsRUFBRSxDQUN6RSxzQkFDRSxHQUFHLEVBQUUsQ0FBQyxnREFBZ0IsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLHVCQUFjLEVBRmxDLENBQUMsQ0FHQSxDQUNGLENBQUE7SUFDRCxNQUFNLG9CQUFvQixHQUFHLHdCQUFBLDJCQUFPLDZCQUFpQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBUyxDQUFDLENBQUMsRUFBRSxDQUM3RSxzQkFDRSxHQUFHLEVBQUUsQ0FBQyxnREFBZ0IsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLHVCQUFjLEVBRmxDLENBQUMsQ0FHQSxDQUNGLENBQUE7SUFDRCxNQUFNLG1CQUFtQixHQUFHLHdCQUFBLDJCQUFPLDZCQUFpQixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBUyxDQUFDLENBQUMsRUFBRSxDQUMzRSxzQkFDRSxHQUFHLEVBQUUsQ0FBQyxnREFBZ0IsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLHVCQUFjLEVBRmxDLENBQUMsQ0FHQSxDQUNGLENBQUE7SUFDRCxNQUFNLGlCQUFpQixHQUFHLHdCQUFBLDJCQUFPLDZCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBUyxDQUFDLENBQUMsRUFBRSxDQUN2RSxzQkFDRSxHQUFHLEVBQUUsQ0FBQyxnREFBZ0IsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLHVCQUFjLEVBRmxDLENBQUMsQ0FHQSxDQUNGLENBQUE7SUFDRCxNQUFNLGlCQUFpQixHQUFHLHdCQUFBLDJCQUFPLDZCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBUyxDQUFDLENBQUMsRUFBRSxDQUN2RSxzQkFDRSxHQUFHLEVBQUUsQ0FBQyxnREFBZ0IsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLHVCQUFjLEVBRmxDLENBQUMsQ0FHQSxDQUNGLENBQUE7SUFDRCxvQ0FBb0M7SUFFcEMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXRDLFNBQVMsY0FBYyxDQUFDLEdBQXNCO1FBQzVDLE9BQU8sQ0FBQyxDQUE4QixFQUFFLEVBQUU7WUFDeEMsT0FBTywwQkFXTSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBWGQsb0JBRUEsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1Asb0VBQW9FO2dCQUNwRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDeEMsb0VBQW9FO29CQUNwRSxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUMvQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUE7Z0JBQy9DLENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxFQVZJLHdCQUNJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQVMsQ0FBQyxFQURoRCxDQUFDLENBQ2dELENBU3BELENBQ2tCLENBQUE7UUFDeEIsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sb0JBQUEsdUJBQWM7UUFDbkIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQzFCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsU0FBUyxFQUFFLG1CQUFtQjtRQUM5QixHQUFHLEVBQUUsYUFBYTtLQUNuQixDQUFDLEVBQUssQ0FBQyxDQUFDLEVBQUU7UUFDVCxnQ0FBZ0M7UUFDaEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFBO1FBQ3JFLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7WUFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDOUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSTtZQUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXO1lBQy9CLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU87WUFDdkIsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSztZQUN6QixVQUFVLEVBQUU7Z0JBQ1YsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDcEMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDdEMsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDekMsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUN6QztZQUNELFdBQVcsaUNBQUUsb0JBQWMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNwQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFO2FBQzVDLENBQUMsRUFGVyxDQUFDLENBQUMsT0FBTyxDQUVuQixDQUFNO1lBQ1QsU0FBUyxFQUFFO2dCQUNULE9BQU87b0JBQ0wsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztvQkFDN0MsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTt3QkFDbEIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtxQkFDbkQsQ0FBQztnQkFDSixJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQzthQUN0RCxDQUFDLE1BQU0sQ0FDTixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPO2dCQUM3QixDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLEVBQUUsQ0FDUDtTQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLFFBQVE7SUFDWixZQUNrQixVQUFrQixFQUNsQixJQUFTLENBQUMsa0NBQWtDOztRQUQ1QyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQUs7SUFDeEIsQ0FBQztDQUNMIn0=
|
package/dist/api/reportError.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "packages/infra/_src/api/reportError.ts";
|
|
3
1
|
import * as tsplus_module_1 from "@effect-app/infra/RequestContext";
|
|
4
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
3
|
import * as tsplus_module_3 from "@effect/io/Cause";
|
|
@@ -12,19 +10,9 @@ export class RequestException extends CauseException {
|
|
|
12
10
|
}
|
|
13
11
|
}
|
|
14
12
|
export const reportRequestError_ = reportError(cause => new RequestException(cause));
|
|
15
|
-
export const reportRequestError = (cause, context) =>
|
|
13
|
+
export const reportRequestError = (cause, context) => tsplus_module_2.serviceWithEffect(tsplus_module_1.tag, requestContext => reportRequestError_(cause, { requestContext, ...context }));
|
|
16
14
|
export const logRequestError_ = logError(cause => new RequestException(cause));
|
|
17
|
-
export const logRequestError = (cause, context) =>
|
|
18
|
-
/**
|
|
19
|
-
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
20
|
-
* new fiber is attached to the global scope, when the fiber executing the
|
|
21
|
-
* returned effect terminates, the forked fiber will continue running.
|
|
22
|
-
*
|
|
23
|
-
* Reports errors.
|
|
24
|
-
*
|
|
25
|
-
* @tsplus getter effect/io/Effect forkDaemonReportRequest
|
|
26
|
-
*/
|
|
27
|
-
);
|
|
15
|
+
export const logRequestError = (cause, context) => tsplus_module_2.serviceWithEffect(tsplus_module_1.tag, requestContext => logRequestError_(cause, { requestContext, ...context }));
|
|
28
16
|
/**
|
|
29
17
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
30
18
|
* new fiber is attached to the global scope, when the fiber executing the
|
|
@@ -35,7 +23,7 @@ export const logRequestError = (cause, context) => tracer_1.withCallTrace(fileNa
|
|
|
35
23
|
* @tsplus getter effect/io/Effect forkDaemonReportRequest
|
|
36
24
|
*/
|
|
37
25
|
export function forkDaemonReportRequest(self) {
|
|
38
|
-
return tsplus_module_2.daemonChildren(tsplus_module_2.fork(
|
|
26
|
+
return tsplus_module_2.daemonChildren(tsplus_module_2.fork(tsplus_module_2.tapErrorCause(self, reportRequestError)));
|
|
39
27
|
}
|
|
40
28
|
/**
|
|
41
29
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
@@ -47,8 +35,8 @@ export function forkDaemonReportRequest(self) {
|
|
|
47
35
|
* @tsplus getter effect/io/Effect forkDaemonReportRequestUnexpected
|
|
48
36
|
*/
|
|
49
37
|
export function forkDaemonReportRequestUnexpected(self) {
|
|
50
|
-
return tsplus_module_2.daemonChildren(tsplus_module_2.fork(
|
|
38
|
+
return tsplus_module_2.daemonChildren(tsplus_module_2.fork(tsplus_module_2.tapErrorCause(self, cause => tsplus_module_3.isInterruptedOnly(cause) || tsplus_module_3.isDie(cause)
|
|
51
39
|
? reportRequestError(cause)
|
|
52
|
-
: logRequestError(cause)))
|
|
40
|
+
: logRequestError(cause))));
|
|
53
41
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9yZXBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBK0Isc0JBQXNCLENBQUE7QUFFckQsTUFBTSxPQUFPLGdCQUFvQixTQUFRLGNBQWlCO0lBQ3hELFlBQVksS0FBZTtRQUN6QixLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7Q0FDRjtBQUNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUVwRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBNkMsRUFBRSxFQUFFLENBQ3pHLHVEQUFvQyxjQUFjLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUVuSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFFOUUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUE2QyxFQUFFLEVBQUUsQ0FDdEcsdURBQW9DLGNBQWMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRWhIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFVLElBQXFCO0lBQ3BFLDJEQUFPLDhCQUFBLElBQUksRUFBZSxrQkFBa0IsQ0FBQyxHQUN2QjtBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQVUsSUFBcUI7SUFDOUUsMkRBQU8sOEJBQUEsSUFBSSxFQUFlLEtBQUssQ0FBQyxFQUFFLENBQ2hDLGtDQUFBLEtBQUssQ0FBb0IsSUFBSSxzQkFBQSxLQUFLLENBQVE7UUFDeEMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUMzQixHQUNxQjtBQUN4QixDQUFDIn0=
|