@effect-app/infra 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/_cjs/{services/CUPS.cjs → CUPS.cjs} +1 -1
  3. package/_cjs/CUPS.cjs.map +1 -0
  4. package/_cjs/{services/Emailer → Emailer}/Sendgrid.cjs +1 -1
  5. package/_cjs/Emailer/Sendgrid.cjs.map +1 -0
  6. package/_cjs/{services/Emailer → Emailer}/fake.cjs +1 -1
  7. package/_cjs/Emailer/fake.cjs.map +1 -0
  8. package/_cjs/Emailer/service.cjs.map +1 -0
  9. package/_cjs/Emailer.cjs.map +1 -0
  10. package/_cjs/{services/MainFiberSet.cjs → MainFiberSet.cjs} +1 -1
  11. package/_cjs/MainFiberSet.cjs.map +1 -0
  12. package/_cjs/{services → Model}/Repository/ext.cjs +1 -1
  13. package/_cjs/Model/Repository/ext.cjs.map +1 -0
  14. package/_cjs/{services → Model}/Repository/legacy.cjs +2 -3
  15. package/_cjs/Model/Repository/legacy.cjs.map +1 -0
  16. package/_cjs/{services/RepositoryBase.cjs → Model/Repository/makeRepo.cjs} +10 -12
  17. package/_cjs/Model/Repository/makeRepo.cjs.map +1 -0
  18. package/_cjs/Model/Repository/service.cjs.map +1 -0
  19. package/_cjs/{services → Model}/Repository.cjs +12 -10
  20. package/_cjs/Model/Repository.cjs.map +1 -0
  21. package/_cjs/Model/dsl.cjs.map +1 -0
  22. package/_cjs/Model/filter/filterApi.cjs +6 -0
  23. package/_cjs/Model/filter/filterApi.cjs.map +1 -0
  24. package/_cjs/Model/filter/types/errors.cjs.map +1 -0
  25. package/_cjs/Model/filter/types/fields.cjs.map +1 -0
  26. package/_cjs/Model/filter/types/path/common.cjs.map +1 -0
  27. package/_cjs/Model/filter/types/path/eager.cjs.map +1 -0
  28. package/_cjs/Model/filter/types/path/index.cjs.map +1 -0
  29. package/_cjs/Model/filter/types/utils.cjs.map +1 -0
  30. package/_cjs/Model/filter/types/validator.cjs.map +1 -0
  31. package/_cjs/Model/filter/types.cjs.map +1 -0
  32. package/_cjs/Model/query/dsl.cjs.map +1 -0
  33. package/_cjs/Model/query/new-kid-interpreter.cjs.map +1 -0
  34. package/_cjs/Model/query.cjs.map +1 -0
  35. package/_cjs/Model.cjs +23 -2
  36. package/_cjs/Model.cjs.map +1 -1
  37. package/_cjs/{services/Operations.cjs → Operations.cjs} +3 -3
  38. package/_cjs/Operations.cjs.map +1 -0
  39. package/_cjs/{services/OperationsRepo.cjs → OperationsRepo.cjs} +2 -2
  40. package/_cjs/OperationsRepo.cjs.map +1 -0
  41. package/_cjs/{services/QueueMaker → QueueMaker}/SQLQueue.cjs +3 -3
  42. package/_cjs/QueueMaker/SQLQueue.cjs.map +1 -0
  43. package/_cjs/QueueMaker/errors.cjs.map +1 -0
  44. package/_cjs/{services/QueueMaker → QueueMaker}/memQueue.cjs +2 -2
  45. package/_cjs/QueueMaker/memQueue.cjs.map +1 -0
  46. package/_cjs/{services/QueueMaker → QueueMaker}/sbqueue.cjs +2 -2
  47. package/_cjs/QueueMaker/sbqueue.cjs.map +1 -0
  48. package/_cjs/{services/QueueMaker → QueueMaker}/service.cjs +1 -1
  49. package/_cjs/QueueMaker/service.cjs.map +1 -0
  50. package/_cjs/{services/RequestFiberSet.cjs → RequestFiberSet.cjs} +2 -2
  51. package/_cjs/RequestFiberSet.cjs.map +1 -0
  52. package/_cjs/Store/ContextMapContainer.cjs.map +1 -0
  53. package/_cjs/{services/Store → Store}/Cosmos/query.cjs +1 -1
  54. package/_cjs/Store/Cosmos/query.cjs.map +1 -0
  55. package/_cjs/{services/Store → Store}/Cosmos.cjs +2 -2
  56. package/_cjs/Store/Cosmos.cjs.map +1 -0
  57. package/_cjs/{services/Store → Store}/Disk.cjs +1 -1
  58. package/_cjs/Store/Disk.cjs.map +1 -0
  59. package/_cjs/{services/Store → Store}/Memory.cjs +1 -1
  60. package/_cjs/Store/Memory.cjs.map +1 -0
  61. package/_cjs/Store/codeFilter.cjs.map +1 -0
  62. package/_cjs/Store/index.cjs.map +1 -0
  63. package/_cjs/Store/service.cjs.map +1 -0
  64. package/_cjs/{services/Store → Store}/utils.cjs +1 -1
  65. package/_cjs/Store/utils.cjs.map +1 -0
  66. package/_cjs/Store.cjs.map +1 -0
  67. package/_cjs/adapters/SQL/Model.cjs.map +1 -0
  68. package/_cjs/adapters/SQL.cjs.map +1 -0
  69. package/_cjs/adapters/ServiceBus.cjs.map +1 -0
  70. package/_cjs/adapters/cosmos-client.cjs.map +1 -0
  71. package/_cjs/adapters/index.cjs.map +1 -0
  72. package/_cjs/adapters/logger.cjs.map +1 -0
  73. package/_cjs/adapters/memQueue.cjs.map +1 -0
  74. package/_cjs/adapters/mongo-client.cjs.map +1 -0
  75. package/_cjs/adapters/redis-client.cjs.map +1 -0
  76. package/_cjs/api/setupRequest.cjs +2 -2
  77. package/_cjs/arbs.cjs.map +1 -0
  78. package/_cjs/logger/shared.cjs +1 -1
  79. package/_cjs/logger/shared.cjs.map +1 -1
  80. package/_cjs/test.cjs +1 -1
  81. package/dist/CUPS.d.ts.map +1 -0
  82. package/dist/CUPS.js +116 -0
  83. package/dist/Emailer/Sendgrid.d.ts.map +1 -0
  84. package/dist/Emailer/Sendgrid.js +99 -0
  85. package/dist/Emailer/fake.d.ts.map +1 -0
  86. package/dist/Emailer/fake.js +18 -0
  87. package/dist/{services/Emailer → Emailer}/service.d.ts +1 -1
  88. package/dist/Emailer/service.d.ts.map +1 -0
  89. package/dist/{services/Emailer → Emailer}/service.js +1 -1
  90. package/dist/Emailer.d.ts.map +1 -0
  91. package/dist/{services/Emailer.js → Emailer.js} +1 -1
  92. package/dist/MainFiberSet.d.ts.map +1 -0
  93. package/dist/MainFiberSet.js +54 -0
  94. package/dist/{services → Model}/Repository/ext.d.ts +12 -12
  95. package/dist/Model/Repository/ext.d.ts.map +1 -0
  96. package/dist/Model/Repository/ext.js +61 -0
  97. package/dist/{services → Model}/Repository/legacy.d.ts +53 -53
  98. package/dist/Model/Repository/legacy.d.ts.map +1 -0
  99. package/dist/Model/Repository/legacy.js +123 -0
  100. package/dist/{services/RepositoryBase.d.ts → Model/Repository/makeRepo.d.ts} +22 -22
  101. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  102. package/dist/Model/Repository/makeRepo.js +254 -0
  103. package/dist/{services → Model}/Repository/service.d.ts +8 -8
  104. package/dist/Model/Repository/service.d.ts.map +1 -0
  105. package/dist/{services → Model}/Repository/service.js +1 -1
  106. package/dist/{services → Model}/Repository.d.ts +1 -1
  107. package/dist/Model/Repository.d.ts.map +1 -0
  108. package/dist/Model/Repository.js +5 -0
  109. package/dist/Model/dsl.d.ts.map +1 -0
  110. package/dist/Model/dsl.js +46 -0
  111. package/dist/{services/Store/filterApi/query.d.ts → Model/filter/filterApi.d.ts} +1 -1
  112. package/dist/Model/filter/filterApi.d.ts.map +1 -0
  113. package/dist/Model/filter/filterApi.js +2 -0
  114. package/dist/Model/filter/types/errors.d.ts.map +1 -0
  115. package/dist/{filter → Model/filter}/types/errors.js +1 -1
  116. package/dist/Model/filter/types/fields.d.ts.map +1 -0
  117. package/dist/{filter → Model/filter}/types/fields.js +1 -1
  118. package/dist/Model/filter/types/path/common.d.ts.map +1 -0
  119. package/dist/{filter → Model/filter}/types/path/common.js +1 -1
  120. package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
  121. package/dist/{filter → Model/filter}/types/path/eager.js +1 -1
  122. package/dist/Model/filter/types/path/index.d.ts.map +1 -0
  123. package/dist/{filter → Model/filter}/types/path/index.js +1 -1
  124. package/dist/Model/filter/types/utils.d.ts.map +1 -0
  125. package/dist/{filter → Model/filter}/types/utils.js +1 -1
  126. package/dist/Model/filter/types/validator.d.ts.map +1 -0
  127. package/dist/{filter → Model/filter}/types/validator.js +1 -1
  128. package/dist/Model/filter/types.d.ts.map +1 -0
  129. package/dist/{filter → Model/filter}/types.js +1 -1
  130. package/dist/{services → Model}/query/dsl.d.ts +6 -6
  131. package/dist/Model/query/dsl.d.ts.map +1 -0
  132. package/dist/Model/query/dsl.js +95 -0
  133. package/dist/{services → Model}/query/new-kid-interpreter.d.ts +4 -4
  134. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
  135. package/dist/Model/query/new-kid-interpreter.js +133 -0
  136. package/dist/Model/query.d.ts.map +1 -0
  137. package/dist/{services → Model}/query.js +1 -1
  138. package/dist/Model.d.ts +3 -1
  139. package/dist/Model.d.ts.map +1 -1
  140. package/dist/Model.js +4 -2
  141. package/dist/Operations.d.ts.map +1 -0
  142. package/dist/Operations.js +102 -0
  143. package/dist/{services/OperationsRepo.d.ts → OperationsRepo.d.ts} +1 -1
  144. package/dist/OperationsRepo.d.ts.map +1 -0
  145. package/dist/OperationsRepo.js +14 -0
  146. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -0
  147. package/dist/QueueMaker/SQLQueue.js +136 -0
  148. package/dist/QueueMaker/errors.d.ts.map +1 -0
  149. package/dist/QueueMaker/errors.js +20 -0
  150. package/dist/QueueMaker/memQueue.d.ts.map +1 -0
  151. package/dist/QueueMaker/memQueue.js +78 -0
  152. package/dist/QueueMaker/sbqueue.d.ts.map +1 -0
  153. package/dist/QueueMaker/sbqueue.js +102 -0
  154. package/dist/{services/QueueMaker → QueueMaker}/service.d.ts +1 -1
  155. package/dist/QueueMaker/service.d.ts.map +1 -0
  156. package/dist/QueueMaker/service.js +4 -0
  157. package/dist/RequestFiberSet.d.ts.map +1 -0
  158. package/dist/RequestFiberSet.js +79 -0
  159. package/dist/Store/ContextMapContainer.d.ts.map +1 -0
  160. package/dist/{services/Store → Store}/ContextMapContainer.js +1 -1
  161. package/dist/{services/Store → Store}/Cosmos/query.d.ts +1 -1
  162. package/dist/Store/Cosmos/query.d.ts.map +1 -0
  163. package/dist/Store/Cosmos/query.js +164 -0
  164. package/dist/Store/Cosmos.d.ts.map +1 -0
  165. package/dist/Store/Cosmos.js +258 -0
  166. package/dist/Store/Disk.d.ts.map +1 -0
  167. package/dist/Store/Disk.js +109 -0
  168. package/dist/Store/Memory.d.ts.map +1 -0
  169. package/dist/Store/Memory.js +170 -0
  170. package/dist/{services/Store → Store}/codeFilter.d.ts +1 -1
  171. package/dist/Store/codeFilter.d.ts.map +1 -0
  172. package/dist/Store/codeFilter.js +117 -0
  173. package/dist/Store/index.d.ts.map +1 -0
  174. package/dist/Store/index.js +28 -0
  175. package/dist/{services/Store → Store}/service.d.ts +5 -5
  176. package/dist/Store/service.d.ts.map +1 -0
  177. package/dist/{services/Store → Store}/service.js +1 -1
  178. package/dist/{services/Store → Store}/utils.d.ts +1 -1
  179. package/dist/Store/utils.d.ts.map +1 -0
  180. package/dist/Store/utils.js +44 -0
  181. package/dist/Store.d.ts.map +1 -0
  182. package/dist/{services/Store.js → Store.js} +1 -1
  183. package/dist/{services/adapters → adapters}/SQL/Model.d.ts +23 -23
  184. package/dist/adapters/SQL/Model.d.ts.map +1 -0
  185. package/dist/adapters/SQL/Model.js +508 -0
  186. package/dist/adapters/SQL.d.ts.map +1 -0
  187. package/dist/{services/adapters → adapters}/SQL.js +1 -1
  188. package/dist/adapters/ServiceBus.d.ts.map +1 -0
  189. package/dist/adapters/ServiceBus.js +73 -0
  190. package/dist/adapters/cosmos-client.d.ts.map +1 -0
  191. package/dist/adapters/cosmos-client.js +8 -0
  192. package/dist/{services/adapters → adapters}/index.d.ts.map +1 -1
  193. package/dist/{services/adapters → adapters}/index.js +1 -1
  194. package/dist/adapters/logger.d.ts.map +1 -0
  195. package/dist/{services/adapters → adapters}/logger.js +1 -1
  196. package/dist/adapters/memQueue.d.ts.map +1 -0
  197. package/dist/adapters/memQueue.js +24 -0
  198. package/dist/adapters/mongo-client.d.ts.map +1 -0
  199. package/dist/adapters/mongo-client.js +12 -0
  200. package/dist/adapters/redis-client.d.ts.map +1 -0
  201. package/dist/adapters/redis-client.js +93 -0
  202. package/dist/api/setupRequest.js +3 -3
  203. package/dist/arbs.d.ts.map +1 -0
  204. package/dist/arbs.js +21 -0
  205. package/dist/logger/shared.js +2 -2
  206. package/dist/test.d.ts +1 -1
  207. package/dist/test.d.ts.map +1 -1
  208. package/dist/test.js +3 -3
  209. package/examples/query.ts +3 -3
  210. package/package.json +352 -362
  211. package/src/{services/CUPS.ts → CUPS.ts} +1 -1
  212. package/src/{services/Emailer → Emailer}/Sendgrid.ts +1 -1
  213. package/src/{services/Emailer → Emailer}/fake.ts +1 -1
  214. package/src/{services/MainFiberSet.ts → MainFiberSet.ts} +1 -1
  215. package/src/{services → Model}/Repository/ext.ts +23 -11
  216. package/src/{services → Model}/Repository/legacy.ts +78 -51
  217. package/src/{services/RepositoryBase.ts → Model/Repository/makeRepo.ts} +40 -38
  218. package/src/{services → Model}/Repository/service.ts +9 -8
  219. package/src/{services → Model}/Repository.ts +1 -1
  220. package/src/{services → Model}/query/dsl.ts +24 -6
  221. package/src/{services → Model}/query/new-kid-interpreter.ts +3 -3
  222. package/src/Model.ts +3 -1
  223. package/src/{services/Operations.ts → Operations.ts} +3 -3
  224. package/src/{services/OperationsRepo.ts → OperationsRepo.ts} +1 -1
  225. package/src/{services/QueueMaker → QueueMaker}/SQLQueue.ts +4 -4
  226. package/src/{services/QueueMaker → QueueMaker}/memQueue.ts +2 -2
  227. package/src/{services/QueueMaker → QueueMaker}/sbqueue.ts +2 -2
  228. package/src/{services/QueueMaker → QueueMaker}/service.ts +1 -1
  229. package/src/{services/RequestFiberSet.ts → RequestFiberSet.ts} +2 -2
  230. package/src/{services/Store → Store}/Cosmos/query.ts +2 -2
  231. package/src/{services/Store → Store}/Cosmos.ts +2 -2
  232. package/src/{services/Store → Store}/Disk.ts +1 -1
  233. package/src/{services/Store → Store}/Memory.ts +1 -1
  234. package/src/{services/Store → Store}/codeFilter.ts +1 -1
  235. package/src/{services/Store → Store}/service.ts +4 -4
  236. package/src/{services/Store → Store}/utils.ts +1 -1
  237. package/src/api/setupRequest.ts +2 -2
  238. package/src/logger/shared.ts +1 -1
  239. package/src/test.ts +2 -2
  240. package/test/dist/query.test.d.ts.map +1 -1
  241. package/test/query.test.ts +32 -5
  242. package/_cjs/_ext/Array.cjs +0 -22
  243. package/_cjs/_ext/Array.cjs.map +0 -1
  244. package/_cjs/filter/types/errors.cjs.map +0 -1
  245. package/_cjs/filter/types/fields.cjs.map +0 -1
  246. package/_cjs/filter/types/path/common.cjs.map +0 -1
  247. package/_cjs/filter/types/path/eager.cjs.map +0 -1
  248. package/_cjs/filter/types/path/index.cjs.map +0 -1
  249. package/_cjs/filter/types/utils.cjs.map +0 -1
  250. package/_cjs/filter/types/validator.cjs.map +0 -1
  251. package/_cjs/filter/types.cjs.map +0 -1
  252. package/_cjs/services/CUPS.cjs.map +0 -1
  253. package/_cjs/services/Emailer/Sendgrid.cjs.map +0 -1
  254. package/_cjs/services/Emailer/fake.cjs.map +0 -1
  255. package/_cjs/services/Emailer/service.cjs.map +0 -1
  256. package/_cjs/services/Emailer.cjs.map +0 -1
  257. package/_cjs/services/MainFiberSet.cjs.map +0 -1
  258. package/_cjs/services/Operations.cjs.map +0 -1
  259. package/_cjs/services/OperationsRepo.cjs.map +0 -1
  260. package/_cjs/services/QueueMaker/SQLQueue.cjs.map +0 -1
  261. package/_cjs/services/QueueMaker/errors.cjs.map +0 -1
  262. package/_cjs/services/QueueMaker/memQueue.cjs.map +0 -1
  263. package/_cjs/services/QueueMaker/sbqueue.cjs.map +0 -1
  264. package/_cjs/services/QueueMaker/service.cjs.map +0 -1
  265. package/_cjs/services/Repository/dsl.cjs.map +0 -1
  266. package/_cjs/services/Repository/ext.cjs.map +0 -1
  267. package/_cjs/services/Repository/legacy.cjs.map +0 -1
  268. package/_cjs/services/Repository/service.cjs.map +0 -1
  269. package/_cjs/services/Repository.cjs.map +0 -1
  270. package/_cjs/services/RepositoryBase.cjs.map +0 -1
  271. package/_cjs/services/RequestFiberSet.cjs.map +0 -1
  272. package/_cjs/services/Store/ContextMapContainer.cjs.map +0 -1
  273. package/_cjs/services/Store/Cosmos/query.cjs.map +0 -1
  274. package/_cjs/services/Store/Cosmos.cjs.map +0 -1
  275. package/_cjs/services/Store/Disk.cjs.map +0 -1
  276. package/_cjs/services/Store/Memory.cjs.map +0 -1
  277. package/_cjs/services/Store/codeFilter.cjs.map +0 -1
  278. package/_cjs/services/Store/filterApi/query.cjs +0 -6
  279. package/_cjs/services/Store/filterApi/query.cjs.map +0 -1
  280. package/_cjs/services/Store/index.cjs.map +0 -1
  281. package/_cjs/services/Store/service.cjs.map +0 -1
  282. package/_cjs/services/Store/utils.cjs.map +0 -1
  283. package/_cjs/services/Store.cjs.map +0 -1
  284. package/_cjs/services/adapters/SQL/Model.cjs.map +0 -1
  285. package/_cjs/services/adapters/SQL.cjs.map +0 -1
  286. package/_cjs/services/adapters/ServiceBus.cjs.map +0 -1
  287. package/_cjs/services/adapters/cosmos-client.cjs.map +0 -1
  288. package/_cjs/services/adapters/index.cjs.map +0 -1
  289. package/_cjs/services/adapters/logger.cjs.map +0 -1
  290. package/_cjs/services/adapters/memQueue.cjs.map +0 -1
  291. package/_cjs/services/adapters/mongo-client.cjs.map +0 -1
  292. package/_cjs/services/adapters/redis-client.cjs.map +0 -1
  293. package/_cjs/services/query/dsl.cjs.map +0 -1
  294. package/_cjs/services/query/new-kid-interpreter.cjs.map +0 -1
  295. package/_cjs/services/query.cjs.map +0 -1
  296. package/_cjs/test/arbs.cjs.map +0 -1
  297. package/dist/_ext/Array.d.ts +0 -13
  298. package/dist/_ext/Array.d.ts.map +0 -1
  299. package/dist/_ext/Array.js +0 -15
  300. package/dist/filter/types/errors.d.ts.map +0 -1
  301. package/dist/filter/types/fields.d.ts.map +0 -1
  302. package/dist/filter/types/path/common.d.ts.map +0 -1
  303. package/dist/filter/types/path/eager.d.ts.map +0 -1
  304. package/dist/filter/types/path/index.d.ts.map +0 -1
  305. package/dist/filter/types/utils.d.ts.map +0 -1
  306. package/dist/filter/types/validator.d.ts.map +0 -1
  307. package/dist/filter/types.d.ts.map +0 -1
  308. package/dist/services/CUPS.d.ts.map +0 -1
  309. package/dist/services/CUPS.js +0 -116
  310. package/dist/services/Emailer/Sendgrid.d.ts.map +0 -1
  311. package/dist/services/Emailer/Sendgrid.js +0 -99
  312. package/dist/services/Emailer/fake.d.ts.map +0 -1
  313. package/dist/services/Emailer/fake.js +0 -18
  314. package/dist/services/Emailer/service.d.ts.map +0 -1
  315. package/dist/services/Emailer.d.ts.map +0 -1
  316. package/dist/services/MainFiberSet.d.ts.map +0 -1
  317. package/dist/services/MainFiberSet.js +0 -54
  318. package/dist/services/Operations.d.ts.map +0 -1
  319. package/dist/services/Operations.js +0 -102
  320. package/dist/services/OperationsRepo.d.ts.map +0 -1
  321. package/dist/services/OperationsRepo.js +0 -14
  322. package/dist/services/QueueMaker/SQLQueue.d.ts.map +0 -1
  323. package/dist/services/QueueMaker/SQLQueue.js +0 -136
  324. package/dist/services/QueueMaker/errors.d.ts.map +0 -1
  325. package/dist/services/QueueMaker/errors.js +0 -20
  326. package/dist/services/QueueMaker/memQueue.d.ts.map +0 -1
  327. package/dist/services/QueueMaker/memQueue.js +0 -78
  328. package/dist/services/QueueMaker/sbqueue.d.ts.map +0 -1
  329. package/dist/services/QueueMaker/sbqueue.js +0 -102
  330. package/dist/services/QueueMaker/service.d.ts.map +0 -1
  331. package/dist/services/QueueMaker/service.js +0 -4
  332. package/dist/services/Repository/dsl.d.ts.map +0 -1
  333. package/dist/services/Repository/dsl.js +0 -46
  334. package/dist/services/Repository/ext.d.ts.map +0 -1
  335. package/dist/services/Repository/ext.js +0 -61
  336. package/dist/services/Repository/legacy.d.ts.map +0 -1
  337. package/dist/services/Repository/legacy.js +0 -124
  338. package/dist/services/Repository/service.d.ts.map +0 -1
  339. package/dist/services/Repository.d.ts.map +0 -1
  340. package/dist/services/Repository.js +0 -5
  341. package/dist/services/RepositoryBase.d.ts.map +0 -1
  342. package/dist/services/RepositoryBase.js +0 -256
  343. package/dist/services/RequestFiberSet.d.ts.map +0 -1
  344. package/dist/services/RequestFiberSet.js +0 -79
  345. package/dist/services/Store/ContextMapContainer.d.ts.map +0 -1
  346. package/dist/services/Store/Cosmos/query.d.ts.map +0 -1
  347. package/dist/services/Store/Cosmos/query.js +0 -164
  348. package/dist/services/Store/Cosmos.d.ts.map +0 -1
  349. package/dist/services/Store/Cosmos.js +0 -258
  350. package/dist/services/Store/Disk.d.ts.map +0 -1
  351. package/dist/services/Store/Disk.js +0 -109
  352. package/dist/services/Store/Memory.d.ts.map +0 -1
  353. package/dist/services/Store/Memory.js +0 -170
  354. package/dist/services/Store/codeFilter.d.ts.map +0 -1
  355. package/dist/services/Store/codeFilter.js +0 -117
  356. package/dist/services/Store/filterApi/query.d.ts.map +0 -1
  357. package/dist/services/Store/filterApi/query.js +0 -2
  358. package/dist/services/Store/index.d.ts.map +0 -1
  359. package/dist/services/Store/index.js +0 -28
  360. package/dist/services/Store/service.d.ts.map +0 -1
  361. package/dist/services/Store/utils.d.ts.map +0 -1
  362. package/dist/services/Store/utils.js +0 -44
  363. package/dist/services/Store.d.ts.map +0 -1
  364. package/dist/services/adapters/SQL/Model.d.ts.map +0 -1
  365. package/dist/services/adapters/SQL/Model.js +0 -508
  366. package/dist/services/adapters/SQL.d.ts.map +0 -1
  367. package/dist/services/adapters/ServiceBus.d.ts.map +0 -1
  368. package/dist/services/adapters/ServiceBus.js +0 -73
  369. package/dist/services/adapters/cosmos-client.d.ts.map +0 -1
  370. package/dist/services/adapters/cosmos-client.js +0 -8
  371. package/dist/services/adapters/logger.d.ts.map +0 -1
  372. package/dist/services/adapters/memQueue.d.ts.map +0 -1
  373. package/dist/services/adapters/memQueue.js +0 -24
  374. package/dist/services/adapters/mongo-client.d.ts.map +0 -1
  375. package/dist/services/adapters/mongo-client.js +0 -12
  376. package/dist/services/adapters/redis-client.d.ts.map +0 -1
  377. package/dist/services/adapters/redis-client.js +0 -93
  378. package/dist/services/query/dsl.d.ts.map +0 -1
  379. package/dist/services/query/dsl.js +0 -95
  380. package/dist/services/query/new-kid-interpreter.d.ts.map +0 -1
  381. package/dist/services/query/new-kid-interpreter.js +0 -133
  382. package/dist/services/query.d.ts.map +0 -1
  383. package/dist/test/arbs.d.ts.map +0 -1
  384. package/dist/test/arbs.js +0 -21
  385. package/src/_ext/Array.ts +0 -22
  386. /package/_cjs/{services/Emailer → Emailer}/service.cjs +0 -0
  387. /package/_cjs/{services/Emailer.cjs → Emailer.cjs} +0 -0
  388. /package/_cjs/{services → Model}/Repository/service.cjs +0 -0
  389. /package/_cjs/{services/Repository → Model}/dsl.cjs +0 -0
  390. /package/_cjs/{filter → Model/filter}/types/errors.cjs +0 -0
  391. /package/_cjs/{filter → Model/filter}/types/fields.cjs +0 -0
  392. /package/_cjs/{filter → Model/filter}/types/path/common.cjs +0 -0
  393. /package/_cjs/{filter → Model/filter}/types/path/eager.cjs +0 -0
  394. /package/_cjs/{filter → Model/filter}/types/path/index.cjs +0 -0
  395. /package/_cjs/{filter → Model/filter}/types/utils.cjs +0 -0
  396. /package/_cjs/{filter → Model/filter}/types/validator.cjs +0 -0
  397. /package/_cjs/{filter → Model/filter}/types.cjs +0 -0
  398. /package/_cjs/{services → Model}/query/dsl.cjs +0 -0
  399. /package/_cjs/{services → Model}/query/new-kid-interpreter.cjs +0 -0
  400. /package/_cjs/{services → Model}/query.cjs +0 -0
  401. /package/_cjs/{services/QueueMaker → QueueMaker}/errors.cjs +0 -0
  402. /package/_cjs/{services/Store → Store}/ContextMapContainer.cjs +0 -0
  403. /package/_cjs/{services/Store → Store}/codeFilter.cjs +0 -0
  404. /package/_cjs/{services/Store → Store}/index.cjs +0 -0
  405. /package/_cjs/{services/Store → Store}/service.cjs +0 -0
  406. /package/_cjs/{services/Store.cjs → Store.cjs} +0 -0
  407. /package/_cjs/{services/adapters → adapters}/SQL/Model.cjs +0 -0
  408. /package/_cjs/{services/adapters → adapters}/SQL.cjs +0 -0
  409. /package/_cjs/{services/adapters → adapters}/ServiceBus.cjs +0 -0
  410. /package/_cjs/{services/adapters → adapters}/cosmos-client.cjs +0 -0
  411. /package/_cjs/{services/adapters → adapters}/index.cjs +0 -0
  412. /package/_cjs/{services/adapters → adapters}/logger.cjs +0 -0
  413. /package/_cjs/{services/adapters → adapters}/memQueue.cjs +0 -0
  414. /package/_cjs/{services/adapters → adapters}/mongo-client.cjs +0 -0
  415. /package/_cjs/{services/adapters → adapters}/redis-client.cjs +0 -0
  416. /package/_cjs/{test/arbs.cjs → arbs.cjs} +0 -0
  417. /package/dist/{services/CUPS.d.ts → CUPS.d.ts} +0 -0
  418. /package/dist/{services/Emailer → Emailer}/Sendgrid.d.ts +0 -0
  419. /package/dist/{services/Emailer → Emailer}/fake.d.ts +0 -0
  420. /package/dist/{services/Emailer.d.ts → Emailer.d.ts} +0 -0
  421. /package/dist/{services/MainFiberSet.d.ts → MainFiberSet.d.ts} +0 -0
  422. /package/dist/{services/Repository → Model}/dsl.d.ts +0 -0
  423. /package/dist/{filter → Model/filter}/types/errors.d.ts +0 -0
  424. /package/dist/{filter → Model/filter}/types/fields.d.ts +0 -0
  425. /package/dist/{filter → Model/filter}/types/path/common.d.ts +0 -0
  426. /package/dist/{filter → Model/filter}/types/path/eager.d.ts +0 -0
  427. /package/dist/{filter → Model/filter}/types/path/index.d.ts +0 -0
  428. /package/dist/{filter → Model/filter}/types/utils.d.ts +0 -0
  429. /package/dist/{filter → Model/filter}/types/validator.d.ts +0 -0
  430. /package/dist/{filter → Model/filter}/types.d.ts +0 -0
  431. /package/dist/{services → Model}/query.d.ts +0 -0
  432. /package/dist/{services/Operations.d.ts → Operations.d.ts} +0 -0
  433. /package/dist/{services/QueueMaker → QueueMaker}/SQLQueue.d.ts +0 -0
  434. /package/dist/{services/QueueMaker → QueueMaker}/errors.d.ts +0 -0
  435. /package/dist/{services/QueueMaker → QueueMaker}/memQueue.d.ts +0 -0
  436. /package/dist/{services/QueueMaker → QueueMaker}/sbqueue.d.ts +0 -0
  437. /package/dist/{services/RequestFiberSet.d.ts → RequestFiberSet.d.ts} +0 -0
  438. /package/dist/{services/Store → Store}/ContextMapContainer.d.ts +0 -0
  439. /package/dist/{services/Store → Store}/Cosmos.d.ts +0 -0
  440. /package/dist/{services/Store → Store}/Disk.d.ts +0 -0
  441. /package/dist/{services/Store → Store}/Memory.d.ts +0 -0
  442. /package/dist/{services/Store → Store}/index.d.ts +0 -0
  443. /package/dist/{services/Store.d.ts → Store.d.ts} +0 -0
  444. /package/dist/{services/adapters → adapters}/SQL.d.ts +0 -0
  445. /package/dist/{services/adapters → adapters}/ServiceBus.d.ts +0 -0
  446. /package/dist/{services/adapters → adapters}/cosmos-client.d.ts +0 -0
  447. /package/dist/{services/adapters → adapters}/index.d.ts +0 -0
  448. /package/dist/{services/adapters → adapters}/logger.d.ts +0 -0
  449. /package/dist/{services/adapters → adapters}/memQueue.d.ts +0 -0
  450. /package/dist/{services/adapters → adapters}/mongo-client.d.ts +0 -0
  451. /package/dist/{services/adapters → adapters}/redis-client.d.ts +0 -0
  452. /package/dist/{test/arbs.d.ts → arbs.d.ts} +0 -0
  453. /package/src/{services/Emailer → Emailer}/service.ts +0 -0
  454. /package/src/{services/Emailer.ts → Emailer.ts} +0 -0
  455. /package/src/{services/Repository → Model}/dsl.ts +0 -0
  456. /package/src/{services/Store/filterApi/query.ts → Model/filter/filterApi.ts} +0 -0
  457. /package/src/{filter → Model/filter}/types/errors.ts +0 -0
  458. /package/src/{filter → Model/filter}/types/fields.ts +0 -0
  459. /package/src/{filter → Model/filter}/types/path/common.ts +0 -0
  460. /package/src/{filter → Model/filter}/types/path/eager.ts +0 -0
  461. /package/src/{filter → Model/filter}/types/path/index.ts +0 -0
  462. /package/src/{filter → Model/filter}/types/utils.ts +0 -0
  463. /package/src/{filter → Model/filter}/types/validator.ts +0 -0
  464. /package/src/{filter → Model/filter}/types.ts +0 -0
  465. /package/src/{services → Model}/query.ts +0 -0
  466. /package/src/{services/QueueMaker → QueueMaker}/errors.ts +0 -0
  467. /package/src/{services/Store → Store}/ContextMapContainer.ts +0 -0
  468. /package/src/{services/Store → Store}/index.test.ts.bak +0 -0
  469. /package/src/{services/Store → Store}/index.ts +0 -0
  470. /package/src/{services/Store.ts → Store.ts} +0 -0
  471. /package/src/{services/adapters → adapters}/SQL/Model.ts +0 -0
  472. /package/src/{services/adapters → adapters}/SQL.ts +0 -0
  473. /package/src/{services/adapters → adapters}/ServiceBus.ts +0 -0
  474. /package/src/{services/adapters → adapters}/cosmos-client.ts +0 -0
  475. /package/src/{services/adapters → adapters}/index.ts +0 -0
  476. /package/src/{services/adapters → adapters}/logger.ts +0 -0
  477. /package/src/{services/adapters → adapters}/memQueue.ts +0 -0
  478. /package/src/{services/adapters → adapters}/mongo-client.ts +0 -0
  479. /package/src/{services/adapters → adapters}/redis-client.ts +0 -0
  480. /package/src/{test/arbs.ts → arbs.ts} +0 -0
