@effect-app/infra 4.0.0-beta.25 → 4.0.0-beta.251

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 (467) hide show
  1. package/CHANGELOG.md +1900 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +30 -11
  4. package/dist/CUPS.d.ts.map +1 -1
  5. package/dist/CUPS.js +35 -14
  6. package/dist/ContextProvider.d.ts +34 -0
  7. package/dist/ContextProvider.d.ts.map +1 -0
  8. package/dist/ContextProvider.js +40 -0
  9. package/dist/Emailer/Sendgrid.d.ts +111 -147
  10. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  11. package/dist/Emailer/Sendgrid.js +24 -19
  12. package/dist/Emailer/fake.d.ts +2 -2
  13. package/dist/Emailer/fake.d.ts.map +1 -1
  14. package/dist/Emailer/fake.js +4 -4
  15. package/dist/MainFiberSet.d.ts +12 -9
  16. package/dist/MainFiberSet.d.ts.map +1 -1
  17. package/dist/MainFiberSet.js +10 -6
  18. package/dist/QueueMaker/SQLQueue.d.ts +8 -9
  19. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  20. package/dist/QueueMaker/SQLQueue.js +138 -120
  21. package/dist/QueueMaker/errors.d.ts +5 -3
  22. package/dist/QueueMaker/errors.d.ts.map +1 -1
  23. package/dist/QueueMaker/errors.js +4 -2
  24. package/dist/QueueMaker/memQueue.d.ts +10 -6
  25. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  26. package/dist/QueueMaker/memQueue.js +84 -68
  27. package/dist/QueueMaker/sbqueue.d.ts +9 -5
  28. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  29. package/dist/QueueMaker/sbqueue.js +60 -58
  30. package/dist/RequestFiberSet.d.ts +10 -7
  31. package/dist/RequestFiberSet.d.ts.map +1 -1
  32. package/dist/RequestFiberSet.js +13 -8
  33. package/dist/SQL/Model.d.ts +468 -0
  34. package/dist/SQL/Model.d.ts.map +1 -0
  35. package/dist/SQL/Model.js +469 -0
  36. package/dist/SQL.d.ts +2 -0
  37. package/dist/SQL.d.ts.map +1 -0
  38. package/dist/{adapters/SQL.js → SQL.js} +1 -1
  39. package/dist/ServiceBus.d.ts +61 -0
  40. package/dist/ServiceBus.d.ts.map +1 -0
  41. package/dist/ServiceBus.js +108 -0
  42. package/dist/Store/Cosmos/query.d.ts +15 -4
  43. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  44. package/dist/Store/Cosmos/query.js +179 -41
  45. package/dist/Store/Cosmos.d.ts +3 -3
  46. package/dist/Store/Cosmos.d.ts.map +1 -1
  47. package/dist/Store/Cosmos.js +344 -246
  48. package/dist/Store/Disk.d.ts +5 -5
  49. package/dist/Store/Disk.d.ts.map +1 -1
  50. package/dist/Store/Disk.js +78 -38
  51. package/dist/Store/Memory.d.ts +7 -10
  52. package/dist/Store/Memory.d.ts.map +1 -1
  53. package/dist/Store/Memory.js +326 -66
  54. package/dist/Store/SQL/Pg.d.ts +4 -0
  55. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  56. package/dist/Store/SQL/Pg.js +232 -0
  57. package/dist/Store/SQL/query.d.ts +49 -0
  58. package/dist/Store/SQL/query.d.ts.map +1 -0
  59. package/dist/Store/SQL/query.js +527 -0
  60. package/dist/Store/SQL.d.ts +21 -0
  61. package/dist/Store/SQL.d.ts.map +1 -0
  62. package/dist/Store/SQL.js +449 -0
  63. package/dist/Store/codeFilter.d.ts +5 -5
  64. package/dist/Store/codeFilter.d.ts.map +1 -1
  65. package/dist/Store/codeFilter.js +6 -3
  66. package/dist/Store/index.d.ts +7 -5
  67. package/dist/Store/index.d.ts.map +1 -1
  68. package/dist/Store/index.js +18 -5
  69. package/dist/Store/utils.d.ts +4 -3
  70. package/dist/Store/utils.d.ts.map +1 -1
  71. package/dist/Store/utils.js +5 -5
  72. package/dist/arbs.d.ts +2 -2
  73. package/dist/arbs.d.ts.map +1 -1
  74. package/dist/arbs.js +5 -3
  75. package/dist/codec.d.ts +5 -0
  76. package/dist/codec.d.ts.map +1 -0
  77. package/dist/codec.js +5 -0
  78. package/dist/cosmos-client.d.ts +16 -0
  79. package/dist/cosmos-client.d.ts.map +1 -0
  80. package/dist/cosmos-client.js +11 -0
  81. package/dist/errorReporter.d.ts +7 -5
  82. package/dist/errorReporter.d.ts.map +1 -1
  83. package/dist/errorReporter.js +23 -27
  84. package/dist/errors.d.ts +1 -1
  85. package/dist/fileUtil.d.ts +2 -2
  86. package/dist/fileUtil.d.ts.map +1 -1
  87. package/dist/fileUtil.js +2 -2
  88. package/dist/index.d.ts +3 -2
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +3 -2
  91. package/dist/internal/RequestContextMiddleware.d.ts +5 -0
  92. package/dist/internal/RequestContextMiddleware.d.ts.map +1 -0
  93. package/dist/internal/RequestContextMiddleware.js +45 -0
  94. package/dist/internal/auth.d.ts +53 -0
  95. package/dist/internal/auth.d.ts.map +1 -0
  96. package/dist/internal/auth.js +180 -0
  97. package/dist/internal/events.d.ts +11 -0
  98. package/dist/internal/events.d.ts.map +1 -0
  99. package/dist/internal/events.js +49 -0
  100. package/dist/internal/health.d.ts +3 -0
  101. package/dist/internal/health.d.ts.map +1 -0
  102. package/dist/internal/health.js +5 -0
  103. package/dist/layerUtils.d.ts +32 -0
  104. package/dist/layerUtils.d.ts.map +1 -0
  105. package/dist/layerUtils.js +17 -0
  106. package/dist/logger/jsonLogger.d.ts +2 -2
  107. package/dist/logger/jsonLogger.d.ts.map +1 -1
  108. package/dist/logger/jsonLogger.js +5 -3
  109. package/dist/logger/logFmtLogger.d.ts +2 -2
  110. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  111. package/dist/logger/logFmtLogger.js +3 -3
  112. package/dist/logger/shared.d.ts +3 -3
  113. package/dist/logger/shared.d.ts.map +1 -1
  114. package/dist/logger/shared.js +5 -5
  115. package/dist/logger.d.ts +1 -1
  116. package/dist/logger.d.ts.map +1 -1
  117. package/dist/memQueue.d.ts +15 -0
  118. package/dist/memQueue.d.ts.map +1 -0
  119. package/dist/memQueue.js +21 -0
  120. package/dist/middlewares.d.ts +10 -0
  121. package/dist/middlewares.d.ts.map +1 -0
  122. package/dist/{api/middlewares.js → middlewares.js} +1 -1
  123. package/dist/mongo-client.d.ts +11 -0
  124. package/dist/mongo-client.d.ts.map +1 -0
  125. package/dist/mongo-client.js +15 -0
  126. package/dist/otel.d.ts +75 -0
  127. package/dist/otel.d.ts.map +1 -0
  128. package/dist/otel.js +65 -0
  129. package/dist/rateLimit.d.ts +12 -4
  130. package/dist/rateLimit.d.ts.map +1 -1
  131. package/dist/rateLimit.js +7 -12
  132. package/dist/redis-client.d.ts +42 -0
  133. package/dist/redis-client.d.ts.map +1 -0
  134. package/dist/redis-client.js +98 -0
  135. package/dist/reportError.d.ts +4 -0
  136. package/dist/reportError.d.ts.map +1 -0
  137. package/dist/reportError.js +28 -0
  138. package/dist/routing/middleware/RouterMiddleware.d.ts +16 -0
  139. package/dist/routing/middleware/RouterMiddleware.d.ts.map +1 -0
  140. package/dist/{api/routing → routing}/middleware/RouterMiddleware.js +1 -1
  141. package/dist/routing/middleware/middleware.d.ts +48 -0
  142. package/dist/routing/middleware/middleware.d.ts.map +1 -0
  143. package/dist/routing/middleware/middleware.js +128 -0
  144. package/dist/routing/middleware.d.ts +3 -0
  145. package/dist/routing/middleware.d.ts.map +1 -0
  146. package/dist/{api/routing → routing}/middleware.js +1 -2
  147. package/dist/routing/schema/jwt.d.ts +4 -0
  148. package/dist/routing/schema/jwt.d.ts.map +1 -0
  149. package/dist/routing/schema/jwt.js +13 -0
  150. package/dist/routing/tsort.d.ts +8 -0
  151. package/dist/routing/tsort.d.ts.map +1 -0
  152. package/dist/routing/tsort.js +51 -0
  153. package/dist/routing/utils.d.ts +19 -0
  154. package/dist/routing/utils.d.ts.map +1 -0
  155. package/dist/routing/utils.js +45 -0
  156. package/dist/routing.d.ts +184 -0
  157. package/dist/routing.d.ts.map +1 -0
  158. package/dist/routing.js +236 -0
  159. package/dist/test.d.ts +3 -3
  160. package/dist/test.d.ts.map +1 -1
  161. package/dist/test.js +2 -2
  162. package/dist/util.d.ts +3 -0
  163. package/dist/util.d.ts.map +1 -0
  164. package/dist/util.js +14 -0
  165. package/dist/vitest.d.ts +1 -1
  166. package/examples/query.ts +47 -39
  167. package/package.json +119 -234
  168. package/src/CUPS.ts +52 -13
  169. package/src/{api/ContextProvider.ts → ContextProvider.ts} +19 -16
  170. package/src/Emailer/Sendgrid.ts +82 -59
  171. package/src/Emailer/fake.ts +3 -3
  172. package/src/MainFiberSet.ts +12 -10
  173. package/src/QueueMaker/SQLQueue.ts +153 -156
  174. package/src/QueueMaker/errors.ts +3 -1
  175. package/src/QueueMaker/memQueue.ts +113 -107
  176. package/src/QueueMaker/sbqueue.ts +78 -90
  177. package/src/RequestFiberSet.ts +13 -8
  178. package/src/{adapters/SQL → SQL}/Model.ts +42 -41
  179. package/src/ServiceBus.ts +219 -0
  180. package/src/Store/Cosmos/query.ts +216 -52
  181. package/src/Store/Cosmos.ts +493 -353
  182. package/src/Store/Disk.ts +109 -69
  183. package/src/Store/Memory.ts +365 -96
  184. package/src/Store/SQL/Pg.ts +363 -0
  185. package/src/Store/SQL/query.ts +603 -0
  186. package/src/Store/SQL.ts +735 -0
  187. package/src/Store/codeFilter.ts +8 -5
  188. package/src/Store/index.ts +21 -6
  189. package/src/Store/utils.ts +26 -24
  190. package/src/arbs.ts +5 -3
  191. package/src/{adapters/cosmos-client.ts → cosmos-client.ts} +5 -3
  192. package/src/errorReporter.ts +66 -76
  193. package/src/fileUtil.ts +1 -1
  194. package/src/index.ts +2 -1
  195. package/src/{api/internal → internal}/RequestContextMiddleware.ts +23 -6
  196. package/src/internal/auth.ts +272 -0
  197. package/src/{api/internal → internal}/events.ts +22 -13
  198. package/src/{api/layerUtils.ts → layerUtils.ts} +14 -10
  199. package/src/logger/jsonLogger.ts +4 -2
  200. package/src/logger/logFmtLogger.ts +2 -2
  201. package/src/logger/shared.ts +5 -4
  202. package/src/{adapters/memQueue.ts → memQueue.ts} +5 -4
  203. package/src/{adapters/mongo-client.ts → mongo-client.ts} +4 -2
  204. package/src/otel.ts +152 -0
  205. package/src/rateLimit.ts +34 -23
  206. package/src/{adapters/redis-client.ts → redis-client.ts} +7 -3
  207. package/src/{api/reportError.ts → reportError.ts} +3 -2
  208. package/src/{api/routing → routing}/middleware/RouterMiddleware.ts +5 -4
  209. package/src/{api/routing → routing}/middleware/middleware.ts +62 -17
  210. package/src/routing/middleware.ts +4 -0
  211. package/src/{api/routing → routing}/schema/jwt.ts +2 -1
  212. package/src/{api/routing → routing}/utils.ts +2 -1
  213. package/src/routing.ts +768 -0
  214. package/src/test.ts +2 -2
  215. package/test/auth.test.ts +101 -0
  216. package/test/contextProvider.test.ts +15 -12
  217. package/test/controller.test.ts +28 -32
  218. package/test/cosmos-query.test.ts +159 -0
  219. package/test/dist/auth.test.d.ts.map +1 -0
  220. package/test/dist/contextProvider.test.d.ts.map +1 -1
  221. package/test/dist/controller.test.d.ts.map +1 -1
  222. package/test/dist/cosmos-query.test.d.ts.map +1 -0
  223. package/test/dist/date-query.test.d.ts.map +1 -0
  224. package/test/dist/fixtures.d.ts +30 -12
  225. package/test/dist/fixtures.d.ts.map +1 -1
  226. package/test/dist/fixtures.js +17 -10
  227. package/test/dist/query.test.d.ts.map +1 -1
  228. package/test/dist/rawQuery.test.d.ts.map +1 -1
  229. package/test/dist/repository-ext.test.d.ts.map +1 -0
  230. package/test/dist/requires.test.d.ts.map +1 -1
  231. package/test/dist/router-generator.test.d.ts.map +1 -0
  232. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  233. package/test/dist/rpc-context-map-streaming.test.d.ts.map +1 -0
  234. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  235. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  236. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  237. package/test/dist/sql-store.test.d.ts.map +1 -0
  238. package/test/fixtures.ts +16 -9
  239. package/test/layerUtils.test.ts +2 -2
  240. package/test/query.test.ts +903 -40
  241. package/test/rawQuery.test.ts +340 -22
  242. package/test/repository-ext.test.ts +62 -0
  243. package/test/requires.test.ts +10 -5
  244. package/test/router-generator.test.ts +187 -0
  245. package/test/routing-interruptibility.test.ts +66 -0
  246. package/test/rpc-context-map-streaming.test.ts +262 -0
  247. package/test/rpc-e2e-invalidation.test.ts +256 -0
  248. package/test/rpc-multi-middleware.test.ts +85 -10
  249. package/test/rpc-stream-fullstack.test.ts +304 -0
  250. package/test/sql-store.test.ts +1711 -0
  251. package/test/validateSample.test.ts +19 -14
  252. package/tsconfig.examples.json +1 -1
  253. package/tsconfig.json +2 -1
  254. package/tsconfig.json.bak +2 -2
  255. package/tsconfig.src.json +35 -35
  256. package/tsconfig.test.json +2 -2
  257. package/dist/Emailer/service.d.ts +0 -55
  258. package/dist/Emailer/service.d.ts.map +0 -1
  259. package/dist/Emailer/service.js +0 -6
  260. package/dist/Emailer.d.ts +0 -2
  261. package/dist/Emailer.d.ts.map +0 -1
  262. package/dist/Emailer.js +0 -2
  263. package/dist/Model/Repository/ext.d.ts +0 -41
  264. package/dist/Model/Repository/ext.d.ts.map +0 -1
  265. package/dist/Model/Repository/ext.js +0 -65
  266. package/dist/Model/Repository/internal/internal.d.ts +0 -59
  267. package/dist/Model/Repository/internal/internal.d.ts.map +0 -1
  268. package/dist/Model/Repository/internal/internal.js +0 -316
  269. package/dist/Model/Repository/legacy.d.ts +0 -19
  270. package/dist/Model/Repository/legacy.d.ts.map +0 -1
  271. package/dist/Model/Repository/legacy.js +0 -2
  272. package/dist/Model/Repository/makeRepo.d.ts +0 -49
  273. package/dist/Model/Repository/makeRepo.d.ts.map +0 -1
  274. package/dist/Model/Repository/makeRepo.js +0 -24
  275. package/dist/Model/Repository/service.d.ts +0 -89
  276. package/dist/Model/Repository/service.d.ts.map +0 -1
  277. package/dist/Model/Repository/service.js +0 -2
  278. package/dist/Model/Repository/validation.d.ts +0 -42
  279. package/dist/Model/Repository/validation.d.ts.map +0 -1
  280. package/dist/Model/Repository/validation.js +0 -32
  281. package/dist/Model/Repository.d.ts +0 -6
  282. package/dist/Model/Repository.d.ts.map +0 -1
  283. package/dist/Model/Repository.js +0 -6
  284. package/dist/Model/dsl.d.ts +0 -32
  285. package/dist/Model/dsl.d.ts.map +0 -1
  286. package/dist/Model/dsl.js +0 -44
  287. package/dist/Model/filter/filterApi.d.ts +0 -30
  288. package/dist/Model/filter/filterApi.d.ts.map +0 -1
  289. package/dist/Model/filter/filterApi.js +0 -2
  290. package/dist/Model/filter/types/errors.d.ts +0 -29
  291. package/dist/Model/filter/types/errors.d.ts.map +0 -1
  292. package/dist/Model/filter/types/errors.js +0 -2
  293. package/dist/Model/filter/types/fields.d.ts +0 -15
  294. package/dist/Model/filter/types/fields.d.ts.map +0 -1
  295. package/dist/Model/filter/types/fields.js +0 -2
  296. package/dist/Model/filter/types/path/common.d.ts +0 -316
  297. package/dist/Model/filter/types/path/common.d.ts.map +0 -1
  298. package/dist/Model/filter/types/path/common.js +0 -2
  299. package/dist/Model/filter/types/path/eager.d.ts +0 -95
  300. package/dist/Model/filter/types/path/eager.d.ts.map +0 -1
  301. package/dist/Model/filter/types/path/eager.js +0 -31
  302. package/dist/Model/filter/types/path/index.d.ts +0 -4
  303. package/dist/Model/filter/types/path/index.d.ts.map +0 -1
  304. package/dist/Model/filter/types/path/index.js +0 -3
  305. package/dist/Model/filter/types/utils.d.ts +0 -79
  306. package/dist/Model/filter/types/utils.d.ts.map +0 -1
  307. package/dist/Model/filter/types/utils.js +0 -2
  308. package/dist/Model/filter/types/validator.d.ts +0 -30
  309. package/dist/Model/filter/types/validator.d.ts.map +0 -1
  310. package/dist/Model/filter/types/validator.js +0 -2
  311. package/dist/Model/filter/types.d.ts +0 -5
  312. package/dist/Model/filter/types.d.ts.map +0 -1
  313. package/dist/Model/filter/types.js +0 -7
  314. package/dist/Model/query/dsl.d.ts +0 -248
  315. package/dist/Model/query/dsl.d.ts.map +0 -1
  316. package/dist/Model/query/dsl.js +0 -104
  317. package/dist/Model/query/new-kid-interpreter.d.ts +0 -28
  318. package/dist/Model/query/new-kid-interpreter.d.ts.map +0 -1
  319. package/dist/Model/query/new-kid-interpreter.js +0 -165
  320. package/dist/Model/query.d.ts +0 -15
  321. package/dist/Model/query.d.ts.map +0 -1
  322. package/dist/Model/query.js +0 -3
  323. package/dist/Model.d.ts +0 -4
  324. package/dist/Model.d.ts.map +0 -1
  325. package/dist/Model.js +0 -4
  326. package/dist/Operations.d.ts +0 -55
  327. package/dist/Operations.d.ts.map +0 -1
  328. package/dist/Operations.js +0 -102
  329. package/dist/OperationsRepo.d.ts +0 -41
  330. package/dist/OperationsRepo.d.ts.map +0 -1
  331. package/dist/OperationsRepo.js +0 -14
  332. package/dist/QueueMaker/service.d.ts +0 -11
  333. package/dist/QueueMaker/service.d.ts.map +0 -1
  334. package/dist/QueueMaker/service.js +0 -4
  335. package/dist/RequestContext.d.ts +0 -63
  336. package/dist/RequestContext.d.ts.map +0 -1
  337. package/dist/RequestContext.js +0 -49
  338. package/dist/Store/ContextMapContainer.d.ts +0 -14
  339. package/dist/Store/ContextMapContainer.d.ts.map +0 -1
  340. package/dist/Store/ContextMapContainer.js +0 -16
  341. package/dist/Store/service.d.ts +0 -108
  342. package/dist/Store/service.d.ts.map +0 -1
  343. package/dist/Store/service.js +0 -71
  344. package/dist/Store.d.ts +0 -2
  345. package/dist/Store.d.ts.map +0 -1
  346. package/dist/Store.js +0 -2
  347. package/dist/adapters/SQL/Model.d.ts +0 -479
  348. package/dist/adapters/SQL/Model.d.ts.map +0 -1
  349. package/dist/adapters/SQL/Model.js +0 -478
  350. package/dist/adapters/SQL.d.ts +0 -2
  351. package/dist/adapters/SQL.d.ts.map +0 -1
  352. package/dist/adapters/ServiceBus.d.ts +0 -58
  353. package/dist/adapters/ServiceBus.d.ts.map +0 -1
  354. package/dist/adapters/ServiceBus.js +0 -99
  355. package/dist/adapters/cosmos-client.d.ts +0 -14
  356. package/dist/adapters/cosmos-client.d.ts.map +0 -1
  357. package/dist/adapters/cosmos-client.js +0 -9
  358. package/dist/adapters/index.d.ts +0 -2
  359. package/dist/adapters/index.d.ts.map +0 -1
  360. package/dist/adapters/index.js +0 -2
  361. package/dist/adapters/logger.d.ts +0 -9
  362. package/dist/adapters/logger.d.ts.map +0 -1
  363. package/dist/adapters/logger.js +0 -3
  364. package/dist/adapters/memQueue.d.ts +0 -13
  365. package/dist/adapters/memQueue.d.ts.map +0 -1
  366. package/dist/adapters/memQueue.js +0 -20
  367. package/dist/adapters/mongo-client.d.ts +0 -10
  368. package/dist/adapters/mongo-client.d.ts.map +0 -1
  369. package/dist/adapters/mongo-client.js +0 -13
  370. package/dist/adapters/redis-client.d.ts +0 -39
  371. package/dist/adapters/redis-client.d.ts.map +0 -1
  372. package/dist/adapters/redis-client.js +0 -94
  373. package/dist/api/ContextProvider.d.ts +0 -31
  374. package/dist/api/ContextProvider.d.ts.map +0 -1
  375. package/dist/api/ContextProvider.js +0 -38
  376. package/dist/api/codec.d.ts +0 -5
  377. package/dist/api/codec.d.ts.map +0 -1
  378. package/dist/api/codec.js +0 -5
  379. package/dist/api/internal/RequestContextMiddleware.d.ts +0 -5
  380. package/dist/api/internal/RequestContextMiddleware.d.ts.map +0 -1
  381. package/dist/api/internal/RequestContextMiddleware.js +0 -35
  382. package/dist/api/internal/auth.d.ts +0 -15
  383. package/dist/api/internal/auth.d.ts.map +0 -1
  384. package/dist/api/internal/auth.js +0 -47
  385. package/dist/api/internal/events.d.ts +0 -9
  386. package/dist/api/internal/events.d.ts.map +0 -1
  387. package/dist/api/internal/events.js +0 -42
  388. package/dist/api/internal/health.d.ts +0 -3
  389. package/dist/api/internal/health.d.ts.map +0 -1
  390. package/dist/api/internal/health.js +0 -5
  391. package/dist/api/layerUtils.d.ts +0 -24
  392. package/dist/api/layerUtils.d.ts.map +0 -1
  393. package/dist/api/layerUtils.js +0 -16
  394. package/dist/api/middlewares.d.ts +0 -10
  395. package/dist/api/middlewares.d.ts.map +0 -1
  396. package/dist/api/reportError.d.ts +0 -4
  397. package/dist/api/reportError.d.ts.map +0 -1
  398. package/dist/api/reportError.js +0 -27
  399. package/dist/api/routing/middleware/RouterMiddleware.d.ts +0 -15
  400. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +0 -1
  401. package/dist/api/routing/middleware/middleware.d.ts +0 -9
  402. package/dist/api/routing/middleware/middleware.d.ts.map +0 -1
  403. package/dist/api/routing/middleware/middleware.js +0 -92
  404. package/dist/api/routing/middleware.d.ts +0 -4
  405. package/dist/api/routing/middleware.d.ts.map +0 -1
  406. package/dist/api/routing/schema/jwt.d.ts +0 -4
  407. package/dist/api/routing/schema/jwt.d.ts.map +0 -1
  408. package/dist/api/routing/schema/jwt.js +0 -12
  409. package/dist/api/routing/tsort.d.ts +0 -8
  410. package/dist/api/routing/tsort.d.ts.map +0 -1
  411. package/dist/api/routing/tsort.js +0 -51
  412. package/dist/api/routing/utils.d.ts +0 -19
  413. package/dist/api/routing/utils.d.ts.map +0 -1
  414. package/dist/api/routing/utils.js +0 -44
  415. package/dist/api/routing.d.ts +0 -138
  416. package/dist/api/routing.d.ts.map +0 -1
  417. package/dist/api/routing.js +0 -166
  418. package/dist/api/setupRequest.d.ts +0 -12
  419. package/dist/api/setupRequest.d.ts.map +0 -1
  420. package/dist/api/setupRequest.js +0 -44
  421. package/dist/api/util.d.ts +0 -3
  422. package/dist/api/util.d.ts.map +0 -1
  423. package/dist/api/util.js +0 -14
  424. package/eslint.config.mjs +0 -24
  425. package/src/Emailer/service.ts +0 -52
  426. package/src/Emailer.ts +0 -1
  427. package/src/Model/Repository/ext.ts +0 -283
  428. package/src/Model/Repository/internal/internal.ts +0 -577
  429. package/src/Model/Repository/legacy.ts +0 -27
  430. package/src/Model/Repository/makeRepo.ts +0 -139
  431. package/src/Model/Repository/service.ts +0 -627
  432. package/src/Model/Repository/validation.ts +0 -31
  433. package/src/Model/Repository.ts +0 -5
  434. package/src/Model/dsl.ts +0 -128
  435. package/src/Model/filter/filterApi.ts +0 -60
  436. package/src/Model/filter/types/errors.ts +0 -47
  437. package/src/Model/filter/types/fields.ts +0 -50
  438. package/src/Model/filter/types/path/common.ts +0 -404
  439. package/src/Model/filter/types/path/eager.ts +0 -298
  440. package/src/Model/filter/types/path/index.ts +0 -4
  441. package/src/Model/filter/types/utils.ts +0 -128
  442. package/src/Model/filter/types/validator.ts +0 -46
  443. package/src/Model/filter/types.ts +0 -6
  444. package/src/Model/query/dsl.ts +0 -2110
  445. package/src/Model/query/new-kid-interpreter.ts +0 -210
  446. package/src/Model/query.ts +0 -13
  447. package/src/Model.ts +0 -3
  448. package/src/Operations.ts +0 -235
  449. package/src/OperationsRepo.ts +0 -16
  450. package/src/QueueMaker/service.ts +0 -17
  451. package/src/RequestContext.ts +0 -63
  452. package/src/Store/ContextMapContainer.ts +0 -20
  453. package/src/Store/service.ts +0 -184
  454. package/src/Store.ts +0 -1
  455. package/src/adapters/ServiceBus.ts +0 -209
  456. package/src/adapters/index.ts +0 -0
  457. package/src/adapters/logger.ts +0 -3
  458. package/src/api/internal/auth.ts +0 -68
  459. package/src/api/routing/middleware.ts +0 -6
  460. package/src/api/routing.ts +0 -598
  461. package/src/api/setupRequest.ts +0 -84
  462. /package/src/{adapters/SQL.ts → SQL.ts} +0 -0
  463. /package/src/{api/codec.ts → codec.ts} +0 -0
  464. /package/src/{api/internal → internal}/health.ts +0 -0
  465. /package/src/{api/middlewares.ts → middlewares.ts} +0 -0
  466. /package/src/{api/routing → routing}/tsort.ts +0 -0
  467. /package/src/{api/util.ts → util.ts} +0 -0
