@effect-app/infra 2.7.1 → 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 +13 -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 +54 -54
  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/{services/Operations.d.ts → Operations.d.ts} +3 -3
  142. package/dist/Operations.d.ts.map +1 -0
  143. package/dist/Operations.js +102 -0
  144. package/dist/{services/OperationsRepo.d.ts → OperationsRepo.d.ts} +1 -1
  145. package/dist/OperationsRepo.d.ts.map +1 -0
  146. package/dist/OperationsRepo.js +14 -0
  147. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -0
  148. package/dist/QueueMaker/SQLQueue.js +136 -0
  149. package/dist/QueueMaker/errors.d.ts.map +1 -0
  150. package/dist/QueueMaker/errors.js +20 -0
  151. package/dist/QueueMaker/memQueue.d.ts.map +1 -0
  152. package/dist/QueueMaker/memQueue.js +78 -0
  153. package/dist/QueueMaker/sbqueue.d.ts.map +1 -0
  154. package/dist/QueueMaker/sbqueue.js +102 -0
  155. package/dist/{services/QueueMaker → QueueMaker}/service.d.ts +1 -1
  156. package/dist/QueueMaker/service.d.ts.map +1 -0
  157. package/dist/QueueMaker/service.js +4 -0
  158. package/dist/RequestFiberSet.d.ts.map +1 -0
  159. package/dist/RequestFiberSet.js +79 -0
  160. package/dist/Store/ContextMapContainer.d.ts.map +1 -0
  161. package/dist/{services/Store → Store}/ContextMapContainer.js +1 -1
  162. package/dist/{services/Store → Store}/Cosmos/query.d.ts +1 -1
  163. package/dist/Store/Cosmos/query.d.ts.map +1 -0
  164. package/dist/Store/Cosmos/query.js +164 -0
  165. package/dist/Store/Cosmos.d.ts.map +1 -0
  166. package/dist/Store/Cosmos.js +258 -0
  167. package/dist/Store/Disk.d.ts.map +1 -0
  168. package/dist/Store/Disk.js +109 -0
  169. package/dist/Store/Memory.d.ts.map +1 -0
  170. package/dist/Store/Memory.js +170 -0
  171. package/dist/{services/Store → Store}/codeFilter.d.ts +1 -1
  172. package/dist/Store/codeFilter.d.ts.map +1 -0
  173. package/dist/Store/codeFilter.js +117 -0
  174. package/dist/Store/index.d.ts.map +1 -0
  175. package/dist/Store/index.js +28 -0
  176. package/dist/{services/Store → Store}/service.d.ts +5 -5
  177. package/dist/Store/service.d.ts.map +1 -0
  178. package/dist/{services/Store → Store}/service.js +1 -1
  179. package/dist/{services/Store → Store}/utils.d.ts +1 -1
  180. package/dist/Store/utils.d.ts.map +1 -0
  181. package/dist/Store/utils.js +44 -0
  182. package/dist/Store.d.ts.map +1 -0
  183. package/dist/{services/Store.js → Store.js} +1 -1
  184. package/dist/{services/adapters → adapters}/SQL/Model.d.ts +23 -23
  185. package/dist/adapters/SQL/Model.d.ts.map +1 -0
  186. package/dist/adapters/SQL/Model.js +508 -0
  187. package/dist/adapters/SQL.d.ts.map +1 -0
  188. package/dist/{services/adapters → adapters}/SQL.js +1 -1
  189. package/dist/adapters/ServiceBus.d.ts.map +1 -0
  190. package/dist/adapters/ServiceBus.js +73 -0
  191. package/dist/adapters/cosmos-client.d.ts.map +1 -0
  192. package/dist/adapters/cosmos-client.js +8 -0
  193. package/dist/{services/adapters → adapters}/index.d.ts.map +1 -1
  194. package/dist/{services/adapters → adapters}/index.js +1 -1
  195. package/dist/adapters/logger.d.ts.map +1 -0
  196. package/dist/{services/adapters → adapters}/logger.js +1 -1
  197. package/dist/adapters/memQueue.d.ts.map +1 -0
  198. package/dist/adapters/memQueue.js +24 -0
  199. package/dist/adapters/mongo-client.d.ts.map +1 -0
  200. package/dist/adapters/mongo-client.js +12 -0
  201. package/dist/adapters/redis-client.d.ts.map +1 -0
  202. package/dist/adapters/redis-client.js +93 -0
  203. package/dist/api/setupRequest.js +3 -3
  204. package/dist/arbs.d.ts.map +1 -0
  205. package/dist/arbs.js +21 -0
  206. package/dist/logger/shared.js +2 -2
  207. package/dist/test.d.ts +1 -1
  208. package/dist/test.d.ts.map +1 -1
  209. package/dist/test.js +3 -3
  210. package/examples/query.ts +3 -3
  211. package/package.json +352 -362
  212. package/src/{services/CUPS.ts → CUPS.ts} +1 -1
  213. package/src/{services/Emailer → Emailer}/Sendgrid.ts +1 -1
  214. package/src/{services/Emailer → Emailer}/fake.ts +1 -1
  215. package/src/{services/MainFiberSet.ts → MainFiberSet.ts} +1 -1
  216. package/src/{services → Model}/Repository/ext.ts +23 -11
  217. package/src/{services → Model}/Repository/legacy.ts +76 -49
  218. package/src/{services/RepositoryBase.ts → Model/Repository/makeRepo.ts} +40 -38
  219. package/src/{services → Model}/Repository/service.ts +9 -8
  220. package/src/{services → Model}/Repository.ts +1 -1
  221. package/src/{services → Model}/query/dsl.ts +24 -6
  222. package/src/{services → Model}/query/new-kid-interpreter.ts +3 -3
  223. package/src/Model.ts +3 -1
  224. package/src/{services/Operations.ts → Operations.ts} +3 -3
  225. package/src/{services/OperationsRepo.ts → OperationsRepo.ts} +1 -1
  226. package/src/{services/QueueMaker → QueueMaker}/SQLQueue.ts +4 -4
  227. package/src/{services/QueueMaker → QueueMaker}/memQueue.ts +2 -2
  228. package/src/{services/QueueMaker → QueueMaker}/sbqueue.ts +2 -2
  229. package/src/{services/QueueMaker → QueueMaker}/service.ts +1 -1
  230. package/src/{services/RequestFiberSet.ts → RequestFiberSet.ts} +2 -2
  231. package/src/{services/Store → Store}/Cosmos/query.ts +2 -2
  232. package/src/{services/Store → Store}/Cosmos.ts +2 -2
  233. package/src/{services/Store → Store}/Disk.ts +1 -1
  234. package/src/{services/Store → Store}/Memory.ts +1 -1
  235. package/src/{services/Store → Store}/codeFilter.ts +1 -1
  236. package/src/{services/Store → Store}/service.ts +4 -4
  237. package/src/{services/Store → Store}/utils.ts +1 -1
  238. package/src/api/setupRequest.ts +2 -2
  239. package/src/logger/shared.ts +1 -1
  240. package/src/test.ts +2 -2
  241. package/test/dist/query.test.d.ts.map +1 -1
  242. package/test/query.test.ts +32 -5
  243. package/_cjs/_ext/Array.cjs +0 -22
  244. package/_cjs/_ext/Array.cjs.map +0 -1
  245. package/_cjs/filter/types/errors.cjs.map +0 -1
  246. package/_cjs/filter/types/fields.cjs.map +0 -1
  247. package/_cjs/filter/types/path/common.cjs.map +0 -1
  248. package/_cjs/filter/types/path/eager.cjs.map +0 -1
  249. package/_cjs/filter/types/path/index.cjs.map +0 -1
  250. package/_cjs/filter/types/utils.cjs.map +0 -1
  251. package/_cjs/filter/types/validator.cjs.map +0 -1
  252. package/_cjs/filter/types.cjs.map +0 -1
  253. package/_cjs/services/CUPS.cjs.map +0 -1
  254. package/_cjs/services/Emailer/Sendgrid.cjs.map +0 -1
  255. package/_cjs/services/Emailer/fake.cjs.map +0 -1
  256. package/_cjs/services/Emailer/service.cjs.map +0 -1
  257. package/_cjs/services/Emailer.cjs.map +0 -1
  258. package/_cjs/services/MainFiberSet.cjs.map +0 -1
  259. package/_cjs/services/Operations.cjs.map +0 -1
  260. package/_cjs/services/OperationsRepo.cjs.map +0 -1
  261. package/_cjs/services/QueueMaker/SQLQueue.cjs.map +0 -1
  262. package/_cjs/services/QueueMaker/errors.cjs.map +0 -1
  263. package/_cjs/services/QueueMaker/memQueue.cjs.map +0 -1
  264. package/_cjs/services/QueueMaker/sbqueue.cjs.map +0 -1
  265. package/_cjs/services/QueueMaker/service.cjs.map +0 -1
  266. package/_cjs/services/Repository/dsl.cjs.map +0 -1
  267. package/_cjs/services/Repository/ext.cjs.map +0 -1
  268. package/_cjs/services/Repository/legacy.cjs.map +0 -1
  269. package/_cjs/services/Repository/service.cjs.map +0 -1
  270. package/_cjs/services/Repository.cjs.map +0 -1
  271. package/_cjs/services/RepositoryBase.cjs.map +0 -1
  272. package/_cjs/services/RequestFiberSet.cjs.map +0 -1
  273. package/_cjs/services/Store/ContextMapContainer.cjs.map +0 -1
  274. package/_cjs/services/Store/Cosmos/query.cjs.map +0 -1
  275. package/_cjs/services/Store/Cosmos.cjs.map +0 -1
  276. package/_cjs/services/Store/Disk.cjs.map +0 -1
  277. package/_cjs/services/Store/Memory.cjs.map +0 -1
  278. package/_cjs/services/Store/codeFilter.cjs.map +0 -1
  279. package/_cjs/services/Store/filterApi/query.cjs +0 -6
  280. package/_cjs/services/Store/filterApi/query.cjs.map +0 -1
  281. package/_cjs/services/Store/index.cjs.map +0 -1
  282. package/_cjs/services/Store/service.cjs.map +0 -1
  283. package/_cjs/services/Store/utils.cjs.map +0 -1
  284. package/_cjs/services/Store.cjs.map +0 -1
  285. package/_cjs/services/adapters/SQL/Model.cjs.map +0 -1
  286. package/_cjs/services/adapters/SQL.cjs.map +0 -1
  287. package/_cjs/services/adapters/ServiceBus.cjs.map +0 -1
  288. package/_cjs/services/adapters/cosmos-client.cjs.map +0 -1
  289. package/_cjs/services/adapters/index.cjs.map +0 -1
  290. package/_cjs/services/adapters/logger.cjs.map +0 -1
  291. package/_cjs/services/adapters/memQueue.cjs.map +0 -1
  292. package/_cjs/services/adapters/mongo-client.cjs.map +0 -1
  293. package/_cjs/services/adapters/redis-client.cjs.map +0 -1
  294. package/_cjs/services/query/dsl.cjs.map +0 -1
  295. package/_cjs/services/query/new-kid-interpreter.cjs.map +0 -1
  296. package/_cjs/services/query.cjs.map +0 -1
  297. package/_cjs/test/arbs.cjs.map +0 -1
  298. package/dist/_ext/Array.d.ts +0 -13
  299. package/dist/_ext/Array.d.ts.map +0 -1
  300. package/dist/_ext/Array.js +0 -15
  301. package/dist/filter/types/errors.d.ts.map +0 -1
  302. package/dist/filter/types/fields.d.ts.map +0 -1
  303. package/dist/filter/types/path/common.d.ts.map +0 -1
  304. package/dist/filter/types/path/eager.d.ts.map +0 -1
  305. package/dist/filter/types/path/index.d.ts.map +0 -1
  306. package/dist/filter/types/utils.d.ts.map +0 -1
  307. package/dist/filter/types/validator.d.ts.map +0 -1
  308. package/dist/filter/types.d.ts.map +0 -1
  309. package/dist/services/CUPS.d.ts.map +0 -1
  310. package/dist/services/CUPS.js +0 -116
  311. package/dist/services/Emailer/Sendgrid.d.ts.map +0 -1
  312. package/dist/services/Emailer/Sendgrid.js +0 -99
  313. package/dist/services/Emailer/fake.d.ts.map +0 -1
  314. package/dist/services/Emailer/fake.js +0 -18
  315. package/dist/services/Emailer/service.d.ts.map +0 -1
  316. package/dist/services/Emailer.d.ts.map +0 -1
  317. package/dist/services/MainFiberSet.d.ts.map +0 -1
  318. package/dist/services/MainFiberSet.js +0 -54
  319. package/dist/services/Operations.d.ts.map +0 -1
  320. package/dist/services/Operations.js +0 -102
  321. package/dist/services/OperationsRepo.d.ts.map +0 -1
  322. package/dist/services/OperationsRepo.js +0 -14
  323. package/dist/services/QueueMaker/SQLQueue.d.ts.map +0 -1
  324. package/dist/services/QueueMaker/SQLQueue.js +0 -136
  325. package/dist/services/QueueMaker/errors.d.ts.map +0 -1
  326. package/dist/services/QueueMaker/errors.js +0 -20
  327. package/dist/services/QueueMaker/memQueue.d.ts.map +0 -1
  328. package/dist/services/QueueMaker/memQueue.js +0 -78
  329. package/dist/services/QueueMaker/sbqueue.d.ts.map +0 -1
  330. package/dist/services/QueueMaker/sbqueue.js +0 -102
  331. package/dist/services/QueueMaker/service.d.ts.map +0 -1
  332. package/dist/services/QueueMaker/service.js +0 -4
  333. package/dist/services/Repository/dsl.d.ts.map +0 -1
  334. package/dist/services/Repository/dsl.js +0 -46
  335. package/dist/services/Repository/ext.d.ts.map +0 -1
  336. package/dist/services/Repository/ext.js +0 -61
  337. package/dist/services/Repository/legacy.d.ts.map +0 -1
  338. package/dist/services/Repository/legacy.js +0 -124
  339. package/dist/services/Repository/service.d.ts.map +0 -1
  340. package/dist/services/Repository.d.ts.map +0 -1
  341. package/dist/services/Repository.js +0 -5
  342. package/dist/services/RepositoryBase.d.ts.map +0 -1
  343. package/dist/services/RepositoryBase.js +0 -256
  344. package/dist/services/RequestFiberSet.d.ts.map +0 -1
  345. package/dist/services/RequestFiberSet.js +0 -79
  346. package/dist/services/Store/ContextMapContainer.d.ts.map +0 -1
  347. package/dist/services/Store/Cosmos/query.d.ts.map +0 -1
  348. package/dist/services/Store/Cosmos/query.js +0 -164
  349. package/dist/services/Store/Cosmos.d.ts.map +0 -1
  350. package/dist/services/Store/Cosmos.js +0 -258
  351. package/dist/services/Store/Disk.d.ts.map +0 -1
  352. package/dist/services/Store/Disk.js +0 -109
  353. package/dist/services/Store/Memory.d.ts.map +0 -1
  354. package/dist/services/Store/Memory.js +0 -170
  355. package/dist/services/Store/codeFilter.d.ts.map +0 -1
  356. package/dist/services/Store/codeFilter.js +0 -117
  357. package/dist/services/Store/filterApi/query.d.ts.map +0 -1
  358. package/dist/services/Store/filterApi/query.js +0 -2
  359. package/dist/services/Store/index.d.ts.map +0 -1
  360. package/dist/services/Store/index.js +0 -28
  361. package/dist/services/Store/service.d.ts.map +0 -1
  362. package/dist/services/Store/utils.d.ts.map +0 -1
  363. package/dist/services/Store/utils.js +0 -44
  364. package/dist/services/Store.d.ts.map +0 -1
  365. package/dist/services/adapters/SQL/Model.d.ts.map +0 -1
  366. package/dist/services/adapters/SQL/Model.js +0 -508
  367. package/dist/services/adapters/SQL.d.ts.map +0 -1
  368. package/dist/services/adapters/ServiceBus.d.ts.map +0 -1
  369. package/dist/services/adapters/ServiceBus.js +0 -73
  370. package/dist/services/adapters/cosmos-client.d.ts.map +0 -1
  371. package/dist/services/adapters/cosmos-client.js +0 -8
  372. package/dist/services/adapters/logger.d.ts.map +0 -1
  373. package/dist/services/adapters/memQueue.d.ts.map +0 -1
  374. package/dist/services/adapters/memQueue.js +0 -24
  375. package/dist/services/adapters/mongo-client.d.ts.map +0 -1
  376. package/dist/services/adapters/mongo-client.js +0 -12
  377. package/dist/services/adapters/redis-client.d.ts.map +0 -1
  378. package/dist/services/adapters/redis-client.js +0 -93
  379. package/dist/services/query/dsl.d.ts.map +0 -1
  380. package/dist/services/query/dsl.js +0 -95
  381. package/dist/services/query/new-kid-interpreter.d.ts.map +0 -1
  382. package/dist/services/query/new-kid-interpreter.js +0 -133
  383. package/dist/services/query.d.ts.map +0 -1
  384. package/dist/test/arbs.d.ts.map +0 -1
  385. package/dist/test/arbs.js +0 -21
  386. package/src/_ext/Array.ts +0 -22
  387. /package/_cjs/{services/Emailer → Emailer}/service.cjs +0 -0
  388. /package/_cjs/{services/Emailer.cjs → Emailer.cjs} +0 -0
  389. /package/_cjs/{services → Model}/Repository/service.cjs +0 -0
  390. /package/_cjs/{services/Repository → Model}/dsl.cjs +0 -0
  391. /package/_cjs/{filter → Model/filter}/types/errors.cjs +0 -0
  392. /package/_cjs/{filter → Model/filter}/types/fields.cjs +0 -0
  393. /package/_cjs/{filter → Model/filter}/types/path/common.cjs +0 -0
  394. /package/_cjs/{filter → Model/filter}/types/path/eager.cjs +0 -0
  395. /package/_cjs/{filter → Model/filter}/types/path/index.cjs +0 -0
  396. /package/_cjs/{filter → Model/filter}/types/utils.cjs +0 -0
  397. /package/_cjs/{filter → Model/filter}/types/validator.cjs +0 -0
  398. /package/_cjs/{filter → Model/filter}/types.cjs +0 -0
  399. /package/_cjs/{services → Model}/query/dsl.cjs +0 -0
  400. /package/_cjs/{services → Model}/query/new-kid-interpreter.cjs +0 -0
  401. /package/_cjs/{services → Model}/query.cjs +0 -0
  402. /package/_cjs/{services/QueueMaker → QueueMaker}/errors.cjs +0 -0
  403. /package/_cjs/{services/Store → Store}/ContextMapContainer.cjs +0 -0
  404. /package/_cjs/{services/Store → Store}/codeFilter.cjs +0 -0
  405. /package/_cjs/{services/Store → Store}/index.cjs +0 -0
  406. /package/_cjs/{services/Store → Store}/service.cjs +0 -0
  407. /package/_cjs/{services/Store.cjs → Store.cjs} +0 -0
  408. /package/_cjs/{services/adapters → adapters}/SQL/Model.cjs +0 -0
  409. /package/_cjs/{services/adapters → adapters}/SQL.cjs +0 -0
  410. /package/_cjs/{services/adapters → adapters}/ServiceBus.cjs +0 -0
  411. /package/_cjs/{services/adapters → adapters}/cosmos-client.cjs +0 -0
  412. /package/_cjs/{services/adapters → adapters}/index.cjs +0 -0
  413. /package/_cjs/{services/adapters → adapters}/logger.cjs +0 -0
  414. /package/_cjs/{services/adapters → adapters}/memQueue.cjs +0 -0
  415. /package/_cjs/{services/adapters → adapters}/mongo-client.cjs +0 -0
  416. /package/_cjs/{services/adapters → adapters}/redis-client.cjs +0 -0
  417. /package/_cjs/{test/arbs.cjs → arbs.cjs} +0 -0
  418. /package/dist/{services/CUPS.d.ts → CUPS.d.ts} +0 -0
  419. /package/dist/{services/Emailer → Emailer}/Sendgrid.d.ts +0 -0
  420. /package/dist/{services/Emailer → Emailer}/fake.d.ts +0 -0
  421. /package/dist/{services/Emailer.d.ts → Emailer.d.ts} +0 -0
  422. /package/dist/{services/MainFiberSet.d.ts → MainFiberSet.d.ts} +0 -0
  423. /package/dist/{services/Repository → Model}/dsl.d.ts +0 -0
  424. /package/dist/{filter → Model/filter}/types/errors.d.ts +0 -0
  425. /package/dist/{filter → Model/filter}/types/fields.d.ts +0 -0
  426. /package/dist/{filter → Model/filter}/types/path/common.d.ts +0 -0
  427. /package/dist/{filter → Model/filter}/types/path/eager.d.ts +0 -0
  428. /package/dist/{filter → Model/filter}/types/path/index.d.ts +0 -0
  429. /package/dist/{filter → Model/filter}/types/utils.d.ts +0 -0
  430. /package/dist/{filter → Model/filter}/types/validator.d.ts +0 -0
  431. /package/dist/{filter → Model/filter}/types.d.ts +0 -0
  432. /package/dist/{services → Model}/query.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