@@ -5,26 +5,24 @@
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
 
7
7
  // import type { ParserEnv } from "effect-app/Schema/custom/Parser"
8
- import { type Repository } from "./Repository.js"
9
- import { StoreMaker } from "./Store.js"
10
- import type { FilterArgs, PersistenceModelType, StoreConfig } from "./Store.js"
11
8
  import type {} from "effect/Equal"
12
9
  import type {} from "effect/Hash"
13
10
  import type { NonEmptyReadonlyArray } from "effect-app"
14
11
  import { Array, Chunk, Context, Effect, Equivalence, flow, Option, pipe, PubSub, S, Unify } from "effect-app"
15
12
  import { toNonEmptyArray } from "effect-app/Array"
13
+ import { NotFoundError } from "effect-app/client"
16
14
  import { flatMapOption } from "effect-app/Effect"
17
15
  import type { Schema } from "effect-app/Schema"
18
16
  import { NonNegativeInt } from "effect-app/Schema"
19
- import { setupRequestContextFromCurrent } from "../api/setupRequest.js"
20
- import { NotFoundError } from "../errors.js"
17
+ import { setupRequestContextFromCurrent } from "../../api/setupRequest.js"
18
+ import type { FilterArgs, PersistenceModelType, StoreConfig } from "../../Store.js"
19
+ import { StoreMaker } from "../../Store.js"
20
+ import { getContextMap } from "../../Store/ContextMapContainer.js"
21
21
  import type { FieldValues } from "../filter/types.js"