@@ -1,627 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import type { Effect, Option, PubSub, S } from "effect-app"
3
- import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client/errors"
4
- import type { NonNegativeInt } from "effect-app/Schema/numbers"
5
- import type { FieldValues, IsNever, ResolveFirstLevel } from "../filter/types.js"
6
- import type { QAll, Query, QueryProjection, RawQuery } from "../query.js"
7
- import type { Mapped } from "./legacy.js"
8
- import type { ValidationResult } from "./validation.js"
9
-
10
- export interface Repository<
11
- T,
12
- Encoded extends FieldValues,
13
- Evt,
14
- ItemType extends string,
15
- IdKey extends keyof T,
16
- RSchema,
17
- RPublish
18
- > {
19
- readonly itemType: ItemType
20
- readonly idKey: IdKey
21
- readonly find: (id: T[IdKey]) => Effect.Effect<Option.Option<T>, never, RSchema>
22
- readonly all: Effect.Effect<T[], never, RSchema>
23
- readonly saveAndPublish: (
24
- items: Iterable<T>,
25
- events?: Iterable<Evt>
26
- ) => Effect.Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | RPublish>
27
- readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>
28
- readonly removeAndPublish: (
29
- items: Iterable<T>,
30
- events?: Iterable<Evt>
31
- ) => Effect.Effect<void, never, RSchema | RPublish>
32
-
33
- readonly removeById: (...id: readonly T[IdKey][]) => Effect.Effect<void, never, RSchema>
34
-
35
- readonly queryRaw: <T, Out, R>(
36
- schema: S.Codec<T, Out, R>,
37
- raw: RawQuery<Encoded, Out>
38
- ) => Effect.Effect<readonly T[], S.SchemaError, R>
39
-
40
- readonly query: {
41
- // ending with projection
42
- <
43
- A,
44
- R,
45
- From extends FieldValues,
46
- TType extends "one" | "many" | "count" = "many",
47
- E extends boolean = false
48
- >(
49
- q: (
50
- initial: Query<Encoded>
51
- ) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
52
- ): Effect.Effect<
53
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
54
- | (TType extends "many" ? never : NotFoundError<ItemType>)
55
- | (TType extends "count" ? never : S.SchemaError),
56
- R | RSchema
57
- >
58
- <
59
- A,
60
- R,
61
- From extends FieldValues,
62
- TType extends "one" | "many" | "count" = "many",
63
- $A = never,
64
- E extends boolean = false
65
- >(
66
- q1: (
67
- initial: Query<Encoded>
68
- ) => $A,
69
- q2: (
70
- _: $A
71
- ) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
72
- ): Effect.Effect<
73
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
74
- | (TType extends "many" ? never : NotFoundError<ItemType>)
75
- | (TType extends "count" ? never : S.SchemaError),
76
- R | RSchema
77
- >
78
- <
79
- A,
80
- R,
81
- From extends FieldValues,
82
- TType extends "one" | "many" | "count" = "many",
83
- $A = never,
84
- $B = never,
85
- E extends boolean = false
86
- >(
87
- q1: (
88
- initial: Query<Encoded>
89
- ) => $A,
90
- q2: (_: $A) => $B,
91
- q3: (
92
- _: $B
93
- ) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
94
- ): Effect.Effect<
95
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
96
- | (TType extends "many" ? never : NotFoundError<ItemType>)
97
- | (TType extends "count" ? never : S.SchemaError),
98
- R | RSchema
99
- >
100
- <
101
- A,
102
- R,
103
- From extends FieldValues,
104
- TType extends "one" | "many" | "count" = "many",
105
- $A = never,
106
- $B = never,
107
- $C = never,
108
- E extends boolean = false
109
- >(
110
- q1: (
111
- initial: Query<Encoded>
112
- ) => $A,
113
- q2: (_: $A) => $B,
114
- q3: (_: $B) => $C,
115
- q4: (
116
- _: $C
117
- ) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
118
- ): Effect.Effect<
119
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
120
- | (TType extends "many" ? never : NotFoundError<ItemType>)
121
- | (TType extends "count" ? never : S.SchemaError),
122
- R | RSchema
123
- >
124
- <
125
- A,
126
- R,
127
- From extends FieldValues,
128
- TType extends "one" | "many" | "count" = "many",
129
- $A = never,
130
- $B = never,
131
- $C = never,
132
- $D = never,
133
- E extends boolean = false
134
- >(
135
- q1: (
136
- initial: Query<Encoded>
137
- ) => $A,
138
- q2: (_: $A) => $B,
139
- q3: (_: $B) => $C,
140
- q4: (_: $C) => $D,
141
- q5: (
142
- _: $D
143
- ) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
144
- ): Effect.Effect<
145
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
146
- | (TType extends "many" ? never : NotFoundError<ItemType>)
147
- | (TType extends "count" ? never : S.SchemaError),
148
- R | RSchema
149
- >
150
- <
151
- A,
152
- R,
153
- From extends FieldValues,
154
- TType extends "one" | "many" | "count" = "many",
155
- $A = never,
156
- $B = never,
157
- $C = never,
158
- $D = never,
159
- $E = never,
160
- E extends boolean = false
161
- >(
162
- q1: (
163
- initial: Query<Encoded>
164
- ) => $A,
165
- q2: (_: $A) => $B,
166
- q3: (_: $B) => $C,
167
- q4: (_: $C) => $D,
168
- q5: (_: $D) => $E,
169
- q6: (_: $E) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
170
- ): Effect.Effect<
171
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
172
- | (TType extends "many" ? never : NotFoundError<ItemType>)
173
- | (TType extends "count" ? never : S.SchemaError),
174
- R | RSchema
175
- >
176
- <
177
- A,
178
- R,
179
- From extends FieldValues,
180
- TType extends "one" | "many" | "count" = "many",
181
- $A = never,
182
- $B = never,
183
- $C = never,
184
- $D = never,
185
- $E = never,
186
- $F = never,
187
- E extends boolean = false
188
- >(
189
- q1: (
190
- initial: Query<Encoded>
191
- ) => $A,
192
- q2: (_: $A) => $B,
193
- q3: (_: $B) => $C,
194
- q4: (_: $C) => $D,
195
- q5: (_: $D) => $E,
196
- q6: (_: $E) => $F,
197
- q7: (_: $F) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
198
- ): Effect.Effect<
199
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
200
- | (TType extends "many" ? never : NotFoundError<ItemType>)
201
- | (TType extends "count" ? never : S.SchemaError),
202
- R | RSchema
203
- >
204
- <
205
- A,
206
- R,
207
- From extends FieldValues,
208
- TType extends "one" | "many" | "count" = "many",
209
- $A = never,
210
- $B = never,
211
- $C = never,
212
- $D = never,
213
- $E = never,
214
- $F = never,
215
- $G = never,
216
- E extends boolean = false
217
- >(
218
- q1: (
219
- initial: Query<Encoded>
220
- ) => $A,
221
- q2: (_: $A) => $B,
222
- q3: (_: $B) => $C,
223
- q4: (_: $C) => $D,
224
- q5: (_: $D) => $E,
225
- q6: (_: $E) => $F,
226
- q7: (_: $F) => $G,
227
- q8: (_: $G) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
228
- ): Effect.Effect<
229
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
230
- | (TType extends "many" ? never : NotFoundError<ItemType>)
231
- | (TType extends "count" ? never : S.SchemaError),
232
- R | RSchema
233
- >
234
- <
235
- A,
236
- R,
237
- From extends FieldValues,
238
- TType extends "one" | "many" | "count" = "many",
239
- $A = never,
240
- $B = never,
241
- $C = never,
242
- $D = never,
243
- $E = never,
244
- $F = never,
245
- $G = never,
246
- $H = never,
247
- E extends boolean = false
248
- >(
249
- q1: (
250
- initial: Query<Encoded>
251
- ) => $A,
252
- q2: (_: $A) => $B,
253
- q3: (_: $B) => $C,
254
- q4: (_: $C) => $D,
255
- q5: (_: $D) => $E,
256
- q6: (_: $E) => $F,
257
- q7: (_: $F) => $G,
258
- q8: (_: $G) => $H,
259
- q9: (_: $H) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
260
- ): Effect.Effect<
261
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
262
- | (TType extends "many" ? never : NotFoundError<ItemType>)
263
- | (TType extends "count" ? never : S.SchemaError),
264
- R | RSchema
265
- >
266
- <
267
- A,
268
- R,
269
- From extends FieldValues,
270
- TType extends "one" | "many" | "count" = "many",
271
- $A = never,
272
- $B = never,
273
- $C = never,
274
- $D = never,
275
- $E = never,
276
- $F = never,
277
- $G = never,
278
- $H = never,
279
- $I = never,
280
- E extends boolean = false
281
- >(
282
- q1: (
283
- initial: Query<Encoded>
284
- ) => $A,
285
- q2: (_: $A) => $B,
286
- q3: (_: $B) => $C,
287
- q4: (_: $C) => $D,
288
- q5: (_: $D) => $E,
289
- q6: (_: $E) => $F,
290
- q7: (_: $F) => $G,
291
- q8: (_: $G) => $H,
292
- q9: (_: $H) => $I,
293
- q10: (_: $I) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>
294
- ): Effect.Effect<
295
- TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
296
- | (TType extends "many" ? never : NotFoundError<ItemType>)
297
- | (TType extends "count" ? never : S.SchemaError),
298
- R | RSchema
299
- >
300
-
301
- // ending with generic query
302
- <
303
- R = never,
304
- TType extends "one" | "many" = "many",
305
- EncodedRefined extends Encoded = Encoded,
306
- E extends boolean = false
307
- >(
308
- q: (initial: Query<Encoded>) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
309
- ): Effect.Effect<
310
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
311
- TType extends "many" ? never : NotFoundError<ItemType>,
312
- R | RSchema
313
- >
314
- <
315
- R = never,
316
- TType extends "one" | "many" = "many",
317
- EncodedRefined extends Encoded = Encoded,
318
- $A = never,
319
- E extends boolean = false
320
- >(
321
- q1: (initial: Query<Encoded>) => $A,
322
- q2: (
323
- _: $A
324
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
325
- ): Effect.Effect<
326
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
327
- TType extends "many" ? never : NotFoundError<ItemType>,
328
- R | RSchema
329
- >
330
- <
331
- R = never,
332
- TType extends "one" | "many" = "many",
333
- EncodedRefined extends Encoded = Encoded,
334
- $A = never,
335
- $B = never,
336
- E extends boolean = false
337
- >(
338
- q1: (initial: Query<Encoded>) => $A,
339
- q2: (
340
- _: $A
341
- ) => $B,
342
- q3: (
343
- _: $B
344
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
345
- ): Effect.Effect<
346
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
347
- TType extends "many" ? never : NotFoundError<ItemType>,
348
- R | RSchema
349
- >
350
- <
351
- R = never,
352
- TType extends "one" | "many" = "many",
353
- EncodedRefined extends Encoded = Encoded,
354
- $A = never,
355
- $B = never,
356
- $C = never,
357
- E extends boolean = false
358
- >(
359
- q1: (initial: Query<Encoded>) => $A,
360
- q2: (_: $A) => $B,
361
- q3: (_: $B) => $C,
362
- q4: (
363
- _: $C
364
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
365
- ): Effect.Effect<
366
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
367
- TType extends "many" ? never : NotFoundError<ItemType>,
368
- R | RSchema
369
- >
370
- <
371
- R = never,
372
- TType extends "one" | "many" = "many",
373
- EncodedRefined extends Encoded = Encoded,
374
- $A = never,
375
- $B = never,
376
- $C = never,
377
- $D = never,
378
- E extends boolean = false
379
- >(
380
- q1: (initial: Query<Encoded>) => $A,
381
- q2: (_: $A) => $B,
382
- q3: (_: $B) => $C,
383
- q4: (_: $C) => $D,
384
- q5: (
385
- _: $D
386
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
387
- ): Effect.Effect<
388
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
389
- TType extends "many" ? never : NotFoundError<ItemType>,
390
- R | RSchema
391
- >
392
- <
393
- R = never,
394
- TType extends "one" | "many" = "many",
395
- EncodedRefined extends Encoded = Encoded,
396
- $A = never,
397
- $B = never,
398
- $C = never,
399
- $D = never,
400
- $E = never,
401
- E extends boolean = false
402
- >(
403
- q1: (initial: Query<Encoded>) => $A,
404
- q2: (_: $A) => $B,
405
- q3: (_: $B) => $C,
406
- q4: (_: $C) => $D,
407
- q5: (_: $D) => $E,
408
- q6: (
409
- _: $E
410
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
411
- ): Effect.Effect<
412
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
413
- TType extends "many" ? never : NotFoundError<ItemType>,
414
- R | RSchema
415
- >
416
- <
417
- R = never,
418
- TType extends "one" | "many" = "many",
419
- EncodedRefined extends Encoded = Encoded,
420
- $A = never,
421
- $B = never,
422
- $C = never,
423
- $D = never,
424
- $E = never,
425
- $F = never,
426
- E extends boolean = false
427
- >(
428
- q1: (initial: Query<Encoded>) => $A,
429
- q2: (_: $A) => $B,
430
- q3: (_: $B) => $C,
431
- q4: (_: $C) => $D,
432
- q5: (_: $D) => $E,
433
- q6: (_: $E) => $F,
434
- q7: (
435
- _: $F
436
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
437
- ): Effect.Effect<
438
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
439
- TType extends "many" ? never : NotFoundError<ItemType>,
440
- R | RSchema
441
- >
442
- <
443
- R = never,
444
- TType extends "one" | "many" = "many",
445
- EncodedRefined extends Encoded = Encoded,
446
- $A = never,
447
- $B = never,
448
- $C = never,
449
- $D = never,
450
- $E = never,
451
- $F = never,
452
- $G = never,
453
- E extends boolean = false
454
- >(
455
- q1: (initial: Query<Encoded>) => $A,
456
- q2: (_: $A) => $B,
457
- q3: (_: $B) => $C,
458
- q4: (_: $C) => $D,
459
- q5: (_: $D) => $E,
460
- q6: (_: $E) => $F,
461
- q7: (_: $F) => $G,
462
- q8: (
463
- _: $G
464
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
465
- ): Effect.Effect<
466
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined>
467
- : RefineTHelper<T, EncodedRefined>,
468
- TType extends "many" ? never : NotFoundError<ItemType>,
469
- R | RSchema
470
- >
471
- <
472
- R = never,
473
- TType extends "one" | "many" = "many",
474
- EncodedRefined extends Encoded = Encoded,
475
- $A = never,
476
- $B = never,
477
- $C = never,
478
- $D = never,
479
- $E = never,
480
- $F = never,
481
- $G = never,
482
- $H = never,
483
- E extends boolean = false
484
- >(
485
- q1: (initial: Query<Encoded>) => $A,
486
- q2: (_: $A) => $B,
487
- q3: (_: $B) => $C,
488
- q4: (_: $C) => $D,
489
- q5: (_: $D) => $E,
490
- q6: (_: $E) => $F,
491
- q7: (_: $F) => $G,
492
- q8: (_: $G) => $H,
493
- q9: (
494
- _: $H
495
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
496
- ): Effect.Effect<
497
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined>
498
- : RefineTHelper<T, EncodedRefined>,
499
- TType extends "many" ? never : NotFoundError<ItemType>,
500
- R | RSchema
501
- >
502
- <
503
- R = never,
504
- TType extends "one" | "many" = "many",
505
- EncodedRefined extends Encoded = Encoded,
506
- $A = never,
507
- $B = never,
508
- $C = never,
509
- $D = never,
510
- $E = never,
511
- $F = never,
512
- $G = never,
513
- $H = never,
514
- $I = never,
515
- E extends boolean = false
516
- >(
517
- q1: (initial: Query<Encoded>) => $A,
518
- q2: (_: $A) => $B,
519
- q3: (_: $B) => $C,
520
- q4: (_: $C) => $D,
521
- q5: (_: $D) => $E,
522
- q6: (_: $E) => $F,
523
- q7: (_: $F) => $G,
524
- q8: (_: $G) => $H,
525
- q9: (_: $H) => $I,
526
- q10: (
527
- _: $I
528
- ) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
529
- ): Effect.Effect<
530
- TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined>
531
- : RefineTHelper<T, EncodedRefined>,
532
- TType extends "many" ? never : NotFoundError<ItemType>,
533
- R | RSchema
534
- >
535
- }
536
-
537
- /** @deprecated use query */
538
- readonly mapped: Mapped<Encoded>
539
-
540
- /**
541
- * Validates a random sample of repository items by applying jitM and schema decode.
542
- * Useful for testing that migrations and schema changes work correctly on existing data.
543
- */
544
- readonly validateSample: (options?: {
545
- /** percentage of items to sample (0.0-1.0), default 0.1 (10%) */
546
- percentage?: number
547
- /** optional maximum number of items to sample */
548
- maxItems?: number
549
- }) => Effect.Effect<ValidationResult, never, RSchema>
550
- }
551
-
552
- type DistributeQueryIfExclusiveOnArray<Exclusive extends boolean, T, EncodedRefined> = [Exclusive] extends [true]
553
- ? T extends any ? RefineTHelper<T, EncodedRefined> extends infer R ? IsNever<R> extends true ? never
554
- : readonly R[]
555
- : never
556
- : never
557
- : readonly RefineTHelper<T, EncodedRefined>[]
558
-
559
- type NullableRefined<T, EncodedRefined> = {
560
- // EncodedRefined may be a union, so if you just keyof you'll get just common keys
561
- // p.s. NullableRefined is homomorphic in T so it distributes itself over T
562
- [k in keyof T]: [null] extends [T[k]] ? [null] extends [Extract<EncodedRefined, { [j in k]: any }>[k]] ? T[k]
563
- : Exclude<T[k], null>
564
- : T[k]
565
- }
566
-
567
- // for DX purposes
568
- type ShouldRecursiveExtractTagged<T, EncodedRefined> = true extends {
569
- [k in keyof T]: "_tag" extends keyof T[k]
570
- ? k extends keyof EncodedRefined ? "_tag" extends keyof EncodedRefined[k] ? true
571
- : false
572
- : false
573
- : false
574
- }[keyof T] ? true
575
- : false
576
-
577
- // support is not 100% but we have to make compromises
578
- type RecursiveExtractTagged<T, EncodedRefined> = ShouldRecursiveExtractTagged<T, EncodedRefined> extends true ? {
579
- [k in keyof T]: "_tag" extends keyof T[k]
580
- ? k extends keyof EncodedRefined ? "_tag" extends keyof EncodedRefined[k] ? ExtractTagged<T[k], EncodedRefined[k]>
581
- : T[k]
582
- : T[k]
583
- : T[k]
584
- }
585
- : T
586
-
587
- type ExtractTagged_<T, EncodedRefined> = EncodedRefined extends { _tag: string }
588
- ? T extends { _tag: string } ? Extract<T, { _tag: EncodedRefined["_tag"] }>
589
- : T
590
- : T
591
-
592
- type ExtractTagged<T, EncodedRefined> = ExtractTagged_<T, EncodedRefined> extends infer R
593
- ? RecursiveExtractTagged<RecusiveExtractIded<R, EncodedRefined>, EncodedRefined>
594
- : never
595
-
596
- type ShouldRecursiveExtractIded<T, EncodedRefined> = true extends {
597
- [k in keyof T]: "id" extends keyof T[k] ? k extends keyof EncodedRefined ? "id" extends keyof EncodedRefined[k] ? true
598
- : false
599
- : false
600
- : false
601
- }[keyof T] ? true
602
- : false
603
-
604
- type RecusiveExtractIded<T, EncodedRefined> = ShouldRecursiveExtractIded<T, EncodedRefined> extends true ? {
605
- [k in keyof T]: "id" extends keyof T[k]
606
- ? k extends keyof EncodedRefined ? "id" extends keyof EncodedRefined[k] ? ExtractIded<T[k], EncodedRefined[k]>
607
- : T[k]
608
- : T[k]
609
- : T[k]
610
- }
611
- : T
612
-
613
- type ExtractIded_<T, EncodedRefined> = EncodedRefined extends { id: string }
614
- ? T extends { id: string } ? Extract<T, { id: EncodedRefined["id"] }>
615
- : T
616
- : T
617
-
618
- type ExtractIded<T, EncodedRefined> = ExtractIded_<T, EncodedRefined> extends infer R
619
- ? RecusiveExtractIded<RecursiveExtractTagged<R, EncodedRefined>, EncodedRefined>
620
- : never
621
-
622
- export type RefineTHelper<T, EncodedRefined> = ResolveFirstLevel<
623
- NullableRefined<
624
- ExtractIded<ExtractTagged<T, EncodedRefined>, EncodedRefined>,
625
- EncodedRefined
626
- >
627
- >
@@ -1,31 +0,0 @@
1
- import { S } from "effect-app"
2
- import { NonNegativeInt } from "effect-app/Schema"
3
-
4
- /**
5
- * Represents a single validation error when decoding a repository item.
6
- * Contains full context for debugging: raw data, jitM result, and decode error.
7
- */
8
- export class ValidationError extends S.Class<ValidationError>("@effect-app/infra/ValidationError")({
9
- /** the id of the item that failed validation */
10
- id: S.Unknown,
11
- /** the raw data from the database before jitM */
12
- rawData: S.Unknown,
13
- /** the data after applying jitM transformation */
14
- jitMResult: S.Unknown,
15
- /** the S.SchemaError from schema decode */
16
- error: S.Unknown
17
- }) {}
18
-
19
- /**
20
- * Result of validating a sample of repository items.
21
- */
22
- export class ValidationResult extends S.Class<ValidationResult>("@effect-app/infra/ValidationResult")({
23
- /** total number of items in the repository */
24
- total: NonNegativeInt,
25
- /** number of items that were sampled for validation */
26
- sampled: NonNegativeInt,
27
- /** number of items that passed validation */
28
- valid: NonNegativeInt,
29
- /** list of validation errors with full context */
30
- errors: S.Array(ValidationError)
31
- }) {}
@@ -1,5 +0,0 @@
1
- export * from "./Repository/ext.js"
2
- export * from "./Repository/legacy.js"
3
- export { makeRepo } from "./Repository/makeRepo.js"
4
- export * from "./Repository/service.js"
5
- export * from "./Repository/validation.js"