@effect-app/infra 0.198.1 → 0.199.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 (360) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/_cjs/RequestContext.cjs +14 -9
  3. package/_cjs/RequestContext.cjs.map +1 -1
  4. package/_cjs/_ext/Array.cjs +3 -7
  5. package/_cjs/_ext/Array.cjs.map +1 -1
  6. package/_cjs/api/reportError.cjs +3 -6
  7. package/_cjs/api/reportError.cjs.map +1 -1
  8. package/_cjs/api/routing/base.cjs +27 -61
  9. package/_cjs/api/routing/base.cjs.map +1 -1
  10. package/_cjs/api/routing/defaultErrorHandler.cjs +14 -21
  11. package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
  12. package/_cjs/api/routing/makeRequestHandler.cjs +44 -51
  13. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
  14. package/_cjs/api/routing/match.cjs +6 -13
  15. package/_cjs/api/routing/match.cjs.map +1 -1
  16. package/_cjs/api/{express → routing}/schema/jwt.cjs +3 -4
  17. package/_cjs/api/routing/schema/jwt.cjs.map +1 -0
  18. package/_cjs/api/routing/schema/routing.cjs +136 -0
  19. package/_cjs/api/routing/schema/routing.cjs.map +1 -0
  20. package/_cjs/api/setupRequest.cjs +16 -22
  21. package/_cjs/api/setupRequest.cjs.map +1 -1
  22. package/_cjs/errorReporter.cjs +16 -17
  23. package/_cjs/errorReporter.cjs.map +1 -1
  24. package/_cjs/errors.cjs +2 -4
  25. package/_cjs/errors.cjs.map +1 -1
  26. package/_cjs/filter/types/path/index.cjs +0 -2
  27. package/_cjs/filter/types/path/index.cjs.map +1 -1
  28. package/_cjs/filter.cjs +35 -0
  29. package/_cjs/filter.cjs.map +1 -1
  30. package/_cjs/logger/jsonLogger.cjs +9 -15
  31. package/_cjs/logger/jsonLogger.cjs.map +1 -1
  32. package/_cjs/logger/logFmtLogger.cjs +7 -11
  33. package/_cjs/logger/logFmtLogger.cjs.map +1 -1
  34. package/_cjs/logger/shared.cjs +6 -8
  35. package/_cjs/logger/shared.cjs.map +1 -1
  36. package/_cjs/rateLimit.cjs +9 -12
  37. package/_cjs/rateLimit.cjs.map +1 -1
  38. package/_cjs/services/Emailer/Sendgrid.cjs +9 -16
  39. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  40. package/_cjs/services/Emailer/fake.cjs +5 -8
  41. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  42. package/_cjs/services/Emailer/service.cjs +2 -4
  43. package/_cjs/services/Emailer/service.cjs.map +1 -1
  44. package/_cjs/services/Operations/live.cjs +29 -42
  45. package/_cjs/services/Operations/live.cjs.map +1 -1
  46. package/_cjs/services/Operations/service.cjs +15 -15
  47. package/_cjs/services/Operations/service.cjs.map +1 -1
  48. package/_cjs/services/QueueMaker/errors.cjs +8 -12
  49. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  50. package/_cjs/services/QueueMaker/memQueue.cjs +27 -33
  51. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  52. package/_cjs/services/QueueMaker/sbqueue.cjs +31 -40
  53. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  54. package/_cjs/services/QueueMaker/service.cjs +7 -9
  55. package/_cjs/services/QueueMaker/service.cjs.map +1 -1
  56. package/_cjs/services/Repository/dsl.cjs +11 -14
  57. package/_cjs/services/Repository/dsl.cjs.map +1 -1
  58. package/_cjs/services/Repository/ext.cjs +62 -71
  59. package/_cjs/services/Repository/ext.cjs.map +1 -1
  60. package/_cjs/services/RepositoryBase.cjs +171 -169
  61. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  62. package/_cjs/services/RequestContextContainer.cjs +17 -23
  63. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  64. package/_cjs/services/Store/ContextMapContainer.cjs +10 -16
  65. package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
  66. package/_cjs/services/Store/Cosmos/query.cjs +5 -9
  67. package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
  68. package/_cjs/services/Store/Cosmos.cjs +58 -68
  69. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  70. package/_cjs/services/Store/Disk.cjs +34 -36
  71. package/_cjs/services/Store/Disk.cjs.map +1 -1
  72. package/_cjs/services/Store/Memory.cjs +55 -65
  73. package/_cjs/services/Store/Memory.cjs.map +1 -1
  74. package/_cjs/services/Store/codeFilter.cjs +2 -4
  75. package/_cjs/services/Store/codeFilter.cjs.map +1 -1
  76. package/_cjs/services/Store/codeFilter.test.cjs +13 -12
  77. package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
  78. package/_cjs/services/Store/filterApi/query.cjs +2 -4
  79. package/_cjs/services/Store/filterApi/query.cjs.map +1 -1
  80. package/_cjs/services/Store/index.cjs +6 -9
  81. package/_cjs/services/Store/index.cjs.map +1 -1
  82. package/_cjs/services/Store/service.cjs +5 -7
  83. package/_cjs/services/Store/service.cjs.map +1 -1
  84. package/_cjs/services/Store/utils.cjs +16 -20
  85. package/_cjs/services/Store/utils.cjs.map +1 -1
  86. package/_cjs/services/query.cjs +4 -2
  87. package/_cjs/services/query.cjs.map +1 -1
  88. package/_cjs/test.arbs.cjs +3 -4
  89. package/_cjs/test.arbs.cjs.map +1 -1
  90. package/dist/RequestContext.d.ts +20 -20
  91. package/dist/RequestContext.d.ts.map +1 -1
  92. package/dist/RequestContext.js +15 -8
  93. package/dist/_ext/Array.d.ts +2 -3
  94. package/dist/_ext/Array.d.ts.map +1 -1
  95. package/dist/_ext/Array.js +5 -5
  96. package/dist/api/reportError.d.ts +5 -5
  97. package/dist/api/reportError.d.ts.map +1 -1
  98. package/dist/api/reportError.js +6 -6
  99. package/dist/api/routing/base.d.ts +11 -15
  100. package/dist/api/routing/base.d.ts.map +1 -1
  101. package/dist/api/routing/base.js +48 -67
  102. package/dist/api/routing/defaultErrorHandler.d.ts +4 -6
  103. package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -1
  104. package/dist/api/routing/defaultErrorHandler.js +26 -28
  105. package/dist/api/routing/makeRequestHandler.d.ts +6 -7
  106. package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
  107. package/dist/api/routing/makeRequestHandler.js +69 -59
  108. package/dist/api/routing/match.d.ts +7 -8
  109. package/dist/api/routing/match.d.ts.map +1 -1
  110. package/dist/api/routing/match.js +7 -11
  111. package/dist/api/routing/schema/jwt.d.ts +4 -0
  112. package/dist/api/routing/schema/jwt.d.ts.map +1 -0
  113. package/dist/api/routing/schema/jwt.js +11 -0
  114. package/dist/api/{express → routing}/schema/routing.d.ts +2 -2
  115. package/dist/api/routing/schema/routing.d.ts.map +1 -0
  116. package/dist/api/routing/schema/routing.js +123 -0
  117. package/dist/api/routing.js +3 -1
  118. package/dist/api/setupRequest.d.ts +3 -5
  119. package/dist/api/setupRequest.d.ts.map +1 -1
  120. package/dist/api/setupRequest.js +20 -24
  121. package/dist/errorReporter.d.ts +4 -4
  122. package/dist/errorReporter.d.ts.map +1 -1
  123. package/dist/errorReporter.js +20 -17
  124. package/dist/errors.d.ts +1 -1
  125. package/dist/errors.d.ts.map +1 -1
  126. package/dist/errors.js +3 -3
  127. package/dist/filter/types/path/index.d.ts +2 -2
  128. package/dist/filter/types/path/index.d.ts.map +1 -1
  129. package/dist/filter/types/path/index.js +2 -3
  130. package/dist/filter/types.js +2 -1
  131. package/dist/filter.d.ts.map +1 -1
  132. package/dist/filter.js +36 -1
  133. package/dist/logger/jsonLogger.d.ts +2 -1
  134. package/dist/logger/jsonLogger.d.ts.map +1 -1
  135. package/dist/logger/jsonLogger.js +9 -13
  136. package/dist/logger/logFmtLogger.d.ts +2 -1
  137. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  138. package/dist/logger/logFmtLogger.js +9 -11
  139. package/dist/logger/shared.d.ts +2 -1
  140. package/dist/logger/shared.d.ts.map +1 -1
  141. package/dist/logger/shared.js +7 -9
  142. package/dist/rateLimit.d.ts +7 -10
  143. package/dist/rateLimit.d.ts.map +1 -1
  144. package/dist/rateLimit.js +17 -16
  145. package/dist/services/Emailer/Sendgrid.d.ts +1 -2
  146. package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
  147. package/dist/services/Emailer/Sendgrid.js +16 -20
  148. package/dist/services/Emailer/fake.d.ts +2 -2
  149. package/dist/services/Emailer/fake.d.ts.map +1 -1
  150. package/dist/services/Emailer/fake.js +10 -8
  151. package/dist/services/Emailer/service.d.ts +7 -10
  152. package/dist/services/Emailer/service.d.ts.map +1 -1
  153. package/dist/services/Emailer/service.js +3 -3
  154. package/dist/services/Operations/live.d.ts +2 -3
  155. package/dist/services/Operations/live.d.ts.map +1 -1
  156. package/dist/services/Operations/live.js +44 -51
  157. package/dist/services/Operations/service.d.ts +14 -19
  158. package/dist/services/Operations/service.d.ts.map +1 -1
  159. package/dist/services/Operations/service.js +23 -28
  160. package/dist/services/QueueMaker/errors.d.ts +5 -7
  161. package/dist/services/QueueMaker/errors.d.ts.map +1 -1
  162. package/dist/services/QueueMaker/errors.js +11 -11
  163. package/dist/services/QueueMaker/memQueue.d.ts +6 -9
  164. package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
  165. package/dist/services/QueueMaker/memQueue.js +37 -39
  166. package/dist/services/QueueMaker/sbqueue.d.ts +6 -9
  167. package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
  168. package/dist/services/QueueMaker/sbqueue.js +41 -39
  169. package/dist/services/QueueMaker/service.d.ts +2 -4
  170. package/dist/services/QueueMaker/service.d.ts.map +1 -1
  171. package/dist/services/QueueMaker/service.js +8 -8
  172. package/dist/services/Repository/dsl.d.ts +8 -10
  173. package/dist/services/Repository/dsl.d.ts.map +1 -1
  174. package/dist/services/Repository/dsl.js +12 -13
  175. package/dist/services/Repository/ext.d.ts +34 -62
  176. package/dist/services/Repository/ext.d.ts.map +1 -1
  177. package/dist/services/Repository/ext.js +59 -70
  178. package/dist/services/RepositoryBase.d.ts +41 -47
  179. package/dist/services/RepositoryBase.d.ts.map +1 -1
  180. package/dist/services/RepositoryBase.js +182 -194
  181. package/dist/services/RequestContextContainer.d.ts +13 -21
  182. package/dist/services/RequestContextContainer.d.ts.map +1 -1
  183. package/dist/services/RequestContextContainer.js +21 -25
  184. package/dist/services/Store/ContextMapContainer.d.ts +11 -18
  185. package/dist/services/Store/ContextMapContainer.d.ts.map +1 -1
  186. package/dist/services/Store/ContextMapContainer.js +17 -18
  187. package/dist/services/Store/Cosmos/query.d.ts +3 -2
  188. package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
  189. package/dist/services/Store/Cosmos/query.js +10 -11
  190. package/dist/services/Store/Cosmos.d.ts +2 -3
  191. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  192. package/dist/services/Store/Cosmos.js +107 -90
  193. package/dist/services/Store/Disk.d.ts +4 -4
  194. package/dist/services/Store/Disk.d.ts.map +1 -1
  195. package/dist/services/Store/Disk.js +54 -50
  196. package/dist/services/Store/Memory.d.ts +6 -8
  197. package/dist/services/Store/Memory.d.ts.map +1 -1
  198. package/dist/services/Store/Memory.js +93 -89
  199. package/dist/services/Store/codeFilter.d.ts.map +1 -1
  200. package/dist/services/Store/codeFilter.js +3 -3
  201. package/dist/services/Store/codeFilter.test.d.ts.map +1 -1
  202. package/dist/services/Store/filterApi/query.d.ts +1 -1
  203. package/dist/services/Store/filterApi/query.d.ts.map +1 -1
  204. package/dist/services/Store/filterApi/query.js +3 -3
  205. package/dist/services/Store/index.d.ts +1 -2
  206. package/dist/services/Store/index.d.ts.map +1 -1
  207. package/dist/services/Store/index.js +7 -8
  208. package/dist/services/Store/service.d.ts +20 -23
  209. package/dist/services/Store/service.d.ts.map +1 -1
  210. package/dist/services/Store/service.js +6 -6
  211. package/dist/services/Store/utils.d.ts +3 -3
  212. package/dist/services/Store/utils.d.ts.map +1 -1
  213. package/dist/services/Store/utils.js +26 -28
  214. package/dist/services/query.d.ts +6 -6
  215. package/dist/services/query.d.ts.map +1 -1
  216. package/dist/services/query.js +5 -4
  217. package/dist/test.arbs.d.ts +0 -2
  218. package/dist/test.arbs.d.ts.map +1 -1
  219. package/dist/test.arbs.js +3 -4
  220. package/package.json +28 -168
  221. package/src/RequestContext.ts +1 -0
  222. package/src/_ext/Array.ts +5 -2
  223. package/src/api/reportError.ts +14 -10
  224. package/src/api/routing/base.ts +77 -110
  225. package/src/api/routing/defaultErrorHandler.ts +64 -54
  226. package/src/api/routing/makeRequestHandler.ts +165 -135
  227. package/src/api/routing/match.ts +14 -8
  228. package/src/api/{express → routing}/schema/jwt.ts +6 -5
  229. package/src/api/{express → routing}/schema/routing.ts +2 -1
  230. package/src/api/setupRequest.ts +30 -24
  231. package/src/errorReporter.ts +12 -11
  232. package/src/errors.ts +1 -0
  233. package/src/filter/types/path/index.ts +2 -2
  234. package/src/logger/jsonLogger.ts +6 -5
  235. package/src/logger/logFmtLogger.ts +4 -5
  236. package/src/logger/shared.ts +4 -3
  237. package/src/rateLimit.ts +37 -34
  238. package/src/services/Emailer/Sendgrid.ts +12 -10
  239. package/src/services/Emailer/fake.ts +7 -4
  240. package/src/services/Emailer/service.ts +4 -1
  241. package/src/services/Operations/live.ts +66 -59
  242. package/src/services/Operations/service.ts +41 -34
  243. package/src/services/QueueMaker/errors.ts +15 -11
  244. package/src/services/QueueMaker/memQueue.ts +59 -40
  245. package/src/services/QueueMaker/sbqueue.ts +54 -33
  246. package/src/services/QueueMaker/service.ts +7 -6
  247. package/src/services/Repository/dsl.ts +12 -8
  248. package/src/services/Repository/ext.ts +52 -44
  249. package/src/services/RepositoryBase.ts +278 -240
  250. package/src/services/RequestContextContainer.ts +30 -18
  251. package/src/services/Store/ContextMapContainer.ts +26 -13
  252. package/src/services/Store/Cosmos/query.ts +17 -11
  253. package/src/services/Store/Cosmos.ts +209 -168
  254. package/src/services/Store/Disk.ts +69 -53
  255. package/src/services/Store/Memory.ts +138 -97
  256. package/src/services/Store/{Redis.ts → Redis.ts.bak} +7 -5
  257. package/src/services/Store/codeFilter.test.ts +61 -36
  258. package/src/services/Store/codeFilter.ts +1 -0
  259. package/src/services/Store/filterApi/query.ts +1 -0
  260. package/src/services/Store/index.ts +7 -6
  261. package/src/services/Store/service.ts +4 -1
  262. package/src/services/Store/utils.ts +25 -23
  263. package/src/services/query.ts +3 -3
  264. package/src/services/simpledb/{cosmosdb.ts → cosmosdb.ts.bak} +1 -0
  265. package/src/services/simpledb/{diskdb.ts → diskdb.ts.bak} +2 -1
  266. package/src/services/simpledb/{memdb.ts → memdb.ts.bak} +3 -2
  267. package/src/services/simpledb/{mongodb.ts → mongodb.ts.bak} +1 -0
  268. package/src/services/simpledb/{redisdb.ts → redisdb.ts.bak} +17 -14
  269. package/src/services/simpledb/{shared.ts → shared.ts.bak} +2 -1
  270. package/src/services/simpledb/{simpledb.ts → simpledb.ts.bak} +6 -2
  271. package/tsconfig.json +4 -21
  272. package/tsconfig.json.bak +0 -4
  273. package/_cjs/_global.cjs +0 -6
  274. package/_cjs/_global.cjs.map +0 -1
  275. package/_cjs/_global.ext.cjs +0 -5
  276. package/_cjs/_global.ext.cjs.map +0 -1
  277. package/_cjs/_global.schema.cjs +0 -5
  278. package/_cjs/_global.schema.cjs.map +0 -1
  279. package/_cjs/api/defaultErrorHandler.cjs +0 -37
  280. package/_cjs/api/defaultErrorHandler.cjs.map +0 -1
  281. package/_cjs/api/express/schema/jwt.cjs.map +0 -1
  282. package/_cjs/api/express/schema/routing.cjs +0 -23
  283. package/_cjs/api/express/schema/routing.cjs.map +0 -1
  284. package/_cjs/api/http.cjs +0 -42
  285. package/_cjs/api/http.cjs.map +0 -1
  286. package/_cjs/services/Store/Redis.cjs +0 -73
  287. package/_cjs/services/Store/Redis.cjs.map +0 -1
  288. package/_cjs/services/simpledb/cosmosdb.cjs +0 -109
  289. package/_cjs/services/simpledb/cosmosdb.cjs.map +0 -1
  290. package/_cjs/services/simpledb/diskdb.cjs +0 -125
  291. package/_cjs/services/simpledb/diskdb.cjs.map +0 -1
  292. package/_cjs/services/simpledb/index.cjs +0 -38
  293. package/_cjs/services/simpledb/index.cjs.map +0 -1
  294. package/_cjs/services/simpledb/memdb.cjs +0 -72
  295. package/_cjs/services/simpledb/memdb.cjs.map +0 -1
  296. package/_cjs/services/simpledb/mongodb.cjs +0 -99
  297. package/_cjs/services/simpledb/mongodb.cjs.map +0 -1
  298. package/_cjs/services/simpledb/redisdb.cjs +0 -135
  299. package/_cjs/services/simpledb/redisdb.cjs.map +0 -1
  300. package/_cjs/services/simpledb/shared.cjs +0 -79
  301. package/_cjs/services/simpledb/shared.cjs.map +0 -1
  302. package/_cjs/services/simpledb/simpledb.cjs +0 -85
  303. package/_cjs/services/simpledb/simpledb.cjs.map +0 -1
  304. package/dist/_global.d.ts +0 -10
  305. package/dist/_global.d.ts.map +0 -1
  306. package/dist/_global.ext.d.ts +0 -34
  307. package/dist/_global.ext.d.ts.map +0 -1
  308. package/dist/_global.ext.js +0 -6
  309. package/dist/_global.js +0 -12
  310. package/dist/_global.schema.d.ts +0 -6
  311. package/dist/_global.schema.d.ts.map +0 -1
  312. package/dist/_global.schema.js +0 -9
  313. package/dist/api/defaultErrorHandler.d.ts +0 -6
  314. package/dist/api/defaultErrorHandler.d.ts.map +0 -1
  315. package/dist/api/defaultErrorHandler.js +0 -34
  316. package/dist/api/express/schema/jwt.d.ts +0 -6
  317. package/dist/api/express/schema/jwt.d.ts.map +0 -1
  318. package/dist/api/express/schema/jwt.js +0 -11
  319. package/dist/api/express/schema/routing.d.ts.map +0 -1
  320. package/dist/api/express/schema/routing.js +0 -10
  321. package/dist/api/http.d.ts +0 -16
  322. package/dist/api/http.d.ts.map +0 -1
  323. package/dist/api/http.js +0 -12
  324. package/dist/services/Store/Redis.d.ts +0 -6
  325. package/dist/services/Store/Redis.d.ts.map +0 -1
  326. package/dist/services/Store/Redis.js +0 -76
  327. package/dist/services/simpledb/cosmosdb.d.ts +0 -14
  328. package/dist/services/simpledb/cosmosdb.d.ts.map +0 -1
  329. package/dist/services/simpledb/cosmosdb.js +0 -103
  330. package/dist/services/simpledb/diskdb.d.ts +0 -12
  331. package/dist/services/simpledb/diskdb.d.ts.map +0 -1
  332. package/dist/services/simpledb/diskdb.js +0 -109
  333. package/dist/services/simpledb/index.d.ts +0 -7
  334. package/dist/services/simpledb/index.d.ts.map +0 -1
  335. package/dist/services/simpledb/index.js +0 -7
  336. package/dist/services/simpledb/memdb.d.ts +0 -11
  337. package/dist/services/simpledb/memdb.d.ts.map +0 -1
  338. package/dist/services/simpledb/memdb.js +0 -58
  339. package/dist/services/simpledb/mongodb.d.ts +0 -13
  340. package/dist/services/simpledb/mongodb.d.ts.map +0 -1
  341. package/dist/services/simpledb/mongodb.js +0 -68
  342. package/dist/services/simpledb/redisdb.d.ts +0 -35
  343. package/dist/services/simpledb/redisdb.d.ts.map +0 -1
  344. package/dist/services/simpledb/redisdb.js +0 -126
  345. package/dist/services/simpledb/shared.d.ts +0 -87
  346. package/dist/services/simpledb/shared.d.ts.map +0 -1
  347. package/dist/services/simpledb/shared.js +0 -52
  348. package/dist/services/simpledb/simpledb.d.ts +0 -23
  349. package/dist/services/simpledb/simpledb.d.ts.map +0 -1
  350. package/dist/services/simpledb/simpledb.js +0 -69
  351. package/src/_global.ext.ts +0 -36
  352. package/src/_global.schema.ts +0 -10
  353. package/src/_global.ts +0 -14
  354. package/src/api/defaultErrorHandler.ts +0 -59
  355. package/src/api/express/makeJsonSchema.test.ts.bak +0 -76
  356. package/src/api/express/makeJsonSchema.ts.bak +0 -166
  357. package/src/api/express/makeOpenApiSpecs.ts.bak +0 -62
  358. package/src/api/http.ts +0 -26
  359. package/tsplus.config.json +0 -9
  360. /package/src/services/simpledb/{index.ts → index.ts.bak} +0 -0