22
- import { make as makeQuery } from "./query.js"
23
- import type { QAll, QueryProjection } from "./query.js"
24
- import * as Q from "./query.js"
25
- import { extendRepo } from "./Repository/ext.js"
26
- import type { ExtendedRepository } from "./Repository/ext.js"
27
- import { getContextMap } from "./Store/ContextMapContainer.js"
22
+ import * as Q from "../query.js"
23
+ import type { ExtendedRepository } from "./ext.js"
24
+ import { extendRepo } from "./ext.js"
25
+ import type { Repository } from "./service.js"
28
26
 
29
27
  const dedupe = Array.dedupeWith(Equivalence.string)
30
28
 
@@ -65,7 +63,7 @@ export function makeRepoInternal<
65
63
 
66
64
  const mkStore = makeStore<Encoded>()(name, schema, mapTo)
67
65
 
68
- function make<RInitial = never, E = never, R2 = never, RCtx = never>(
66
+ function make<RInitial = never, E = never, RPublish = never, RCtx = never>(
69
67
  args: [Evt] extends [never] ? {
70
68
  schemaContext?: Context.Context<RCtx>
71
69
  makeInitial?: Effect<readonly T[], E, RInitial>
@@ -75,7 +73,7 @@ export function makeRepoInternal<
75
73
  }
76
74
  : {
77
75
  schemaContext?: Context.Context<RCtx>
78
- publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>
76
+ publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>
79
77
  makeInitial?: Effect<readonly T[], E, RInitial>
80
78
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
81
79
  partitionValue?: (a: Encoded) => string
@@ -104,9 +102,8 @@ export function makeRepoInternal<
104
102
  set: (id: string, etag: string | undefined) => _.set(`${name}.${id}`, etag)
105
103
  }))
