@effect-app/infra 4.0.0-beta.26 → 4.0.0-beta.261

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 (505) hide show
  1. package/CHANGELOG.md +1973 -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/ClusterCosmos.d.ts +64 -0
  7. package/dist/ClusterCosmos.d.ts.map +1 -0
  8. package/dist/ClusterCosmos.js +501 -0
  9. package/dist/ClusterServiceBus.d.ts +67 -0
  10. package/dist/ClusterServiceBus.d.ts.map +1 -0
  11. package/dist/ClusterServiceBus.js +82 -0
  12. package/dist/ContextProvider.d.ts +34 -0
  13. package/dist/ContextProvider.d.ts.map +1 -0
  14. package/dist/ContextProvider.js +40 -0
  15. package/dist/Emailer/Sendgrid.d.ts +111 -147
  16. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  17. package/dist/Emailer/Sendgrid.js +24 -19
  18. package/dist/Emailer/fake.d.ts +2 -2
  19. package/dist/Emailer/fake.d.ts.map +1 -1
  20. package/dist/Emailer/fake.js +4 -4
  21. package/dist/MainFiberSet.d.ts +12 -9
  22. package/dist/MainFiberSet.d.ts.map +1 -1
  23. package/dist/MainFiberSet.js +10 -6
  24. package/dist/QueueMaker/SQLQueue.d.ts +8 -9
  25. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  26. package/dist/QueueMaker/SQLQueue.js +138 -120
  27. package/dist/QueueMaker/errors.d.ts +5 -3
  28. package/dist/QueueMaker/errors.d.ts.map +1 -1
  29. package/dist/QueueMaker/errors.js +4 -2
  30. package/dist/QueueMaker/memQueue.d.ts +10 -6
  31. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  32. package/dist/QueueMaker/memQueue.js +84 -68
  33. package/dist/QueueMaker/sbqueue.d.ts +9 -5
  34. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  35. package/dist/QueueMaker/sbqueue.js +60 -58
  36. package/dist/RequestFiberSet.d.ts +10 -7
  37. package/dist/RequestFiberSet.d.ts.map +1 -1
  38. package/dist/RequestFiberSet.js +13 -8
  39. package/dist/SQL/Model.d.ts +468 -0
  40. package/dist/SQL/Model.d.ts.map +1 -0
  41. package/dist/SQL/Model.js +469 -0
  42. package/dist/SQL.d.ts +2 -0
  43. package/dist/SQL.d.ts.map +1 -0
  44. package/dist/{adapters/SQL.js → SQL.js} +1 -1
  45. package/dist/ServiceBus.d.ts +61 -0
  46. package/dist/ServiceBus.d.ts.map +1 -0
  47. package/dist/ServiceBus.js +108 -0
  48. package/dist/Store/Cosmos/query.d.ts +15 -4
  49. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  50. package/dist/Store/Cosmos/query.js +179 -41
  51. package/dist/Store/Cosmos.d.ts +3 -3
  52. package/dist/Store/Cosmos.d.ts.map +1 -1
  53. package/dist/Store/Cosmos.js +344 -246
  54. package/dist/Store/Disk.d.ts +5 -5
  55. package/dist/Store/Disk.d.ts.map +1 -1
  56. package/dist/Store/Disk.js +78 -38
  57. package/dist/Store/Memory.d.ts +7 -10
  58. package/dist/Store/Memory.d.ts.map +1 -1
  59. package/dist/Store/Memory.js +326 -66
  60. package/dist/Store/SQL/Pg.d.ts +4 -0
  61. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  62. package/dist/Store/SQL/Pg.js +232 -0
  63. package/dist/Store/SQL/query.d.ts +49 -0
  64. package/dist/Store/SQL/query.d.ts.map +1 -0
  65. package/dist/Store/SQL/query.js +527 -0
  66. package/dist/Store/SQL.d.ts +21 -0
  67. package/dist/Store/SQL.d.ts.map +1 -0
  68. package/dist/Store/SQL.js +449 -0
  69. package/dist/Store/codeFilter.d.ts +5 -5
  70. package/dist/Store/codeFilter.d.ts.map +1 -1
  71. package/dist/Store/codeFilter.js +6 -3
  72. package/dist/Store/index.d.ts +7 -5
  73. package/dist/Store/index.d.ts.map +1 -1
  74. package/dist/Store/index.js +18 -5
  75. package/dist/Store/utils.d.ts +4 -3
  76. package/dist/Store/utils.d.ts.map +1 -1
  77. package/dist/Store/utils.js +5 -5
  78. package/dist/WorkflowEngineCosmos.d.ts +29 -0
  79. package/dist/WorkflowEngineCosmos.d.ts.map +1 -0
  80. package/dist/WorkflowEngineCosmos.js +521 -0
  81. package/dist/WorkflowEngineSqlite.d.ts +24 -0
  82. package/dist/WorkflowEngineSqlite.d.ts.map +1 -0
  83. package/dist/WorkflowEngineSqlite.js +550 -0
  84. package/dist/arbs.d.ts +2 -2
  85. package/dist/arbs.d.ts.map +1 -1
  86. package/dist/arbs.js +5 -3
  87. package/dist/codec.d.ts +5 -0
  88. package/dist/codec.d.ts.map +1 -0
  89. package/dist/codec.js +5 -0
  90. package/dist/cosmos-client.d.ts +16 -0
  91. package/dist/cosmos-client.d.ts.map +1 -0
  92. package/dist/cosmos-client.js +11 -0
  93. package/dist/errorReporter.d.ts +7 -5
  94. package/dist/errorReporter.d.ts.map +1 -1
  95. package/dist/errorReporter.js +23 -27
  96. package/dist/errors.d.ts +1 -1
  97. package/dist/fileUtil.d.ts +2 -2
  98. package/dist/fileUtil.d.ts.map +1 -1
  99. package/dist/fileUtil.js +2 -2
  100. package/dist/index.d.ts +3 -2
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +3 -2
  103. package/dist/internal/RequestContextMiddleware.d.ts +5 -0
  104. package/dist/internal/RequestContextMiddleware.d.ts.map +1 -0
  105. package/dist/internal/RequestContextMiddleware.js +45 -0
  106. package/dist/internal/auth.d.ts +53 -0
  107. package/dist/internal/auth.d.ts.map +1 -0
  108. package/dist/internal/auth.js +180 -0
  109. package/dist/internal/events.d.ts +11 -0
  110. package/dist/internal/events.d.ts.map +1 -0
  111. package/dist/internal/events.js +49 -0
  112. package/dist/internal/health.d.ts +3 -0
  113. package/dist/internal/health.d.ts.map +1 -0
  114. package/dist/internal/health.js +5 -0
  115. package/dist/layerUtils.d.ts +32 -0
  116. package/dist/layerUtils.d.ts.map +1 -0
  117. package/dist/layerUtils.js +17 -0
  118. package/dist/logger/jsonLogger.d.ts +2 -2
  119. package/dist/logger/jsonLogger.d.ts.map +1 -1
  120. package/dist/logger/jsonLogger.js +5 -3
  121. package/dist/logger/logFmtLogger.d.ts +2 -2
  122. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  123. package/dist/logger/logFmtLogger.js +3 -3
  124. package/dist/logger/shared.d.ts +3 -3
  125. package/dist/logger/shared.d.ts.map +1 -1
  126. package/dist/logger/shared.js +5 -5
  127. package/dist/logger.d.ts +1 -1
  128. package/dist/logger.d.ts.map +1 -1
  129. package/dist/memQueue.d.ts +15 -0
  130. package/dist/memQueue.d.ts.map +1 -0
  131. package/dist/memQueue.js +21 -0
  132. package/dist/middlewares.d.ts +10 -0
  133. package/dist/middlewares.d.ts.map +1 -0
  134. package/dist/{api/middlewares.js → middlewares.js} +1 -1
  135. package/dist/mongo-client.d.ts +11 -0
  136. package/dist/mongo-client.d.ts.map +1 -0
  137. package/dist/mongo-client.js +15 -0
  138. package/dist/otel.d.ts +75 -0
  139. package/dist/otel.d.ts.map +1 -0
  140. package/dist/otel.js +65 -0
  141. package/dist/rateLimit.d.ts +12 -4
  142. package/dist/rateLimit.d.ts.map +1 -1
  143. package/dist/rateLimit.js +7 -12
  144. package/dist/redis-client.d.ts +42 -0
  145. package/dist/redis-client.d.ts.map +1 -0
  146. package/dist/redis-client.js +98 -0
  147. package/dist/reportError.d.ts +4 -0
  148. package/dist/reportError.d.ts.map +1 -0
  149. package/dist/reportError.js +28 -0
  150. package/dist/routing/middleware/RouterMiddleware.d.ts +16 -0
  151. package/dist/routing/middleware/RouterMiddleware.d.ts.map +1 -0
  152. package/dist/{api/routing → routing}/middleware/RouterMiddleware.js +1 -1
  153. package/dist/routing/middleware/middleware.d.ts +48 -0
  154. package/dist/routing/middleware/middleware.d.ts.map +1 -0
  155. package/dist/routing/middleware/middleware.js +128 -0
  156. package/dist/routing/middleware.d.ts +3 -0
  157. package/dist/routing/middleware.d.ts.map +1 -0
  158. package/dist/{api/routing → routing}/middleware.js +1 -2
  159. package/dist/routing/schema/jwt.d.ts +4 -0
  160. package/dist/routing/schema/jwt.d.ts.map +1 -0
  161. package/dist/routing/schema/jwt.js +13 -0
  162. package/dist/routing/tsort.d.ts +8 -0
  163. package/dist/routing/tsort.d.ts.map +1 -0
  164. package/dist/routing/tsort.js +51 -0
  165. package/dist/routing/utils.d.ts +19 -0
  166. package/dist/routing/utils.d.ts.map +1 -0
  167. package/dist/routing/utils.js +45 -0
  168. package/dist/routing.d.ts +184 -0
  169. package/dist/routing.d.ts.map +1 -0
  170. package/dist/routing.js +236 -0
  171. package/dist/test.d.ts +3 -3
  172. package/dist/test.d.ts.map +1 -1
  173. package/dist/test.js +2 -2
  174. package/dist/util.d.ts +3 -0
  175. package/dist/util.d.ts.map +1 -0
  176. package/dist/util.js +14 -0
  177. package/dist/vitest.d.ts +1 -1
  178. package/docs/cluster-storage.md +26 -0
  179. package/docs/workflow-engine.md +262 -0
  180. package/examples/query.ts +47 -39
  181. package/package.json +31 -345
  182. package/run.sh +1 -0
  183. package/src/CUPS.ts +52 -13
  184. package/src/ClusterCosmos.ts +984 -0
  185. package/src/ClusterServiceBus.ts +242 -0
  186. package/src/{api/ContextProvider.ts → ContextProvider.ts} +19 -16
  187. package/src/Emailer/Sendgrid.ts +82 -59
  188. package/src/Emailer/fake.ts +3 -3
  189. package/src/MainFiberSet.ts +12 -10
  190. package/src/QueueMaker/SQLQueue.ts +153 -156
  191. package/src/QueueMaker/errors.ts +3 -1
  192. package/src/QueueMaker/memQueue.ts +113 -107
  193. package/src/QueueMaker/sbqueue.ts +78 -90
  194. package/src/RequestFiberSet.ts +13 -8
  195. package/src/{adapters/SQL → SQL}/Model.ts +42 -41
  196. package/src/ServiceBus.ts +219 -0
  197. package/src/Store/Cosmos/query.ts +216 -52
  198. package/src/Store/Cosmos.ts +493 -353
  199. package/src/Store/Disk.ts +109 -69
  200. package/src/Store/Memory.ts +365 -96
  201. package/src/Store/SQL/Pg.ts +363 -0
  202. package/src/Store/SQL/query.ts +603 -0
  203. package/src/Store/SQL.ts +735 -0
  204. package/src/Store/codeFilter.ts +8 -5
  205. package/src/Store/index.ts +21 -6
  206. package/src/Store/utils.ts +26 -24
  207. package/src/WorkflowEngineCosmos.ts +719 -0
  208. package/src/WorkflowEngineSqlite.ts +813 -0
  209. package/src/arbs.ts +5 -3
  210. package/src/{adapters/cosmos-client.ts → cosmos-client.ts} +5 -3
  211. package/src/errorReporter.ts +66 -76
  212. package/src/fileUtil.ts +1 -1
  213. package/src/index.ts +2 -1
  214. package/src/{api/internal → internal}/RequestContextMiddleware.ts +23 -6
  215. package/src/internal/auth.ts +272 -0
  216. package/src/{api/internal → internal}/events.ts +22 -13
  217. package/src/{api/layerUtils.ts → layerUtils.ts} +14 -10
  218. package/src/logger/jsonLogger.ts +4 -2
  219. package/src/logger/logFmtLogger.ts +2 -2
  220. package/src/logger/shared.ts +5 -4
  221. package/src/{adapters/memQueue.ts → memQueue.ts} +5 -4
  222. package/src/{adapters/mongo-client.ts → mongo-client.ts} +4 -2
  223. package/src/otel.ts +152 -0
  224. package/src/rateLimit.ts +34 -23
  225. package/src/{adapters/redis-client.ts → redis-client.ts} +7 -3
  226. package/src/{api/reportError.ts → reportError.ts} +3 -2
  227. package/src/{api/routing → routing}/middleware/RouterMiddleware.ts +5 -4
  228. package/src/{api/routing → routing}/middleware/middleware.ts +62 -17
  229. package/src/routing/middleware.ts +4 -0
  230. package/src/{api/routing → routing}/schema/jwt.ts +2 -1
  231. package/src/{api/routing → routing}/utils.ts +2 -1
  232. package/src/routing.ts +768 -0
  233. package/src/test.ts +2 -2
  234. package/test/auth.test.ts +101 -0
  235. package/test/cluster-cosmos.test.ts +590 -0
  236. package/test/cluster-servicebus.test.ts +180 -0
  237. package/test/cluster-sqlite.test.ts +207 -0
  238. package/test/contextProvider.test.ts +15 -12
  239. package/test/controller.test.ts +28 -32
  240. package/test/cosmos-query.test.ts +159 -0
  241. package/test/dist/_check-agg-infer.test-d.d.ts +2 -0
  242. package/test/dist/_check-agg-infer.test-d.d.ts.map +1 -0
  243. package/test/dist/_check-agg-infer.test-d.js +19 -0
  244. package/test/dist/_check-proj-infer.test-d.d.ts +2 -0
  245. package/test/dist/_check-proj-infer.test-d.d.ts.map +1 -0
  246. package/test/dist/_check-proj-infer.test-d.js +16 -0
  247. package/test/dist/_check-tighten.test-d.d.ts +2 -0
  248. package/test/dist/_check-tighten.test-d.d.ts.map +1 -0
  249. package/test/dist/_check-tighten.test-d.js +21 -0
  250. package/test/dist/auth.test.d.ts.map +1 -0
  251. package/test/dist/cluster-cosmos.test.d.ts.map +1 -0
  252. package/test/dist/cluster-servicebus.test.d.ts.map +1 -0
  253. package/test/dist/cluster-sqlite.test.d.ts.map +1 -0
  254. package/test/dist/contextProvider.test.d.ts.map +1 -1
  255. package/test/dist/controller.test.d.ts.map +1 -1
  256. package/test/dist/cosmos-query.test.d.ts.map +1 -0
  257. package/test/dist/date-query.test.d.ts.map +1 -0
  258. package/test/dist/fixtures.d.ts +30 -12
  259. package/test/dist/fixtures.d.ts.map +1 -1
  260. package/test/dist/fixtures.js +17 -10
  261. package/test/dist/query.test.d.ts.map +1 -1
  262. package/test/dist/rawQuery.test.d.ts.map +1 -1
  263. package/test/dist/repository-ext.test.d.ts.map +1 -0
  264. package/test/dist/requires.test.d.ts.map +1 -1
  265. package/test/dist/router-generator.test.d.ts.map +1 -0
  266. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  267. package/test/dist/rpc-context-map-streaming.test.d.ts.map +1 -0
  268. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  269. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  270. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  271. package/test/dist/sql-store.test.d.ts.map +1 -0
  272. package/test/dist/workflow-engine-cosmos.test.d.ts.map +1 -0
  273. package/test/dist/workflow-engine-sqlite.test.d.ts.map +1 -0
  274. package/test/fixtures.ts +16 -9
  275. package/test/layerUtils.test.ts +2 -2
  276. package/test/query.test.ts +905 -40
  277. package/test/rawQuery.test.ts +340 -22
  278. package/test/repository-ext.test.ts +62 -0
  279. package/test/requires.test.ts +10 -5
  280. package/test/router-generator.test.ts +187 -0
  281. package/test/routing-interruptibility.test.ts +66 -0
  282. package/test/rpc-context-map-streaming.test.ts +262 -0
  283. package/test/rpc-e2e-invalidation.test.ts +256 -0
  284. package/test/rpc-multi-middleware.test.ts +85 -10
  285. package/test/rpc-stream-fullstack.test.ts +304 -0
  286. package/test/sql-store.test.ts +1711 -0
  287. package/test/validateSample.test.ts +26 -14
  288. package/test/workflow-engine-cosmos.test.ts +354 -0
  289. package/test/workflow-engine-sqlite.test.ts +299 -0
  290. package/tsconfig.examples.json +1 -1
  291. package/tsconfig.json +2 -1
  292. package/tsconfig.json.bak +2 -2
  293. package/tsconfig.src.json +35 -35
  294. package/tsconfig.test.json +2 -2
  295. package/dist/Emailer/service.d.ts +0 -55
  296. package/dist/Emailer/service.d.ts.map +0 -1
  297. package/dist/Emailer/service.js +0 -6
  298. package/dist/Emailer.d.ts +0 -2
  299. package/dist/Emailer.d.ts.map +0 -1
  300. package/dist/Emailer.js +0 -2
  301. package/dist/Model/Repository/ext.d.ts +0 -41
  302. package/dist/Model/Repository/ext.d.ts.map +0 -1
  303. package/dist/Model/Repository/ext.js +0 -65
  304. package/dist/Model/Repository/internal/internal.d.ts +0 -59
  305. package/dist/Model/Repository/internal/internal.d.ts.map +0 -1
  306. package/dist/Model/Repository/internal/internal.js +0 -316
  307. package/dist/Model/Repository/legacy.d.ts +0 -19
  308. package/dist/Model/Repository/legacy.d.ts.map +0 -1
  309. package/dist/Model/Repository/legacy.js +0 -2
  310. package/dist/Model/Repository/makeRepo.d.ts +0 -49
  311. package/dist/Model/Repository/makeRepo.d.ts.map +0 -1
  312. package/dist/Model/Repository/makeRepo.js +0 -24
  313. package/dist/Model/Repository/service.d.ts +0 -89
  314. package/dist/Model/Repository/service.d.ts.map +0 -1
  315. package/dist/Model/Repository/service.js +0 -2
  316. package/dist/Model/Repository/validation.d.ts +0 -42
  317. package/dist/Model/Repository/validation.d.ts.map +0 -1
  318. package/dist/Model/Repository/validation.js +0 -32
  319. package/dist/Model/Repository.d.ts +0 -6
  320. package/dist/Model/Repository.d.ts.map +0 -1
  321. package/dist/Model/Repository.js +0 -6
  322. package/dist/Model/dsl.d.ts +0 -32
  323. package/dist/Model/dsl.d.ts.map +0 -1
  324. package/dist/Model/dsl.js +0 -44
  325. package/dist/Model/filter/filterApi.d.ts +0 -30
  326. package/dist/Model/filter/filterApi.d.ts.map +0 -1
  327. package/dist/Model/filter/filterApi.js +0 -2
  328. package/dist/Model/filter/types/errors.d.ts +0 -29
  329. package/dist/Model/filter/types/errors.d.ts.map +0 -1
  330. package/dist/Model/filter/types/errors.js +0 -2
  331. package/dist/Model/filter/types/fields.d.ts +0 -15
  332. package/dist/Model/filter/types/fields.d.ts.map +0 -1
  333. package/dist/Model/filter/types/fields.js +0 -2
  334. package/dist/Model/filter/types/path/common.d.ts +0 -316
  335. package/dist/Model/filter/types/path/common.d.ts.map +0 -1
  336. package/dist/Model/filter/types/path/common.js +0 -2
  337. package/dist/Model/filter/types/path/eager.d.ts +0 -95
  338. package/dist/Model/filter/types/path/eager.d.ts.map +0 -1
  339. package/dist/Model/filter/types/path/eager.js +0 -31
  340. package/dist/Model/filter/types/path/index.d.ts +0 -4
  341. package/dist/Model/filter/types/path/index.d.ts.map +0 -1
  342. package/dist/Model/filter/types/path/index.js +0 -3
  343. package/dist/Model/filter/types/utils.d.ts +0 -79
  344. package/dist/Model/filter/types/utils.d.ts.map +0 -1
  345. package/dist/Model/filter/types/utils.js +0 -2
  346. package/dist/Model/filter/types/validator.d.ts +0 -30
  347. package/dist/Model/filter/types/validator.d.ts.map +0 -1
  348. package/dist/Model/filter/types/validator.js +0 -2
  349. package/dist/Model/filter/types.d.ts +0 -5
  350. package/dist/Model/filter/types.d.ts.map +0 -1
  351. package/dist/Model/filter/types.js +0 -7
  352. package/dist/Model/query/dsl.d.ts +0 -248
  353. package/dist/Model/query/dsl.d.ts.map +0 -1
  354. package/dist/Model/query/dsl.js +0 -104
  355. package/dist/Model/query/new-kid-interpreter.d.ts +0 -28
  356. package/dist/Model/query/new-kid-interpreter.d.ts.map +0 -1
  357. package/dist/Model/query/new-kid-interpreter.js +0 -165
  358. package/dist/Model/query.d.ts +0 -15
  359. package/dist/Model/query.d.ts.map +0 -1
  360. package/dist/Model/query.js +0 -3
  361. package/dist/Model.d.ts +0 -4
  362. package/dist/Model.d.ts.map +0 -1
  363. package/dist/Model.js +0 -4
  364. package/dist/Operations.d.ts +0 -55
  365. package/dist/Operations.d.ts.map +0 -1
  366. package/dist/Operations.js +0 -102
  367. package/dist/OperationsRepo.d.ts +0 -41
  368. package/dist/OperationsRepo.d.ts.map +0 -1
  369. package/dist/OperationsRepo.js +0 -14
  370. package/dist/QueueMaker/service.d.ts +0 -11
  371. package/dist/QueueMaker/service.d.ts.map +0 -1
  372. package/dist/QueueMaker/service.js +0 -4
  373. package/dist/RequestContext.d.ts +0 -63
  374. package/dist/RequestContext.d.ts.map +0 -1
  375. package/dist/RequestContext.js +0 -49
  376. package/dist/Store/ContextMapContainer.d.ts +0 -14
  377. package/dist/Store/ContextMapContainer.d.ts.map +0 -1
  378. package/dist/Store/ContextMapContainer.js +0 -16
  379. package/dist/Store/service.d.ts +0 -108
  380. package/dist/Store/service.d.ts.map +0 -1
  381. package/dist/Store/service.js +0 -71
  382. package/dist/Store.d.ts +0 -2
  383. package/dist/Store.d.ts.map +0 -1
  384. package/dist/Store.js +0 -2
  385. package/dist/adapters/SQL/Model.d.ts +0 -479
  386. package/dist/adapters/SQL/Model.d.ts.map +0 -1
  387. package/dist/adapters/SQL/Model.js +0 -478
  388. package/dist/adapters/SQL.d.ts +0 -2
  389. package/dist/adapters/SQL.d.ts.map +0 -1
  390. package/dist/adapters/ServiceBus.d.ts +0 -58
  391. package/dist/adapters/ServiceBus.d.ts.map +0 -1
  392. package/dist/adapters/ServiceBus.js +0 -99
  393. package/dist/adapters/cosmos-client.d.ts +0 -14
  394. package/dist/adapters/cosmos-client.d.ts.map +0 -1
  395. package/dist/adapters/cosmos-client.js +0 -9
  396. package/dist/adapters/index.d.ts +0 -2
  397. package/dist/adapters/index.d.ts.map +0 -1
  398. package/dist/adapters/index.js +0 -2
  399. package/dist/adapters/logger.d.ts +0 -9
  400. package/dist/adapters/logger.d.ts.map +0 -1
  401. package/dist/adapters/logger.js +0 -3
  402. package/dist/adapters/memQueue.d.ts +0 -13
  403. package/dist/adapters/memQueue.d.ts.map +0 -1
  404. package/dist/adapters/memQueue.js +0 -20
  405. package/dist/adapters/mongo-client.d.ts +0 -10
  406. package/dist/adapters/mongo-client.d.ts.map +0 -1
  407. package/dist/adapters/mongo-client.js +0 -13
  408. package/dist/adapters/redis-client.d.ts +0 -39
  409. package/dist/adapters/redis-client.d.ts.map +0 -1
  410. package/dist/adapters/redis-client.js +0 -94
  411. package/dist/api/ContextProvider.d.ts +0 -31
  412. package/dist/api/ContextProvider.d.ts.map +0 -1
  413. package/dist/api/ContextProvider.js +0 -38
  414. package/dist/api/codec.d.ts +0 -5
  415. package/dist/api/codec.d.ts.map +0 -1
  416. package/dist/api/codec.js +0 -5
  417. package/dist/api/internal/RequestContextMiddleware.d.ts +0 -5
  418. package/dist/api/internal/RequestContextMiddleware.d.ts.map +0 -1
  419. package/dist/api/internal/RequestContextMiddleware.js +0 -35
  420. package/dist/api/internal/auth.d.ts +0 -15
  421. package/dist/api/internal/auth.d.ts.map +0 -1
  422. package/dist/api/internal/auth.js +0 -47
  423. package/dist/api/internal/events.d.ts +0 -9
  424. package/dist/api/internal/events.d.ts.map +0 -1
  425. package/dist/api/internal/events.js +0 -42
  426. package/dist/api/internal/health.d.ts +0 -3
  427. package/dist/api/internal/health.d.ts.map +0 -1
  428. package/dist/api/internal/health.js +0 -5
  429. package/dist/api/layerUtils.d.ts +0 -24
  430. package/dist/api/layerUtils.d.ts.map +0 -1
  431. package/dist/api/layerUtils.js +0 -16
  432. package/dist/api/middlewares.d.ts +0 -10
  433. package/dist/api/middlewares.d.ts.map +0 -1
  434. package/dist/api/reportError.d.ts +0 -4
  435. package/dist/api/reportError.d.ts.map +0 -1
  436. package/dist/api/reportError.js +0 -27
  437. package/dist/api/routing/middleware/RouterMiddleware.d.ts +0 -15
  438. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +0 -1
  439. package/dist/api/routing/middleware/middleware.d.ts +0 -9
  440. package/dist/api/routing/middleware/middleware.d.ts.map +0 -1
  441. package/dist/api/routing/middleware/middleware.js +0 -92
  442. package/dist/api/routing/middleware.d.ts +0 -4
  443. package/dist/api/routing/middleware.d.ts.map +0 -1
  444. package/dist/api/routing/schema/jwt.d.ts +0 -4
  445. package/dist/api/routing/schema/jwt.d.ts.map +0 -1
  446. package/dist/api/routing/schema/jwt.js +0 -12
  447. package/dist/api/routing/tsort.d.ts +0 -8
  448. package/dist/api/routing/tsort.d.ts.map +0 -1
  449. package/dist/api/routing/tsort.js +0 -51
  450. package/dist/api/routing/utils.d.ts +0 -19
  451. package/dist/api/routing/utils.d.ts.map +0 -1
  452. package/dist/api/routing/utils.js +0 -44
  453. package/dist/api/routing.d.ts +0 -138
  454. package/dist/api/routing.d.ts.map +0 -1
  455. package/dist/api/routing.js +0 -166
  456. package/dist/api/setupRequest.d.ts +0 -12
  457. package/dist/api/setupRequest.d.ts.map +0 -1
  458. package/dist/api/setupRequest.js +0 -44
  459. package/dist/api/util.d.ts +0 -3
  460. package/dist/api/util.d.ts.map +0 -1
  461. package/dist/api/util.js +0 -14
  462. package/eslint.config.mjs +0 -24
  463. package/src/Emailer/service.ts +0 -52
  464. package/src/Emailer.ts +0 -1
  465. package/src/Model/Repository/ext.ts +0 -283
  466. package/src/Model/Repository/internal/internal.ts +0 -577
  467. package/src/Model/Repository/legacy.ts +0 -27
  468. package/src/Model/Repository/makeRepo.ts +0 -139
  469. package/src/Model/Repository/service.ts +0 -627
  470. package/src/Model/Repository/validation.ts +0 -31
  471. package/src/Model/Repository.ts +0 -5
  472. package/src/Model/dsl.ts +0 -128
  473. package/src/Model/filter/filterApi.ts +0 -60
  474. package/src/Model/filter/types/errors.ts +0 -47
  475. package/src/Model/filter/types/fields.ts +0 -50
  476. package/src/Model/filter/types/path/common.ts +0 -404
  477. package/src/Model/filter/types/path/eager.ts +0 -298
  478. package/src/Model/filter/types/path/index.ts +0 -4
  479. package/src/Model/filter/types/utils.ts +0 -128
  480. package/src/Model/filter/types/validator.ts +0 -46
  481. package/src/Model/filter/types.ts +0 -6
  482. package/src/Model/query/dsl.ts +0 -2110
  483. package/src/Model/query/new-kid-interpreter.ts +0 -210
  484. package/src/Model/query.ts +0 -13
  485. package/src/Model.ts +0 -3
  486. package/src/Operations.ts +0 -235
  487. package/src/OperationsRepo.ts +0 -16
  488. package/src/QueueMaker/service.ts +0 -17
  489. package/src/RequestContext.ts +0 -63
  490. package/src/Store/ContextMapContainer.ts +0 -20
  491. package/src/Store/service.ts +0 -184
  492. package/src/Store.ts +0 -1
  493. package/src/adapters/ServiceBus.ts +0 -209
  494. package/src/adapters/index.ts +0 -0
  495. package/src/adapters/logger.ts +0 -3
  496. package/src/api/internal/auth.ts +0 -68
  497. package/src/api/routing/middleware.ts +0 -6
  498. package/src/api/routing.ts +0 -598
  499. package/src/api/setupRequest.ts +0 -84
  500. /package/src/{adapters/SQL.ts → SQL.ts} +0 -0
  501. /package/src/{api/codec.ts → codec.ts} +0 -0
  502. /package/src/{api/internal → internal}/health.ts +0 -0
  503. /package/src/{api/middlewares.ts → middlewares.ts} +0 -0
  504. /package/src/{api/routing → routing}/tsort.ts +0 -0
  505. /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"