@@ -1,115 +1,124 @@
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/Schema";
4
- import * as tsplus_module_4 from "effect/Effect";
5
- import * as tsplus_module_5 from "@effect-app/core/utils";
6
- import * as tsplus_module_6 from "@effect/platform/Http/ServerResponse";
7
- import * as tsplus_module_7 from "@effect/platform/Http/Body";
8
- import * as tsplus_module_8 from "@effect-app/infra/api/setupRequest";
9
- import { pretty } from "@effect-app/core/utils";
1
+ import { copy, pretty } from "@effect-app/core/utils";
10
2
  import { snipString } from "@effect-app/infra/api/util";
11
3
  import { reportError } from "@effect-app/infra/errorReporter";
12
- import { HttpRouteContext, HttpServerRequest } from "../http.js";
4
+ import { Effect, FiberRef, Option, S } from "effect-app";
5
+ import { HttpBody, HttpRouter, HttpServerRequest, HttpServerResponse } from "effect-app/http";
6
+ import { NonEmptyString255 } from "effect-app/schema";
7
+ import { updateRequestContext } from "../setupRequest.js";
13
8
  import { makeRequestParsers, parseRequestParams } from "./base.js";
14
- export const RequestSettings = tsplus_module_1.unsafeMake({
9
+ export const RequestSettings = FiberRef.unsafeMake({
15
10
  verbose: false
16
11
  });
17
12
  export function makeRequestHandler(handler, errorHandler, middlewareLayer) {
18
13
  const { Request, Response, h: handle } = handler;
19
- const response = Response ? Response : tsplus_module_2.Void;
14
+ const response = Response ? Response : S.void;
20
15
  const resp = response;
21
16
  // TODO: consider if the alternative of using the struct schema is perhaps just better.
22
17
  const encoder = "struct" in resp && resp.struct
23
- ? tsplus_module_3.encode(resp.struct)
24
- // ? (i: any) => {
25
- // if (i instanceof (response as any)) return response.encodeSync(i)
26
- // else return response.encodeSync(new (response as any)(i))
27
- // }
28
- : tsplus_module_3.encode(resp);
18
+ ? S.encode(resp.struct)
19
+ // ? (i: any) => {
20
+ // if (i instanceof (response as any)) return S.encodeSync(response)(i)
21
+ // else return S.encodeSync(response)(new (response as any)(i))
22
+ // }
23
+ : S.encode(resp);
29
24
  // const encodeResponse = adaptResponse
30
25
  // ? (req: ReqA) => Encoder.for(adaptResponse(req))
31
26
  // : () => encoder
32
27
  const requestParsers = makeRequestParsers(Request);
33
28
  const parseRequest = parseRequestParams(requestParsers);
34
- const getParams = tsplus_module_4.all({
35
- rcx: HttpRouteContext,
36
- req: HttpServerRequest.flatMap((req) => req.json.map((body) => ({ body, headers: req.headers })))
37
- })
38
- .map(({ rcx, req }) => ({
29
+ const getParams = Effect.map(Effect
30
+ .all({
31
+ rcx: HttpRouter.RouteContext,
32
+ req: Effect.flatMap(HttpServerRequest.ServerRequest, (req) => req.json.pipe(Effect.map((body) => ({ body, headers: req.headers }))))
33
+ }), ({ rcx, req }) => ({
39
34
  params: rcx.params,
40
35
  query: rcx.searchParams,
41
36
  body: req.body,
42
37
  headers: req.headers,
43
38
  cookies: {} // req.cookies
44
39
  }));
45
- return tsplus_module_8.updateRequestContext(tsplus_module_4.gen(function* ($) {
46
- const req = yield* $(HttpServerRequest);
47
- const res = tsplus_module_6.empty()
48
- .pipe((_) => req.method === "GET" ? tsplus_module_6.setHeader(_, "Cache-Control", "no-store") : _);
40
+ return Effect
41
+ .gen(function* ($) {
42
+ const req = yield* $(HttpServerRequest.ServerRequest);
43
+ const res = HttpServerResponse
44
+ .empty()
45
+ .pipe((_) => req.method === "GET" ? HttpServerResponse.setHeader(_, "Cache-Control", "no-store") : _);
49
46
  const pars = yield* $(getParams);
50
- const settings = yield* $(tsplus_module_1.get(RequestSettings));
47
+ const settings = yield* $(FiberRef.get(RequestSettings));
51
48
  const eff =
52
49
  // TODO: we don;t have access to user id here cause context is not yet created
53
- tsplus_module_4.catchAllCause(tsplus_module_4.annotateLogs(tsplus_module_4.logInfo("Incoming request"), {
50
+ Effect
51
+ .logInfo("Incoming request")
52
+ .pipe(Effect.annotateLogs({
54
53
  method: req.method,
55
54
  path: req.originalUrl,
56
55
  ...(settings.verbose
57
56
  ? {
58
- reqPath: tsplus_module_5.RecordPretty(tsplus_module_5.object$(pars.params)),
59
- reqQuery: tsplus_module_5.RecordPretty(tsplus_module_5.object$(pars.query)),
57
+ reqPath: pretty(pars.params),
58
+ reqQuery: pretty(pars.query),
60
59
  reqBody: pretty(pars.body),
61
60
  reqCookies: pretty(pars.cookies),
62
61
  reqHeaders: pretty(pars.headers)
63
62
  }
64
63
  : undefined)
65
- })
66
- .andThen(tsplus_module_4.suspend(() => {
64
+ }), Effect
65
+ .andThen(Effect.suspend(() => {
67
66
  const handleRequest = parseRequest(pars)
68
- .map(({ body, path, query }) => {
67
+ .pipe(Effect.map(({ body, path, query }) => {
69
68
  const hn = {
70
- ...body.value,
71
- ...query.value,
72
- ...path.value
69
+ ...body.pipe(Option.getOrUndefined) ?? {},
70
+ ...query.pipe(Option.getOrUndefined) ?? {},
71
+ ...path.pipe(Option.getOrUndefined) ?? {}
73
72
  };
74
73
  return hn;
75
- })
76
- .flatMap((parsedReq) => tsplus_module_4.provideService(handle(parsedReq), handler.Request.Tag, parsedReq)
77
- .flatMap(encoder)
78
- .map((r) => tsplus_module_6.setStatus(r === undefined ? 204 : 200)(tsplus_module_6.setBody(res, tsplus_module_7.unsafeJson(r)))));
74
+ }), Effect
75
+ .flatMap((parsedReq) => handle(parsedReq)
76
+ .pipe(Effect.provideService(handler.Request.Tag, parsedReq), Effect
77
+ .flatMap(encoder), Effect
78
+ .map((r) => res.pipe(HttpServerResponse.setBody(HttpBody.unsafeJson(r)), HttpServerResponse.setStatus(r === undefined ? 204 : 200))))));
79
79
  // Commands should not be interruptable.
80
- const r = req.method !== "GET" ? tsplus_module_4.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
80
+ const r = req.method !== "GET" ? Effect.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
81
81
  const r2 = middlewareLayer
82
- ? tsplus_module_4.provide(r, middlewareLayer)
82
+ ? Effect.provide(r, middlewareLayer)
83
83
  // PR is not relevant here
84
84
  : r;
85
85
  return errorHandler(req, res, r2);
86
- })), (cause) => tsplus_module_4.tapErrorCause(tsplus_module_4.sync(() => tsplus_module_6.setStatus(500)(res))
87
- .tap((res) => tsplus_module_4.all([
86
+ })), Effect
87
+ .catchAllCause((cause) => Effect
88
+ .sync(() => HttpServerResponse.setStatus(res, 500))
89
+ .pipe(Effect
90
+ .tap((res) => Effect
91
+ .all([
88
92
  reportError("request")(cause, {
89
93
  path: req.originalUrl,
90
94
  method: req.method
91
95
  }),
92
- tsplus_module_4.suspend(() => {
96
+ Effect.suspend(() => {
93
97
  const headers = res.headers;
94
- return tsplus_module_4.annotateLogs(tsplus_module_4.logError("Finished request", cause), {
98
+ return Effect
99
+ .logError("Finished request", cause)
100
+ .pipe(Effect.annotateLogs({
95
101
  method: req.method,
96
102
  path: req.originalUrl,
97
103
  statusCode: res.status.toString(),
98
- reqPath: tsplus_module_5.RecordPretty(tsplus_module_5.object$(pars.params)),
99
- reqQuery: tsplus_module_5.RecordPretty(tsplus_module_5.object$(pars.query)),
104
+ reqPath: pretty(pars.params),
105
+ reqQuery: pretty(pars.query),
100
106
  reqBody: pretty(pars.body),
101
107
  reqCookies: pretty(pars.cookies),
102
108
  reqHeaders: pretty(pars.headers),
103
- resHeaders: tsplus_module_5.RecordPretty(tsplus_module_5.object$(Object
109
+ resHeaders: pretty(Object
104
110
  .entries(headers)
105
111
  .reduce((prev, [key, value]) => {
106
112
  prev[key] = value && typeof value === "string" ? snipString(value) : value;
107
113
  return prev;
108
- }, {})))
109
- });
114
+ }, {}))
115
+ }));
110
116
  })
111
- ], { concurrency: "inherit" })), (cause) => tsplus_module_4.sync(() => console.error("Error occurred while reporting error", cause))))
112
- .tap((res) => tsplus_module_4.annotateLogs(tsplus_module_4.logInfo("Finished request"), {
117
+ ], { concurrency: "inherit" })))
118
+ .pipe(Effect.tapErrorCause((cause) => Effect.sync(() => console.error("Error occurred while reporting error", cause))))), Effect
119
+ .tap((res) => Effect
120
+ .logInfo("Finished request")
121
+ .pipe(Effect.annotateLogs({
113
122
  method: req.method,
114
123
  path: req.originalUrl,
115
124
  statusCode: res.status.toString(),
@@ -118,10 +127,11 @@ export function makeRequestHandler(handler, errorHandler, middlewareLayer) {
118
127
  resHeaders: pretty(res.headers)
119
128
  }
120
129
  : undefined)
121
- }));
130
+ }))));
122
131
  return yield* $(eff);
123
- }), (_) => tsplus_module_5.$copy(tsplus_module_5.object$(_), {
124
- name: tsplus_module_2.NonEmptyString255(handler.name)
125
- }));
132
+ })
133
+ .pipe((_) => updateRequestContext(_, copy((_) => ({
134
+ name: NonEmptyString255(handler.name)
135
+ }))));
126
136
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVJlcXVlc3RIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21ha2VSZXF1ZXN0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBTTdELE9BQU8sRUFBWSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxZQUFZLENBQUE7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywyQkFBb0I7SUFDakQsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDLENBQUE7QUEwQ0YsTUFBTSxVQUFVLGtCQUFrQixDQWtCaEMsT0FhQyxFQUNELFlBSWdELEVBQ2hELGVBQTRDO0lBWTVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFFaEQsTUFBTSxRQUFRLEdBQStCLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsaUJBQUMsSUFBSSxDQUFBO0lBQ3ZFLE1BQU0sSUFBSSxHQUFHLFFBQWdFLENBQUE7SUFDN0UsdUZBQXVGO0lBQ3ZGLE1BQU0sT0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU07UUFDN0MsQ0FBQyx3QkFBQyxJQUFJLENBQUMsTUFBTTtJQUNiLGtCQUFrQjtJQUNsQixzRUFBc0U7SUFDdEUsOERBQThEO0lBQzlELElBQUk7SUFDSixDQUFDLHdCQUFDLElBQUksQ0FBTyxDQUFBO0lBQ2YsdUNBQXVDO0lBQ3ZDLHFE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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVJlcXVlc3RIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21ha2VSZXF1ZXN0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFLN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUdsRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNqRCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUMsQ0FBQTtBQTBDRixNQUFNLFVBQVUsa0JBQWtCLENBa0JoQyxPQWFDLEVBQ0QsWUFJK0QsRUFDL0QsZUFBNEM7SUFZNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUVoRCxNQUFNLFFBQVEsR0FBK0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDekUsTUFBTSxJQUFJLEdBQUcsUUFBZ0Us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
@@ -1,13 +1,12 @@
1
- import { Ref } from "effect/Ref";
2
- import { Effect } from "effect/Effect";
3
- import { Scope } from "effect/Scope";
4
- import { Layer } from "effect/Layer";
5
- import { type RouteDescriptorAny } from "@effect-app/infra/api/express/schema/routing";
6
1
  import type { ValidationError } from "@effect-app/infra/errors";
7
2
  import type { StructFields } from "effect-app/schema";
8
- import type { HttpRouteContext, HttpServerRequest, HttpServerResponse } from "../http.js";
3
+ import { type RouteDescriptorAny } from "./schema/routing.js";
4
+ import type { Ref, Scope } from "effect-app";
5
+ import { Context, Effect } from "effect-app";
6
+ import { HttpRouter } from "effect-app/http";
7
+ import type { HttpServerRequest, HttpServerResponse } from "effect-app/http";
9
8
  import type { RequestHandler } from "./base.js";
10
9
  import type { Middleware } from "./makeRequestHandler.js";
11
- export declare const RouteDescriptors: import("effect/Context").Tag<import("effect/Ref").Ref<RouteDescriptorAny[]>, import("effect/Ref").Ref<RouteDescriptorAny[]>>;
12
- 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<HttpServerResponse, ValidationError | MiddlewareE | ResE, R>) => Effect<HttpServerResponse, never, Exclude<RErr | R, HttpServerRequest | HttpRouteContext | Scope>>, middleware?: Middleware<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, MiddlewareE, PPath, R2, PR, CTX, Context, Config>): import("effect/Effect").Effect<import("@effect/platform/Http/Router").Route<import("../../services/RequestContextContainer.js").RequestContextContainer | import("../../services/Store/ContextMapContainer.js").ContextMapContainer | Exclude<R2, import("effect/Scope").Scope | HttpServerRequest | HttpRouteContext> | Exclude<RErr, import("effect/Scope").Scope | HttpServerRequest | HttpRouteContext> | Exclude<Exclude<Exclude<R, import("effect-app/utils").EnforceNonEmptyRecord<M>>, PR>, import("effect/Scope").Scope | HttpServerRequest | HttpRouteContext>, import("@effect/platform/Http/ServerError").RequestError>, never, never>;
10
+ export declare const RouteDescriptors: Context.Tag<Ref<RouteDescriptorAny[]>, 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.ServerRequest, res: HttpServerResponse.ServerResponse, r2: Effect<HttpServerResponse.ServerResponse, ValidationError | MiddlewareE | ResE, R>) => Effect<HttpServerResponse.ServerResponse, never, Exclude<RErr | R, HttpServerRequest.ServerRequest | HttpRouter.RouteContext | Scope>>, middleware?: Middleware<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, ResE, MiddlewareE, PPath, R2, PR, CTX, Context, Config>): Effect.Effect<HttpRouter.Route<import("../../services/RequestContextContainer.js").RequestContextContainer | import("../../services/Store/ContextMapContainer.js").ContextMapContainer | Exclude<R2, Scope.Scope | HttpServerRequest.ServerRequest | HttpRouter.RouteContext> | Exclude<RErr, Scope.Scope | HttpServerRequest.ServerRequest | HttpRouter.RouteContext> | Exclude<Exclude<Exclude<R, import("effect-app/utils").EnforceNonEmptyRecord<M>>, PR>, Scope.Scope | HttpServerRequest.ServerRequest | HttpRouter.RouteContext>, import("@effect/platform/Http/ServerError").RequestError>, never, never>;
13
12
  //# sourceMappingURL=match.d.ts.map
@@ -1 +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,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD,eAAO,MAAM,gBAAgB,8HAAsE,CAAA;AAEnG,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,kBAAkB,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC,CAAC,KACpE,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,KAAK,CAAC,CAAC,EACvG,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,snBA+CF"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../src/api/routing/match.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,OAAO,KAAK,EAAS,GAAG,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD,eAAO,MAAM,gBAAgB,mEAA8E,CAAA;AAE3G,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,CAAC,aAAa,EACpC,GAAG,EAAE,kBAAkB,CAAC,cAAc,EACtC,EAAE,EAAE,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC,CAAC,KACnF,MAAM,CACT,kBAAkB,CAAC,cAAc,EACjC,KAAK,EACL,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,iBAAiB,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,CACrF,EACD,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,qlBA+CF"}
@@ -1,12 +1,8 @@
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";
1
+ import "./schema/routing.js";
2
+ import { Context, Effect } from "effect-app";
3
+ import { HttpRouter } from "effect-app/http";
8
4
  import { makeRequestHandler } from "./makeRequestHandler.js";