106
104
 
107
- const pubCfg = yield* Effect.context<R2>()
108
105
  const pub = "publishEvents" in args
109
- ? flow(args.publishEvents, Effect.provide(pubCfg))
106
+ ? args.publishEvents
110
107
  : () => Effect.void
111
108
  const changeFeed = yield* PubSub.unbounded<[T[], "save" | "remove"]>()
112
109
 
@@ -256,12 +253,12 @@ export function makeRepoInternal<
256
253
  // TODO: For raw we should use S.from, and drop the R...
257
254
  const query: {
258
255
  <A, R, From extends FieldValues>(
259
- q: QueryProjection<Encoded extends From ? From : never, A, R>
256
+ q: Q.QueryProjection<Encoded extends From ? From : never, A, R>
260
257
  ): Effect.Effect<readonly A[], S.ParseResult.ParseError, R>
261
258
  <A, R, EncodedRefined extends Encoded = Encoded>(
262
- q: QAll<NoInfer<Encoded>, NoInfer<EncodedRefined>, A, R>
259
+ q: Q.QAll<NoInfer<Encoded>, NoInfer<EncodedRefined>, A, R>
263
260
  ): Effect.Effect<readonly A[], never, R>
264
- } = (<A, R, EncodedRefined extends Encoded = Encoded>(q: QAll<Encoded, EncodedRefined, A, R>) => {
261
+ } = (<A, R, EncodedRefined extends Encoded = Encoded>(q: Q.QAll<Encoded, EncodedRefined, A, R>) => {
265
262
  const a = Q.toFilter(q)
266
263
  const eff = a.mode === "project"
267
264
  ? filter(a)
@@ -313,7 +310,7 @@ export function makeRepoInternal<
313
310
  )
314
311
  }) as any