@@ -1,79 +0,0 @@
1
- import { Context, Effect, Fiber, FiberSet, Option } from "effect-app";
2
- import { reportRequestError, reportUnknownRequestError } from "../api/reportError.js";
3
- import { InfraLogger } from "../logger.js";
4
- const getRootParentSpan = Effect.gen(function* () {
5
- let span = yield* Effect.currentSpan.pipe(Effect.catchTag("NoSuchElementException", () => Effect.succeed(null)));
6
- if (!span)
7
- return span;
8
- while (span._tag === "Span" && Option.isSome(span.parent)) {
9
- span = span.parent.value;
10
- }
11
- return span;
12
- });
13
- export const setRootParentSpan = (self) => getRootParentSpan.pipe(Effect.andThen((span) => span ? Effect.withParentSpan(self, span) : self));
14
- const make = Effect.gen(function* () {
15
- const set = yield* FiberSet.make();
16
- const add = (...fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.unsafeAdd(set, _)));
17
- const addAll = (fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.unsafeAdd(set, _)));
18
- const join = FiberSet.size(set).pipe(Effect.andThen((count) => InfraLogger.logInfo(`Joining ${count} current fibers on the RequestFiberSet`)), Effect.andThen(FiberSet.join(set)));
19
- const run = FiberSet.run(set);
20
- const register = (self) => self.pipe(Effect.fork, Effect.tap(add), Effect.andThen(Fiber.join));
21
- // const waitUntilEmpty = Effect.gen(function*() {
22
- // const currentSize = yield* FiberSet.size(set)
23
- // if (currentSize === 0) {
24
- // return
25
- // }
26
- // yield* Effect.logInfo("Waiting RequestFiberSet to be empty: " + currentSize)
27
- // while ((yield* FiberSet.size(set)) > 0) yield* Effect.sleep("250 millis")
28
- // yield* Effect.logDebug("RequestFiberSet is empty")
29
- // })
30
- // TODO: loop and interrupt all fibers in the set continuously?
31
- const interrupt = Fiber.interruptAll(set);
32
- /**
33
- * Forks the effect into a new fiber attached to the RequestFiberSet scope. Because the
34
- * new fiber isn't attached to the parent, when the fiber executing the
35
- * returned effect terminates, the forked fiber will continue running.
36
- * The fiber will be interrupted when the RequestFiberSet scope is closed.
37
- *
38
- * The parent span is set to the root span of the current fiber.
39
- * Reports errors.
40
- */
41
- function forkDaemonReport(self) {
42
- return self.pipe(reportRequestError, setRootParentSpan, Effect.uninterruptible, run);
43
- }
44
- /**
45
- * Forks the effect into a new fiber attached to the RequestFiberSet scope. Because the
46
- * new fiber isn't attached to the parent, when the fiber executing the
47
- * returned effect terminates, the forked fiber will continue running.
48
- * The fiber will be interrupted when the RequestFiberSet scope is closed.
49
- *
50
- * The parent span is set to the root span of the current fiber.
51
- * Reports unexpected errors.
52
- */
53
- function forkDaemonReportUnexpected(self) {
54
- return self
55
- .pipe(reportUnknownRequestError, setRootParentSpan, Effect.uninterruptible, run);
56
- }
57
- return {
58
- interrupt,
59
- join,
60
- run,
61
- add,
62
- addAll,
63
- register,
64
- forkDaemonReport,
65
- forkDaemonReportUnexpected
66
- };
67
- });
68
- /**
69
- * Whenever you fork a fiber for a Request, and you want to prevent dependent services to close prematurely on interruption,
70
- * like the ServiceBus Sender, you should register these fibers in this FiberSet.
71
- */
72
- export class RequestFiberSet extends Context.TagMakeId("RequestFiberSet", make)() {
73
- static Live = this.toLayerScoped();
74
- static register = (self) => this.use((_) => _.register(self));
75
- static run = (self) => this.use((_) => _.run(self));
76
- static forkDaemonReport = (self) => this.use((_) => _.forkDaemonReport(self));
77
- static forkDaemonReportUnexpected = (self) => this.use((_) => _.forkDaemonReportUnexpected(self));
78
- }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDNUMsSUFBSSxJQUFJLEdBQTBCLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUM5RCxNQUFNLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEUsQ0FBQTtJQUNELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFELElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUMxQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQVUsSUFBcUIsRUFBRSxFQUFFLENBQ2xFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1B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QUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNoRyxNQUFNLENBQVUsR0FBRyxHQUFHLENBQVUsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3RGLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxDQUFVLElBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2hILE1BQU0sQ0FBVSwwQkFBMEIsR0FBRyxDQUFVLElBQXFCLEVBQUUsRUFBRSxDQUM5RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../../src/services/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAY,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;;;;AAUzC,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,eAAO,MAAM,aAAa,6DAEzB,CAAA;AAED,eAAO,MAAM,eAAe,mCAA+E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/services/Store/Cosmos/query.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGvD,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,eAAe,GAAG,SAAS,eAAe,EAAE,CAAA;KACpD,EAAE,CAAA;CACJ,qCAcA;AAKD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACtC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAyKf"}
@@ -1,164 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-return */
2
- import { Array, Effect, Equivalence, pipe } from "effect-app";
3
- import { assertUnreachable } from "effect-app/utils";
4
- import { InfraLogger } from "../../../logger.js";
5
- export function logQuery(q) {
6
- return InfraLogger
7
- .logDebug("cosmos query")
8
- .pipe(Effect.annotateLogs({
9
- query: q.query,
10
- parameters: JSON.stringify(q.parameters.reduce((acc, v) => {
11
- acc[v.name] = v.value;
12
- return acc;
13
- }, {}), undefined, 2)
14
- }));
15
- }
16
- const arrayContains = (v) => v.map((_) => JSON.stringify(_)).join(", ");
17
- const vAsArr = (v) => v;
18
- export function buildWhereCosmosQuery3(filter, name, importedMarkerId, defaultValues, select, order, skip, limit) {
19
- const statement = (x, i) => {
20
- let k = x.path.includes(".-1.")
21
- ? `${x.path.split(".-1.")[0]}.${x.path.split(".-1.")[1]}`
22
- : `f.${x.path}`;
23
- k = x.path in defaultValues ? `(${k} ?? ${JSON.stringify(defaultValues[x.path])})` : k;
24
- const v = "@v" + i;
25
- switch (x.op) {
26
- case "in":
27
- return `ARRAY_CONTAINS(${v}, ${k})`;
28
- case "notIn":
29
- return `(NOT ARRAY_CONTAINS(${v}, ${k}))`;
30
- case "includes":
31
- return `ARRAY_CONTAINS(${k}, ${arrayContains(vAsArr(v))})`;
32
- case "notIncludes":
33
- return `(NOT ARRAY_CONTAINS(${k}, ${arrayContains(vAsArr(v))}))`;
34
- case "includes-any":
35
- return `ARRAY_CONTAINS_ANY(${k}, ${arrayContains(vAsArr(v))})`;
36
- case "notIncludes-any":
37
- return `(NOT ARRAY_CONTAINS_ANY(${k}, ${arrayContains(vAsArr(v))}))`;
38
- case "includes-all":
39
- return `ARRAY_CONTAINS_ALL(${k}, ${arrayContains(vAsArr(v))})`;
40
- case "notIncludes-all":
41
- return `(NOT ARRAY_CONTAINS_ALL(${k}, ${arrayContains(vAsArr(v))}))`;
42
- case "contains":
43
- return `CONTAINS(${k}, ${v}, true)`;
44
- case "startsWith":
45
- return `STARTSWITH(${k}, ${v}, true)`;
46
- case "endsWith":
47
- return `ENDSWITH(${k}, ${v}, true)`;
48
- case "notContains":
49
- return `NOT(CONTAINS(${k}, ${v}, true))`;
50
- case "notStartsWith":
51
- return `NOT(STARTSWITH(${k}, ${v}, true))`;
52
- case "notEndsWith":
53
- return `NOT(ENDSWITH(${k}, ${v}, true))`;
54
- }
55
- switch (x.op) {
56
- case "lt":
57
- return `${k} < ${v}`;
58
- case "lte":
59
- return `${k} <= ${v}`;
60
- case "gt":
61
- return `${k} > ${v}`;
62
- case "gte":
63
- return `${k} >= ${v}`;
64
- case "neq":
65
- return x.value === null
66
- ? `IS_NULL(${k}) = false`
67
- : `${k} <> ${v}`;
68
- case undefined:
69
- case "eq":
70
- return x.value === null
71
- ? `IS_NULL(${k}) = true`
72
- : `${k} = ${v}`;
73
- default: {
74
- return assertUnreachable(x.op);
75
- }
76
- }
77
- };
78
- let i = 0;
79
- const print = (state) => {
80
- let s = "";
81
- let l = 0;
82
- const printN = (n) => {
83
- return n === 0 ? "" : Array.range(1, n).map(() => " ").join("");
84
- };
85
- for (const e of state) {
86
- switch (e.t) {
87
- case "where":
88
- s += statement(e, i++);
89
- break;
90
- case "or":
91
- s += ` OR ${statement(e, i++)}`;
92
- break;
93
- case "and":
94
- s += ` AND ${statement(e, i++)}`;
95
- break;
96
- case "or-scope": {
97
- ++l;
98
- s += ` OR (\n${printN(l + 1)}${print(e.result)}\n${printN(l)})`;
99
- --l;
100
- break;
101
- }
102
- case "and-scope": {
103
- ++l;
104
- s += ` AND (\n${printN(l + 1)}${print(e.result)}\n${printN(l)})`;
105
- --l;
106
- break;
107
- }
108
- case "where-scope": {
109
- // ;++l
110
- s += `(\n${printN(l + 1)}${print(e.result)}\n)`;
111
- // ;--l
112
- break;
113
- }
114
- }
115
- }
116
- return s;
117
- };
118
- // const fff = (filter: readonly FilterR[], mode: "AND" | "OR") =>
119
- // "(" + filter
120
- // .map((_) =>
121
- // _.path.includes(".-1.")
122
- // ? { ..._, f: _.path.split(".-1.")[0], key: _.path.split(".-1.")[1]! }
123
- // : { ..._, f: "f" }
124
- // )
125
- // .map(
126
- // (x, i) => {
127
- // const k = `${x.f}.${x.path}`
128
- // const v = `@v${i}`
129
- // return statement(x, k, v)
130
- // }
131
- // )
132
- // .join(mode === "OR" ? " OR " : " AND ") + ")"
133
- const getValues = (filter) => filter
134
- .flatMap((_) => _.t === "and-scope" || _.t === "or-scope" || _.t === "where-scope"
135
- ? getValues(_.result)
136
- : [_]);
137
- const values = getValues(filter);
138
- return {
139
- query: `
140
- SELECT ${select
141
- ? `${select.map((_) => `f.${_}`).join(", ")}`
142
- : "f"}
143
- FROM ${name} f
144
-
145
- ${pipe(values
146
- .filter((_) => _.path.includes(".-1."))
147
- .map((_) => _.path.split(".-1.")[0])
148
- .map((_) => `JOIN ${_} IN f.${_}`), Array.dedupeWith(Equivalence.string))
149
- .join("\n")}
150
-
151
- WHERE f.id != @id ${filter.length ? `AND (${print(filter)})` : ""}
152
- ${order ? `ORDER BY ${order.map((_) => `f.${_.key} ${_.direction}`).join(", ")}` : ""}
153
- ${skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : ""}`,
154
- parameters: [
155
- { name: "@id", value: importedMarkerId },
156
- ...values
157
- .map((x, i) => ({
158
- name: `@v${i}`,
159
- value: x.value
160
- }))
161
- ]
162
- };
163
- }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvU3RvcmUvQ29zbW9zL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUloRCxNQUFNLFVBQVUsUUFBUSxDQUFDLENBTXhCO0lBQ0MsT0FBTyxXQUFXO1NBQ2YsUUFBUSxDQUFDLGNBQWMsQ0FBQztTQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFDZCxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDeEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFBO1lBQ3JCLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxFQUFFLEVBQWtFLENBQUMsRUFDdEUsU0FBUyxFQUNULENBQUMsQ0FDRjtLQUNGLENBQUMsQ0FBQyxDQUFBO0FBQ1AsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzlFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FB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
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../../src/services/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,EAAgC,MAAM,YAAY,CAAA;AAQhG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAoC,aAAa,EAAsB,MAAM,cAAc,CAAA;AA8WvG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,yCAIlD"}
@@ -1,258 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Array, Chunk, Duration, Effect, Layer, Option, pipe, Secret, Struct } from "effect-app";
3
- import { toNonEmptyArray } from "effect-app/Array";
4
- import { dropUndefinedT } from "effect-app/utils";
5
- import { OptimisticConcurrencyException } from "../../errors.js";
6
- import { InfraLogger } from "../../logger.js";
7
- import { CosmosClient, CosmosClientLayer } from "../adapters/cosmos-client.js";
8
- import { buildWhereCosmosQuery3, logQuery } from "./Cosmos/query.js";
9
- import { StoreMaker } from "./service.js";
10
- class CosmosDbOperationError {
11
- message;
12
- constructor(message) {
13
- this.message = message;
14
- }
15
- } // TODO: Retry operation when running into RU limit.
16
- function makeCosmosStore({ prefix }) {
17
- return Effect.gen(function* () {
18
- const { db } = yield* CosmosClient;
19
- return {
20
- make: (name, seed, config) => Effect.gen(function* () {
21
- const containerId = `${prefix}${name}`;
22
- yield* Effect.promise(() => db.containers.createIfNotExists(dropUndefinedT({
23
- id: containerId,
24
- uniqueKeyPolicy: config?.uniqueKeys
25
- ? { uniqueKeys: config.uniqueKeys }
26
- : undefined
27
- })));
28
- const defaultValues = config?.defaultValues ?? {};
29
- const container = db.container(containerId);
30
- const bulk = container.items.bulk.bind(container.items);
31
- const execBatch = container.items.batch.bind(container.items);
32
- const importedMarkerId = containerId;
33
- const bulkSet = (items) => Effect
34
- .gen(function* () {
35
- // TODO: disable batching if need atomicity
36
- // we delay and batch to keep low amount of RUs
37
- const b = [...items].map((x) => [
38
- x,
39
- Option.match(Option.fromNullable(x._etag), {
40
- onNone: () => dropUndefinedT({
41
- operationType: "Create",
42
- resourceBody: {
43
- ...Struct.omit(x, "_etag"),
44
- _partitionKey: config?.partitionValue(x)
45
- },
46
- partitionKey: config?.partitionValue(x)
47
- }),
48
- onSome: (eTag) => dropUndefinedT({
49
- operationType: "Replace",
50
- id: x.id,
51
- resourceBody: {
52
- ...Struct.omit(x, "_etag"),
53
- _partitionKey: config?.partitionValue(x)
54
- },
55
- ifMatch: eTag,
56
- partitionKey: config?.partitionValue(x)
57
- })
58
- })
59
- ]);
60
- const batches = Chunk.toReadonlyArray(Array.chunk_(b, config?.maxBulkSize ?? 10));
61
- const batchResult = yield* Effect.forEach(batches
62
- .map((x, i) => [i, x]), ([i, batch]) => Effect
63
- .promise(() => bulk(batch.map(([, op]) => op)))
64
- .pipe(Effect
65
- .delay(Duration.millis(i === 0 ? 0 : 1100)), Effect
66
- .flatMap((responses) => Effect.gen(function* () {
67
- const r = responses.find((x) => x.statusCode === 412 || x.statusCode === 404);
68
- if (r) {
69
- return yield* Effect.fail(new OptimisticConcurrencyException({ type: name, id: JSON.stringify(r.resourceBody?.["id"]) }));
70
- }
71
- const r2 = responses.find((x) => x.statusCode > 299 || x.statusCode < 200);
72
- if (r2) {
73
- return yield* Effect.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode));
74
- }
75
- return batch.map(([e], i) => ({
76
- ...e,
77
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
- _etag: responses[i].eTag
79
- }));
80
- }))));
81
- return batchResult.flat();
82
- })
83
- .pipe(Effect.withSpan("Cosmos.bulkSet [effect-app/infra/Store]", {
84
- captureStackTrace: false,
85
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
86
- }));
87
- const batchSet = (items) => {
88
- return Effect
89
- .suspend(() => {
90
- const batch = [...items].map((x) => [
91
- x,
92
- Option.match(Option.fromNullable(x._etag), {
93
- onNone: () => ({
94
- operationType: "Create",
95
- resourceBody: {
96
- ...Struct.omit(x, "_etag"),
97
- _partitionKey: config?.partitionValue(x)
98
- }
99
- }),
100
- onSome: (eTag) => ({
101
- operationType: "Replace",
102
- id: x.id,
103
- resourceBody: {
104
- ...Struct.omit(x, "_etag"),
105
- _partitionKey: config?.partitionValue(x)
106
- },
107
- ifMatch: eTag
108
- })
109
- })
110
- ]);
111
- const ex = batch.map(([, c]) => c);
112
- return Effect
113
- .promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey))
114
- .pipe(Effect.flatMap((x) => Effect.gen(function* () {
115
- const result = x.result ?? [];
116
- const firstFailed = result.find((x) => x.statusCode > 299 || x.statusCode < 200);
117
- if (firstFailed) {
118
- const code = firstFailed.statusCode ?? 0;
119
- if (code === 412 || code === 404) {
120
- return yield* new OptimisticConcurrencyException({ type: name, id: "batch" });
121
- }
122
- return yield* Effect.die(new CosmosDbOperationError("not able to update record: " + code));
123
- }
124
- return batch.map(([e], i) => ({
125
- ...e,
126
- _etag: result[i]?.eTag
127
- }));
128
- })));
129
- })
130
- .pipe(Effect
131
- .withSpan("Cosmos.batchSet [effect-app/infra/Store]", {
132
- captureStackTrace: false,
133
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
134
- }));
135
- };
136
- const s = {
137
- all: Effect
138
- .sync(() => ({
139
- query: `SELECT * FROM ${name} f WHERE f.id != @id`,
140
- parameters: [{ name: "@id", value: importedMarkerId }]
141
- }))
142
- .pipe(Effect.tap((q) => logQuery(q)), Effect.flatMap((q) => Effect.promise(() => container
143
- .items
144
- .query(q)
145
- .fetchAll()
146
- .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._ }))))), Effect
147
- .withSpan("Cosmos.all [effect-app/infra/Store]", {
148
- captureStackTrace: false,
149
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
150
- })),
151
- /**
152
- * May return duplicate results for "join_find", when matching more than once.
153
- */
154
- filter: (f) => {
155
- const skip = f?.skip;
156
- const limit = f?.limit;
157
- const filter = f.filter;
158
- return Effect
159
- .sync(() => buildWhereCosmosQuery3(filter ?? [], name, importedMarkerId, defaultValues, f.select, f.order, skip, limit))
160
- .pipe(Effect.tap((q) => logQuery(q)), Effect
161
- .flatMap((q) => Effect.promise(() => f.select
162
- ? container
163
- .items
164
- .query(q)
165
- .fetchAll()
166
- .then(({ resources }) => resources.map((_) => ({ ...pipe(defaultValues, Struct.pick(...f.select)), ..._ })))
167
- : container
168
- .items
169
- .query(q)
170
- .fetchAll()
171
- .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._.f }))))))
172
- .pipe(Effect.withSpan("Cosmos.filter [effect-app/infra/Store]", {
173
- captureStackTrace: false,
174
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
175
- }));
176
- },
177
- find: (id) => Effect
178
- .promise(() => container
179
- .item(id, config?.partitionValue({ id }))
180
- .read()
181
- .then(({ resource }) => Option.fromNullable(resource).pipe(Option.map((_) => ({ ...defaultValues, ..._ })))))
182
- .pipe(Effect
183
- .withSpan("Cosmos.find [effect-app/infra/Store]", {
184
- captureStackTrace: false,
185
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
186
- })),
187
- set: (e) => Option
188
- .match(Option
189
- .fromNullable(e._etag), {
190
- onNone: () => Effect.promise(() => container.items.create({
191
- ...e,
192
- _partitionKey: config?.partitionValue(e)
193
- })),
194
- onSome: (eTag) => Effect.promise(() => container.item(e.id, config?.partitionValue(e)).replace({ ...e, _partitionKey: config?.partitionValue(e) }, {
195
- accessCondition: {
196
- type: "IfMatch",
197
- condition: eTag
198
- }
199
- }))
200
- })
201
- .pipe(Effect
202
- .flatMap((x) => {
203
- if (x.statusCode === 412 || x.statusCode === 404) {
204
- return new OptimisticConcurrencyException({ type: name, id: e.id });
205
- }
206
- if (x.statusCode > 299 || x.statusCode < 200) {
207
- return Effect.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
208
- }
209
- return Effect.sync(() => ({
210
- ...e,
211
- _etag: x.etag
212
- }));
213
- }), Effect
214
- .withSpan("Cosmos.set [effect-app/infra/Store]", {
215
- captureStackTrace: false,
216
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
217
- })),
218
- batchSet,
219
- bulkSet,
220
- remove: (e) => Effect
221
- .promise(() => container.item(e.id, config?.partitionValue(e)).delete())
222
- .pipe(Effect
223
- .withSpan("Cosmos.remove [effect-app/infra/Store]", {
224
- captureStackTrace: false,
225
- attributes: { "repository.container_id": containerId, "repository.model_name": name }
226
- }))
227
- };
228
- // handle mock data
229
- const marker = yield* Effect.promise(() => container
230
- .item(importedMarkerId, importedMarkerId)
231
- .read()
232
- .then(({ resource }) => Option.fromNullable(resource)));
233
- if (!Option.isSome(marker)) {
234
- yield* InfraLogger.logInfo("Creating mock data for " + name);
235
- if (seed) {
236
- const m = yield* seed;
237
- yield* Effect.flatMapOption(Effect.succeed(toNonEmptyArray([...m])), (a) => s.bulkSet(a).pipe(Effect.orDie, Effect
238
- // we delay extra here, so that initial creation between Companies/POs also have an interval between them.
239
- .delay(Duration.millis(1100))));
240
- }
241
- // Mark as imported
242
- yield* Effect.promise(() => container.items.create({
243
- _partitionKey: importedMarkerId,
244
- id: importedMarkerId,
245
- ttl: -1
246
- }));
247
- }
248
- return s;
249
- })
250
- };
251
- });
252
- }
253
- export function CosmosStoreLayer(cfg) {
254
- return StoreMaker
255
- .toLayer(makeCosmosStore(cfg))
256
- .pipe(Layer.provide(CosmosClientLayer(Secret.value(cfg.url), cfg.dbName)));
257
- }
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1N0b3JlL0Nvc21vcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRWhHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUd6QyxNQUFNLHNCQUFzQjtJQUNMO0lBQXJCLFlBQXFCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztDQUN6QyxDQUFDLG9EQUFvRDtBQUV0RCxTQUFTLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7SUFDaEQsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFBO1FBQ2xDLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FDSixJQUFZLEVBQ1osSUFBc0MsRUFDdEMsTUFBNkIsRUFDN0IsRUFBRSxDQUNGLE1BQU0sQ0FBQyxHQUFHLENB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
@@ -1 +0,0 @@
1
- {"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../src/services/Store/Disk.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAyGzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;WAMvD,EAAE,SAAS,MAAM,EAAE,OAAO,SAAS;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,EAAE,CAAC,EAAE,CAAC,QAClD,MAAM,SACL,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAC7B,WAAW,CAAC,OAAO,CAAC;iBA4CpC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,0DAEhE"}