@effect-app/infra 4.0.0-beta.3 → 4.0.0-beta.300

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