315
312
 
316
- const r: Repository<T, Encoded, Evt, ItemType, IdKey, Exclude<R, RCtx>> = {
313
+ const r: Repository<T, Encoded, Evt, ItemType, IdKey, Exclude<R, RCtx>, RPublish> = {
317
314
  changeFeed,
318
315
  itemType: name,
319
316
  idKey,
@@ -321,7 +318,7 @@ export function makeRepoInternal<
321
318
  all,
322
319
  saveAndPublish,
323
320
  removeAndPublish,
324
- query: (q: any) => query(typeof q === "function" ? q(makeQuery()) : q) as any,
321
+ query: (q: any) => query(typeof q === "function" ? q(Q.make()) : q) as any,
325
322
  /**
326
323
  * @internal
327
324
  */
@@ -446,10 +443,11 @@ export function makeStore<
446
443
  export interface Repos<
447
444
  T,
448
445
  Encoded extends { id: string },
449
- R,
446
+ RSchema,
450
447
  Evt,
451
448
  ItemType extends string,
452
- IdKey extends keyof T
449
+ IdKey extends keyof T,
450
+ RPublish
453
451
  > {
454
452
  make<RInitial = never, E = never, R2 = never>(
455
453
  args: [Evt] extends [never] ? {
@@ -465,7 +463,7 @@ export interface Repos<
465
463
  partitionValue?: (a: Encoded) => string
466
464
  }
467
465
  }
468
- ): Effect<Repository<T, Encoded, Evt, ItemType, IdKey, R>, E, StoreMaker | RInitial | R2>
466
+ ): Effect<Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>, E, StoreMaker | RInitial | R2>
469
467
  makeWith<Out, RInitial = never, E = never, R2 = never>(
470
468
  args: [Evt] extends [never] ? {
471
469
  makeInitial?: Effect<readonly T[], E, RInitial>
@@ -480,10 +478,10 @@ export interface Repos<
480
478
  partitionValue?: (a: Encoded) => string
481
479
  }
482
480
  },
483
- f: (r: Repository<T, Encoded, Evt, ItemType, IdKey, R>) => Out
481
+ f: (r: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>) => Out
484
482
  ): Effect<Out, E, StoreMaker | RInitial | R2>
