@effect-app/infra 4.0.0-beta.31 → 4.0.0-beta.310

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