@effect-app/infra 0.133.0-next.50 → 0.133.0-next.52

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/_cjs/api/http.cjs +42 -0
  3. package/_cjs/api/http.cjs.map +1 -0
  4. package/_cjs/api/routing/base.cjs +169 -0
  5. package/_cjs/api/routing/base.cjs.map +1 -0
  6. package/_cjs/api/routing/defaultErrorHandler.cjs +50 -0
  7. package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -0
  8. package/_cjs/api/routing/makeRequestHandler.cjs +134 -0
  9. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -0
  10. package/_cjs/api/routing/match.cjs +45 -0
  11. package/_cjs/api/routing/match.cjs.map +1 -0
  12. package/_cjs/api/routing.cjs +50 -0
  13. package/_cjs/api/routing.cjs.map +1 -0
  14. package/_src/api/http.ts +26 -0
  15. package/_src/api/routing/base.ts +476 -0
  16. package/_src/api/routing/defaultErrorHandler.ts +83 -0
  17. package/_src/api/routing/makeRequestHandler.ts +278 -0
  18. package/_src/api/routing/match.ts +119 -0
  19. package/_src/api/routing.ts +11 -0
  20. package/dist/api/http.d.ts +16 -0
  21. package/dist/api/http.d.ts.map +1 -0
  22. package/dist/api/http.js +12 -0
  23. package/dist/api/routing/base.d.ts +117 -0
  24. package/dist/api/routing/base.d.ts.map +1 -0
  25. package/dist/api/routing/base.js +137 -0
  26. package/dist/api/routing/defaultErrorHandler.d.ts +16 -0
  27. package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -0
  28. package/dist/api/routing/defaultErrorHandler.js +42 -0
  29. package/dist/api/routing/makeRequestHandler.d.ts +20 -0
  30. package/dist/api/routing/makeRequestHandler.d.ts.map +1 -0
  31. package/dist/api/routing/makeRequestHandler.js +121 -0
  32. package/dist/api/routing/match.d.ts +12 -0
  33. package/dist/api/routing/match.d.ts.map +1 -0
  34. package/dist/api/routing/match.js +31 -0
  35. package/dist/api/routing.d.ts +5 -0
  36. package/dist/api/routing.d.ts.map +1 -0
  37. package/dist/api/routing.js +8 -0
  38. package/dist/services/Repository.d.ts +2 -2
  39. package/dist/services/Repository.d.ts.map +1 -1
  40. package/package.json +67 -5
@@ -0,0 +1,137 @@
1
+ import * as tsplus_module_1 from "effect/Effect";
2
+ import * as tsplus_module_2 from "effect/Exit";
3
+ import * as tsplus_module_3 from "effect/Cause";
4
+ import * as tsplus_module_4 from "@effect-app/core/Function";
5
+ import * as tsplus_module_5 from "effect/Option";
6
+ import * as tsplus_module_6 from "@effect-app/core/Effect";
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ /* eslint-disable @typescript-eslint/ban-types */
9
+ import * as S from "@effect-app/schema";
10
+ import { ValidationError } from "@effect-app/infra/errors";
11
+ // function getErrorMessage(current: ContextEntry) {
12
+ // switch (current.type.name) {
13
+ // case "NonEmptyString":
14
+ // return "Must not be empty"
15
+ // }
16
+ // if (current.type.name?.startsWith("NonEmptyReadonlyArray<")) {
17
+ // return "Must not be empty"
18
+ // }
19
+ // return `Invalid value specified`
20
+ // }
21
+ export function decodeErrors(x) {
22
+ return [x];
23
+ }
24
+ // const ValidationApplicative = Effect.getValidationApplicative(
25
+ // makeAssociative<ReadonlyArray<{ type: string; errors: ReturnType<typeof decodeErrors> }>>(
26
+ // (l, r) => l.concat(r)
27
+ // )
28
+ // )
29
+ // const structValidation = DSL.structF(ValidationApplicative)
30
+ export function parseRequestParams(parsers) {
31
+ return ({ body, cookies, headers, params, query }) => tsplus_module_1.flatMap(tsplus_module_1.all({
32
+ body: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
33
+ .parseBody(body)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
34
+ ? tsplus_module_1.failCauseSync(() => _.cause)
35
+ : tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
36
+ ? { _tag: "Success", value: _.value }
37
+ : { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
38
+ cookie: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
39
+ .parseCookie(cookies)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
40
+ ? tsplus_module_1.failCauseSync(() => _.cause)
41
+ : tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
42
+ ? { _tag: "Success", value: _.value }
43
+ : { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
44
+ headers: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
45
+ .parseHeaders(headers)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
46
+ ? tsplus_module_1.failCauseSync(() => _.cause)
47
+ : tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
48
+ ? { _tag: "Success", value: _.value }
49
+ : { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
50
+ query: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
51
+ .parseQuery(query)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
52
+ ? tsplus_module_1.failCauseSync(() => _.cause)
53
+ : tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
54
+ ? { _tag: "Success", value: _.value }
55
+ : { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
56
+ path: tsplus_module_1.flatMap(tsplus_module_1.exit(parsers
57
+ .parsePath(params)), (_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
58
+ ? tsplus_module_1.failCauseSync(() => _.cause)
59
+ : tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
60
+ ? { _tag: "Success", value: _.value }
61
+ : { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))
62
+ }), ({ body, cookie, headers, path, query }) => {
63
+ const errors = [];
64
+ if (body._tag === "Failure") {
65
+ errors.push(makeError("body")(body.errors));
66
+ }
67
+ if (cookie._tag === "Failure") {
68
+ errors.push(makeError("cookie")(cookie.errors));
69
+ }
70
+ if (headers._tag === "Failure") {
71
+ errors.push(makeError("headers")(headers.errors));
72
+ }
73
+ if (path._tag === "Failure") {
74
+ errors.push(makeError("path")(path.errors));
75
+ }
76
+ if (query._tag === "Failure") {
77
+ errors.push(makeError("query")(query.errors));
78
+ }
79
+ if (errors.length) {
80
+ return new ValidationError({ errors });
81
+ }
82
+ return tsplus_module_1.sync(() => ({
83
+ body: body.value,
84
+ cookie: cookie.value,
85
+ headers: headers.value,
86
+ path: path.value,
87
+ query: query.value
88
+ }));
89
+ });
90
+ }
91
+ // // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
+ // function mapErrors_<E, NE, NER extends Record<string, Effect<any, E, any>>>(
93
+ // t: NER, // TODO: enforce non empty
94
+ // mapErrors: (k: keyof NER) => (err: E) => NE
95
+ // ): {
96
+ // [K in keyof NER]: Effect<_R<NER[K]>, NE, Effect.Success<NER[K]>>
97
+ // } {
98
+ // return typedKeysOf(t).reduce(
99
+ // (prev, cur) => {
100
+ // prev[cur] = t[cur].mapError(mapErrors(cur))
101
+ // return prev
102
+ // },
103
+ // {} as {
104
+ // [K in keyof NER]: Effect<_R<NER[K]>, NE, Effect.Success<NER[K]>>
105
+ // }
106
+ // )
107
+ // }
108
+ function makeError(type) {
109
+ return (e) => [{ type, errors: decodeErrors(e) }];
110
+ }
111
+ export function respondSuccess(encodeResponse) {
112
+ return (req, res) => tsplus_module_4.flow(encodeResponse(req), tsplus_module_1.succeed, (_) => tsplus_module_1.flatMap(_, (r) => tsplus_module_1.sync(() => {
113
+ r === undefined
114
+ ? res.status(204).send()
115
+ : res.status(200).send(JSON.stringify(r));
116
+ })));
117
+ }
118
+ export function makeRequestParsers(Request) {
119
+ const ph = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Headers), (s) => s), S.parse));
120
+ const parseHeaders = (u) => tsplus_module_6.flatMapOption(ph, (d) => d(u));
121
+ const pq = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Query), (s) => s), S.parse));
122
+ const parseQuery = (u) => tsplus_module_6.flatMapOption(pq, (d) => d(u));
123
+ const pb = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Body), (s) => s), S.parse));
124
+ const parseBody = (u) => tsplus_module_6.flatMapOption(pb, (d) => d(u));
125
+ const pp = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Path), (s) => s), S.parse));
126
+ const parsePath = (u) => tsplus_module_6.flatMapOption(pp, (d) => d(u));
127
+ const pc = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Cookie), (s) => s), S.parse));
128
+ const parseCookie = (u) => tsplus_module_6.flatMapOption(pc, (d) => d(u));
129
+ return {
130
+ parseBody,
131
+ parseCookie,
132
+ parseHeaders,
133
+ parsePath,
134
+ parseQuery
135
+ };
136
+ }
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL3JvdXRpbmcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFFdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxDQUFDLE1BQU0sb0JBQW9CLENBQUE7QUFHdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBb0cxRCxvREFBb0Q7QUFDcEQsaUNBQWlDO0FBQ2pDLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFDbkMsTUFBTTtBQUNOLG1FQUFtRTtBQUNuRSxpQ0FBaUM7QUFDakMsTUFBTTtBQUNOLHFDQUFxQztBQUNyQyxJQUFJO0FBQ0osTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFVO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNaLENBQUM7QUFFRCxpRUFBaUU7QUFDakUsK0ZBQStGO0FBQy9GLDRCQUE0QjtBQUM1QixNQUFNO0FBQ04sSUFBSTtBQUVKLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsa0JBQWtCLENBT2hDLE9BQStEO0lBRS9ELE9BQU8sQ0FDTCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBTXRDLEVBQ0QsRUFBRSxDQUNGLHdCQUFBLG9CQUNPO1FBQ0gsSUFBSSxFQUFFLDZDQUFBLE9BQU87YUFDVixTQUFTLENBQUMsSUFBSSxDQUFDLEdBRVAsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLDBCQUFBLENBQUMsQ0FBWSxJQUFJLENBQUMsMEJBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBWTtZQUNuQyxDQUFDLENBQUUsOEJBQXFCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQTJDO1lBQ2hGLENBQUMsQ0FBQywyQkFDQSwwQkFBQSxDQUFDLENBQVk7Z0JBQ1gsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQWtCLEVBQUUs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QyxPQWVZO0lBRVosTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDekIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQWdDLENBQUMsRUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoQixDQUFBO0lBQ0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFL0QsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDdkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQWdDLENBQUMsRUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoQixDQUFBO0lBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQWdDLENBQUMsRUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoQixDQUFBO0lBQ0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFNUQsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQWdDLENBQUMsRUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoQixDQUFBO0lBQ0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFNUQsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDeEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQWdDLENBQUMsRUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNoQixDQUFBO0lBQ0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFOUQsT0FBTztRQUNMLFNBQVM7UUFDVCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxVQUFVO0tBQ1gsQ0FBQTtBQUNILENBQUMifQ==
@@ -0,0 +1,16 @@
1
+ import { Data } from "effect/Data";
2
+ import { Effect } from "effect/Effect";
3
+ import type { SupportedErrors, ValidationError } from "@effect-app/prelude/client/errors";
4
+ import { type HttpServerRequest, type HttpServerResponse } from "../http.js";
5
+ import type { InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError as JWTUnauthorizedError } from "express-oauth2-jwt-bearer";
6
+ declare const JWTError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => import("effect/Data").Data<Readonly<A> & {
7
+ readonly _tag: "JWTError";
8
+ }>;
9
+ export declare class JWTError extends JWTError_base<{
10
+ error: InsufficientScopeError | InvalidRequestError | InvalidTokenError | JWTUnauthorizedError;
11
+ }> {
12
+ }
13
+ export declare function defaultBasicErrorHandler<R>(_req: HttpServerRequest, res: HttpServerResponse, r2: Effect<R, ValidationError, HttpServerResponse>): import("effect/Effect").Effect<R, never, HttpServerResponse>;
14
+ export declare function defaultErrorHandler<R>(req: HttpServerRequest, res: HttpServerResponse, r2: Effect<R, SupportedErrors | JWTError, HttpServerResponse>): import("effect/Effect").Effect<R, never, HttpServerResponse>;
15
+ export {};
16
+ //# sourceMappingURL=defaultErrorHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultErrorHandler.d.ts","sourceRoot":"","sources":["../../../_src/api/routing/defaultErrorHandler.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACzF,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEnG,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,IAAI,oBAAoB,EAC1C,MAAM,2BAA2B,CAAA;;;;AAElC,qBAAa,QAAS,SAAQ,cAA6B;IACzD,KAAK,EACD,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,oBAAoB,CAAA;CACzB,CAAC;CAAG;AAIL,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,kBAAkB,EACvB,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,CAAC,gEAenD;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,kBAAkB,CAAC,gEAmC9D"}
@@ -0,0 +1,42 @@
1
+ import * as tsplus_module_1 from "effect/Data";
2
+ import * as tsplus_module_2 from "@effect/platform/Http/Body";
3
+ import * as tsplus_module_3 from "@effect/platform/Http/ServerResponse";
4
+ import * as tsplus_module_4 from "effect/Effect";
5
+ import * as tsplus_module_5 from "effect/Cause";
6
+ import * as tsplus_module_6 from "effect/Schedule";
7
+ import { logError } from "@effect-app/infra/errorReporter";
8
+ import { HttpHeaders } from "../http.js";
9
+ export class JWTError extends tsplus_module_1.TaggedClass("JWTError") {
10
+ }
11
+ const logRequestError = logError("Request");
12
+ export function defaultBasicErrorHandler(_req, res, r2) {
13
+ const sendError = (code) => (body) => tsplus_module_4.sync(() => tsplus_module_3.setStatus(code)(tsplus_module_3.setBody(res, tsplus_module_2.unsafeJson(body))));
14
+ return tsplus_module_4.catchAll(tsplus_module_4.catchTag(tsplus_module_4.tapErrorCause(r2, (cause) => tsplus_module_5.isFailure(cause) ? logRequestError(cause) : tsplus_module_4.unit), "ValidationError", (err) => sendError(400)(err.errors))
15
+ // final catch all; expecting never so that unhandled known errors will show up
16
+ , (err) => tsplus_module_4.flatMap(tsplus_module_4.map(tsplus_module_4.logError("Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect" + err), () => err), tsplus_module_4.die));
17
+ }
18
+ const optimisticConcurrencySchedule = tsplus_module_6.intersect(tsplus_module_6.recurWhile((a) => a._tag === "OptimisticConcurrencyException"))(tsplus_module_6.once);
19
+ export function defaultErrorHandler(req, res, r2) {
20
+ const r3 = req.method === "PATCH"
21
+ ? tsplus_module_4.retry(r2, optimisticConcurrencySchedule)
22
+ : r2;
23
+ const sendError = (code) => (body) => tsplus_module_4.sync(() => tsplus_module_3.setBody(tsplus_module_3.setStatus(code)(res), tsplus_module_2.unsafeJson(body)));
24
+ return tsplus_module_4.catchAll(tsplus_module_4.catchTags(tsplus_module_4.tapErrorCause(r3, (cause) => tsplus_module_5.isFailure(cause) ? logRequestError(cause) : tsplus_module_4.unit), {
25
+ "JWTError": (err) => tsplus_module_4.succeed(tsplus_module_3.unsafeJson({ message: err.error.message }, {
26
+ status: err
27
+ .error
28
+ .status,
29
+ headers: HttpHeaders.fromInput(err.error.headers)
30
+ })),
31
+ "ValidationError": (err) => sendError(400)(err.errors),
32
+ "NotFoundError": sendError(404),
33
+ "NotLoggedInError": sendError(401),
34
+ "UnauthorizedError": sendError(403),
35
+ "InvalidStateError": sendError(422),
36
+ // 412 or 409.. https://stackoverflow.com/questions/19122088/which-http-status-code-to-use-to-reject-a-put-due-to-optimistic-locking-failure
37
+ "OptimisticConcurrencyException": sendError(412)
38
+ })
39
+ // final catch all; expecting never so that unhandled known errors will show up
40
+ , (err) => tsplus_module_4.flatMap(tsplus_module_4.map(tsplus_module_4.logError("Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect" + err), () => err), tsplus_module_4.die));
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdEVycm9ySGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL3JvdXRpbmcvZGVmYXVsdEVycm9ySGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFMUQsT0FBTyxFQUFZLFdBQVcsRUFBbUQsTUFBTSxZQUFZLENBQUE7QUFTbkcsTUFBTSxPQUFPLFFBQVMsU0FBUSw0QkFBaUIsVUFBVSxDQU12RDtDQUFHO0FBRUwsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRTNDLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsSUFBdUIsRUFDdkIsR0FBdUIsRUFDdkIsRUFBa0Q7SUFFbEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FBQywyQkFBTywwQkFBaUQsSUFBSSxFQUFyRCx3QkFBQSxHQUFHLEVBQVMsMkJBQW9CLElBQUksQ0FBQyxDQUFDLENBQWdCLENBQUMsQ0FBQTtJQUNySCxPQUFPLHlCQUFBLHlCQUFBLDhCQUFBLEVBQUUsRUFDUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsMEJBQUEsS0FBSyxDQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFZLENBQUMsRUFDekUsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsK0VBQStFO01BQ3JFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FDdkIsd0JBQUEsb0JBQUEseUJBRUksZ0dBQWdHLEdBQUcsR0FBRyxDQUN2RyxFQUNJLEdBQUcsRUFBRSxDQUFDLEdBQWMsQ0FBQyxzQkFDTixDQUN2QixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sNkJBQTZCLDZCQUM5QiwyQkFBZ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssZ0NBQWdDLENBQUMsdUJBQUEsQ0FBQTtBQUV4RyxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEdBQXNCLEVBQ3RCLEdBQXVCLEVBQ3ZCLEVBQTZEO0lBRTdELE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssT0FBTztRQUMvQixDQUFDLENBQUMsc0JBQUEsRUFBRSxFQUFPLDZCQUE2QixDQUFDO1FBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDTixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFhLEVBQUUsRUFBRSxDQUFDLDJCQUFPLHdCQUFBLDBCQUFjLElBQUksRUFBbEIsR0FBRyxDQUFnQixFQUFTLDJCQUFvQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckgsT0FBTyx5QkFBQSwwQkFBQSw4QkFBQSxFQUFFLEVBQ1EsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLDBCQUFBLEtBQUssQ0FBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBWSxDQUFDLEVBQ3hFO1FBQ1QsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDbEIsd0JBQ0UsMkJBQThCLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxFQUFFLEdBQUc7aUJBQ1IsS0FBSztpQkFDTCxNQUFNO1lBQ1QsT0FBTyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDbEQsQ0FBQyxDQUNIO1FBQ0gsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3RELGVBQWUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQy9CLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFDbEMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQztRQUNuQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQ25DLDRJQUE0STtRQUM1SSxnQ0FBZ0MsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO0tBQ2pELENBQUM7SUFDRiwrRUFBK0U7TUFDckUsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUN2Qix3QkFBQSxvQkFBQSx5QkFFSSxnR0FBZ0csR0FBRyxHQUFHLENBQ3ZHLEVBQ0ksR0FBRyxFQUFFLENBQUMsR0FBYyxDQUFDLHNCQUNOLENBQ3ZCLENBQUE7QUFDTCxDQUFDIn0=
@@ -0,0 +1,20 @@
1
+ import { Layer } from "effect/Layer";
2
+ import { Effect } from "effect/Effect";
3
+ import { Schema } from "@effect-app/schema";
4
+ import type { EnforceNonEmptyRecord } from "@effect-app/core/utils";
5
+ import type { ValidationError } from "@effect-app/infra/errors";
6
+ import type { RequestContextContainer } from "@effect-app/infra/services/RequestContextContainer";
7
+ import type { ContextMapContainer } from "@effect-app/infra/services/Store/ContextMapContainer";
8
+ import type { StructFields } from "@effect-app/schema";
9
+ import type { HttpRequestError } from "../http.js";
10
+ import { HttpRouteContext, HttpServerRequest, HttpServerResponse } from "../http.js";
11
+ import type { RequestHandler, RequestHandlerBase } from "./base.js";
12
+ export declare const RequestSettings: import("effect/FiberRef").FiberRef<{
13
+ verbose: boolean;
14
+ }>;
15
+ export type Middleware<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, ResE, MiddlewareE, PPath extends `/${string}`, R2, PR, CTX, Context, Config> = (handler: RequestHandler<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, PPath, CTX, Context, Config>) => {
16
+ handler: RequestHandler<Exclude<R2, HttpServerRequest> | PR | RequestContextContainer | ContextMapContainer, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, PPath, CTX, Context, Config>;
17
+ makeRequestLayer: Layer<R2, MiddlewareE, PR>;
18
+ };
19
+ export declare function makeRequestHandler<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, ResE, MiddlewareE, R2, PR, RErr, PPath extends `/${string}`, Config>(handler: RequestHandlerBase<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, PPath, Config>, errorHandler: <R>(req: HttpServerRequest, res: HttpServerResponse, r2: Effect<R, ValidationError | ResE | MiddlewareE, HttpServerResponse>) => Effect<RErr | R, never, HttpServerResponse>, middlewareLayer?: Layer<R2, MiddlewareE, PR>): Effect<HttpRouteContext | HttpServerRequest | RequestContextContainer | ContextMapContainer | RErr | Exclude<Exclude<R, EnforceNonEmptyRecord<M>>, PR> | R2, HttpRequestError, HttpServerResponse>;
20
+ //# sourceMappingURL=makeRequestHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeRequestHandler.d.ts","sourceRoot":"","sources":["../../../_src/api/routing/makeRequestHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import * as tsplus_module_1 from "effect/FiberRef";
2
+ import * as tsplus_module_2 from "@effect-app/schema";
3
+ import * as tsplus_module_3 from "@effect/schema/Parser";
4
+ import * as tsplus_module_4 from "effect/Effect";
5
+ import * as tsplus_module_5 from "@effect-app/core/Option";
6
+ import * as tsplus_module_6 from "@effect-app/prelude/utils";
7
+ import * as tsplus_module_7 from "@effect/platform/Http/ServerResponse";
8
+ import * as tsplus_module_8 from "@effect/platform/Http/Body";
9
+ import * as tsplus_module_9 from "@effect-app/infra/api/setupRequest";
10
+ import { pretty } from "@effect-app/core/utils";
11
+ import { snipString } from "@effect-app/infra/api/util";
12
+ import { reportError } from "@effect-app/infra/errorReporter";
13
+ import { AST } from "@effect-app/schema";
14
+ import { HttpRouteContext, HttpServerRequest } from "../http.js";
15
+ import { makeRequestParsers, parseRequestParams } from "./base.js";
16
+ export const RequestSettings = tsplus_module_1.unsafeMake({
17
+ verbose: false
18
+ });
19
+ export function makeRequestHandler(handler, errorHandler, middlewareLayer) {
20
+ const { Request, Response, h: handle } = handler;
21
+ const response = Response ? Response : tsplus_module_2.Void;
22
+ const resp = response;
23
+ // TODO: consider if the alternative of using the struct schema is perhaps just better.
24
+ const encoder = "struct" in resp && resp.struct
25
+ ? tsplus_module_3.encodeSync(resp.struct)
26
+ // ? (i: any) => {
27
+ // if (i instanceof (response as any)) return response.encodeSync(i)
28
+ // else return response.encodeSync(new (response as any)(i))
29
+ // }
30
+ : tsplus_module_3.encodeSync(resp);
31
+ // const encodeResponse = adaptResponse
32
+ // ? (req: ReqA) => Encoder.for(adaptResponse(req))
33
+ // : () => encoder
34
+ const requestParsers = makeRequestParsers(Request);
35
+ const parseRequest = parseRequestParams(requestParsers);
36
+ const getParams = tsplus_module_4.map(tsplus_module_4.all({
37
+ rcx: HttpRouteContext,
38
+ req: tsplus_module_4.flatMap(HttpServerRequest, (req) => tsplus_module_4.map(req.json, (body) => ({ body, headers: req.headers })))
39
+ }), ({ rcx, req }) => ({
40
+ params: rcx.params,
41
+ query: rcx.searchParams,
42
+ body: req.body,
43
+ headers: req.headers,
44
+ cookies: {} // req.cookies
45
+ }));
46
+ return tsplus_module_9.updateRequestContext(tsplus_module_4.gen(function* ($) {
47
+ const req = yield* $(HttpServerRequest);
48
+ const res = tsplus_module_7.empty()
49
+ .pipe((_) => req.method === "GET" ? tsplus_module_7.setHeader(_, "Cache-Control", "no-store") : _);
50
+ const pars = yield* $(getParams);
51
+ const settings = yield* $(tsplus_module_1.get(RequestSettings));
52
+ const eff =
53
+ // TODO: we don;t have access to user id here cause context is not yet created
54
+ tsplus_module_4.tap(tsplus_module_4.catchAllCause(tsplus_module_4.andThen(tsplus_module_4.annotateLogs(tsplus_module_4.logInfo("Incoming request"), {
55
+ method: req.method,
56
+ path: req.originalUrl,
57
+ ...settings.verbose
58
+ ? {
59
+ reqPath: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.params)),
60
+ reqQuery: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.query)),
61
+ reqBody: pretty(pars.body),
62
+ reqCookies: pretty(pars.cookies),
63
+ reqHeaders: pretty(pars.headers)
64
+ }
65
+ : undefined
66
+ }), tsplus_module_4.suspend(() => {
67
+ const handleRequest = tsplus_module_4.flatMap(tsplus_module_4.map(parseRequest(pars), ({ body, path, query }) => {
68
+ const hn = {
69
+ ...tsplus_module_5.getOrUndefined(body),
70
+ ...tsplus_module_5.getOrUndefined(query),
71
+ ...tsplus_module_5.getOrUndefined(path)
72
+ };
73
+ return hn;
74
+ }), (parsedReq) => tsplus_module_4.map(tsplus_module_4.map(tsplus_module_4.provideService(handle(parsedReq), handler.Request.Tag, parsedReq), encoder), (r) => tsplus_module_7.setStatus(r === undefined ? 204 : 200)(tsplus_module_7.setBody(res, tsplus_module_8.unsafeJson(r)))));
75
+ // Commands should not be interruptable.
76
+ const r = req.method !== "GET" ? tsplus_module_4.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
77
+ const r2 = middlewareLayer
78
+ ? tsplus_module_4.provide(r, middlewareLayer)
79
+ // PR is not relevant here
80
+ : r;
81
+ return errorHandler(req, res, r2);
82
+ })), (cause) => tsplus_module_4.tapErrorCause(tsplus_module_4.tap(tsplus_module_4.sync(() => tsplus_module_7.setStatus(500)(res)), (res) => tsplus_module_4.all([
83
+ reportError("request")(cause, {
84
+ path: req.originalUrl,
85
+ method: req.method
86
+ }),
87
+ tsplus_module_4.suspend(() => {
88
+ const headers = res.headers;
89
+ return tsplus_module_4.annotateLogs(tsplus_module_4.logError("Finished request", cause), {
90
+ method: req.method,
91
+ path: req.originalUrl,
92
+ statusCode: res.status.toString(),
93
+ reqPath: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.params)),
94
+ reqQuery: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.query)),
95
+ reqBody: pretty(pars.body),
96
+ reqCookies: pretty(pars.cookies),
97
+ reqHeaders: pretty(pars.headers),
98
+ resHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(Object
99
+ .entries(headers)
100
+ .reduce((prev, [key, value]) => {
101
+ prev[key] = value && typeof value === "string" ? snipString(value) : value;
102
+ return prev;
103
+ }, {})))
104
+ });
105
+ })
106
+ ], { concurrency: "inherit" })), (cause) => tsplus_module_4.sync(() => console.error("Error occurred while reporting error", cause)))), tsplus_module_4.annotateLogs(tsplus_module_4.logInfo("Finished request"), {
107
+ method: req.method,
108
+ path: req.originalUrl,
109
+ statusCode: res.status.toString(),
110
+ ...settings.verbose
111
+ ? {
112
+ resHeaders: pretty(res.headers)
113
+ }
114
+ : undefined
115
+ }));
116
+ return yield* $(eff);
117
+ }), (_) => tsplus_module_6.$copy(tsplus_module_6.object$(_), {
118
+ name: tsplus_module_2.NonEmptyString255(tsplus_module_5.getOrUndefined(AST.getTitleAnnotation(Request.ast)) ?? "TODO")
119
+ }));
120
+ }
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVJlcXVlc3RIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9hcGkvcm91dGluZy9tYWtlUmVxdWVzdEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFLN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXhDLE9BQU8sRUFBWSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxZQUFZLENBQUE7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywyQkFBb0I7SUFDakQsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDLENBQUE7QUEwQ0YsTUFBTSxVQUFVLGtCQUFrQixDQWtCaEMsT0FhQyxFQUNELFlBSWdELEVBQ2hELGVBQTRDO0lBWTVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFFaEQsTUFBTSxRQUFRLEdBQTBCLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsaUJBQUMsSUFBSSxDQUFBO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLFFBQTJELENBQUE7SUFDeEUsdUZBQXVGO0lBQ3ZGLE1BQU0sT0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU07UUFDN0MsQ0FBQyw0QkFBQyxJQUFJLENBQUMsTUFBTTtJQUNiLGtCQUFrQjtJQUNsQixzRUFBc0U7SUFDdEUsOERBQThEO0lBQzlELElBQUk7SUFDSixD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
@@ -0,0 +1,12 @@
1
+ import { Ref } from "effect/Ref";
2
+ import { Effect } from "effect/Effect";
3
+ import { Layer } from "effect/Layer";
4
+ import { type RouteDescriptorAny } from "@effect-app/infra/api/express/schema/routing";
5
+ import type { ValidationError } from "@effect-app/infra/errors";
6
+ import type { StructFields } from "@effect-app/schema";
7
+ import { type HttpServerRequest, type HttpServerResponse } from "../http.js";
8
+ import type { RequestHandler } from "./base.js";
9
+ import type { Middleware } from "./makeRequestHandler.js";
10
+ export declare const RouteDescriptors: import("effect/Context").Tag<import("effect/Ref").Ref<RouteDescriptorAny[]>, import("effect/Ref").Ref<RouteDescriptorAny[]>>;
11
+ export declare function match<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, ResE, MiddlewareE, PPath extends `/${string}`, R2, PR, RErr, CTX, Context, Config>(requestHandler: RequestHandler<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, PPath, CTX, Context, Config>, errorHandler: <R>(req: HttpServerRequest, res: HttpServerResponse, r2: Effect<R, ValidationError | MiddlewareE | ResE, HttpServerResponse>) => Effect<RErr | R, never, HttpServerResponse>, middleware?: Middleware<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, MiddlewareE, PPath, R2, PR, CTX, Context, Config>): import("effect/Effect").Effect<never, never, import("@effect/platform/Http/Router").Route<import("../../services/RequestContextContainer.js").RequestContextContainer | import("../../services/Store/ContextMapContainer.js").ContextMapContainer | Exclude<R2, import("effect/Scope").Scope | HttpServerRequest | import("@effect/platform/Http/Router").RouteContext> | Exclude<RErr, import("effect/Scope").Scope | HttpServerRequest | import("@effect/platform/Http/Router").RouteContext> | Exclude<Exclude<Exclude<R, import("@effect-app/core/utils").EnforceNonEmptyRecord<M>>, PR>, import("effect/Scope").Scope | HttpServerRequest | import("@effect/platform/Http/Router").RouteContext>, import("@effect/platform/Http/ServerError").RequestError>>;
12
+ //# sourceMappingURL=match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../_src/api/routing/match.ts"],"names":[],"mappings":";;;AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAc,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD,eAAO,MAAM,gBAAgB,8HAAmC,CAAA;AAEhE,wBAAgB,KAAK,CACnB,CAAC,EACD,CAAC,EACD,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,IAAI,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,EACnC,IAAI,SAAS,YAAY,EACzB,IAAI,EACJ,WAAW,EACX,KAAK,SAAS,IAAI,MAAM,EAAE,EAC1B,EAAE,EACF,EAAE,EACF,IAAI,EACJ,GAAG,EACH,OAAO,EACP,MAAM,EAEN,cAAc,EAAE,cAAc,CAC5B,CAAC,EACD,CAAC,EACD,KAAK,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,EACP,MAAM,CACP,EACD,YAAY,EAAE,CAAC,CAAC,EACd,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,EAAE,kBAAkB,CAAC,KACpE,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAChD,UAAU,CAAC,EAAE,UAAU,CACrB,CAAC,EACD,CAAC,EACD,KAAK,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,EAAE,EACF,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,CACP,quBA+CF"}
@@ -0,0 +1,31 @@
1
+ import * as tsplus_module_1 from "effect/Context";
2
+ import * as tsplus_module_2 from "@effect/platform/Http/Router";
3
+ import * as tsplus_module_3 from "effect/Effect";
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ /* eslint-disable @typescript-eslint/ban-types */
6
+ import "@effect-app/infra/api/express/schema/routing";
7
+ import "../http.js";
8
+ import { makeRequestHandler } from "./makeRequestHandler.js";
9
+ export const RouteDescriptors = tsplus_module_1.Tag();
10
+ export function match(requestHandler, errorHandler, middleware) {
11
+ let middlewareLayer = undefined;
12
+ if (middleware) {
13
+ const { handler, makeRequestLayer } = middleware(requestHandler);
14
+ requestHandler = handler; // todo
15
+ middlewareLayer = makeRequestLayer;
16
+ }
17
+ return tsplus_module_3.gen(function* () {
18
+ // const rdesc = yield* $(RouteDescriptors.flatMap((_) => _.get))
19
+ const handler = makeRequestHandler(requestHandler, // one argument if no middleware, 2 if has middleware. TODO: clean this shit up
20
+ errorHandler, middlewareLayer);
21
+ const route = tsplus_module_2.makeRoute(requestHandler.Request.method, requestHandler.Request.path, handler);
22
+ // TODO
23
+ // rdesc.push(makeRouteDescriptor(
24
+ // requestHandler.Request.path,
25
+ // requestHandler.Request.method,
26
+ // requestHandler
27
+ // ))
28
+ return route;
29
+ });
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL2FwaS9yb3V0aW5nL21hdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQsT0FBd0MsOENBQThDLENBQUE7QUFHdEYsT0FBNEUsWUFBWSxDQUFBO0FBRXhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRzVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGdCQUFBLEdBQUcsRUFBNkIsQ0FBQTtBQUVoRSxNQUFNLFVBQVUsS0FBSyxDQW9CbkIsY0FlQyxFQUNELFlBSWdELEVBQ2hELFVBa0JDO0lBRUQsSUFBSSxlQUFlLEdBQTJDLFNBQVMsQ0FBQTtJQUN2RSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNoRSxjQUFjLEdBQUcsT0FBYyxDQUFBLENBQUMsT0FBTztRQUN2QyxlQUFlLEdBQUcsZ0JBQWdCLENBQUE7SUFDcEMsQ0FBQztJQUNELE9BQU8sb0JBQVcsUUFBUSxDQUFDO1FBQ3pCLGlFQUFpRTtRQUVqRSxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FrQmhDLGNBQXFCLEVBQUUsK0VBQStFO1FBQ3RHLFlBQVksRUFDWixlQUFlLENBQ2hCLENBQUE7UUFFRCxNQUFNLEtBQUssR0FBRywwQkFDWixjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFDN0IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQzNCLE9BQU8sQ0FDUixDQUFBO1FBQ0QsT0FBTztRQUNQLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMsbUNBQW1DO1FBQ25DLG1CQUFtQjtRQUNuQixLQUFLO1FBQ0wsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ export * from "./routing/base.js";
2
+ export * from "./routing/defaultErrorHandler.js";
3
+ export * from "./routing/makeRequestHandler.js";
4
+ export * from "./routing/match.js";
5
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../_src/api/routing.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,8 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable @typescript-eslint/ban-types */
3
+ // codegen:start {preset: barrel, include: routing/*.ts }
4
+ export * from "./routing/base.js";
5
+ export * from "./routing/defaultErrorHandler.js";
6
+ export * from "./routing/makeRequestHandler.js";
7
+ export * from "./routing/match.js";
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELGlEQUFpRDtBQUVqRCx5REFBeUQ7QUFDekQsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxvQkFBb0IsQ0FBQSJ9
@@ -336,8 +336,8 @@ export declare function updateWithOne<T, Evt, S1 extends T, S2 extends T>(self:
336
336
  export declare function updateWith<T, Evt, S1 extends T, S2 extends T>(self: AllDSL<T, Evt>, upd: (item: S1[]) => S2[]): import("effect/Effect").Effect<import("@effect-app/prelude/Pure").PureEnvEnv<Evt, S1[], S2[]>, never, S2[]>;
337
337
  export declare function makeOneDSL<T, Evt>(): OneDSL<T, Evt>;
338
338
  export declare function makeDSL<S1, S2, Evt>(): (<R, A, E>(pure: (dsl: PureDSL<S1, S2, Evt>) => Effect<R, E, A>) => Effect<FixEnv<R, Evt, S1, S2>, E, A>) & {
339
- modify: <R, E, A>(pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect<R, E, A>) => Effect<FixEnv<R, Evt, S1, S2>, E, A>;
340
- update: <R_1, E_1>(pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => import("effect/Effect").Effect<R_1, E_1, S2>) => import("effect/Effect").Effect<FixEnv<R_1, Evt, S1, S2>, E_1, S2>;
339
+ modify: <R_1, E_1, A_1>(pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => import("effect/Effect").Effect<R_1, E_1, A_1>) => import("effect/Effect").Effect<FixEnv<R_1, Evt, S1, S2>, E_1, A_1>;
340
+ update: <R_2, E_2>(pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => import("effect/Effect").Effect<R_2, E_2, S2>) => import("effect/Effect").Effect<FixEnv<R_2, Evt, S1, S2>, E_2, S2>;
341
341
  };
342
342
  export interface DSLExt<S1, S2, Evt> extends ReturnType<typeof makeDSL<S1, S2, Evt>> {
343
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../_src/services/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../_src/services/Repository.ts"],"names":[],"mappings":"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"}