485
483
  readonly Q: ReturnType<typeof Q.make<Encoded>>
486
- readonly type: Repository<T, Encoded, Evt, ItemType, IdKey, R>
484
+ readonly type: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>
487
485
  }
488
486
 
489
487
  export type GetRepoType<T> = T extends { type: infer R } ? R : never
@@ -491,56 +489,60 @@ export type GetRepoType<T> = T extends { type: infer R } ? R : never
491
489
  export const makeRepo: {
492
490
  <
493
491
  ItemType extends string,
494
- R,
492
+ RSchema,
495
493
  Encoded extends { id: string },
496
494
  T,
497
495
  IdKey extends keyof T,
498
496
  E = never,
499
- RInitial = never,
500
- R2 = never,
501
497
  Evt = never,
498
+ RInitial = never,
499
+ RPublish = never,
502
500
  RCtx = never
503
501
  >(
504
502
  itemType: ItemType,
505
- schema: S.Schema<T, Encoded, R>,
503
+ schema: S.Schema<T, Encoded, RSchema>,
506
504
  options: {
507
505
  idKey: IdKey
508
506
  jitM?: (pm: Encoded) => Encoded
509
507
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
510
508
  partitionValue?: (a: Encoded) => string
511
509
  }
512
- publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>
510
+ publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>
513
511
  makeInitial?: Effect<readonly T[], E, RInitial>
514
512
  schemaContext?: Context.Context<RCtx>
515
513
  }
516
514
  ): Effect.Effect<
517
- ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, Exclude<R, RCtx>>,
515
+ ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, Exclude<RSchema, RCtx>, RPublish>,
518
516
  E,
519
- RInitial | R2 | StoreMaker
517
+ RInitial | StoreMaker
520
518
  >
521
519
  <
522
520
  ItemType extends string,
523
- R,
521
+ RSchema,
524
522
  Encoded extends { id: string },
525
523
  T extends { id: unknown },
526
524
  E = never,
527
- RInitial = never,
528
- R2 = never,
529
525
  Evt = never,
526
+ RInitial = never,
527
+ RPublish = never,
530
528
  RCtx = never
531
529
  >(
532
530
  itemType: ItemType,
533
- schema: S.Schema<T, Encoded, R>,
531
+ schema: S.Schema<T, Encoded, RSchema>,
534
532
  options: {
535
533
  jitM?: (pm: Encoded) => Encoded
536
534
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
537
535
  partitionValue?: (a: Encoded) => string
538
536
  }
539
- publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>
537
+ publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>
540
538
  makeInitial?: Effect<readonly T[], E, RInitial>
541
539
  schemaContext?: Context.Context<RCtx>
542
540
  }
543
- ): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, "id", Exclude<R, RCtx>>, E, RInitial | R2 | StoreMaker>
541
+ ): Effect.Effect<
542
+ ExtendedRepository<T, Encoded, Evt, ItemType, "id", Exclude<RSchema, RCtx>, RPublish>,
543
+ E,
544
+ RInitial | StoreMaker
545
+ >
544
546
  } = <
545
547
  ItemType extends string,
546
548
  R,
@@ -1,7 +1,7 @@
1
1
  import type { Effect, Option, PubSub, S } from "effect-app"
2
2
  import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client"
3
3
  import type { NonNegativeInt } from "effect-app/Schema/numbers"
4
- import type { FieldValues } from "../../filter/types.js"
4
+ import type { FieldValues } from "../filter/types.js"
5
5
  import type { QAll, Query, QueryProjection } from "../query.js"
6
6
  import type { Mapped } from "./legacy.js"
7
7
 
@@ -14,21 +14,22 @@ export interface Repository<
14
14
  Evt,
15
15
  ItemType extends string,
16
16
  IdKey extends keyof T,
17
- R
17
+ RSchema,
18
+ RPublish
18
19
  > {
19
20
  readonly itemType: ItemType
20
21
  readonly idKey: IdKey
21
- readonly find: (id: T[IdKey]) => Effect<Option<T>, never, R>
22
- readonly all: Effect<T[], never, R>
22
+ readonly find: (id: T[IdKey]) => Effect<Option<T>, never, RSchema>
23
+ readonly all: Effect<T[], never, RSchema>
23
24
  readonly saveAndPublish: (
24
25
  items: Iterable<T>,
25
26
  events?: Iterable<Evt>
26
- ) => Effect<void, InvalidStateError | OptimisticConcurrencyException, R>
27
+ ) => Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | RPublish>
27
28
  readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>
28
29
  readonly removeAndPublish: (
29
30
  items: Iterable<T>,
30
31
  events?: Iterable<Evt>
31
- ) => Effect<void, never, R>
32
+ ) => Effect<void, never, RSchema | RPublish>
32
33
 
33
34
  readonly query: {
34
35
  <A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(
@@ -39,7 +40,7 @@ export interface Repository<
39
40
  TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
40
41
  | (TType extends "many" ? never : NotFoundError<ItemType>)
41
42
  | (TType extends "count" ? never : S.ParseResult.ParseError),
42
- R
43
+ R | RSchema
43
44
  >
44
45
  <
45
46
  R = never,
@@ -50,7 +51,7 @@ export interface Repository<
50
51
  ): Effect.Effect<
51
52
  TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>,
52
53
  TType extends "many" ? never : NotFoundError<ItemType>,
53
- R
54
+ R | RSchema
54
55
  >
55
56
  }
56
57
  /** @deprecated use query */
@@ -1,4 +1,4 @@
1
- export * from "./Repository/dsl.js"
2
1
  export * from "./Repository/ext.js"
3
2
  export * from "./Repository/legacy.js"
3
+ export { makeRepo } from "./Repository/makeRepo.js"
4
4
  export * from "./Repository/service.js"
@@ -1,13 +1,13 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
- import type { FieldValues } from "@effect-app/infra/filter/types"
5
- import type { FieldPath, FieldPathValue } from "@effect-app/infra/filter/types/path/eager"
6
- import type { Ops } from "@effect-app/infra/services/Store/filterApi/query"
7
4
  import type { Option, S } from "effect-app"
8
5
  import { Data, flow, Pipeable } from "effect-app"
9
6
  import type { NonNegativeInt } from "effect-app/Schema"
10
7
  import type { Covariant } from "effect/Types"
8
+ import type { Ops } from "../filter/filterApi.js"
9
+ import type { FieldValues } from "../filter/types.js"
10
+ import type { FieldPath, FieldPathValue } from "../filter/types/path/eager.js"
11
11
 
12
12
  export type QAll<
13
13
  TFieldValues extends FieldValues,