9
- export const RouteDescriptors = tsplus_module_1.GenericTag("@services/RouteDescriptors");
5
+ export const RouteDescriptors = Context.GenericTag("@services/RouteDescriptors");
10
6
  export function match(requestHandler, errorHandler, middleware) {
11
7
  let middlewareLayer = undefined;
12
8
  if (middleware) {
@@ -14,11 +10,11 @@ export function match(requestHandler, errorHandler, middleware) {
14
10
  requestHandler = handler; // todo
15
11
  middlewareLayer = makeRequestLayer;
16
12
  }
17
- return tsplus_module_3.gen(function* () {
13
+ return Effect.gen(function* () {
18
14
  // const rdesc = yield* $(RouteDescriptors.flatMap((_) => _.get))
19
15
  const handler = makeRequestHandler(requestHandler, // one argument if no middleware, 2 if has middleware. TODO: clean this shit up
20
16
  errorHandler, middlewareLayer);
21
- const route = tsplus_module_2.makeRoute(requestHandler.Request.method, requestHandler.Request.path, handler);
17
+ const route = HttpRouter.makeRoute(requestHandler.Request.method, requestHandler.Request.path, handler);
22
18
  // TODO
23
19
  // rdesc.push(makeRouteDescriptor(
24
20
  // requestHandler.Request.path,
@@ -28,4 +24,4 @@ export function match(requestHandler, errorHandler, middleware) {
28
24
  return route;
29
25
  });
30
26
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCxPQUF3Qyw4Q0FBOEMsQ0FBQTtBQUl0RixPQUEyQixZQUFZLENBQUE7QUFHdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHNUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQUEsVUFBVSxDQUE0Qiw0QkFBNEIsQ0FBQyxDQUFBO0FBRW5HLE1BQU0sVUFBVSxLQUFLLENBb0JuQixjQWVDLEVBQ0QsWUFJdUcsRUFDdkcsVUFrQkM7SUFFRCxJQUFJLGVBQWUsR0FBMkMsU0FBUyxDQUFBO0lBQ3ZFLElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2hFLGNBQWMsR0FBRyxPQUFjLENBQUEsQ0FBQyxPQUFPO1FBQ3ZDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQTtJQUNwQyxDQUFDO0lBQ0QsT0FBTyxvQkFBVyxRQUFRLENBQUM7UUFDekIsaUVBQWlFO1FBRWpFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQWtCaEMsY0FBcUIsRUFBRSwrRUFBK0U7UUFDdEcsWUFBWSxFQUNaLGVBQWUsQ0FDaEIsQ0FBQTtRQUVELE1BQU0sS0FBSyxHQUFHLDBCQUNaLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUM3QixjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksRUFDM0IsT0FBTyxDQUNSLENBQUE7UUFDRCxPQUFPO1FBQ1Asa0NBQWtDO1FBQ2xDLGlDQUFpQztRQUNqQyxtQ0FBbUM7UUFDbkMsbUJBQW1CO1FBQ25CLEtBQUs7UUFDTCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBd0MscUJBQXFCLENBQUE7QUFHN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRzVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQTRCLDRCQUE0QixDQUFDLENBQUE7QUFFM0csTUFBTSxVQUFVLEtBQUssQ0FvQm5CLGNBZUMsRUFDRCxZQVFDLEVBQ0QsVUFrQkM7SUFFRCxJQUFJLGVBQWUsR0FBMkMsU0FBUyxDQUFBO0lBQ3ZFLElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2hFLGNBQWMsR0FBRyxPQUFjLENBQUEsQ0FBQyxPQUFPO1FBQ3ZDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQTtJQUNwQyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixpRUFBaUU7UUFFakUsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBa0JoQyxjQUFxQixFQUFFLCtFQUErRTtRQUN0RyxZQUFZLEVBQ1osZUFBZSxDQUNoQixDQUFBO1FBRUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FDaEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQzdCLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUMzQixPQUFPLENBQ1IsQ0FBQTtRQUNELE9BQU87UUFDUCxrQ0FBa0M7UUFDbEMsaUNBQWlDO1FBQ2pDLG1DQUFtQztRQUNuQyxtQkFBbUI7UUFDbkIsS0FBSztRQUNMLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ import * as S from "effect-app/schema";
2
+ import { type JwtDecodeOptions } from "jwt-decode";
3
+ export declare const parseJwt: <R, I, A>(schema: S.Schema<A, I, R>, options?: JwtDecodeOptions | undefined) => S.Schema<A, string, R>;
4
+ //# sourceMappingURL=jwt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/schema/jwt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7D,eAAO,MAAM,QAAQ,iDAET,gBAAgB,GAAG,SAAS,2BAeO,CAAA"}
@@ -0,0 +1,11 @@
1
+ import * as S from "effect-app/schema";
2
+ import { jwtDecode } from "jwt-decode";
3
+ export const parseJwt = (schema, options) => S
4
+ .transformOrFail(S.string, S.unknown, (s, __, ast) => S.ParseResult.try({
5
+ try: () => jwtDecode(s, options),
6
+ catch: (e) => S.ParseResult.type(ast, s, e?.message)
7
+ }), (_) => {
8
+ throw new Error("not implemented");
9
+ })
10
+ .pipe(S.compose(schema, { strict: false }));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL3NjaGVtYS9qd3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLFlBQVksQ0FBQTtBQUU3RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsTUFBeUIsRUFDekIsT0FBc0MsRUFDZCxFQUFFLENBQzFCLENBQUM7S0FDRSxlQUFlLENBQ2QsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsT0FBTyxFQUNULENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUNiLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO0lBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNoQyxLQUFLLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMxRCxDQUFDLEVBQ0osQ0FBQyxDQUFDLEVBQThCLEVBQUU7SUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBQ3BDLENBQUMsQ0FDRjtLQUNBLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUEifQ==
@@ -1,4 +1,4 @@
1
- import { Tag } from "effect/Context";
1
+ import type { Context } from "effect-app";
2
2
  import type { REST } from "effect-app/schema";
3
3
  export type Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, PPath extends `/${string}`> = REST.ReqRes<any, unknown, ReqA> & {
4
4
  method: REST.SupportedMethods;
@@ -8,7 +8,7 @@ export type Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends Path
8
8
  Body?: REST.ReqRes<BodyA, unknown, any>;
9
9
  Query?: REST.ReqRes<QueryA, Record<string, string>, any>;
10
10
  Headers?: REST.ReqRes<HeaderA, Record<string, string>, any>;
11
- Tag: Tag<M, M>;
11
+ Tag: Context.Tag<M, M>;
12
12
  };
13
13
  export interface RouteRequestHandler<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, PPath extends `/${string}`> {
14
14
  Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/schema/routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ export function asRouteDescriptionAny(i) {
2
+ return i;
3
+ }
4
+ export function arrAsRouteDescriptionAny(arr) {
5
+ return arr.map(asRouteDescriptionAny);
6
+ }
7
+ export function makeRouteDescriptor(path, method, handler) {
8
+ return { path, handler, method, _tag: "Schema" };
9
+ }
10
+ // export function makeFromSchema<ResA>(
11
+ // e: RouteDescriptor<any, any, any, any, any, any, ResA, any>
12
+ // ) {
13
+ // const jsonSchema_ = OpenApi.for
14
+ // const jsonSchema = <E, A>(r: REST.ReqRes<A, E, any>) => jsonSchema_(r)
15
+ // const { Request: Req, Response: Res_, ResponseOpenApi } = e.handler
16
+ // const r = ResponseOpenApi ?? Res_
17
+ // const Res = r ? S.extractSchema(r) : S.Void
18
+ // // TODO EffectOption.fromNullable(Req.Headers).flatMapOpt(jsonSchema)
19
+ // // TODO: use the path vs body etc serialisation also in the Client.
20
+ // const makeReqQuerySchema = Effect.sync(() => Option.fromNullable(Req.Query)).flatMap((_) =>
21
+ // _.match({
22
+ // onNone: () => Effect.sync(() => Option.none()),
23
+ // onSome: (_) => jsonSchema(_).map(Option.some)
24
+ // })
25
+ // )
26
+ // const makeReqHeadersSchema = Effect.sync(() => Option.fromNullable(Req.Headers)).flatMap((_) =>
27
+ // _.match({
28
+ // onNone: () => Effect.sync(() => Option.none()),
29
+ // onSome: (_) => jsonSchema(_).map(Option.some)
30
+ // })
31
+ // )
32
+ // const makeReqCookieSchema = Effect.sync(() => Option.fromNullable(Req.Cookie)).flatMap((_) =>
33
+ // _.match({
34
+ // onNone: () => Effect.sync(() => Option.none()),
35
+ // onSome: (_) => jsonSchema(_).map(Option.some)
36
+ // })
37
+ // )
38
+ // const makeReqPathSchema = Effect.sync(() => Option.fromNullable(Req.Path)).flatMap((_) =>
39
+ // _.match({
40
+ // onNone: () => Effect.sync(() => Option.none()),
41
+ // onSome: (_) => jsonSchema(_).map(Option.some)
42
+ // })
43
+ // )
44
+ // const makeReqBodySchema = Effect.sync(() => Option.fromNullable(Req.Body)).flatMap((_) =>
45
+ // _.match({
46
+ // onNone: () => Effect.sync(() => Option.none()),
47
+ // onSome: (_) => jsonSchema(_).map(Option.some)
48
+ // })
49
+ // )
50
+ // // const makeReqSchema = schema(Req)
51
+ // const makeResSchema = jsonSchema_(Res)
52
+ // function makeParameters(inn: ParameterLocation) {
53
+ // return (a: Option<JSONSchema | SubSchema>) => {
54
+ // return a
55
+ // .flatMap((o) => (isObjectSchema(o) ? Option.some(o) : Option.none()))
56
+ // .map((x) => {
57
+ // // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
58
+ // return Object.keys(x.properties!).map((p) => {
59
+ // // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
60
+ // const schema = x.properties![p]
61
+ // const required = Boolean(x.required?.includes(p))
62
+ // return { name: p, in: inn, required, schema }
63
+ // })
64
+ // })
65
+ // .getOrElse(() => [])
66
+ // }
67
+ // }
68
+ // return Effect
69
+ // .all({
70
+ // req: jsonSchema(Req.Model),
71
+ // reqQuery: makeReqQuerySchema,
72
+ // reqHeaders: makeReqHeadersSchema,
73
+ // reqBody: makeReqBodySchema,
74
+ // reqPath: makeReqPathSchema,
75
+ // reqCookie: makeReqCookieSchema,
76
+ // res: makeResSchema
77
+ // })
78
+ // .map((_) => {
79
+ // // console.log("$$$ REQ", _.req)
80
+ // const isEmpty = !e.handler.Response || e.handler.Response === S.Void
81
+ // return {
82
+ // path: e.path,
83
+ // method: e.method.toLowerCase(),
84
+ // tags: e.info?.tags,
85
+ // description: _.req?.description,
86
+ // summary: _.req?.summary,
87
+ // operationId: _.req?.title,
88
+ // parameters: [
89
+ // ...makeParameters("path")(_.reqPath),
90
+ // ...makeParameters("query")(_.reqQuery),
91
+ // ...makeParameters("header")(_.reqHeaders),
92
+ // ...makeParameters("cookie")(_.reqCookie)
93
+ // ],
94
+ // requestBody: _
95
+ // .reqBody
96
+ // .map((schema) => ({
97
+ // content: { "application/json": { schema } }
98
+ // }))
99
+ // .value,
100
+ // responses: [
101
+ // isEmpty
102
+ // ? new Response(204, { description: "Empty" })
103
+ // : new Response(200, {
104
+ // description: "OK",
105
+ // content: { "application/json": { schema: _.res } }
106
+ // }),
107
+ // new Response(400, { description: "ValidationError" })
108
+ // ]
109
+ // .concat(
110
+ // e.path.includes(":") && isEmpty
111
+ // ? [new Response(404, { description: "NotFoundError" })]
112
+ // : []
113
+ // )
114
+ // }
115
+ // })
116
+ // }
117
+ // class Response {
118
+ // constructor(
119
+ // public readonly statusCode: number,
120
+ // public readonly type: any // string | JSONSchema | SubSchema
121
+ // ) {}
122
+ // }
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9zY2hlbWEvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q0EsTUFBTSxVQUFVLHFCQUFxQixDQUErQixDQUFJO0lBQ3RFLE9BQU8sQ0FBdUIsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxHQUFxQjtJQUVyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBaUNELE1BQU0sVUFBVSxtQkFBbUIsQ0FXakMsSUFBa0IsRUFDbEIsTUFBYyxFQUNkLE9BVUM7SUFZRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFBO0FBQ2xELENBQUM7QUFFRCx3Q0FBd0M7QUFDeEMsZ0VBQWdFO0FBQ2hFLE1BQU07QUFDTixvQ0FBb0M7QUFDcEMsMkVBQTJFO0FBQzNFLHdFQUF3RTtBQUN4RSxzQ0FBc0M7QUFDdEMsZ0RBQWdEO0FBQ2hELDBFQUEwRTtBQUMxRSx3RUFBd0U7QUFDeEUsZ0dBQWdHO0FBQ2hHLGdCQUFnQjtBQUNoQix3REFBd0Q7QUFDeEQsc0RBQXNEO0FBQ3RELFNBQVM7QUFDVCxNQUFNO0FBQ04sb0dBQW9HO0FBQ3BHLGdCQUFnQjtBQUNoQix3REFBd0Q7QUFDeEQsc0RBQXNEO0FBQ3RELFNBQVM7QUFDVCxNQUFNO0FBQ04sa0dBQWtHO0FBQ2xHLGdCQUFnQjtBQUNoQix3REFBd0Q7QUFDeEQsc0RBQXNEO0FBQ3RELFNBQVM7QUFDVCxNQUFNO0FBQ04sOEZBQThGO0FBQzlGLGdCQUFnQjtBQUNoQix3REFBd0Q7QUFDeEQsc0RBQXNEO0FBQ3RELFNBQVM7QUFDVCxNQUFNO0FBQ04sOEZBQThGO0FBQzlGLGdCQUFnQjtBQUNoQix3REFBd0Q7QUFDeEQsc0RBQXNEO0FBQ3RELFNBQVM7QUFDVCxNQUFNO0FBQ04seUNBQXlDO0FBRXpDLDJDQUEyQztBQUUzQyxzREFBc0Q7QUFDdEQsc0RBQXNEO0FBQ3RELGlCQUFpQjtBQUNqQixnRkFBZ0Y7QUFDaEYsd0JBQXdCO0FBQ3hCLGlGQUFpRjtBQUNqRiwyREFBMkQ7QUFDM0QsbUZBQW1GO0FBQ25GLDhDQUE4QztBQUM5QyxnRUFBZ0U7QUFDaEUsNERBQTREO0FBQzVELGVBQWU7QUFDZixhQUFhO0FBQ2IsK0JBQStCO0FBQy9CLFFBQVE7QUFDUixNQUFNO0FBRU4sa0JBQWtCO0FBQ2xCLGFBQWE7QUFDYixvQ0FBb0M7QUFDcEMsc0NBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyxvQ0FBb0M7QUFDcEMsb0NBQW9DO0FBQ3BDLHdDQUF3QztBQUN4QywyQkFBMkI7QUFDM0IsU0FBUztBQUNULG9CQUFvQjtBQUNwQix5Q0FBeUM7QUFDekMsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUNqQix3QkFBd0I7QUFDeEIsMENBQTBDO0FBQzFDLDhCQUE4QjtBQUM5QiwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBQ25DLHFDQUFxQztBQUNyQyx3QkFBd0I7QUFDeEIsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCx1REFBdUQ7QUFDdkQscURBQXFEO0FBQ3JELGFBQWE7QUFDYix5QkFBeUI7QUFDekIscUJBQXFCO0FBQ3JCLGdDQUFnQztBQUNoQywwREFBMEQ7QUFDMUQsZ0JBQWdCO0FBQ2hCLG9CQUFvQjtBQUNwQix1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCLDREQUE0RDtBQUM1RCxvQ0FBb0M7QUFDcEMsbUNBQW1DO0FBQ25DLG1FQUFtRTtBQUNuRSxrQkFBa0I7QUFDbEIsa0VBQWtFO0FBQ2xFLFlBQVk7QUFDWixxQkFBcUI7QUFDckIsOENBQThDO0FBQzlDLHdFQUF3RTtBQUN4RSxxQkFBcUI7QUFDckIsY0FBYztBQUNkLFVBQVU7QUFDVixTQUFTO0FBQ1QsSUFBSTtBQUVKLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsMENBQTBDO0FBQzFDLG1FQUFtRTtBQUNuRSxTQUFTO0FBQ1QsSUFBSSJ9
@@ -5,4 +5,6 @@ export * from "./routing/base.js";
5
5
  export * from "./routing/defaultErrorHandler.js";
6
6
  export * from "./routing/makeRequestHandler.js";
7
7
  export * from "./routing/match.js";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBRWpELHlEQUF5RDtBQUN6RCxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLG9CQUFvQixDQUFBIn0=
8
+ // codegen:end
9
+ // export * from "@effect-app/infra/api/routing"
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBRWpELHlEQUF5RDtBQUN6RCxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWM7QUFFZCxnREFBZ0QifQ==
@@ -1,15 +1,13 @@
1
- import { Effect } from "effect/Effect";
1
+ import { Effect } from "effect-app";
2
2
  import { RequestContext } from "../RequestContext.js";
3
3
  import { RequestContextContainer } from "../services/RequestContextContainer.js";
4
4
  import { ContextMapContainer } from "../services/Store/ContextMapContainer.js";
5
5
  /**
6
6
  * @tsplus fluent effect/io/Effect setupRequestContext
7
- * @tsplus location "@effect-app/infra/api/setupRequest"
8
7
  */
9
- export declare function setupRequestContext<R, E, A>(self: Effect<A, E, R>, requestContext: RequestContext | string): import("effect/Effect").Effect<A, E, RequestContextContainer | ContextMapContainer | Exclude<Exclude<R, import("effect/Tracer").ParentSpan>, never>>;
8
+ export declare function setupRequestContext<R, E, A>(self: Effect<A, E, R>, requestContext: RequestContext | string): Effect.Effect<A, E, RequestContextContainer | ContextMapContainer | Exclude<Exclude<R, import("effect/Tracer").ParentSpan>, never>>;
10
9
  /**
11
10
  * @tsplus fluent effect/io/Effect updateRequestContext
12
- * @tsplus location "@effect-app/infra/api/setupRequest"
13
11
  */
14
- export declare function updateRequestContext<R, E, A>(self: Effect<A, E, R>, f: (rc: RequestContext) => RequestContext): import("effect/Effect").Effect<A, E, RequestContextContainer | Exclude<R, never>>;
12
+ export declare function updateRequestContext<R, E, A>(self: Effect<A, E, R>, f: (rc: RequestContext) => RequestContext): Effect.Effect<A, E, RequestContextContainer | Exclude<R, never>>;
15
13
  //# sourceMappingURL=setupRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../src/api/setupRequest.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;;;;;AAiD9E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM,wJAI1G;;;;;AAQD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,qFAI7G"}
1
+ {"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../src/api/setupRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAe,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAkB,MAAM,wCAAwC,CAAA;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAkD9E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM,uIAM1G;AAKD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,oEAE7G"}
@@ -1,53 +1,49 @@
1
- import * as tsplus_module_1 from "effect-app/schema";
2
- import * as tsplus_module_2 from "effect/Effect";
3
- import * as tsplus_module_3 from "@effect-app/infra/services/RequestContextContainer";
4
- import * as tsplus_module_4 from "effect/Layer";
1
+ import { NonEmptyString255 } from "@effect-app/schema";
2
+ import { Effect, Layer, pipe } from "effect-app";
5
3
  import { RequestId } from "effect-app/ids";
6
4
  import { RequestContext } from "../RequestContext.js";
7
- import { RequestContextContainer } from "../services/RequestContextContainer.js";
5
+ import { RequestContextContainer, spanAttributes } from "../services/RequestContextContainer.js";
8
6
  import { ContextMapContainer } from "../services/Store/ContextMapContainer.js";
9
7
  function makeInternalRequestContext(name) {
10
- return tsplus_module_2.sync(() => {
8
+ return Effect.sync(() => {
11
9
  const id = RequestId.make();
12
10
  return new RequestContext({
13
11
  id,
14
12
  rootId: id,
15
13
  locale: "en",
16
- name: tsplus_module_1.NonEmptyString255(name)
14
+ name: NonEmptyString255(name)
17
15
  });
18
16
  });
19
17
  }
20
- const withRequestSpan = (f) => RequestContextContainer
21
- .get
22
- .andThen((ctx) => tsplus_module_2.withLogSpan(tsplus_module_2.withSpan(f, "request", { attributes: tsplus_module_3.spanAttributes(ctx) })
18
+ const withRequestSpan = (f) => Effect.andThen(RequestContextContainer
19
+ .get, (ctx) => f.pipe(Effect.withSpan("request", { attributes: spanAttributes(ctx) }),
23
20
  // request context info is picked up directly in the logger for annotations.
24
- , "request"));
25
- const setupContextMap = tsplus_module_4.effectDiscard(ContextMapContainer.andThen((_) => _.start));
21
+ Effect.withLogSpan("request")));
22
+ const setupContextMap = Effect.andThen(ContextMapContainer, (_) => _.start).pipe(Layer.effectDiscard);
26
23
  // const RequestContextLiveFromRequestContext = (requestContext: RequestContext) =>
27
24
  // RequestContext.Tag.makeLayer(requestContext)
28
25
  // memoization problem
29
26
  // const RequestContextLive = RequestContextContainer.get.toLayer(RequestContext.Tag)
30
- const RequestContextStartLiveFromRequestContext = (requestContext) => tsplus_module_4.provideMerge(setupContextMap
27
+ const RequestContextStartLiveFromRequestContext = (requestContext) => Layer.provideMerge(setupContextMap,
31
28
  // .provideMerge(RequestContextLiveFromRequestContext(requestContext))
32
- , tsplus_module_4.effectDiscard(RequestContextContainer
33
- .andThen((_) => _.start(requestContext))));
29
+ Effect
30
+ .andThen(RequestContextContainer, (_) => _.start(requestContext))
31
+ .pipe(Layer.effectDiscard));
34
32
  const RequestContextStartLive = (requestContext) => typeof requestContext === "string"
35
- ? tsplus_module_4.unwrapEffect(makeInternalRequestContext(requestContext)
36
- .andThen(RequestContextStartLiveFromRequestContext)) : RequestContextStartLiveFromRequestContext(requestContext);
33
+ ? pipe(makeInternalRequestContext(requestContext), Effect.andThen(RequestContextStartLiveFromRequestContext), Layer.unwrapEffect)
34
+ : RequestContextStartLiveFromRequestContext(requestContext);
37
35
  /**
38
36
  * @tsplus fluent effect/io/Effect setupRequestContext
39
37
  */
40
38
  export function setupRequestContext(self, requestContext) {
41
- return tsplus_module_2.provide(self
42
- .pipe(withRequestSpan), RequestContextStartLive(requestContext));
39
+ return self
40
+ .pipe(withRequestSpan, Effect.provide(RequestContextStartLive(requestContext)));
43
41
  }
44
- const UpdateRequestContextLive = (f) => tsplus_module_4.effectDiscard(RequestContextContainer.andThen((rcc) => rcc.update(f)));
42
+ const UpdateRequestContextLive = (f) => Effect.andThen(RequestContextContainer, (rcc) => rcc.update(f)).pipe(Layer.effectDiscard);
45
43
  /**
46
44
  * @tsplus fluent effect/io/Effect updateRequestContext
47
45
  */
48
46
  export function updateRequestContext(self, f) {
49
- return tsplus_module_2.provide(self
50
- // .provideServiceEffect(RequestContext.Tag, RequestContextContainer.get)
51
- , UpdateRequestContextLive(f));
47
+ return Effect.provide(self, UpdateRequestContextLive(f));
52
48
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9zZXR1cFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFFOUUsU0FBUywwQkFBMEIsQ0FBQyxJQUFZO0lBQzlDLE9BQU8scUJBQVksR0FBRyxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMzQixPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osSUFBSSxFQUFFLGdCQUFBLGlCQUFpQixDQUFDLElBQUksQ0FBQztTQUM5QixDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFVLENBQWtCLEVBQUUsRUFBRSxDQUN0RCx1QkFBdUI7S0FDcEIsR0FBRztLQUNILE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2YsNEJBQUEseUJBQUEsQ0FBQyxFQUNXLFNBQVMsRUFBRSxFQUFFLFVBQVUsaUNBQUUsR0FBRyxDQUFlLEVBQUUsQ0FBQztBQUN4RCw0RUFBNEU7RUFDL0QsU0FBUyxDQUFDLENBQzFCLENBQUE7QUFFTCxNQUFNLGVBQWUsaUNBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQWUsQ0FBQTtBQUVsRixtRkFBbUY7QUFDbkYsaURBQWlEO0FBQ2pELHNCQUFzQjtBQUN0QixxRkFBcUY7QUFDckYsTUFBTSx5Q0FBeUMsR0FBRyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUNuRiw2QkFBQSxlQUFlO0FBQ2Isc0VBQXNFO2dDQUVwRSx1QkFBdUI7S0FDcEIsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBRTNDLENBQUE7QUFFTCxNQUFNLHVCQUF1QixHQUFHLENBQUMsY0FBdUMsRUFBRSxFQUFFLENBQzFFLE9BQU8sY0FBYyxLQUFLLFFBQVE7SUFDaEMsQ0FBQyw4QkFBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUM7U0FDekMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLEVBRXJELENBQUMsQ0FBQyx5Q0FBeUMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUUvRDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBVSxJQUFxQixFQUFFLGNBQXVDO0lBQ3pHLE9BQU8sd0JBQUEsSUFBSTtTQUNSLElBQUksQ0FBQyxlQUFlLENBQUMsRUFDYix1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0FBQ3JELENBQUM7QUFFRCxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBeUMsRUFBRSxFQUFFLCtCQUM3RSx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBZSxDQUFBO0FBRXhFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFVLElBQXFCLEVBQUUsQ0FBeUM7SUFDNUcsT0FBTyx3QkFBQSxJQUFJO0lBQ1QseUVBQXlFO01BQ2hFLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDekMsQ0FBQyJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9zZXR1cFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBRTlFLFNBQVMsMEJBQTBCLENBQUMsSUFBWTtJQUM5QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMzQixPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQztTQUM5QixDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFVLENBQWtCLEVBQUUsRUFBRSxDQUN0RCxNQUFNLENBQUMsT0FBTyxDQUNaLHVCQUF1QjtLQUNwQixHQUFHLEVBQ04sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLENBQUMsQ0FBQyxJQUFJLENBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDL0QsNEVBQTRFO0FBQzVFLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQzlCLENBQ0osQ0FBQTtBQUVILE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRXJHLG1GQUFtRjtBQUNuRixpREFBaUQ7QUFDakQsc0JBQXNCO0FBQ3RCLHFGQUFxRjtBQUNyRixNQUFNLHlDQUF5QyxHQUFHLENBQUMsY0FBOEIsRUFBRSxFQUFFLENBQ25GLEtBQUssQ0FBQyxZQUFZLENBQ2hCLGVBQWU7QUFDZixzRUFBc0U7QUFDdEUsTUFBTTtLQUNILE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUM3QixDQUFBO0FBRUgsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLGNBQXVDLEVBQUUsRUFBRSxDQUMxRSxPQUFPLGNBQWMsS0FBSyxRQUFRO0lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQ0osMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsRUFDekQsS0FBSyxDQUFDLFlBQVksQ0FDbkI7SUFDRCxDQUFDLENBQUMseUNBQXlDLENBQUMsY0FBYyxDQUFDLENBQUE7QUFFL0Q7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQVUsSUFBcUIsRUFBRSxjQUF1QztJQUN6RyxPQUFPLElBQUk7U0FDUixJQUFJLENBQ0gsZUFBZSxFQUNmLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FDeEQsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBeUMsRUFBRSxFQUFFLENBQzdFLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRTNGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFVLElBQXFCLEVBQUUsQ0FBeUM7SUFDNUcsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUMifQ==