@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.
Files changed (232) hide show
  1. package/CHANGELOG.md +3 -36
  2. package/_cjs/_ext/Array.cjs +2 -3
  3. package/_cjs/_ext/Array.cjs.map +1 -1
  4. package/_cjs/api/defaultErrorHandler.cjs +10 -11
  5. package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
  6. package/_cjs/api/express/makeJsonSchema.cjs +2 -3
  7. package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
  8. package/_cjs/api/express/makeJsonSchema.test.cjs +2 -2
  9. package/_cjs/api/express/makeJsonSchema.test.cjs.map +1 -1
  10. package/_cjs/api/express/makeOpenApiSpecs.cjs +4 -6
  11. package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
  12. package/_cjs/api/express/schema/routing.cjs +22 -23
  13. package/_cjs/api/express/schema/routing.cjs.map +1 -1
  14. package/_cjs/api/reportError.cjs +2 -2
  15. package/_cjs/api/setupRequest.cjs +4 -5
  16. package/_cjs/api/setupRequest.cjs.map +1 -1
  17. package/_cjs/api/writeDocs.cjs +4 -6
  18. package/_cjs/api/writeDocs.cjs.map +1 -1
  19. package/_cjs/errorReporter.cjs +11 -12
  20. package/_cjs/errorReporter.cjs.map +1 -1
  21. package/_cjs/errors.cjs +8 -8
  22. package/_cjs/errors.cjs.map +1 -1
  23. package/_cjs/instrument.cjs +1 -2
  24. package/_cjs/instrument.cjs.map +1 -1
  25. package/_cjs/logger/jsonLogger.cjs +10 -11
  26. package/_cjs/logger/jsonLogger.cjs.map +1 -1
  27. package/_cjs/logger/logFmtLogger.cjs +5 -5
  28. package/_cjs/logger/logFmtLogger.cjs.map +1 -1
  29. package/_cjs/logger/shared.cjs +4 -4
  30. package/_cjs/logger/shared.cjs.map +1 -1
  31. package/_cjs/rateLimit.cjs +7 -8
  32. package/_cjs/rateLimit.cjs.map +1 -1
  33. package/_cjs/services/Emailer/Sendgrid.cjs +12 -14
  34. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  35. package/_cjs/services/Emailer/fake.cjs +4 -5
  36. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  37. package/_cjs/services/Operations/live.cjs +29 -31
  38. package/_cjs/services/Operations/live.cjs.map +1 -1
  39. package/_cjs/services/Operations/service.cjs +5 -6
  40. package/_cjs/services/Operations/service.cjs.map +1 -1
  41. package/_cjs/services/QueueMaker/errors.cjs +6 -7
  42. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  43. package/_cjs/services/QueueMaker/memQueue.cjs +17 -18
  44. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  45. package/_cjs/services/QueueMaker/sbqueue.cjs +15 -16
  46. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  47. package/_cjs/services/Repository.cjs +16 -17
  48. package/_cjs/services/Repository.cjs.map +1 -1
  49. package/_cjs/services/RepositoryBase.cjs +33 -35
  50. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  51. package/_cjs/services/RequestContextContainer.cjs +20 -15
  52. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  53. package/_cjs/services/Store/Cosmos.cjs +46 -49
  54. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  55. package/_cjs/services/Store/Disk.cjs +18 -19
  56. package/_cjs/services/Store/Disk.cjs.map +1 -1
  57. package/_cjs/services/Store/Memory.cjs +39 -43
  58. package/_cjs/services/Store/Memory.cjs.map +1 -1
  59. package/_cjs/services/Store/Redis.cjs +14 -16
  60. package/_cjs/services/Store/Redis.cjs.map +1 -1
  61. package/_cjs/services/Store/codeFilter.test.cjs +1 -1
  62. package/_cjs/services/Store/index.cjs +6 -7
  63. package/_cjs/services/Store/index.cjs.map +1 -1
  64. package/_cjs/services/Store/service.cjs +1 -1
  65. package/_cjs/services/Store/service.cjs.map +1 -1
  66. package/_cjs/services/Store/utils.cjs +13 -13
  67. package/_cjs/services/Store/utils.cjs.map +1 -1
  68. package/_cjs/services/simpledb/cosmosdb.cjs +17 -19
  69. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
  70. package/_cjs/services/simpledb/diskdb.cjs +8 -9
  71. package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
  72. package/_cjs/services/simpledb/memdb.cjs +9 -11
  73. package/_cjs/services/simpledb/memdb.cjs.map +1 -1
  74. package/_cjs/services/simpledb/mongodb.cjs +18 -20
  75. package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
  76. package/_cjs/services/simpledb/redisdb.cjs +10 -11
  77. package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
  78. package/_cjs/services/simpledb/shared.cjs +5 -5
  79. package/_cjs/services/simpledb/shared.cjs.map +1 -1
  80. package/_cjs/services/simpledb/simpledb.cjs +17 -18
  81. package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
  82. package/_src/api/authorization.jwt.ts +1 -1
  83. package/_src/api/defaultErrorHandler.ts +2 -2
  84. package/_src/api/express/routing.ts.bak +8 -8
  85. package/_src/api/express/schema/routing.ts +59 -37
  86. package/_src/api/setupRequest.ts +11 -10
  87. package/_src/errorReporter.ts +1 -1
  88. package/_src/services/Emailer/Sendgrid.ts +1 -1
  89. package/_src/services/Operations/live.ts +5 -5
  90. package/_src/services/QueueMaker/errors.ts +1 -1
  91. package/_src/services/QueueMaker/memQueue.ts +2 -2
  92. package/_src/services/QueueMaker/sbqueue.ts +1 -1
  93. package/_src/services/Repository.ts +9 -9
  94. package/_src/services/RepositoryBase.ts +6 -8
  95. package/_src/services/RequestContextContainer.ts +12 -7
  96. package/_src/services/Store/Cosmos.ts +12 -17
  97. package/_src/services/Store/Disk.ts +4 -4
  98. package/_src/services/Store/Memory.ts +4 -4
  99. package/_src/services/Store/Redis.ts +1 -1
  100. package/_src/services/Store/index.test.ts.bak +5 -5
  101. package/_src/services/Store/index.ts +1 -1
  102. package/_src/services/Store/utils.ts +16 -16
  103. package/_src/services/simpledb/diskdb.ts +1 -1
  104. package/_src/services/simpledb/memdb.ts +1 -1
  105. package/_src/services/simpledb/redisdb.ts +1 -1
  106. package/_src/services/simpledb/shared.ts +1 -1
  107. package/_src/services/simpledb/simpledb.ts +3 -3
  108. package/dist/RequestContext.d.ts +4 -4
  109. package/dist/_ext/Array.d.ts +1 -1
  110. package/dist/_ext/Array.d.ts.map +1 -1
  111. package/dist/_ext/Array.js +3 -4
  112. package/dist/api/codec.d.ts +1 -1
  113. package/dist/api/codec.d.ts.map +1 -1
  114. package/dist/api/defaultErrorHandler.d.ts +2 -2
  115. package/dist/api/defaultErrorHandler.d.ts.map +1 -1
  116. package/dist/api/defaultErrorHandler.js +11 -13
  117. package/dist/api/express/makeJsonSchema.d.ts +2 -2
  118. package/dist/api/express/makeJsonSchema.d.ts.map +1 -1
  119. package/dist/api/express/makeJsonSchema.js +3 -4
  120. package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
  121. package/dist/api/express/makeOpenApiSpecs.js +5 -7
  122. package/dist/api/express/schema/routing.d.ts +22 -7
  123. package/dist/api/express/schema/routing.d.ts.map +1 -1
  124. package/dist/api/express/schema/routing.js +23 -24
  125. package/dist/api/reportError.d.ts +5 -5
  126. package/dist/api/reportError.d.ts.map +1 -1
  127. package/dist/api/reportError.js +2 -2
  128. package/dist/api/setupRequest.d.ts +2 -2
  129. package/dist/api/setupRequest.d.ts.map +1 -1
  130. package/dist/api/setupRequest.js +7 -7
  131. package/dist/api/writeDocs.d.ts +1 -1
  132. package/dist/api/writeDocs.d.ts.map +1 -1
  133. package/dist/api/writeDocs.js +5 -7
  134. package/dist/errorReporter.d.ts +3 -3
  135. package/dist/errorReporter.d.ts.map +1 -1
  136. package/dist/errorReporter.js +12 -13
  137. package/dist/errors.d.ts +7 -7
  138. package/dist/errors.js +9 -9
  139. package/dist/instrument.d.ts +1 -1
  140. package/dist/instrument.d.ts.map +1 -1
  141. package/dist/instrument.js +2 -3
  142. package/dist/logger/jsonLogger.d.ts +2 -2
  143. package/dist/logger/jsonLogger.d.ts.map +1 -1
  144. package/dist/logger/jsonLogger.js +11 -12
  145. package/dist/logger/logFmtLogger.d.ts +2 -2
  146. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  147. package/dist/logger/logFmtLogger.js +6 -6
  148. package/dist/logger/shared.d.ts +1 -1
  149. package/dist/logger/shared.d.ts.map +1 -1
  150. package/dist/logger/shared.js +5 -5
  151. package/dist/rateLimit.d.ts +3 -3
  152. package/dist/rateLimit.d.ts.map +1 -1
  153. package/dist/rateLimit.js +8 -9
  154. package/dist/services/Emailer/Sendgrid.d.ts +1 -1
  155. package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
  156. package/dist/services/Emailer/Sendgrid.js +15 -17
  157. package/dist/services/Emailer/fake.d.ts +1 -1
  158. package/dist/services/Emailer/fake.d.ts.map +1 -1
  159. package/dist/services/Emailer/fake.js +5 -6
  160. package/dist/services/Emailer/service.d.ts +3 -3
  161. package/dist/services/Operations/live.d.ts +1 -1
  162. package/dist/services/Operations/live.d.ts.map +1 -1
  163. package/dist/services/Operations/live.js +37 -39
  164. package/dist/services/Operations/service.d.ts +8 -8
  165. package/dist/services/Operations/service.d.ts.map +1 -1
  166. package/dist/services/Operations/service.js +12 -13
  167. package/dist/services/QueueMaker/errors.d.ts +3 -3
  168. package/dist/services/QueueMaker/errors.d.ts.map +1 -1
  169. package/dist/services/QueueMaker/errors.js +6 -7
  170. package/dist/services/QueueMaker/memQueue.d.ts +3 -3
  171. package/dist/services/QueueMaker/memQueue.js +16 -17
  172. package/dist/services/QueueMaker/sbqueue.d.ts +4 -4
  173. package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
  174. package/dist/services/QueueMaker/sbqueue.js +15 -16
  175. package/dist/services/Repository.d.ts +42 -42
  176. package/dist/services/Repository.d.ts.map +1 -1
  177. package/dist/services/Repository.js +17 -18
  178. package/dist/services/RepositoryBase.d.ts +12 -11
  179. package/dist/services/RepositoryBase.d.ts.map +1 -1
  180. package/dist/services/RepositoryBase.js +35 -37
  181. package/dist/services/RequestContextContainer.d.ts +14 -11
  182. package/dist/services/RequestContextContainer.d.ts.map +1 -1
  183. package/dist/services/RequestContextContainer.js +19 -18
  184. package/dist/services/Store/Cosmos.d.ts +3 -3
  185. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  186. package/dist/services/Store/Cosmos.js +51 -54
  187. package/dist/services/Store/Disk.d.ts +3 -3
  188. package/dist/services/Store/Disk.d.ts.map +1 -1
  189. package/dist/services/Store/Disk.js +19 -20
  190. package/dist/services/Store/Memory.d.ts +5 -5
  191. package/dist/services/Store/Memory.d.ts.map +1 -1
  192. package/dist/services/Store/Memory.js +41 -45
  193. package/dist/services/Store/Redis.d.ts +3 -3
  194. package/dist/services/Store/Redis.d.ts.map +1 -1
  195. package/dist/services/Store/Redis.js +15 -17
  196. package/dist/services/Store/index.d.ts +1 -1
  197. package/dist/services/Store/index.d.ts.map +1 -1
  198. package/dist/services/Store/index.js +7 -8
  199. package/dist/services/Store/service.d.ts +8 -8
  200. package/dist/services/Store/service.d.ts.map +1 -1
  201. package/dist/services/Store/service.js +2 -2
  202. package/dist/services/Store/utils.d.ts +2 -2
  203. package/dist/services/Store/utils.d.ts.map +1 -1
  204. package/dist/services/Store/utils.js +21 -21
  205. package/dist/services/simpledb/cosmosdb.d.ts +5 -5
  206. package/dist/services/simpledb/cosmosdb.js +17 -19
  207. package/dist/services/simpledb/diskdb.d.ts +4 -4
  208. package/dist/services/simpledb/diskdb.js +9 -10
  209. package/dist/services/simpledb/memdb.d.ts +4 -4
  210. package/dist/services/simpledb/memdb.js +11 -13
  211. package/dist/services/simpledb/mongodb.d.ts +5 -5
  212. package/dist/services/simpledb/mongodb.js +14 -16
  213. package/dist/services/simpledb/redisdb.d.ts +4 -4
  214. package/dist/services/simpledb/redisdb.js +11 -12
  215. package/dist/services/simpledb/shared.d.ts +4 -4
  216. package/dist/services/simpledb/shared.js +6 -6
  217. package/dist/services/simpledb/simpledb.d.ts +6 -6
  218. package/dist/services/simpledb/simpledb.d.ts.map +1 -1
  219. package/dist/services/simpledb/simpledb.js +15 -16
  220. package/package.json +5 -25
  221. package/_cjs/api/express/schema/requestHandler.cjs +0 -172
  222. package/_cjs/api/express/schema/requestHandler.cjs.map +0 -1
  223. package/_cjs/api/routing.cjs +0 -278
  224. package/_cjs/api/routing.cjs.map +0 -1
  225. package/_src/api/express/schema/requestHandler.ts +0 -372
  226. package/_src/api/routing.ts +0 -660
  227. package/dist/api/express/schema/requestHandler.d.ts +0 -71
  228. package/dist/api/express/schema/requestHandler.d.ts.map +0 -1
  229. package/dist/api/express/schema/requestHandler.js +0 -140
  230. package/dist/api/routing.d.ts +0 -103
  231. package/dist/api/routing.d.ts.map +0 -1
  232. 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==
@@ -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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"}