@@ -269,7 +269,13 @@ export const project: {
269
269
  A = ExtractFieldValuesRefined<Q>,
270
270
  R = never
271
271
  >(
272
- schema: S.Schema<Option<A>, { [K in keyof I & keyof ExtractFieldValuesRefined<Q>]: I[K] }, R>,
272
+ schema: S.Schema<
273
+ Option<A>,
274
+ {
275
+ [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never
276
+ },
277
+ R
278
+ >,
273
279
  mode: "collect"
274
280
  ): (
275
281
  current: Q
@@ -281,7 +287,13 @@ export const project: {
281
287
  A = ExtractFieldValuesRefined<Q>,
282
288
  R = never
283
289
  >(
284
- schema: S.Schema<A, { [K in keyof I & keyof ExtractFieldValuesRefined<Q>]: I[K] }, R>,
290
+ schema: S.Schema<
291
+ A,
292
+ {
293
+ [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never
294
+ },
295
+ R
296
+ >,
285
297
  mode: "project"
286
298
  ): (
287
299
  current: Q
@@ -292,7 +304,13 @@ export const project: {
292
304
  A = ExtractFieldValuesRefined<Q>,
293
305
  R = never
294
306
  >(
295
- schema: S.Schema<A, { [K in keyof I & keyof ExtractFieldValuesRefined<Q>]: I[K] }, R>
307
+ schema: S.Schema<
308
+ A,
309
+ {
310
+ [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never
311
+ },
312
+ R
313
+ >
296
314
  ): (
297
315
  current: Q
298
316
  ) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>>
@@ -3,10 +3,10 @@
3
3
  import { Match, Option, pipe, S } from "effect-app"
4
4
  import { toNonEmptyArray } from "effect-app/Array"
5
5
  import { dropUndefinedT } from "effect-app/utils"
6
- import type { FieldValues } from "../../filter/types.js"
7
- import type { FieldPath } from "../../filter/types/path/eager.js"
6
+ import type { FilterResult } from "../filter/filterApi.js"
7
+ import type { FieldValues } from "../filter/types.js"
8
+ import type { FieldPath } from "../filter/types/path/eager.js"
8
9
  import { make, type Q, type QAll } from "../query/dsl.js"
9
- import type { FilterResult } from "../Store/filterApi/query.js"
10
10
 
11
11
  type Result<TFieldValues extends FieldValues, A = TFieldValues, R = never> = {
12
12
  filter: FilterResult[]
package/src/Model.ts CHANGED
@@ -1 +1,3 @@
1
- export { makeRepo } from "./services/RepositoryBase.js"
1
+ export * from "./Model/dsl.js"
2
+ export * as Q from "./Model/query.js"
3
+ export { makeRepo } from "./Model/Repository.js"
@@ -8,11 +8,11 @@ import type { OperationProgress } from "effect-app/Operations"
8
8
  import { Operation, OperationFailure, OperationId, OperationSuccess } from "effect-app/Operations"
9
9
  import { NonEmptyString2k } from "effect-app/Schema"
10
10
  import * as Scope from "effect/Scope"
11
- import { setupRequestContextFromCurrent } from "../api/setupRequest.js"
12
- import { batch } from "../rateLimit.js"
11
+ import { setupRequestContextFromCurrent } from "./api/setupRequest.js"
13
12
  import { MainFiberSet } from "./MainFiberSet.js"
13
+ import { where } from "./Model/query.js"
14
14
  import { OperationsRepo } from "./OperationsRepo.js"
15
- import { where } from "./query.js"
15
+ import { batch } from "./rateLimit.js"
16
16
  import { RequestFiberSet } from "./RequestFiberSet.js"
17
17
 
18
18
  const reportAppError = reportError("Operations.Cleanup")
@@ -1,6 +1,6 @@
1
1
  import { Effect } from "effect-app"
2
2
  import { Operation } from "effect-app/Operations"
3
- import { makeRepo } from "./RepositoryBase.js"
3
+ import { makeRepo } from "./Model.js"
4
4
 
5
5
  export class OperationsRepo extends Effect.Service<OperationsRepo>()(
6
6
  "OperationRepo",
@@ -1,15 +1,15 @@
1
1
  import { getRequestContext, setupRequestContext } from "@effect-app/infra/api/setupRequest"
2
- import { reportNonInterruptedFailure } from "@effect-app/infra/services/QueueMaker/errors"
3
- import type { QueueBase } from "@effect-app/infra/services/QueueMaker/service"
4
- import { QueueMeta } from "@effect-app/infra/services/QueueMaker/service"
2
+ import { reportNonInterruptedFailure } from "@effect-app/infra/QueueMaker/errors"
3
+ import type { QueueBase } from "@effect-app/infra/QueueMaker/service"
4
+ import { QueueMeta } from "@effect-app/infra/QueueMaker/service"
5
5
  import { SqlClient } from "@effect/sql"
6
6
  import { randomUUID } from "crypto"
7
7
  import { subMinutes } from "date-fns"
8
8
  import { Effect, Fiber, Option, S, Tracer } from "effect-app"
9
9
  import type { NonEmptyString255 } from "effect-app/Schema"
10
10
  import { pretty } from "effect-app/utils"
11
- import { InfraLogger } from "../../logger.js"
12
11
  import { SQLModel } from "../adapters/SQL.js"
12
+ import { InfraLogger } from "../logger.js"
13
13
 
14
14
  export const QueueId = S.Number.pipe(S.brand("QueueId"))
15
15
  export type QueueId = typeof QueueId.Type
@@ -1,9 +1,9 @@
1
1
  import { Tracer } from "effect"
2
2
  import { Effect, Fiber, flow, S } from "effect-app"
3
3
  import { pretty } from "effect-app/utils"
4
- import { getRequestContext, setupRequestContext } from "../../api/setupRequest.js"
5
- import { InfraLogger } from "../../logger.js"
6
4
  import { MemQueue } from "../adapters/memQueue.js"
5
+ import { getRequestContext, setupRequestContext } from "../api/setupRequest.js"
6
+ import { InfraLogger } from "../logger.js"
7
7
  import { reportNonInterruptedFailure } from "./errors.js"
8
8
  import { type QueueBase, QueueMeta } from "./service.js"
9
9
 
@@ -3,8 +3,6 @@ import { Tracer } from "effect"
3
3
  import { Cause, Effect, flow, Layer, S } from "effect-app"
4
4
  import type { StringId } from "effect-app/Schema"
5
5
  import { pretty } from "effect-app/utils"
6
- import { getRequestContext, setupRequestContext } from "../../api/setupRequest.js"
7
- import { InfraLogger } from "../../logger.js"
8
6
  import {
9
7
  LiveSender,
10
8
  LiveServiceBusClient,
@@ -12,6 +10,8 @@ import {
12
10
  ServiceBusReceiverFactory,
13
11
  subscribe
14
12
  } from "../adapters/ServiceBus.js"
13
+ import { getRequestContext, setupRequestContext } from "../api/setupRequest.js"
14
+ import { InfraLogger } from "../logger.js"
15
15
  import { reportNonInterruptedFailure, reportNonInterruptedFailureCause, reportQueueError } from "./errors.js"
16
16
  import { type QueueBase, QueueMeta } from "./service.js"
17
17
 
@@ -1,5 +1,5 @@
1
1
  import type { Effect, NonEmptyReadonlyArray, Scope } from "effect-app"
2
- import { RequestContext } from "../../RequestContext.js"
2
+ import { RequestContext } from "../RequestContext.js"
3
3
 
4
4
  export interface QueueBase<Evt, DrainEvt> {
5
5
  drain: <DrainE, DrainR>(
@@ -1,8 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import type { Tracer } from "effect-app"
3
3
  import { Context, Effect, Fiber, FiberSet, Option } from "effect-app"
4
- import { reportRequestError, reportUnknownRequestError } from "../api/reportError.js"
5
- import { InfraLogger } from "../logger.js"
4
+ import { reportRequestError, reportUnknownRequestError } from "./api/reportError.js"
5
+ import { InfraLogger } from "./logger.js"
6
6
 
7
7
  const getRootParentSpan = Effect.gen(function*() {
8
8
  let span: Tracer.AnySpan | null = yield* Effect.currentSpan.pipe(
@@ -2,8 +2,8 @@
2
2
  import { Array, Effect, Equivalence, pipe } from "effect-app"
3
3
  import type { NonEmptyReadonlyArray } from "effect-app"
4
4
  import { assertUnreachable } from "effect-app/utils"
5
- import { InfraLogger } from "../../../logger.js"
6
- import type { FilterR, FilterResult } from "../filterApi/query.js"
5
+ import { InfraLogger } from "../../logger.js"
6
+ import type { FilterR, FilterResult } from "../../Model/filter/filterApi.js"
7
7
  import type { SupportedValues } from "../service.js"
8
8
 
9
9
  export function logQuery(q: {
@@ -4,9 +4,9 @@ import { Array, Chunk, Duration, Effect, Layer, Option, pipe, Secret, Struct } f
4
4
  import type { NonEmptyReadonlyArray } from "effect-app"
5
5
  import { toNonEmptyArray } from "effect-app/Array"
6
6
  import { dropUndefinedT } from "effect-app/utils"
7
- import { OptimisticConcurrencyException } from "../../errors.js"
8
- import { InfraLogger } from "../../logger.js"
9
7
  import { CosmosClient, CosmosClientLayer } from "../adapters/cosmos-client.js"
8
+ import { OptimisticConcurrencyException } from "../errors.js"
9
+ import { InfraLogger } from "../logger.js"
10
10
  import { buildWhereCosmosQuery3, logQuery } from "./Cosmos/query.js"
11
11
  import { StoreMaker } from "./service.js"
12
12
  import type { FilterArgs, PersistenceModelType, StorageConfig, Store, StoreConfig } from "./service.js"
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import * as fu from "../../fileUtil.js"
2
+ import * as fu from "../fileUtil.js"
3
3
 
4
4
  import fs from "fs"
5
5
 
@@ -4,7 +4,7 @@ import { Array, Effect, FiberRef, flow, Option, Order, pipe, Ref, Struct } from
4
4
  import type { NonEmptyReadonlyArray } from "effect-app"
5
5
  import { NonEmptyString255 } from "effect-app/Schema"
6
6
  import { get } from "effect-app/utils"
7
- import { InfraLogger } from "../../logger.js"
7
+ import { InfraLogger } from "../logger.js"
8
8
  import { codeFilter } from "./codeFilter.js"
9
9
  import type { FilterArgs, PersistenceModelType, Store, StoreConfig } from "./service.js"
10
10
  import { StoreMaker } from "./service.js"
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
3
  import { Array, Option } from "effect-app"
4
4
  import { assertUnreachable, get } from "effect-app/utils"
5
- import type { FilterR, FilterResult } from "./filterApi/query.js"
5
+ import type { FilterR, FilterResult } from "../Model/filter/filterApi.js"
6
6
  import type { Filter } from "./service.js"
7
7
  import { compare, greaterThan, greaterThanExclusive, lowerThan, lowerThanExclusive } from "./utils.js"
8
8
 
@@ -2,10 +2,10 @@
2
2
  import type { UniqueKey } from "@azure/cosmos"
3
3
  import { Context, Effect } from "effect-app"
4
4
  import type { NonEmptyReadonlyArray, Option, Secret } from "effect-app"
5
- import type { OptimisticConcurrencyException } from "../../errors.js"
6
- import type { FieldValues } from "../../filter/types.js"
7
- import type { FieldPath } from "../../filter/types/path/index.js"
8
- import type { FilterResult } from "./filterApi/query.js"
5
+ import type { OptimisticConcurrencyException } from "../errors.js"
6
+ import type { FilterResult } from "../Model/filter/filterApi.js"
7
+ import type { FieldValues } from "../Model/filter/types.js"
8
+ import type { FieldPath } from "../Model/filter/types/path/index.js"
9
9
 
10
10
  export type StoreConfig<E> = {
11
11
  uniqueKeys?: UniqueKey[]
@@ -1,6 +1,6 @@
1
1
  import { Effect, Option } from "effect-app"
2
2
  import objectHash from "object-hash"
3
- import { OptimisticConcurrencyException } from "../../errors.js"
3
+ import { OptimisticConcurrencyException } from "../errors.js"
4
4
  import type { PersistenceModelType, SupportedValues2 } from "./service.js"
5
5
 
6
6
  export const makeETag = <E extends PersistenceModelType<{}>>(
@@ -1,8 +1,8 @@
1
1
  import { Effect, FiberRef, Layer, Tracer } from "effect-app"
2
2
  import { NonEmptyString255 } from "effect-app/Schema"
3
3
  import { LocaleRef, RequestContext, spanAttributes } from "../RequestContext.js"
4
- import { startContextMap } from "../services/Store/ContextMapContainer.js"
5
- import { storeId } from "../services/Store/Memory.js"
4
+ import { startContextMap } from "../Store/ContextMapContainer.js"
5
+ import { storeId } from "../Store/Memory.js"
6
6
 
7
7
  export const getRequestContext = Effect
8
8
  .all({
@@ -2,7 +2,7 @@ import { Context, FiberRef, Option, Tracer } from "effect-app"
2
2
  import { NonEmptyString255 } from "effect-app/Schema"
3
3
  import * as FiberRefs from "effect/FiberRefs"
4
4
  import { LocaleRef, RequestContext } from "../RequestContext.js"
5
- import { storeId } from "../services/Store/Memory.js"
5
+ import { storeId } from "../Store/Memory.js"
6
6
 
7
7
  export function getRequestContextFromFiberRefs(fiberRefs: FiberRefs.FiberRefs) {
8
8
  const context = FiberRefs.getOrDefault(fiberRefs, FiberRef.currentContext)
package/src/test.ts CHANGED
@@ -2,7 +2,7 @@ import { Arbitrary } from "effect"
2
2
  import { Predicate, S } from "effect-app"
3
3
  import { copy } from "effect-app/utils"
4
4
  import type { PropertySignature } from "effect/Schema"
5
- import { generate } from "./test/arbs.js"
5
+ import { generate } from "./arbs.js"
6
6
 
7
7
  const isPropertySignature = (u: unknown): u is PropertySignature.All =>
8
8
  Predicate.hasProperty(u, S.PropertySignatureTypeId)
@@ -49,4 +49,4 @@ export const createRandomInstanceI = <A extends object, I>(s: S.Schema<A, I, nev
49
49
  }
50
50
  }
51
51
 
52
- export * from "./test/arbs.js"
52
+ export * from "./arbs.js"
@@ -1 +1 @@
1
- {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../query.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAQ,KAAK,EAAgB,CAAC,EAAU,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYlF,qBAAa,SAAU,SAAQ,cAK7B;CAAG;AACL,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IAEjC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC;KAAG;CACvE;;;;;;;;;;;;;;;;;;;;;;;;;AAGD,qBAAa,WAAY,SAAQ,gBAAgE;CAAG"}
1
+ {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../query.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAQ,KAAK,EAAgB,CAAC,EAAU,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAalF,qBAAa,SAAU,SAAQ,cAK7B;CAAG;AACL,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IAEjC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC;KAAG;CACvE;;;;;;;;;;;;;;;;;;;;;;;;;AAGD,qBAAa,WAAY,SAAQ,gBAAgE;CAAG"}
@@ -3,10 +3,11 @@
3
3
  import { Context, Effect, flow, Layer, Option, pipe, S, Struct } from "effect-app"
4
4
  import { inspect } from "util"
5
5
  import { expect, expectTypeOf, it } from "vitest"
6
- import type { QueryEnd, QueryProjection, QueryWhere } from "../src/services/query.js"
7
- import { and, count, make, one, or, order, page, project, toFilter, where } from "../src/services/query.js"
8
- import { makeRepo } from "../src/services/RepositoryBase.js"
9
- import { memFilter, MemoryStoreLive } from "../src/services/Store/Memory.js"
6
+ import { setupRequestContextFromCurrent } from "../src/api/setupRequest.js"
7
+ import type { QueryEnd, QueryProjection, QueryWhere } from "../src/Model/query.js"
8
+ import { and, count, make, one, or, order, page, project, toFilter, where } from "../src/Model/query.js"
9
+ import { makeRepo } from "../src/Model/Repository.js"
10
+ import { memFilter, MemoryStoreLive } from "../src/Store/Memory.js"
10
11
 
11
12
  const str = S.Struct({ _tag: S.Literal("string"), value: S.String })
12
13
  const num = S.Struct({ _tag: S.Literal("number"), value: S.Number })
@@ -226,7 +227,7 @@ it(
226
227
  expect(result).toEqual([])
227
228
  expect(result2).toEqual([])
228
229
  })
229
- .pipe(Effect.provide(MemoryStoreLive), Effect.runPromise)
230
+ .pipe(Effect.provide(MemoryStoreLive), setupRequestContextFromCurrent(), Effect.runPromise)
230
231
  )
231
232
 
232
233
  it(
@@ -408,3 +409,29 @@ it(
408
409
  })
409
410
  .pipe(Effect.runPromise)
410
411
  )
412
+
413
+ it(
414
+ "project",
415
+ () =>
416
+ Effect
417
+ .gen(function*() {
418
+ const schema = S.Struct({
419
+ id: S.String,
420
+ createdAt: S
421
+ .optional(S.Date)
422
+ .pipe(
423
+ S.withDefaults({ constructor: () => new Date(), decoding: () => new Date() })
424
+ )
425
+ })
426
+ const repo = yield* makeRepo(
427
+ "test",
428
+ schema,
429
+ {}
430
+ )
431
+
432
+ const result = yield* repo.query(flow(where("id", "123"), project(schema)))
433
+
434
+ expect(result).toEqual([])
435
+ })
436
+ .pipe(Effect.provide(MemoryStoreLive), setupRequestContextFromCurrent(), Effect.runPromise)
437
+ )