@effect-app/infra 0.7.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 (438) hide show
  1. package/.eslintrc.cjs +11 -0
  2. package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-314902b6271c341511f7398a50469024 +0 -0
  3. package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-3f072cc7afa09b6adaead0527ab9df83 +0 -0
  4. package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-74c3c295c110fc861b6a4c673afc3e24 +0 -0
  5. package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-bf6dae8cb9ea9740ceb39aefaf12716c +0 -0
  6. package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-cf9d1486029526079a5f68f2041dea02 +0 -0
  7. package/.jest-cache/haste-map-4ca41cc04e60c616a19cbb483cbf487b-e2f1f4b6d87214e3c49442fed31f310c-b4710ed9fb3d0757c4bf23045c585670 +0 -0
  8. package/.jest-cache/haste-map-4ca41cc04e60c616a19cbb483cbf487b-e2f1f4b6d87214e3c49442fed31f310c-ee17e5395bb1b7b36a4e2e22a6ae1449 +0 -0
  9. package/.jest-cache/haste-map-7dc16d7fae8c072843ed1c69eae73100-a8a4225b317477b49bca31f54559afb3-c16136699bb7f463be85273162b447c3 +0 -0
  10. package/.jest-cache/haste-map-9aa1e395a82e108eb49698982c574272-e2f1f4b6d87214e3c49442fed31f310c-f7435f46fc41ac5a13d06a49cae9a650 +0 -0
  11. package/.jest-cache/haste-map-9d206b45d610536c9ec65eec263c6964-a8a4225b317477b49bca31f54559afb3-3510506a330b44f1ae629033aac8fbb3 +0 -0
  12. package/.jest-cache/haste-map-a00ab30d0d656f9d3990958a54b9ccfd-87603b0fc921b26b622a5859b4c92bed-17b550b450b18840c25861aa6e835f0c +0 -0
  13. package/.jest-cache/haste-map-a00ab30d0d656f9d3990958a54b9ccfd-87603b0fc921b26b622a5859b4c92bed-4dc31290b1efc98335eb4c89167d75c3 +0 -0
  14. package/.jest-cache/haste-map-ab843cb0ffbadfd0deea4adb182c7ecd-87603b0fc921b26b622a5859b4c92bed-997106edf4bbc31567a378146180e45e +0 -0
  15. package/.jest-cache/haste-map-ab843cb0ffbadfd0deea4adb182c7ecd-87603b0fc921b26b622a5859b4c92bed-f0cd25414f9ed16c446940ca3aa23c1b +0 -0
  16. package/.jest-cache/haste-map-cf17f2edf0e949eebfdfca561816457c-e7a7ff05756c055cb63be97ba8537525-2cac07d09e6384e2d37c49714edad0ba +0 -0
  17. package/.jest-cache/haste-map-cf17f2edf0e949eebfdfca561816457c-e7a7ff05756c055cb63be97ba8537525-d7967c2976c5feac7161c964f0aa442f +0 -0
  18. package/.jest-cache/haste-map-fb1a173276d25bbff02f815600059283-938122bdc1c8836874b6585d7acb2e99-f705929cca05ce95ceaa6d520b560ce8 +0 -0
  19. package/.prettierignore +6 -0
  20. package/_cjs/_global.cjs +6 -0
  21. package/_cjs/_global.cjs.map +1 -0
  22. package/_cjs/_global.ext.cjs +6 -0
  23. package/_cjs/_global.ext.cjs.map +1 -0
  24. package/_cjs/_global.schema.cjs +5 -0
  25. package/_cjs/_global.schema.cjs.map +1 -0
  26. package/_cjs/errors.cjs +82 -0
  27. package/_cjs/errors.cjs.map +1 -0
  28. package/_cjs/ext.cjs +4 -0
  29. package/_cjs/ext.cjs.map +1 -0
  30. package/_cjs/index.cjs +6 -0
  31. package/_cjs/index.cjs.map +1 -0
  32. package/_cjs/lib/RequestContext.cjs +70 -0
  33. package/_cjs/lib/RequestContext.cjs.map +1 -0
  34. package/_cjs/lib/api/authorization.jwt.cjs +44 -0
  35. package/_cjs/lib/api/authorization.jwt.cjs.map +1 -0
  36. package/_cjs/lib/api/defaultErrorHandler.cjs +45 -0
  37. package/_cjs/lib/api/defaultErrorHandler.cjs.map +1 -0
  38. package/_cjs/lib/api/reportError.cjs +64 -0
  39. package/_cjs/lib/api/reportError.cjs.map +1 -0
  40. package/_cjs/lib/api/routing.cjs +262 -0
  41. package/_cjs/lib/api/routing.cjs.map +1 -0
  42. package/_cjs/lib/api/setupRequest.cjs +35 -0
  43. package/_cjs/lib/api/setupRequest.cjs.map +1 -0
  44. package/_cjs/lib/api/util.cjs +17 -0
  45. package/_cjs/lib/api/util.cjs.map +1 -0
  46. package/_cjs/lib/api/writeDocs.cjs +31 -0
  47. package/_cjs/lib/api/writeDocs.cjs.map +1 -0
  48. package/_cjs/lib/errorReporter.cjs +72 -0
  49. package/_cjs/lib/errorReporter.cjs.map +1 -0
  50. package/_cjs/lib/ext/Array.cjs +30 -0
  51. package/_cjs/lib/ext/Array.cjs.map +1 -0
  52. package/_cjs/lib/fileUtil.cjs +36 -0
  53. package/_cjs/lib/fileUtil.cjs.map +1 -0
  54. package/_cjs/lib/filter/types/errors.cjs +6 -0
  55. package/_cjs/lib/filter/types/errors.cjs.map +1 -0
  56. package/_cjs/lib/filter/types/fields.cjs +6 -0
  57. package/_cjs/lib/filter/types/fields.cjs.map +1 -0
  58. package/_cjs/lib/filter/types/index.cjs +61 -0
  59. package/_cjs/lib/filter/types/index.cjs.map +1 -0
  60. package/_cjs/lib/filter/types/path/common.cjs +6 -0
  61. package/_cjs/lib/filter/types/path/common.cjs.map +1 -0
  62. package/_cjs/lib/filter/types/path/eager.cjs +6 -0
  63. package/_cjs/lib/filter/types/path/eager.cjs.map +1 -0
  64. package/_cjs/lib/filter/types/path/index.cjs +8 -0
  65. package/_cjs/lib/filter/types/path/index.cjs.map +1 -0
  66. package/_cjs/lib/filter/types/utils.cjs +6 -0
  67. package/_cjs/lib/filter/types/utils.cjs.map +1 -0
  68. package/_cjs/lib/filter/types/validator.cjs +6 -0
  69. package/_cjs/lib/filter/types/validator.cjs.map +1 -0
  70. package/_cjs/lib/filter.cjs +238 -0
  71. package/_cjs/lib/filter.cjs.map +1 -0
  72. package/_cjs/lib/instrument.cjs +20 -0
  73. package/_cjs/lib/instrument.cjs.map +1 -0
  74. package/_cjs/lib/rateLimit.cjs +88 -0
  75. package/_cjs/lib/rateLimit.cjs.map +1 -0
  76. package/_cjs/services/CUPS/service.cjs +15 -0
  77. package/_cjs/services/CUPS/service.cjs.map +1 -0
  78. package/_cjs/services/CUPS.cjs +113 -0
  79. package/_cjs/services/CUPS.cjs.map +1 -0
  80. package/_cjs/services/Cache.cjs +39 -0
  81. package/_cjs/services/Cache.cjs.map +1 -0
  82. package/_cjs/services/Emailer/Sendgrid.cjs +112 -0
  83. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -0
  84. package/_cjs/services/Emailer/fake.cjs +24 -0
  85. package/_cjs/services/Emailer/fake.cjs.map +1 -0
  86. package/_cjs/services/Emailer/service.cjs +12 -0
  87. package/_cjs/services/Emailer/service.cjs.map +1 -0
  88. package/_cjs/services/Emailer.cjs +17 -0
  89. package/_cjs/services/Emailer.cjs.map +1 -0
  90. package/_cjs/services/Repository.cjs +247 -0
  91. package/_cjs/services/Repository.cjs.map +1 -0
  92. package/_cjs/services/ServiceBus.cjs +69 -0
  93. package/_cjs/services/ServiceBus.cjs.map +1 -0
  94. package/_cjs/services/Store/Cosmos.cjs +324 -0
  95. package/_cjs/services/Store/Cosmos.cjs.map +1 -0
  96. package/_cjs/services/Store/Cosmos.test.cjs +59 -0
  97. package/_cjs/services/Store/Cosmos.test.cjs.map +1 -0
  98. package/_cjs/services/Store/Disk.cjs +62 -0
  99. package/_cjs/services/Store/Disk.cjs.map +1 -0
  100. package/_cjs/services/Store/Memory.cjs +70 -0
  101. package/_cjs/services/Store/Memory.cjs.map +1 -0
  102. package/_cjs/services/Store/Redis.cjs +72 -0
  103. package/_cjs/services/Store/Redis.cjs.map +1 -0
  104. package/_cjs/services/Store/codeFilter.test.cjs +61 -0
  105. package/_cjs/services/Store/codeFilter.test.cjs.map +1 -0
  106. package/_cjs/services/Store/index.cjs +72 -0
  107. package/_cjs/services/Store/index.cjs.map +1 -0
  108. package/_cjs/services/Store/service.cjs +72 -0
  109. package/_cjs/services/Store/service.cjs.map +1 -0
  110. package/_cjs/services/Store/utils.cjs +78 -0
  111. package/_cjs/services/Store/utils.cjs.map +1 -0
  112. package/_cjs/services/Store.cjs +17 -0
  113. package/_cjs/services/Store.cjs.map +1 -0
  114. package/_cjs/services/memQueue.cjs +32 -0
  115. package/_cjs/services/memQueue.cjs.map +1 -0
  116. package/_cjs/test.arbs.cjs +32 -0
  117. package/_cjs/test.arbs.cjs.map +1 -0
  118. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs +14 -0
  119. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs.map +1 -0
  120. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs +29 -0
  121. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs.map +1 -0
  122. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs +32 -0
  123. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs.map +1 -0
  124. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs +266 -0
  125. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs.map +1 -0
  126. package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs +31 -0
  127. package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs.map +1 -0
  128. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs +67 -0
  129. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs.map +1 -0
  130. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs +44 -0
  131. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs.map +1 -0
  132. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs +33 -0
  133. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs.map +1 -0
  134. package/_cjs/vendor/Cache/Cache/definition.cjs +13 -0
  135. package/_cjs/vendor/Cache/Cache/definition.cjs.map +1 -0
  136. package/_cjs/vendor/Cache/Cache/operations/make.cjs +20 -0
  137. package/_cjs/vendor/Cache/Cache/operations/make.cjs.map +1 -0
  138. package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs +23 -0
  139. package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs.map +1 -0
  140. package/_cjs/vendor/Cache/Cache/operations.cjs +28 -0
  141. package/_cjs/vendor/Cache/Cache/operations.cjs.map +1 -0
  142. package/_cjs/vendor/Cache/Cache.cjs +28 -0
  143. package/_cjs/vendor/Cache/Cache.cjs.map +1 -0
  144. package/_cjs/vendor/Cache/CacheStats/definition.cjs +13 -0
  145. package/_cjs/vendor/Cache/CacheStats/definition.cjs.map +1 -0
  146. package/_cjs/vendor/Cache/CacheStats.cjs +17 -0
  147. package/_cjs/vendor/Cache/CacheStats.cjs.map +1 -0
  148. package/_cjs/vendor/Cache/EntryStats/definition.cjs +11 -0
  149. package/_cjs/vendor/Cache/EntryStats/definition.cjs.map +1 -0
  150. package/_cjs/vendor/Cache/EntryStats.cjs +17 -0
  151. package/_cjs/vendor/Cache/EntryStats.cjs.map +1 -0
  152. package/_cjs/vendor/Cache/Lookup/definition.cjs +6 -0
  153. package/_cjs/vendor/Cache/Lookup/definition.cjs.map +1 -0
  154. package/_cjs/vendor/Cache/Lookup.cjs +17 -0
  155. package/_cjs/vendor/Cache/Lookup.cjs.map +1 -0
  156. package/_cjs/vendor/Cache/index.cjs +17 -0
  157. package/_cjs/vendor/Cache/index.cjs.map +1 -0
  158. package/_src/_global.ext.ts +34 -0
  159. package/_src/_global.schema.ts +10 -0
  160. package/_src/_global.ts +14 -0
  161. package/_src/errors.ts +50 -0
  162. package/_src/ext.ts +1 -0
  163. package/_src/index.ts +0 -0
  164. package/_src/lib/RequestContext.ts +132 -0
  165. package/_src/lib/api/authorization.jwt.ts +52 -0
  166. package/_src/lib/api/defaultErrorHandler.ts +92 -0
  167. package/_src/lib/api/reportError.ts +50 -0
  168. package/_src/lib/api/routing.ts +623 -0
  169. package/_src/lib/api/setupRequest.ts +22 -0
  170. package/_src/lib/api/util.ts +14 -0
  171. package/_src/lib/api/writeDocs.ts +26 -0
  172. package/_src/lib/errorReporter.ts +63 -0
  173. package/_src/lib/ext/Array.ts +32 -0
  174. package/_src/lib/fileUtil.ts +56 -0
  175. package/_src/lib/filter/types/errors.ts +47 -0
  176. package/_src/lib/filter/types/fields.ts +50 -0
  177. package/_src/lib/filter/types/index.ts +5 -0
  178. package/_src/lib/filter/types/path/common.ts +404 -0
  179. package/_src/lib/filter/types/path/eager.ts +146 -0
  180. package/_src/lib/filter/types/path/index.ts +14 -0
  181. package/_src/lib/filter/types/utils.ts +106 -0
  182. package/_src/lib/filter/types/validator.ts +46 -0
  183. package/_src/lib/filter.ts +323 -0
  184. package/_src/lib/instrument.ts +9 -0
  185. package/_src/lib/rateLimit.ts +126 -0
  186. package/_src/services/CUPS/service.ts +16 -0
  187. package/_src/services/CUPS.ts +105 -0
  188. package/_src/services/Cache.ts +45 -0
  189. package/_src/services/Emailer/Sendgrid.ts +123 -0
  190. package/_src/services/Emailer/fake.ts +14 -0
  191. package/_src/services/Emailer/service.ts +33 -0
  192. package/_src/services/Emailer.ts +1 -0
  193. package/_src/services/Repository.ts +513 -0
  194. package/_src/services/ServiceBus.ts +111 -0
  195. package/_src/services/Store/Cosmos.test.ts +91 -0
  196. package/_src/services/Store/Cosmos.ts +545 -0
  197. package/_src/services/Store/Disk.ts +81 -0
  198. package/_src/services/Store/Memory.ts +77 -0
  199. package/_src/services/Store/Redis.ts +92 -0
  200. package/_src/services/Store/codeFilter.test.ts +74 -0
  201. package/_src/services/Store/index.test.ts.bak +112 -0
  202. package/_src/services/Store/index.ts +62 -0
  203. package/_src/services/Store/service.ts +174 -0
  204. package/_src/services/Store/utils.ts +126 -0
  205. package/_src/services/Store.ts +1 -0
  206. package/_src/services/memQueue.ts +30 -0
  207. package/_src/test.arbs.ts +27 -0
  208. package/_src/vendor/Cache/Cache/_internal/AtomicBoolean.ts +7 -0
  209. package/_src/vendor/Cache/Cache/_internal/AtomicNumber.ts +28 -0
  210. package/_src/vendor/Cache/Cache/_internal/AtomicReference.ts +30 -0
  211. package/_src/vendor/Cache/Cache/_internal/CacheInternal.ts +293 -0
  212. package/_src/vendor/Cache/Cache/_internal/CacheState.ts +56 -0
  213. package/_src/vendor/Cache/Cache/_internal/KeySet.ts +58 -0
  214. package/_src/vendor/Cache/Cache/_internal/MapKey.ts +43 -0
  215. package/_src/vendor/Cache/Cache/_internal/MapValue.ts +39 -0
  216. package/_src/vendor/Cache/Cache/definition.ts +112 -0
  217. package/_src/vendor/Cache/Cache/operations/make.ts +17 -0
  218. package/_src/vendor/Cache/Cache/operations/makeWith.ts +32 -0
  219. package/_src/vendor/Cache/Cache/operations.ts +4 -0
  220. package/_src/vendor/Cache/Cache.ts +4 -0
  221. package/_src/vendor/Cache/CacheStats/definition.ts +23 -0
  222. package/_src/vendor/Cache/CacheStats.ts +3 -0
  223. package/_src/vendor/Cache/EntryStats/definition.ts +19 -0
  224. package/_src/vendor/Cache/EntryStats.ts +3 -0
  225. package/_src/vendor/Cache/Lookup/definition.ts +15 -0
  226. package/_src/vendor/Cache/Lookup.ts +3 -0
  227. package/_src/vendor/Cache/global.ts.bak +23 -0
  228. package/_src/vendor/Cache/index.ts +4 -0
  229. package/dist/_global.d.ts +10 -0
  230. package/dist/_global.d.ts.map +1 -0
  231. package/dist/_global.ext.d.ts +34 -0
  232. package/dist/_global.ext.d.ts.map +1 -0
  233. package/dist/_global.ext.js +2 -0
  234. package/dist/_global.js +12 -0
  235. package/dist/_global.schema.d.ts +6 -0
  236. package/dist/_global.schema.d.ts.map +1 -0
  237. package/dist/_global.schema.js +9 -0
  238. package/dist/errors.d.ts +41 -0
  239. package/dist/errors.d.ts.map +1 -0
  240. package/dist/errors.js +51 -0
  241. package/dist/ext.d.ts +2 -0
  242. package/dist/ext.d.ts.map +1 -0
  243. package/dist/ext.js +2 -0
  244. package/dist/index.d.ts +2 -0
  245. package/dist/index.d.ts.map +1 -0
  246. package/dist/index.js +2 -0
  247. package/dist/lib/RequestContext.d.ts +122 -0
  248. package/dist/lib/RequestContext.d.ts.map +1 -0
  249. package/dist/lib/RequestContext.js +52 -0
  250. package/dist/lib/api/authorization.jwt.d.ts +7 -0
  251. package/dist/lib/api/authorization.jwt.d.ts.map +1 -0
  252. package/dist/lib/api/authorization.jwt.js +32 -0
  253. package/dist/lib/api/defaultErrorHandler.d.ts +8 -0
  254. package/dist/lib/api/defaultErrorHandler.d.ts.map +1 -0
  255. package/dist/lib/api/defaultErrorHandler.js +37 -0
  256. package/dist/lib/api/reportError.d.ts +32 -0
  257. package/dist/lib/api/reportError.d.ts.map +1 -0
  258. package/dist/lib/api/reportError.js +44 -0
  259. package/dist/lib/api/routing.d.ts +100 -0
  260. package/dist/lib/api/routing.d.ts.map +1 -0
  261. package/dist/lib/api/routing.js +248 -0
  262. package/dist/lib/api/setupRequest.d.ts +13 -0
  263. package/dist/lib/api/setupRequest.d.ts.map +1 -0
  264. package/dist/lib/api/setupRequest.js +25 -0
  265. package/dist/lib/api/util.d.ts +3 -0
  266. package/dist/lib/api/util.d.ts.map +1 -0
  267. package/dist/lib/api/util.js +14 -0
  268. package/dist/lib/api/writeDocs.d.ts +3 -0
  269. package/dist/lib/api/writeDocs.d.ts.map +1 -0
  270. package/dist/lib/api/writeDocs.js +23 -0
  271. package/dist/lib/errorReporter.d.ts +8 -0
  272. package/dist/lib/errorReporter.d.ts.map +1 -0
  273. package/dist/lib/errorReporter.js +45 -0
  274. package/dist/lib/ext/Array.d.ts +19 -0
  275. package/dist/lib/ext/Array.d.ts.map +1 -0
  276. package/dist/lib/ext/Array.js +21 -0
  277. package/dist/lib/fileUtil.d.ts +22 -0
  278. package/dist/lib/fileUtil.d.ts.map +1 -0
  279. package/dist/lib/fileUtil.js +23 -0
  280. package/dist/lib/filter/types/errors.d.ts +30 -0
  281. package/dist/lib/filter/types/errors.d.ts.map +1 -0
  282. package/dist/lib/filter/types/errors.js +2 -0
  283. package/dist/lib/filter/types/fields.d.ts +29 -0
  284. package/dist/lib/filter/types/fields.d.ts.map +1 -0
  285. package/dist/lib/filter/types/fields.js +2 -0
  286. package/dist/lib/filter/types/index.d.ts +6 -0
  287. package/dist/lib/filter/types/index.d.ts.map +1 -0
  288. package/dist/lib/filter/types/index.js +6 -0
  289. package/dist/lib/filter/types/path/common.d.ts +316 -0
  290. package/dist/lib/filter/types/path/common.d.ts.map +1 -0
  291. package/dist/lib/filter/types/path/common.js +2 -0
  292. package/dist/lib/filter/types/path/eager.d.ts +95 -0
  293. package/dist/lib/filter/types/path/eager.d.ts.map +1 -0
  294. package/dist/lib/filter/types/path/eager.js +2 -0
  295. package/dist/lib/filter/types/path/index.d.ts +4 -0
  296. package/dist/lib/filter/types/path/index.d.ts.map +1 -0
  297. package/dist/lib/filter/types/path/index.js +4 -0
  298. package/dist/lib/filter/types/utils.d.ts +68 -0
  299. package/dist/lib/filter/types/utils.d.ts.map +1 -0
  300. package/dist/lib/filter/types/utils.js +2 -0
  301. package/dist/lib/filter/types/validator.d.ts +30 -0
  302. package/dist/lib/filter/types/validator.d.ts.map +1 -0
  303. package/dist/lib/filter/types/validator.js +2 -0
  304. package/dist/lib/filter.d.ts +133 -0
  305. package/dist/lib/filter.d.ts.map +1 -0
  306. package/dist/lib/filter.js +171 -0
  307. package/dist/lib/instrument.d.ts +7 -0
  308. package/dist/lib/instrument.d.ts.map +1 -0
  309. package/dist/lib/instrument.js +12 -0
  310. package/dist/lib/rateLimit.d.ts +43 -0
  311. package/dist/lib/rateLimit.d.ts.map +1 -0
  312. package/dist/lib/rateLimit.js +76 -0
  313. package/dist/services/CUPS/service.d.ts +19 -0
  314. package/dist/services/CUPS/service.d.ts.map +1 -0
  315. package/dist/services/CUPS/service.js +5 -0
  316. package/dist/services/CUPS.d.ts +10 -0
  317. package/dist/services/CUPS.d.ts.map +1 -0
  318. package/dist/services/CUPS.js +89 -0
  319. package/dist/services/Cache.d.ts +28 -0
  320. package/dist/services/Cache.d.ts.map +1 -0
  321. package/dist/services/Cache.js +28 -0
  322. package/dist/services/Emailer/Sendgrid.d.ts +180 -0
  323. package/dist/services/Emailer/Sendgrid.d.ts.map +1 -0
  324. package/dist/services/Emailer/Sendgrid.js +102 -0
  325. package/dist/services/Emailer/fake.d.ts +7 -0
  326. package/dist/services/Emailer/fake.d.ts.map +1 -0
  327. package/dist/services/Emailer/fake.js +15 -0
  328. package/dist/services/Emailer/service.d.ts +41 -0
  329. package/dist/services/Emailer/service.d.ts.map +1 -0
  330. package/dist/services/Emailer/service.js +3 -0
  331. package/dist/services/Emailer.d.ts +2 -0
  332. package/dist/services/Emailer.d.ts.map +1 -0
  333. package/dist/services/Emailer.js +2 -0
  334. package/dist/services/Repository.d.ts +300 -0
  335. package/dist/services/Repository.d.ts.map +1 -0
  336. package/dist/services/Repository.js +193 -0
  337. package/dist/services/ServiceBus.d.ts +26 -0
  338. package/dist/services/ServiceBus.d.ts.map +1 -0
  339. package/dist/services/ServiceBus.js +53 -0
  340. package/dist/services/Store/Cosmos.d.ts +56 -0
  341. package/dist/services/Store/Cosmos.d.ts.map +1 -0
  342. package/dist/services/Store/Cosmos.js +321 -0
  343. package/dist/services/Store/Cosmos.test.d.ts.map +1 -0
  344. package/dist/services/Store/Disk.d.ts +14 -0
  345. package/dist/services/Store/Disk.d.ts.map +1 -0
  346. package/dist/services/Store/Disk.js +52 -0
  347. package/dist/services/Store/Memory.d.ts +17 -0
  348. package/dist/services/Store/Memory.d.ts.map +1 -0
  349. package/dist/services/Store/Memory.js +60 -0
  350. package/dist/services/Store/Redis.d.ts +12 -0
  351. package/dist/services/Store/Redis.d.ts.map +1 -0
  352. package/dist/services/Store/Redis.js +59 -0
  353. package/dist/services/Store/codeFilter.test.d.ts.map +1 -0
  354. package/dist/services/Store/index.d.ts +10 -0
  355. package/dist/services/Store/index.d.ts.map +1 -0
  356. package/dist/services/Store/index.js +52 -0
  357. package/dist/services/Store/service.d.ts +113 -0
  358. package/dist/services/Store/service.d.ts.map +1 -0
  359. package/dist/services/Store/service.js +63 -0
  360. package/dist/services/Store/utils.d.ts +14 -0
  361. package/dist/services/Store/utils.d.ts.map +1 -0
  362. package/dist/services/Store/utils.js +103 -0
  363. package/dist/services/Store.d.ts +2 -0
  364. package/dist/services/Store.d.ts.map +1 -0
  365. package/dist/services/Store.js +2 -0
  366. package/dist/services/memQueue.d.ts +18 -0
  367. package/dist/services/memQueue.d.ts.map +1 -0
  368. package/dist/services/memQueue.js +24 -0
  369. package/dist/test.arbs.d.ts +13 -0
  370. package/dist/test.arbs.d.ts.map +1 -0
  371. package/dist/test.arbs.js +22 -0
  372. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts +5 -0
  373. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts.map +1 -0
  374. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.js +7 -0
  375. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts +8 -0
  376. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts.map +1 -0
  377. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.js +22 -0
  378. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts +10 -0
  379. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts.map +1 -0
  380. package/dist/vendor/Cache/Cache/_internal/AtomicReference.js +25 -0
  381. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts +51 -0
  382. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts.map +1 -0
  383. package/dist/vendor/Cache/Cache/_internal/CacheInternal.js +253 -0
  384. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts +33 -0
  385. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts.map +1 -0
  386. package/dist/vendor/Cache/Cache/_internal/CacheState.js +21 -0
  387. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts +20 -0
  388. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts.map +1 -0
  389. package/dist/vendor/Cache/Cache/_internal/KeySet.js +61 -0
  390. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts +24 -0
  391. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts.map +1 -0
  392. package/dist/vendor/Cache/Cache/_internal/MapKey.js +37 -0
  393. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts +32 -0
  394. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts.map +1 -0
  395. package/dist/vendor/Cache/Cache/_internal/MapValue.js +24 -0
  396. package/dist/vendor/Cache/Cache/definition.d.ts +100 -0
  397. package/dist/vendor/Cache/Cache/definition.d.ts.map +1 -0
  398. package/dist/vendor/Cache/Cache/definition.js +5 -0
  399. package/dist/vendor/Cache/Cache/operations/make.d.ts +12 -0
  400. package/dist/vendor/Cache/Cache/operations/make.d.ts.map +1 -0
  401. package/dist/vendor/Cache/Cache/operations/make.js +12 -0
  402. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts +14 -0
  403. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts.map +1 -0
  404. package/dist/vendor/Cache/Cache/operations/makeWith.js +15 -0
  405. package/dist/vendor/Cache/Cache/operations.d.ts +3 -0
  406. package/dist/vendor/Cache/Cache/operations.d.ts.map +1 -0
  407. package/dist/vendor/Cache/Cache/operations.js +4 -0
  408. package/dist/vendor/Cache/Cache.d.ts +3 -0
  409. package/dist/vendor/Cache/Cache.d.ts.map +1 -0
  410. package/dist/vendor/Cache/Cache.js +4 -0
  411. package/dist/vendor/Cache/CacheStats/definition.d.ts +19 -0
  412. package/dist/vendor/Cache/CacheStats/definition.d.ts.map +1 -0
  413. package/dist/vendor/Cache/CacheStats/definition.js +6 -0
  414. package/dist/vendor/Cache/CacheStats.d.ts +2 -0
  415. package/dist/vendor/Cache/CacheStats.d.ts.map +1 -0
  416. package/dist/vendor/Cache/CacheStats.js +3 -0
  417. package/dist/vendor/Cache/EntryStats/definition.d.ts +17 -0
  418. package/dist/vendor/Cache/EntryStats/definition.d.ts.map +1 -0
  419. package/dist/vendor/Cache/EntryStats/definition.js +4 -0
  420. package/dist/vendor/Cache/EntryStats.d.ts +2 -0
  421. package/dist/vendor/Cache/EntryStats.d.ts.map +1 -0
  422. package/dist/vendor/Cache/EntryStats.js +3 -0
  423. package/dist/vendor/Cache/Lookup/definition.d.ts +17 -0
  424. package/dist/vendor/Cache/Lookup/definition.d.ts.map +1 -0
  425. package/dist/vendor/Cache/Lookup/definition.js +2 -0
  426. package/dist/vendor/Cache/Lookup.d.ts +2 -0
  427. package/dist/vendor/Cache/Lookup.d.ts.map +1 -0
  428. package/dist/vendor/Cache/Lookup.js +3 -0
  429. package/dist/vendor/Cache/index.d.ts +5 -0
  430. package/dist/vendor/Cache/index.d.ts.map +1 -0
  431. package/dist/vendor/Cache/index.js +5 -0
  432. package/package.json +756 -0
  433. package/tsconfig.json +107 -0
  434. package/tsconfig.json.bak +47 -0
  435. package/tsplus.config.json +6 -0
  436. package/types/modules.d.ts +1 -0
  437. package/vitest.config.ts +5 -0
  438. package/wallaby.cjs +1 -0
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CosmosStoreLive = CosmosStoreLive;
7
+ exports.buildCosmosQuery = buildCosmosQuery;
8
+ exports.buildFilterJoinSelectCosmosQuery = buildFilterJoinSelectCosmosQuery;
9
+ exports.buildFindJoinCosmosQuery = buildFindJoinCosmosQuery;
10
+ exports.buildLegacyCosmosQuery = buildLegacyCosmosQuery;
11
+ exports.buildWhereCosmosQuery = buildWhereCosmosQuery;
12
+ exports.makeCosmosStore = makeCosmosStore;
13
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
14
+ var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
15
+ var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
16
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Array"));
17
+ var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
18
+ var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/infra/lib/instrument"));
19
+ var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/prelude/utils"));
20
+ var tsplus_module_7 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
21
+ var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Effect"));
22
+ var tsplus_module_9 = _interopRequireWildcard(require("@effect-app/prelude/_ext/Prelude.ext"));
23
+ var tsplus_module_10 = _interopRequireWildcard(require("@effect-app/core/Prelude"));
24
+ var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/core/_ext/ord.ext"));
25
+ var tsplus_module_12 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/fluent/core"));
26
+ var CosmosClient = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
27
+ var _errors = require("../../errors.cjs");
28
+ var _service = require("./service.cjs");
29
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+ const fileName_1 = "packages/infra/_src/services/Store/Cosmos.ts";
32
+ // TODO: Retry operation when running into RU limit.
33
+ function makeCosmosStore({
34
+ prefix
35
+ }) {
36
+ return tracer_1.withCallTrace(fileName_1 + ":25:17")(tsplus_module_1.gen(function* ($) {
37
+ const {
38
+ db
39
+ } = yield* $(tsplus_module_1.service(CosmosClient.CosmosClient));
40
+ return {
41
+ make: (name, existing, config) => tracer_1.withCallTrace(fileName_1 + ":33:16")(tsplus_module_1.gen(function* ($) {
42
+ const containerId = `${prefix}${name}`;
43
+ yield* $(tracer_1.withCallTrace(fileName_1 + ":36:20")(tsplus_module_1.promise(() => db.containers.createIfNotExists({
44
+ id: containerId,
45
+ uniqueKeyPolicy: config?.uniqueKeys ? {
46
+ uniqueKeys: config.uniqueKeys
47
+ } : undefined
48
+ }))));
49
+ const container = db.container(containerId);
50
+ const bulk = container.items.bulk.bind(container.items);
51
+ const execBatch = container.items.batch.bind(container.items);
52
+ const importedMarkerId = containerId;
53
+ const bulkSet = items => tracer_1.withCallTrace(fileName_1 + ":124:16")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":51:20")(tsplus_module_1.gen(function* ($) {
54
+ // TODO: disable batching if need atomicity
55
+ // we delay and batch to keep low amount of RUs
56
+ const b = [...items].map(x => [x, tsplus_module_2.match(() => ({
57
+ operationType: "Create",
58
+ resourceBody: {
59
+ ...(0, tsplus_module_6.omit)(x, "_etag"),
60
+ _partitionKey: config?.partitionValue(x)
61
+ },
62
+ partitionKey: config?.partitionValue(x)
63
+ }), eTag => ({
64
+ operationType: "Replace",
65
+ id: x.id,
66
+ resourceBody: {
67
+ ...(0, tsplus_module_6.omit)(x, "_etag"),
68
+ _partitionKey: config?.partitionValue(x)
69
+ },
70
+ ifMatch: eTag,
71
+ partitionKey: config?.partitionValue(x)
72
+ }))(tsplus_module_2.fromNullable(x._etag))]);
73
+ const batches = tsplus_module_3.chunk_(b, config?.maxBulkSize ?? 10).toReadonlyArray();
74
+ const batchResult = yield* $(tsplus_module_4.ext_forEach(batches.map((x, i) => [i, x]), ([i, batch]) => tracer_1.withCallTrace(fileName_1 + ":88:26")(tsplus_module_1.flatMap(responses => tracer_1.withCallTrace(fileName_1 + ":89:34")(tsplus_module_1.gen(function* ($) {
75
+ const r = responses.find(x => x.statusCode === 412);
76
+ if (r) {
77
+ return yield* $(tracer_1.withCallTrace(fileName_1 + ":93:40")(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException(name, JSON.stringify(r.resourceBody?.["id"])))));
78
+ }
79
+ const r2 = responses.find(x => x.statusCode > 299 || x.statusCode < 200);
80
+ if (r2) {
81
+ return yield* $(tracer_1.withCallTrace(fileName_1 + ":106:40")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode))));
82
+ }
83
+ return batch.map(([e], i) => ({
84
+ ...e,
85
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
86
+ _etag: responses[i].eTag
87
+ }));
88
+ }))))(tracer_1.withCallTrace(fileName_1 + ":87:26")(tsplus_module_1.delay(tsplus_module_3.millis_(i === 0 ? 0 : 1100)))(tracer_1.withCallTrace(fileName_1 + ":86:30")(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))))))));
89
+ return batchResult.toReadonlyArray().flat();
90
+ })), "cosmos.bulkSet"));
91
+ const batchSet = items => {
92
+ return tracer_1.withCallTrace(fileName_1 + ":186:16")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr((() => {
93
+ const batch = [...items].map(x => [x, tsplus_module_2.match(() => ({
94
+ operationType: "Create",
95
+ resourceBody: {
96
+ ...(0, tsplus_module_6.omit)(x, "_etag"),
97
+ _partitionKey: config?.partitionValue(x)
98
+ }
99
+ }), eTag => ({
100
+ operationType: "Replace",
101
+ id: x.id,
102
+ resourceBody: {
103
+ ...(0, tsplus_module_6.omit)(x, "_etag"),
104
+ _partitionKey: config?.partitionValue(x)
105
+ },
106
+ ifMatch: eTag
107
+ }))(tsplus_module_2.fromNullable(x._etag))]);
108
+ const ex = batch.map(([, c]) => c);
109
+ return tracer_1.withCallTrace(fileName_1 + ":157:20")(tsplus_module_1.flatMap(x => tracer_1.withCallTrace(fileName_1 + ":158:28")(tsplus_module_1.gen(function* ($) {
110
+ const result = x.result ?? [];
111
+ const firstFailed = result.find(x => x.statusCode > 299 || x.statusCode < 200);
112
+ if (firstFailed) {
113
+ const code = firstFailed.statusCode ?? 0;
114
+ if (code === 412) {
115
+ return yield* $(tracer_1.withCallTrace(fileName_1 + ":167:36")(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException(name, "batch"))));
116
+ }
117
+ return yield* $(tracer_1.withCallTrace(fileName_1 + ":172:34")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + code))));
118
+ }
119
+ return batch.map(([e], i) => ({
120
+ ...e,
121
+ _etag: result[i]?.eTag
122
+ }));
123
+ }))))(tracer_1.withCallTrace(fileName_1 + ":156:24")(tsplus_module_1.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey))));
124
+ })(), "cosmos.batchSet"));
125
+ };
126
+ const s = {
127
+ all: tracer_1.withCallTrace(fileName_1 + ":203:16")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":195:16")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":196:24")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
128
+ resources
129
+ }) => tsplus_module_3.ext_itToChunk(resources))))))(tracer_1.withCallTrace(fileName_1 + ":194:16")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":190:18")(tsplus_module_1.sync(() => ({
130
+ query: `SELECT * FROM ${name} f WHERE f.id != @id`,
131
+ parameters: [{
132
+ name: "@id",
133
+ value: importedMarkerId
134
+ }]
135
+ }))))), "cosmos.all")),
136
+ filterJoinSelect: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":232:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":221:18")(tsplus_module_1.map(a => {
137
+ const v = a.flatMap(_ => _).map(x => tsplus_module_6.spread(x, ({
138
+ r,
139
+ ...rest
140
+ }) => ({
141
+ ...rest,
142
+ ...r
143
+ })));
144
+ return tsplus_module_7.fromIterable(v);
145
+ }))(tsplus_module_4.ext_forEach(filter.keys, k => tracer_1.withCallTrace(fileName_1 + ":212:22")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":213:30")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
146
+ resources
147
+ }) => tsplus_module_3.ext_itToChunk(resources))))))(tracer_1.withCallTrace(fileName_1 + ":211:22")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":210:19")(tsplus_module_1.sync(() => buildFilterJoinSelectCosmosQuery(filter, k, name, cursor?.skip, cursor?.limit))))))), "cosmos.filterJoinSelect")),
148
+ /**
149
+ * May return duplicate results for "join_find", when matching more than once.
150
+ */
151
+ filter: (filter, cursor) => {
152
+ const skip = cursor?.skip;
153
+ const limit = cursor?.limit;
154
+ return tracer_1.withCallTrace(fileName_1 + ":268:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(filter.type === "join_find" ?
155
+ // This is a problem if one of the multiple joined arrays can be empty!
156
+ // https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
157
+ // so we use multiple queries instead.
158
+ tracer_1.withCallTrace(fileName_1 + ":256:22")(tsplus_module_1.map(_ => _.flatMap(_ => _)))(
159
+ // This is a problem if one of the multiple joined arrays can be empty!
160
+ tsplus_module_4.ext_forEach(
161
+ // This is a problem if one of the multiple joined arrays can be empty!
162
+ filter.keys, k => tracer_1.withCallTrace(fileName_1 + ":247:26")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":248:34")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
163
+ resources
164
+ }) => tsplus_module_3.ext_itToChunk(resources))))))(tracer_1.withCallTrace(fileName_1 + ":246:26")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":245:23")(tsplus_module_1.sync(() => buildFindJoinCosmosQuery(filter, k, name, skip, limit))))))) : tracer_1.withCallTrace(fileName_1 + ":259:20")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":260:28")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
165
+ resources
166
+ }) => tsplus_module_3.ext_itToChunk(resources.map(_ => _.f)))))))(tracer_1.withCallTrace(fileName_1 + ":258:20")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":257:19")(tsplus_module_1.sync(() => buildCosmosQuery(filter, name, importedMarkerId, skip, limit))))), "cosmos.filter"));
167
+ },
168
+ find: id => tracer_1.withCallTrace(fileName_1 + ":277:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":271:22")(tsplus_module_1.promise(() => container.item(id, config?.partitionValue({
169
+ id
170
+ })).read().then(({
171
+ resource
172
+ }) => tsplus_module_2.fromNullable(resource)))), "cosmos.find")),
173
+ set: e => tracer_1.withCallTrace(fileName_1 + ":318:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":301:18")(tsplus_module_1.flatMap(x => {
174
+ if (x.statusCode === 412) {
175
+ return tracer_1.withCallTrace(fileName_1 + ":303:35")(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException(name, e.id)));
176
+ }
177
+ if (x.statusCode > 299 || x.statusCode < 200) {
178
+ return tracer_1.withCallTrace(fileName_1 + ":306:35")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode)));
179
+ }
180
+ return tracer_1.withCallTrace(fileName_1 + ":312:26")(tsplus_module_1.sync(() => ({
181
+ ...e,
182
+ _etag: x.etag
183
+ })));
184
+ }))(tsplus_module_2.match(() => tracer_1.withCallTrace(fileName_1 + ":282:28")(tsplus_module_1.promise(() => container.items.create({
185
+ ...e,
186
+ _partitionKey: config?.partitionValue(e)
187
+ }))), eTag => tracer_1.withCallTrace(fileName_1 + ":289:28")(tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).replace({
188
+ ...e,
189
+ _partitionKey: config?.partitionValue(e)
190
+ }, {
191
+ accessCondition: {
192
+ type: "IfMatch",
193
+ condition: eTag
194
+ }
195
+ }))))(tsplus_module_2.fromNullable(e._etag))), "cosmos.set")),
196
+ batchSet,
197
+ bulkSet,
198
+ remove: e => tracer_1.withCallTrace(fileName_1 + ":324:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":322:22")(tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).delete())), "cosmos.remove"))
199
+ };
200
+ // handle mock data
201
+ const marker = yield* $(tracer_1.withCallTrace(fileName_1 + ":329:20")(tsplus_module_1.promise(() => container.item(importedMarkerId, importedMarkerId).read().then(({
202
+ resource
203
+ }) => tsplus_module_2.fromNullable(resource)))));
204
+ if (!tsplus_module_2.isSome(marker)) {
205
+ console.log("Creating mock data for " + name);
206
+ if (existing) {
207
+ const m = yield* $(existing);
208
+ yield* $(tracer_1.withCallTrace(fileName_1 + ":343:20")(tsplus_module_8.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":342:17")(tsplus_module_1.sync(() => tsplus_module_3.toNonEmptyArray([...m.values()]))), a => tracer_1.withCallTrace(fileName_1 + ":348:24")(tsplus_module_1.delay(tsplus_module_3.millis_(1100)))(tsplus_module_1.orDie(s.bulkSet(a))))));
209
+ }
210
+ // Mark as imported
211
+ yield* $(tracer_1.withCallTrace(fileName_1 + ":354:22")(tsplus_module_1.promise(() => container.items.create({
212
+ _partitionKey: importedMarkerId,
213
+ id: importedMarkerId
214
+ }))));
215
+ }
216
+ return s;
217
+ }))
218
+ };
219
+ }));
220
+ }
221
+ function logQuery(q) {
222
+ return tsplus_module_9.logAnnotates({
223
+ query: q.query,
224
+ parameters: JSON.stringify(q.parameters.reduce((acc, v) => {
225
+ acc[v.name] = v.value;
226
+ return acc;
227
+ }, {}), undefined, 2)
228
+ })(tracer_1.withCallTrace(fileName_1 + ":375:17")(tsplus_module_1.logDebug("cosmos query")));
229
+ }
230
+ /**
231
+ * @deprecated: should build Select into Where query
232
+ */
233
+ function buildFilterJoinSelectCosmosQuery(filter, k, name, skip, limit) {
234
+ const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
235
+ return {
236
+ query: `
237
+ SELECT r, f.id as _rootId
238
+ FROM ${name} f
239
+ JOIN r IN f.${k}
240
+ WHERE LOWER(r.${filter.valueKey}) = LOWER(@value)
241
+ ${lm}
242
+ `,
243
+ parameters: [{
244
+ name: "@value",
245
+ value: filter.value
246
+ }]
247
+ };
248
+ }
249
+ /**
250
+ * @deprecated: is now part of Where query as k.-1.valueKey
251
+ */
252
+ function buildFindJoinCosmosQuery(filter, k, name, skip, limit) {
253
+ const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
254
+ return {
255
+ query: `
256
+ SELECT DISTINCT VALUE f
257
+ FROM ${name} f
258
+ JOIN r IN f.${k}
259
+ WHERE LOWER(r.${filter.valueKey}) = LOWER(@value)
260
+ ${lm}`,
261
+ parameters: [{
262
+ name: "@value",
263
+ value: filter.value
264
+ }]
265
+ };
266
+ }
267
+ /**
268
+ * @deprecated: should build into Where query
269
+ */
270
+ function buildLegacyCosmosQuery(filter, name, importedMarkerId, skip, limit) {
271
+ const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
272
+ return {
273
+ query: `
274
+ SELECT f
275
+ FROM ${name} AS f
276
+ WHERE f.id != @id AND f.${String(filter.by)} LIKE @filter
277
+ ${lm}`,
278
+ parameters: [{
279
+ name: "@id",
280
+ value: importedMarkerId
281
+ }, {
282
+ name: "@filter",
283
+ value: filter.type === "endsWith" ? `%${filter.value}` : filter.type === "contains" ? `%${filter.value}%` : `${filter.value}%`
284
+ }]
285
+ };
286
+ }
287
+ function buildWhereCosmosQuery(filter, name, importedMarkerId, skip, limit) {
288
+ const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
289
+ return {
290
+ query: `
291
+ SELECT f
292
+ FROM ${name} AS f
293
+ ${tsplus_module_11.uniqArray(tsplus_module_10.Equal.string)(filter.where.filter(_ => _.key.includes(".-1.")).map(_ => _.key.split(".-1.")[0]).map(_ => `JOIN ${_} IN f.${_}`)).join("\n")}
294
+ WHERE f.id != @id AND ${filter.where.map(_ => _.key.includes(".-1.") ? {
295
+ ..._,
296
+ f: _.key.split(".-1.")[0],
297
+ key: _.key.split(".-1.")[1]
298
+ } : {
299
+ ..._,
300
+ f: "f"
301
+ }).map((x, i) => x.t === "in" ? `ARRAY_CONTAINS(@v${i}, ${x.f}.${x.key})` : x.t === "not-in" ? `ARRAY_CONTAINS(@v${i}, ${x.f}.${x.key}, false)` : x.t === "not-eq" ? x.value === null ? `IS_NULL(${x.f}.${x.key}) = false` : `${lowerIfNeeded(`${x.f}.${x.key}`, x.value)} <> ${lowerIfNeeded(`@v${i}`, x.value)}` : x.value === null ? `IS_NULL(${x.f}.${x.key}) = true` : `${lowerIfNeeded(`${x.f}.${x.key}`, x.value)} = ${lowerIfNeeded(`@v${i}`, x.value)}`).join(filter.mode === "or" ? " OR " : " AND ")}
302
+ ${lm}`,
303
+ parameters: [{
304
+ name: "@id",
305
+ value: importedMarkerId
306
+ }, ...tsplus_module_12.ext_toMutable(filter.where.map((x, i) => ({
307
+ name: `@v${i}`,
308
+ value: x.value
309
+ })))]
310
+ };
311
+ }
312
+ const lowerIfNeeded = (key, value) => typeof value === "string" ? `LOWER(${key})` : `${key}`;
313
+ function buildCosmosQuery(filter, name, importedMarkerId, skip, limit) {
314
+ return filter.type === "startsWith" || filter.type === "endsWith" || filter.type === "contains" ? buildLegacyCosmosQuery(filter, name, importedMarkerId, skip, limit) : buildWhereCosmosQuery(filter, name, importedMarkerId, skip, limit);
315
+ }
316
+ class CosmosDbOperationError {
317
+ constructor(message) {
318
+ this.message = message;
319
+ }
320
+ }
321
+ function CosmosStoreLive(config) {
322
+ return tsplus_module_1.toLayer(_service.StoreMaker)(tracer_1.withCallTrace(fileName_1 + ":544:24")(tsplus_module_1.flatMap(makeCosmosStore))(tsplus_module_1.config(config)));
323
+ }
324
+ //# sourceMappingURL=Cosmos.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cosmos.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AAEA;AAgBA;AAAyC;AAAA;;AAEzC;AACM,SAAUA,eAAe,CAAC;EAAEC;AAAM,CAAiB;EACvD,qDAAOC,oBAAW,WAAUC,CAAC;IAC3B,MAAM;MAAEC;IAAE,CAAE,GAAG,OAAOD,CAAC,yBAACE,YAAY,CAACA,YAAY,EAAQ;IACzD,OAAO;MACLC,IAAI,EAAE,CACJC,IAAY,EACZC,QAA+C,EAC/CC,MAAwB,KACtBC,8CACFR,oBAAW,WAAUC,CAAC;QACpB,MAAMQ,WAAW,GAAG,GAAGV,MAAM,GAAGM,IAAI,EAAE;QACtC,OAAOJ,CAAC,+CACND,wBAAe,MACbE,EAAE,CAACQ,UAAU,CAACC,iBAAiB,CAAC;UAC9BC,EAAE,EAAEH,WAAW;UACfI,eAAe,EAAEN,MAAM,EAAEO,UAAU,GAC/B;YAAEA,UAAU,EAAEP,MAAM,CAACO;UAAU,CAAE,GACjCC;SACL,CAAC,CACH,EACF;QACD,MAAMC,SAAS,GAAGd,EAAE,CAACc,SAAS,CAACP,WAAW,CAAC;QAC3C,MAAMQ,IAAI,GAAGD,SAAS,CAACE,KAAK,CAACD,IAAI,CAACE,IAAI,CAACH,SAAS,CAACE,KAAK,CAAC;QACvD,MAAME,SAAS,GAAGJ,SAAS,CAACE,KAAK,CAACG,KAAK,CAACF,IAAI,CAACH,SAAS,CAACE,KAAK,CAAC;QAC7D,MAAMI,gBAAgB,GAAGb,WAAW;QAEpC,MAAMc,OAAO,GAAIL,KAAgC,IAC/CV,2EAyEe,WAAW,EAAEC,WAAW,GAzEvCe,wFAAW,WAAUvB,CAAC;UACpB;UACA;UACA,MAAMwB,CAAC,GAAG,CAAC,GAAGP,KAAK,CAAC,CAACQ,GAAG,CACtBC,CAAC,IACC,CACEA,CAAC,EACDC,sBACE,OAAO;YACLC,aAAa,EAAE,QAAiB;YAChCC,YAAY,EAAE;cACZ,GAAG,wBAAI,EAACH,CAAC,EAAE,OAAO,CAAC;cACnBI,aAAa,EAAExB,MAAM,EAAEyB,cAAc,CAACL,CAAC;aACjC;YACRM,YAAY,EAAE1B,MAAM,EAAEyB,cAAc,CAACL,CAAC;WACvC,CAAC,EACFO,IAAI,KAAK;YACPL,aAAa,EAAE,SAAkB;YACjCjB,EAAE,EAAEe,CAAC,CAACf,EAAE;YACRkB,YAAY,EAAE;cACZ,GAAG,wBAAI,EAACH,CAAC,EAAE,OAAO,CAAC;cACnBI,aAAa,EAAExB,MAAM,EAAEyB,cAAc,CAACL,CAAC;aACjC;YACRQ,OAAO,EAAED,IAAI;YACbD,YAAY,EAAE1B,MAAM,EAAEyB,cAAc,CAACL,CAAC;WACvC,CAAC,EAlBJC,6BAAiBD,CAAC,CAACS,KAAK,CAAC,CAmBxB,CACO,CACb;UACD,MAAMC,OAAO,GAAGC,wBAAC,EAAO/B,MAAM,EAAEgC,WAAW,IAAI,EAAE,CAAC,CAACC,eAAe,EAAE;UAEpE,MAAMC,WAAW,GAAG,OAAOxC,CAAC,CAC1ByC,mCAAO,CAAChB,GAAG,CAAC,CAACC,CAAC,EAAEgB,CAAC,KAAK,CAACA,CAAC,EAAEhB,CAAC,CAAU,CAAC,EAElC,CAAC,CAACgB,CAAC,EAAEtB,KAAK,CAAC,KACTb,sEAEWoC,SAAS,IAAGpC,8CACnBR,oBAAW,WAAUC,CAAC;YACpB,MAAM4C,CAAC,GAAGD,SAAS,CAACE,IAAI,CAACnB,CAAC,IAAIA,CAAC,CAACoB,UAAU,KAAK,GAAG,CAAC;YACnD,IAAIF,CAAC,EAAE;cACL,OAAO,OAAO5C,CAAC,+CACbD,qBACE,IAAIgD,sCAA8B,CAChC3C,IAAI,EACJ4C,IAAI,CAACC,SAAS,CAACL,CAAC,CAACf,YAAY,GAAG,IAAI,CAAC,CAAC,CACvC,CACF,EACF;;YAEH,MAAMqB,EAAE,GAAGP,SAAS,CAACE,IAAI,CACvBnB,CAAC,IAAIA,CAAC,CAACoB,UAAU,GAAG,GAAG,IAAIpB,CAAC,CAACoB,UAAU,GAAG,GAAG,CAC9C;YACD,IAAII,EAAE,EAAE;cACN,OAAO,OAAOlD,CAAC,gDACbD,oBACE,IAAIoD,sBAAsB,CACxB,6BAA6B,GAAGD,EAAE,CAACJ,UAAU,CAC9C,CACF,EACF;;YAEH,OAAO1B,KAAK,CAACK,GAAG,CAAC,CAAC,CAAC2B,CAAC,CAAC,EAAEV,CAAC,MAAM;cAC5B,GAAGU,CAAC;cACJ;cACAjB,KAAK,EAAEQ,SAAS,CAACD,CAAC,CAAE,CAACT;aACtB,CAAC,CAAC;UACL,CAAC,CAAC,IAhCN1B,oEACS8B,wBAAeK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iDAD3C3C,wBAAe,MAAMiB,IAAI,CAACI,KAAK,CAACK,GAAG,CAAC,CAAC,GAAG4B,EAAE,CAAC,KAAKA,EAAE,CAAC,CAAC,CAAC,EACT,CAgCzC,CACN,CACJ;UACD,OAAOb,WAAW,CAACD,eAAe,EAAE,CAACe,IAAI,EAA0C;QACrF,CAAC,CAAC,GAAY,gBAAgB,CAAC,CACS;QAE1C,MAAMC,QAAQ,GAAItC,KAAgC,IAAI;UACpD,OAAOV,2EA2DQ,WAAW,EAAEC,WAAW,GA3DhCe;YACL,MAAMH,KAAK,GAAG,CAAC,GAAGH,KAAK,CAAC,CAACQ,GAAG,CAC1BC,CAAC,IACC,CACEA,CAAC,EACDC,sBACE,OAAO;cACLC,aAAa,EAAE,QAAiB;cAChCC,YAAY,EAAE;gBACZ,GAAG,wBAAI,EAACH,CAAC,EAAE,OAAO,CAAC;gBACnBI,aAAa,EAAExB,MAAM,EAAEyB,cAAc,CAACL,CAAC;;aAE1C,CAAC,EACFO,IAAI,KAAK;cACPL,aAAa,EAAE,SAAkB;cACjCjB,EAAE,EAAEe,CAAC,CAACf,EAAE;cACRkB,YAAY,EAAE;gBACZ,GAAG,wBAAI,EAACH,CAAC,EAAE,OAAO,CAAC;gBACnBI,aAAa,EAAExB,MAAM,EAAEyB,cAAc,CAACL,CAAC;eACjC;cACRQ,OAAO,EAAED;aACV,CAAC,EAhBJN,6BAAiBD,CAAC,CAACS,KAAK,CAAC,CAiBxB,CACO,CACb;YAED,MAAMqB,EAAE,GAAGpC,KAAK,CAACK,GAAG,CAAC,CAAC,GAAGgC,CAAC,CAAC,KAAKA,CAAC,CAAC;mBAGhClD,uEACWmB,CAAC,IAAGnB,+CACXR,oBAAW,WAAUC,CAAC;cACpB,MAAM0D,MAAM,GAAGhC,CAAC,CAACgC,MAAM,IAAI,EAAE;cAC7B,MAAMC,WAAW,GAAGD,MAAM,CAACb,IAAI,CAC5BnB,CAAM,IAAKA,CAAC,CAACoB,UAAU,GAAG,GAAG,IAAIpB,CAAC,CAACoB,UAAU,GAAG,GAAG,CACrD;cACD,IAAIa,WAAW,EAAE;gBACf,MAAMC,IAAI,GAAGD,WAAW,CAACb,UAAU,IAAI,CAAC;gBACxC,IAAIc,IAAI,KAAK,GAAG,EAAE;kBAChB,OAAO,OAAO5D,CAAC,gDACbD,qBAAY,IAAIgD,sCAA8B,CAAC3C,IAAI,EAAE,OAAO,CAAC,CAAC,EAC/D;;gBAGH,OAAO,OAAOJ,CAAC,gDACbD,oBACE,IAAIoD,sBAAsB,CAAC,6BAA6B,GAAGS,IAAI,CAAC,CACjE,EACF;;cAGH,OAAOxC,KAAK,CAACK,GAAG,CAAC,CAAC,CAAC2B,CAAC,CAAC,EAAEV,CAAC,MAAM;gBAC5B,GAAGU,CAAC;gBACJjB,KAAK,EAAEuB,MAAM,CAAChB,CAAC,CAAC,EAAET;eACnB,CAAC,CAAyC;YAC7C,CAAC,CAAC,mDA1BNlC,wBAAe,MAAMoB,SAAS,CAACqC,EAAE,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAE3B,YAAY,CAACC,aAAa,CAAC,CAAC,EA2BnE;gBAEO,iBAAiB,CAAC,CACQ;QAC1C,CAAC;QAED,MAAM+B,CAAC,GAAkB;UACvBC,GAAG,EAAEvD,2EAaU,WAAW,EAAEC,WAAW,GAblCe,6FAKMwC,CAAC,IAAGxD,+CACXR,wBAAe,MACbgB,SAAS,CAACE,KAAK,CACZ+C,KAAK,CAAKD,CAAC,CAAC,CACZE,QAAQ,EAAE,CACVC,IAAI,CAAC,CAAC;YAAEC;UAAS,CAAE,KAAI9B,8BAAC8B,SAAS,CAAQ,CAAC,CAC9C,IAXA5D,mEAIEwD,CAAC,IAAIK,QAAQ,CAACL,CAAC,CAAC,kDAJlBhE,qBAAO,OAAO;YACjBiE,KAAK,EAAE,iBAAiB5D,IAAI,sBAAsB;YAClDiE,UAAU,EAAE,CAAC;cAAEjE,IAAI,EAAE,KAAK;cAAEkE,KAAK,EAAEjD;YAAgB,CAAE;WACtD,CAAC,CAAC,EACqB,CAQrB,EAAY,YAAY,CAAC,CACY;UACxCkD,gBAAgB,EAAE,CAChBC,MAAwB,EACxBC,MAA0C,KAE1ClE,2EAwBe,WAAW,EAAEC,WAAW,GAxBvCe,yFAaOmD,CAAC,IAAG;YACP,MAAMC,CAAC,GAAGD,CAAC,CACRE,OAAO,CAACC,CAAC,IAAIA,CAAC,CAAC,CACfpD,GAAG,CAACC,CAAC,IACJoD,sBAAM,CACJpD,CAAC,EACD,CAAC;cAAEkB,CAAC;cAAE,GAAGmC;YAAI,CAAO,MAAM;cAAE,GAAGA,IAAI;cAAE,GAAGnC;YAAC,CAA8B,EACxE,CACF;YACH,OAAOoC,6BAAmBL,CAAC,CAAC;UAC9B,CAAC,GAvBHlC,kCAAM,CAACwC,IAAI,EACMC,CAAC,IACd3E,uEAEWwD,CAAC,IAAGxD,+CACXR,wBAAe,MACbgB,SAAS,CAACE,KAAK,CACZ+C,KAAK,CAAID,CAAC,CAAC,CACXE,QAAQ,EAAE,CACVC,IAAI,CAAC,CAAC;YAAEC;UAAS,CAAE,KAAI9B,8BAAC8B,SAAS,CAAQ,CAAC,CAC9C,IARL5D,mEACOwD,CAAC,IAAIK,QAAQ,CAACL,CAAC,CAAC,kDADvBhE,qBAAO,MAAMoF,gCAAgC,CAACX,MAAM,EAAEU,CAAC,EAAE9E,IAAI,EAAEqE,MAAM,EAAEW,IAAI,EAAEX,MAAM,EAAEY,KAAK,CAAC,CAAC,EACpE,CAQrB,CACJ,CAWC,EAAY,yBAAyB,CAAC,CACF;UAC1C;;;UAGAb,MAAM,EAAE,CAACA,MAAkB,EAAEC,MAA0C,KAAI;YACzE,MAAMW,IAAI,GAAGX,MAAM,EAAEW,IAAI;YACzB,MAAMC,KAAK,GAAGZ,MAAM,EAAEY,KAAK;YAC3B,OAAO9E,2EA6BQ,WAAW,EAAEC,WAAW,GA7BhCe,sBAACiD,MAAM,CAACc,IAAI,KAAK,WAAW;YAC/B;YACF;YACA;YACE/E,mEAaOsE,CAAC,IAAIA,CAAC,CAACD,OAAO,CAACC,CAAC,IAAIA,CAAC,CAAC;YAhB7B;YAGApC;YAHA;YAGA+B,MAAM,CAACS,IAAI,EACMC,CAAC,IACd3E,uEAEWwD,CAAC,IAAGxD,+CACXR,wBAAe,MACbgB,SAAS,CAACE,KAAK,CACZ+C,KAAK,CAAKD,CAAC,CAAC,CACZE,QAAQ,EAAE,CACVC,IAAI,CAAC,CAAC;cAAEC;YAAS,CAAE,KAAI9B,8BAAC8B,SAAS,CAAQ,CAAC,CAC9C,IARL5D,mEACOwD,CAAC,IAAIK,QAAQ,CAACL,CAAC,CAAC,kDADvBhE,qBAAO,MAAMwF,wBAAwB,CAACf,MAAM,EAAEU,CAAC,EAAE9E,IAAI,EAAEgF,IAAI,EAAEC,KAAK,CAAC,CAAC,EAC5C,CAQrB,CACJ,CAC2B,GAC9B9E,uEAESwD,CAAC,IAAGxD,+CACXR,wBAAe,MACbgB,SAAS,CAACE,KAAK,CAAC+C,KAAK,CACnBD,CAAC,CACF,CACEE,QAAQ,EAAE,CACVC,IAAI,CAAC,CAAC;cAAEC;YAAS,CAAE,KAAI9B,8BAAC8B,SAAS,CAAC1C,GAAG,CAACoD,CAAC,IAAIA,CAAC,CAACW,CAAC,CAAC,CAAQ,CAAC,CAC5D,IATHjF,mEACKwD,CAAC,IAAIK,QAAQ,CAACL,CAAC,CAAC,kDADrBhE,qBAAO,MAAM0F,gBAAgB,CAACjB,MAAM,EAAEpE,IAAI,EAAEiB,gBAAgB,EAAE+D,IAAI,EAAEC,KAAK,CAAC,CAAC,EACrD,CASrB,EAAa,eAAe,CAAC,CACM;UAC1C,CAAC;UACDxC,IAAI,EAAElC,EAAE,IACNJ,2EAMe,WAAW,EAAEC,WAAW,GANvCe,6FAAe,MACbR,SAAS,CACN2E,IAAI,CAAC/E,EAAE,EAAEL,MAAM,EAAEyB,cAAc,CAAC;YAAEpB;UAAE,CAAQ,CAAC,CAAC,CAC9CgF,IAAI,EAAM,CACVzB,IAAI,CAAC,CAAC;YAAE0B;UAAQ,CAAE,KAAKjE,6BAAiBiE,QAAQ,CAAC,CAAC,CACtD,GAAY,aAAa,CAAC,CACa;UAC1CC,GAAG,EAAEzC,CAAC,IACJ7C,2EAuCe,WAAW,EAAEC,WAAW,GAvCvCe,6FAsBWG,CAAC,IAAG;YACX,IAAIA,CAAC,CAACoB,UAAU,KAAK,GAAG,EAAE;cACxB,sDAAO/C,qBAAY,IAAIgD,sCAA8B,CAAC3C,IAAI,EAAEgD,CAAC,CAACzC,EAAE,CAAC,CAAC;;YAEpE,IAAIe,CAAC,CAACoB,UAAU,GAAG,GAAG,IAAIpB,CAAC,CAACoB,UAAU,GAAG,GAAG,EAAE;cAC5C,sDAAO/C,oBACL,IAAIoD,sBAAsB,CACxB,6BAA6B,GAAGzB,CAAC,CAACoB,UAAU,CAC7C,CACF;;YAEH,sDAAO/C,4BAAO;cACZ,GAAGqD,CAAC;cACJjB,KAAK,EAAET,CAAC,CAACoE;aACV,EAAC;UACJ,CAAC,GArCHnE,sBAEI,MAAKpB,+CACHR,wBAAe,MACbgB,SAAS,CAACE,KAAK,CAAC8E,MAAM,CAAC;YACrB,GAAG3C,CAAC;YACJtB,aAAa,EAAExB,MAAM,EAAEyB,cAAc,CAACqB,CAAC;WACxC,CAAC,CACH,GACHnB,IAAI,IAAG1B,+CACLR,wBAAe,MACbgB,SAAS,CAAC2E,IAAI,CAACtC,CAAC,CAACzC,EAAE,EAAEL,MAAM,EAAEyB,cAAc,CAACqB,CAAC,CAAC,CAAC,CAAC4C,OAAO,CACrD;YAAE,GAAG5C,CAAC;YAAEtB,aAAa,EAAExB,MAAM,EAAEyB,cAAc,CAACqB,CAAC;UAAC,CAAE,EAClD;YACE6C,eAAe,EAAE;cACfX,IAAI,EAAE,SAAS;cACfY,SAAS,EAAEjE;;WAEd,CACF,CACF,GApBPN,6BAAiByB,CAAC,CAACjB,KAAK,CAAC,CAqBtB,CAgBC,EACU,YAAY,CAAC,CACa;UAC1CoB,QAAQ;UACRjC,OAAO;UACP6E,MAAM,EAAG/C,CAAK,IACZ7C,2EAEe,WAAW,EAAEC,WAAW,GAFvCe,6FAAe,MAAMR,SAAS,CAAC2E,IAAI,CAACtC,CAAC,CAACzC,EAAE,EAAEL,MAAM,EAAEyB,cAAc,CAACqB,CAAC,CAAC,CAAC,CAACgD,MAAM,EAAE,CAAC,GAChE,eAAe,CAAC;SAEjC;QAED;QACA,MAAMC,MAAM,GAAG,OAAOrG,CAAC,gDACrBD,wBAAe,MACbgB,SAAS,CACN2E,IAAI,CAACrE,gBAAgB,EAAEA,gBAAgB,CAAC,CACxCsE,IAAI,EAAkB,CACtBzB,IAAI,CAAC,CAAC;UAAE0B;QAAQ,CAAE,KAAKjE,6BAAiBiE,QAAQ,CAAC,CAAC,CACtD,EACF;QAED,IAAI,CAACjE,6BAAM,CAAS,EAAE;UACpB2E,OAAO,CAACC,GAAG,CAAC,yBAAyB,GAAGnG,IAAI,CAAC;UAC7C,IAAIC,QAAQ,EAAE;YACZ,MAAMmG,CAAC,GAAG,OAAOxG,CAAC,CAACK,QAAQ,CAAC;YAC5B,OAAOL,CAAC,gDACNyG,qIAAO,CAAC,GAAGD,CAAC,CAACE,MAAM,EAAE,CAAC,EAAY,GACpBhC,CAAC,IACXnE,qEAIS8B,wBAAe,IAAI,CAAC,yBAJ7BwB,CAAC,CACEvC,OAAO,CAACoD,CAAC,CAAC,EAGiB,CAC/B,EACJ;;UAEH;UACA,OAAO1E,CAAC,gDACND,wBAAe,MACbgB,SAAS,CAACE,KAAK,CAAC8E,MAAM,CAAC;YACrBjE,aAAa,EAAET,gBAAgB;YAC/BV,EAAE,EAAEU;WACL,CAAC,CACH,EACF;;QAEH,OAAOwC,CAAC;MACV,CAAC,CAAC;KACL;EACH,CAAC,CAAC;AACJ;AAEA,SAASO,QAAQ,CAACL,CAMjB;EACC,OACS4C,6BAAoB;IACzB3C,KAAK,EAAED,CAAC,CAACC,KAAK;IACdK,UAAU,EAAErB,IAAI,CAACC,SAAS,CACxBc,CAAC,CAACM,UAAU,CAACuC,MAAM,CAAC,CAACC,GAAG,EAAElC,CAAC,KAAI;MAC7BkC,GAAG,CAAClC,CAAC,CAACvE,IAAI,CAAC,GAAGuE,CAAC,CAACL,KAAK;MACrB,OAAOuC,GAAG;IACZ,CAAC,EAAE,EAAkE,CAAC,EACtE/F,SAAS,EACT,CAAC;GAEJ,CAAC,gDAXGf,yBAAgB,cAAc,CAAC;AAYxC;AAEA;;;AAGM,SAAUoF,gCAAgC,CAC9CX,MAAwB,EACxBU,CAAS,EACT9E,IAAY,EACZgF,IAAa,EACbC,KAAc;EAEd,MAAMyB,EAAE,GAAG1B,IAAI,KAAKtE,SAAS,IAAIuE,KAAK,KAAKvE,SAAS,GAAG,UAAUsE,IAAI,IAAI,CAAC,UAAUC,KAAK,IAAI,MAAM,EAAE,GAAG,EAAE;EAC1G,OAAO;IACLrB,KAAK,EAAE;;OAEJ5D,IAAI;cACG8E,CAAC;gBACCV,MAAM,CAACuC,QAAQ;EAC7BD,EAAE;CACH;IACGzC,UAAU,EAAE,CAAC;MAAEjE,IAAI,EAAE,QAAQ;MAAEkE,KAAK,EAAEE,MAAM,CAACF;IAAK,CAAE;GACrD;AACH;AAEA;;;AAGM,SAAUiB,wBAAwB,CACtCf,MAAsB,EACtBU,CAAS,EACT9E,IAAY,EACZgF,IAAa,EACbC,KAAc;EAEd,MAAMyB,EAAE,GAAG1B,IAAI,KAAKtE,SAAS,IAAIuE,KAAK,KAAKvE,SAAS,GAAG,UAAUsE,IAAI,IAAI,CAAC,UAAUC,KAAK,IAAI,MAAM,EAAE,GAAG,EAAE;EAC1G,OAAO;IACLrB,KAAK,EAAE;;OAEJ5D,IAAI;cACG8E,CAAC;gBACCV,MAAM,CAACuC,QAAQ;EAC7BD,EAAE,EAAE;IACFzC,UAAU,EAAE,CAAC;MAAEjE,IAAI,EAAE,QAAQ;MAAEkE,KAAK,EAAEE,MAAM,CAACF;IAAK,CAAE;GACrD;AACH;AAEA;;;AAGM,SAAU0C,sBAAsB,CACpCxC,MAAwB,EACxBpE,IAAY,EACZiB,gBAAwB,EACxB+D,IAAa,EACbC,KAAc;EAEd,MAAMyB,EAAE,GAAG1B,IAAI,KAAKtE,SAAS,IAAIuE,KAAK,KAAKvE,SAAS,GAAG,UAAUsE,IAAI,IAAI,CAAC,UAAUC,KAAK,IAAI,MAAM,EAAE,GAAG,EAAE;EAC1G,OAAO;IACLrB,KAAK,EAAE;;WAEA5D,IAAI;8BAET6G,MAAM,CACJzC,MAAM,CAAC0C,EAAE,CAEb;IACAJ,EAAE,EAAE;IACJzC,UAAU,EAAE,CACV;MAAEjE,IAAI,EAAE,KAAK;MAAEkE,KAAK,EAAEjD;IAAgB,CAAE,EACxC;MACEjB,IAAI,EAAE,SAAS;MACfkE,KAAK,EAAEE,MAAM,CAACc,IAAI,KAAK,UAAU,GAC7B,IAAId,MAAM,CAACF,KAAK,EAAE,GAClBE,MAAM,CAACc,IAAI,KAAK,UAAU,GAC1B,IAAId,MAAM,CAACF,KAAK,GAAG,GACnB,GAAGE,MAAM,CAACF,KAAK;KACpB;GAEJ;AACH;AAEM,SAAU6C,qBAAqB,CACnC3C,MAAwB,EACxBpE,IAAY,EACZiB,gBAAwB,EACxB+D,IAAa,EACbC,KAAc;EAEd,MAAMyB,EAAE,GAAG1B,IAAI,KAAKtE,SAAS,IAAIuE,KAAK,KAAKvE,SAAS,GAAG,UAAUsE,IAAI,IAAI,CAAC,UAAUC,KAAK,IAAI,MAAM,EAAE,GAAG,EAAE;EAC1G,OAAO;IACLrB,KAAK,EAAE;;WAEA5D,IAAI;MAETgH,2BAGQC,sBAAK,CAACC,MAAM,EAHpB9C,MAAM,CAAC+C,KAAK,CAAC/C,MAAM,CAACK,CAAC,IAAIA,CAAC,CAAC2C,GAAG,CAACC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC7ChG,GAAG,CAACoD,CAAC,IAAIA,CAAC,CAAC2C,GAAG,CAACE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAChCjG,GAAG,CAACoD,CAAC,IAAI,QAAQA,CAAC,SAASA,CAAC,EAAE,CAAC,CACb,CAClB8C,IAAI,CAAC,IAAI,CACd;4BAEEnD,MAAM,CAAC+C,KAAK,CACT9F,GAAG,CAACoD,CAAC,IACJA,CAAC,CAAC2C,GAAG,CAACC,QAAQ,CAAC,MAAM,CAAC,GACpB;MAAE,GAAG5C,CAAC;MAAEW,CAAC,EAAEX,CAAC,CAAC2C,GAAG,CAACE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;MAAEF,GAAG,EAAE3C,CAAC,CAAC2C,GAAG,CAACE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAAE,CAAE,GACjE;MAAE,GAAG7C,CAAC;MAAEW,CAAC,EAAE;IAAG,CAAE,CACnB,CACA/D,GAAG,CACF,CAACC,CAAC,EAAEgB,CAAC,KACHhB,CAAC,CAACkG,CAAC,KAAK,IAAI,GACR,oBAAoBlF,CAAC,KAAKhB,CAAC,CAAC8D,CAAC,IAAI9D,CAAC,CAAC8F,GAAG,GAAG,GACzC9F,CAAC,CAACkG,CAAC,KAAK,QAAQ,GAChB,oBAAoBlF,CAAC,KAAKhB,CAAC,CAAC8D,CAAC,IAAI9D,CAAC,CAAC8F,GAAG,UAAU,GAChD9F,CAAC,CAACkG,CAAC,KAAK,QAAQ,GAChBlG,CAAC,CAAC4C,KAAK,KAAK,IAAI,GACd,WAAW5C,CAAC,CAAC8D,CAAC,IAAI9D,CAAC,CAAC8F,GAAG,WAAW,GAClC,GAAGK,aAAa,CAAC,GAAGnG,CAAC,CAAC8D,CAAC,IAAI9D,CAAC,CAAC8F,GAAG,EAAE,EAAE9F,CAAC,CAAC4C,KAAK,CAAC,OAAOuD,aAAa,CAAC,KAAKnF,CAAC,EAAE,EAAEhB,CAAC,CAAC4C,KAAK,CAAC,EAAE,GACvF5C,CAAC,CAAC4C,KAAK,KAAK,IAAI,GAChB,WAAW5C,CAAC,CAAC8D,CAAC,IAAI9D,CAAC,CAAC8F,GAAG,UAAU,GACjC,GAAGK,aAAa,CAAC,GAAGnG,CAAC,CAAC8D,CAAC,IAAI9D,CAAC,CAAC8F,GAAG,EAAE,EAAE9F,CAAC,CAAC4C,KAAK,CAAC,MAAMuD,aAAa,CAAC,KAAKnF,CAAC,EAAE,EAAEhB,CAAC,CAAC4C,KAAK,CAAC,EAAE,CAC3F,CACAqD,IAAI,CAACnD,MAAM,CAACsD,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,CACjD;MACEhB,EAAE,EAAE;IACNzC,UAAU,EAAE,CACV;MAAEjE,IAAI,EAAE,KAAK;MAAEkE,KAAK,EAAEjD;IAAgB,CAAE,EACxC,kCAAGmD,MAAM,CAAC+C,KAAK,CACZ9F,GAAG,CAAC,CAACC,CAAC,EAAEgB,CAAC,MAAM;MACdtC,IAAI,EAAE,KAAKsC,CAAC,EAAE;MACd4B,KAAK,EAAE5C,CAAC,CAAC4C;KACV,CAAC,CAAC,CACK;GAEb;AACH;AAEA,MAAMuD,aAAa,GAAG,CAACL,GAAY,EAAElD,KAAc,KAAK,OAAOA,KAAK,KAAK,QAAQ,GAAG,SAASkD,GAAG,GAAG,GAAG,GAAGA,GAAG,EAAE;AAExG,SAAU/B,gBAAgB,CAC9BjB,MAA2C,EAC3CpE,IAAY,EACZiB,gBAAwB,EACxB+D,IAAa,EACbC,KAAc;EAEd,OAAOb,MAAM,CAACc,IAAI,KAAK,YAAY,IAC/Bd,MAAM,CAACc,IAAI,KAAK,UAAU,IAC1Bd,MAAM,CAACc,IAAI,KAAK,UAAU,GAC1B0B,sBAAsB,CAACxC,MAAM,EAAEpE,IAAI,EAAEiB,gBAAgB,EAAE+D,IAAI,EAAEC,KAAK,CAAC,GACnE8B,qBAAqB,CAAC3C,MAAM,EAAEpE,IAAI,EAAEiB,gBAAgB,EAAE+D,IAAI,EAAEC,KAAK,CAAC;AACxE;AAEA,MAAMlC,sBAAsB;EAC1B4E,YAAqBC,OAAe;IAAf,YAAO,GAAPA,OAAO;EAAW;;AAEnC,SAAUC,eAAe,CAAC3H,MAA6B;EAC3D,OAAOP,wBAA+CmI,mBAAU,EAAzD3H,uEAAsBV,eAAe,0BAArCS,MAAM,EAAgC,CAAoB;AACnE","names":["makeCosmosStore","prefix","tsplus_module_1","$","db","CosmosClient","make","name","existing","config","tracer_1","containerId","containers","createIfNotExists","id","uniqueKeyPolicy","uniqueKeys","undefined","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","tsplus_module_5","b","map","x","tsplus_module_2","operationType","resourceBody","_partitionKey","partitionValue","partitionKey","eTag","ifMatch","_etag","batches","tsplus_module_3","maxBulkSize","toReadonlyArray","batchResult","tsplus_module_4","i","responses","r","find","statusCode","OptimisticConcurrencyException","JSON","stringify","r2","CosmosDbOperationError","e","op","flat","batchSet","ex","c","result","firstFailed","code","s","all","q","query","fetchAll","then","resources","logQuery","parameters","value","filterJoinSelect","filter","cursor","a","v","flatMap","_","tsplus_module_6","rest","tsplus_module_7","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","type","buildFindJoinCosmosQuery","f","buildCosmosQuery","item","read","resource","set","etag","create","replace","accessCondition","condition","remove","delete","marker","console","log","m","tsplus_module_8","values","tsplus_module_9","reduce","acc","lm","valueKey","buildLegacyCosmosQuery","String","by","buildWhereCosmosQuery","tsplus_module_11","tsplus_module_10","string","where","key","includes","split","join","t","lowerIfNeeded","mode","constructor","message","CosmosStoreLive","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Cosmos.ts"],"sourcesContent":[null]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeSomethingFilter_ = makeSomethingFilter_;
7
+ exports.somethingsWhere = somethingsWhere;
8
+ var tsplus_module_1 = _interopRequireWildcard(require("@effect-app/infra/lib/filter"));
9
+ var _vitest = require("vitest");
10
+ var _filter2 = require("../../lib/filter.cjs");
11
+ var _Cosmos = require("./Cosmos.cjs");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ const f_ = (0, _filter2.makeFilters)();
15
+ function makeSomethingFilter_(filter) {
16
+ return filter(f_);
17
+ }
18
+ function somethingsWhere(makeWhere, mode) {
19
+ return makeSomethingFilter_(f => {
20
+ const m = makeWhere ? makeWhere(f) : [];
21
+ return {
22
+ mode,
23
+ where: Array.isArray(m) ? m : [m]
24
+ };
25
+ });
26
+ }
27
+ (0, _vitest.test)("works", () => {
28
+ (0, _vitest.expect)((0, _Cosmos.buildWhereCosmosQuery)(somethingsWhere(_ => _("b", _ => "b2")), "Somethings", "importedMarkerId", undefined, 10)).toEqual({
29
+ "parameters": [{
30
+ "name": "@id",
31
+ "value": "importedMarkerId"
32
+ }, {
33
+ "name": "@v0",
34
+ "value": "b2"
35
+ }],
36
+ "query": `
37
+ SELECT f
38
+ FROM Somethings AS f
39
+
40
+ WHERE f.id != @id AND LOWER(f.b) = LOWER(@v0)
41
+ OFFSET 0 LIMIT 10`
42
+ });
43
+ (0, _vitest.expect)((0, _Cosmos.buildWhereCosmosQuery)(somethingsWhere(_ => _("d.-1.a", _ => tsplus_module_1.$isnt(_, "a2"))), "Somethings", "importedMarkerId", undefined, 10)).toEqual({
44
+ "parameters": [{
45
+ "name": "@id",
46
+ "value": "importedMarkerId"
47
+ }, {
48
+ "name": "@v0",
49
+ "value": "a2"
50
+ }],
51
+ "query": `
52
+ SELECT f
53
+ FROM Somethings AS f
54
+ JOIN d IN f.d
55
+ WHERE f.id != @id AND LOWER(d.a) <> LOWER(@v0)
56
+ OFFSET 0 LIMIT 10`
57
+ });
58
+ });
59
+ //# sourceMappingURL=Cosmos.test.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cosmos.test.cjs","mappings":";;;;;;;;AACA;AACA;AACA;AAAmD;AAAA;AAEnD,MAAMA,EAAE,GAAG,wBAAW,GAAa;AAG7B,SAAUC,oBAAoB,CAACC,MAAqD;EACxF,OAAOA,MAAM,CAACF,EAAE,CAAC;AACnB;AAEM,SAAUG,eAAe,CAC7BC,SAEgC,EAChCC,IAAmB;EAEnB,OAAOJ,oBAAoB,CAACK,CAAC,IAAG;IAC9B,MAAMC,CAAC,GAAGH,SAAS,GAAGA,SAAS,CAACE,CAAC,CAAC,GAAG,EAAE;IACvC,OAAQ;MACND,IAAI;MACJG,KAAK,EAAGC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,GAAGA,CAAmC,GAAG,CAACA,CAAC;KACpE;EACH,CAAC,CAAC;AACJ;AAeA,gBAAI,EAAC,OAAO,EAAE,MAAK;EACjB,kBAAM,EAAC,iCAAqB,EAC1BJ,eAAe,CAACQ,CAAC,IAAIA,CAAC,CAAC,GAAG,EAAEA,CAAC,IAAI,IAAI,CAAC,CAAC,EACvC,YAAY,EACZ,kBAAkB,EAClBC,SAAS,EACT,EAAE,CACH,CAAC,CAACC,OAAO,CAAC;IACT,YAAY,EAAE,CACZ;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,EACD;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,CACF;IACD,OAAO,EAAE;;;;;;GAMV,CAAC;EAEF,kBAAM,EAAC,iCAAqB,EAC1BV,eAAe,CAACQ,CAAC,IAAIA,CAAC,CAAC,QAAQ,EAAEA,CAAC,IAAIG,uBAAC,EAAO,IAAI,CAAC,CAAC,CAAC,EACrD,YAAY,EACZ,kBAAkB,EAClBF,SAAS,EACT,EAAE,CACH,CAAC,CAACC,OAAO,CAAC;IACT,YAAY,EAAE,CACZ;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,EACD;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,CACF;IACD,OAAO,EAAE;;;;;;GAMV,CAAC;AACJ,CAAC,CAAC","names":["f_","makeSomethingFilter_","filter","somethingsWhere","makeWhere","mode","f","m","where","Array","isArray","_","undefined","toEqual","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/services/Store/Cosmos.test.ts"],"sourcesContent":[null]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DiskStoreLive = DiskStoreLive;
7
+ exports.makeDiskStore = makeDiskStore;
8
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
9
+ var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
10
+ var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/prelude"));
11
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Function"));
12
+ var fu = _interopRequireWildcard(require("@effect-app/infra-adapters/simpledb/fileutil"));
13
+ var _fs = _interopRequireDefault(require("fs"));
14
+ var _Memory = require("./Memory.cjs");
15
+ var _service = require("./service.cjs");
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ const fileName_1 = "packages/infra/_src/services/Store/Disk.ts";
20
+ /**
21
+ * The Disk-backed store, flushes writes in background, but keeps the data in memory
22
+ * and should therefore be as fast as the Memory Store.
23
+ */
24
+ function makeDiskStore({
25
+ prefix
26
+ }) {
27
+ return tracer_1.withCallTrace(fileName_1 + ":15:10")(tsplus_module_1.sync(() => {
28
+ const dir = "./.data";
29
+ if (!_fs.default.existsSync(dir)) {
30
+ _fs.default.mkdirSync(dir);
31
+ }
32
+ return {
33
+ make: (name, existing, _config) => tracer_1.withCallTrace(fileName_1 + ":26:16")(tsplus_module_1.gen(function* ($) {
34
+ const file = dir + "/" + prefix + name + ".json";
35
+ const fsStore = {
36
+ get: tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":31:16")(tsplus_module_1.map(x => JSON.parse(x)))(fu.readTextFile(file))),
37
+ setRaw: v => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
38
+ };
39
+ const {
40
+ make
41
+ } = (0, _Memory.makeMemoryStore)();
42
+ const store = yield* $(make(name, !_fs.default.existsSync(file) ? existing ?? tracer_1.withCallTrace(fileName_1 + ":42:31")(tsplus_module_1.sync(() => tsplus_module_2.ROMap.empty)) : tracer_1.withCallTrace(fileName_1 + ":43:31")(tsplus_module_1.map(x => tsplus_module_2.ROMap.make(x.map(x => [x.id, x]))))(fsStore.get)));
43
+ yield* $(tracer_1.withCallTrace(fileName_1 + ":47:30")(tsplus_module_1.flatMap(fsStore.setRaw))(store.all));
44
+ const sem = tsplus_module_1.unsafeMakeSemaphore(1);
45
+ const withPermit = sem.withPermits(1);
46
+ const flushToDisk = withPermit(tracer_1.withCallTrace(fileName_1 + ":51:41")(tsplus_module_1.flatMap(fsStore.setRaw))(store.all));
47
+ const s = {
48
+ ...store,
49
+ batchSet: tsplus_module_3.flow(store.batchSet, t => tracer_1.withCallTrace(fileName_1 + ":55:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":55:39")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":55:60")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t)),
50
+ bulkSet: tsplus_module_3.flow(store.bulkSet, t => tracer_1.withCallTrace(fileName_1 + ":57:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":58:29")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":59:19")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t)),
51
+ set: tsplus_module_3.flow(store.set, t => tracer_1.withCallTrace(fileName_1 + ":63:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":63:39")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":63:60")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t)),
52
+ remove: tsplus_module_3.flow(store.remove, t => tracer_1.withCallTrace(fileName_1 + ":65:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":66:29")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":67:19")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t))
53
+ };
54
+ return s;
55
+ }))
56
+ };
57
+ }));
58
+ }
59
+ function DiskStoreLive(config) {
60
+ return tsplus_module_1.toLayer(_service.StoreMaker)(tracer_1.withCallTrace(fileName_1 + ":79:6")(tsplus_module_1.flatMap(makeDiskStore))(tsplus_module_1.config(config)));
61
+ }
62
+ //# sourceMappingURL=Disk.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Disk.cjs","mappings":"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","names":["makeDiskStore","prefix","tsplus_module_1","dir","fs","existsSync","mkdirSync","make","name","existing","_config","tracer_1","$","file","fsStore","get","x","JSON","parse","fu","readTextFile","setRaw","v","stringify","undefined","json","writeTextFile","store","tsplus_module_2","empty","map","id","all","sem","withPermit","withPermits","flushToDisk","s","batchSet","tsplus_module_3","t","err","console","error","bulkSet","set","remove","DiskStoreLive","config","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeMemoryStore = exports.MemoryStoreLive = void 0;
7
+ exports.memFilter = memFilter;
8
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
9
+ var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
10
+ var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Chunk"));
11
+ var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/data/Option"));
12
+ var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Array"));
13
+ var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/prelude"));
14
+ var tsplus_module_6 = _interopRequireWildcard(require("@effect/io/Effect"));
15
+ var tsplus_module_7 = _interopRequireWildcard(require("@effect/io/Ref"));
16
+ var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
17
+ var tsplus_module_9 = _interopRequireWildcard(require("@effect-app/core/Tag"));
18
+ var _service = require("./service.cjs");
19
+ var _utils = require("./utils.cjs");
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+ const fileName_1 = "packages/infra/_src/services/Store/Memory.ts";
23
+ function memFilter(filter, cursor) {
24
+ return c => {
25
+ const skip = cursor?.skip;
26
+ const limit = cursor?.limit;
27
+ if (!skip && limit === 1) {
28
+ return tsplus_module_3.getOrElse(() => tsplus_module_1.empty())(tsplus_module_3.map(tsplus_module_1.make)(tsplus_module_2.findFirstMap((0, _utils.codeFilter)(filter))(c)));
29
+ }
30
+ let r = tsplus_module_1.filterMap((0, _utils.codeFilter)(filter))(c);
31
+ if (skip) {
32
+ r = tsplus_module_1.drop(skip)(r);
33
+ }
34
+ if (limit !== undefined) {
35
+ r = tsplus_module_1.take(limit)(r);
36
+ }
37
+ return tsplus_module_4.ext_itToChunk(r);
38
+ };
39
+ }
40
+ const makeMemoryStore = () => ({
41
+ make: (name, existing, _config) => tracer_1.withCallTrace(fileName_1 + ":31:12")(tsplus_module_6.gen(function* ($) {
42
+ const updateETag = (0, _utils.makeUpdateETag)(name);
43
+ const items = yield* $(existing ?? tracer_1.withCallTrace(fileName_1 + ":33:42")(tsplus_module_6.sync(() => tsplus_module_5.ROMap.empty)));
44
+ const store = yield* $(tracer_1.withCallTrace(fileName_1 + ":35:13")(tsplus_module_7.make(tsplus_module_5.ROMap.make([...items.entries()].map(([id, e]) => [id, (0, _utils.makeETag)(e)])))));
45
+ const sem = tsplus_module_6.unsafeMakeSemaphore(1);
46
+ const withPermit = sem.withPermits(1);
47
+ const values = tracer_1.withCallTrace(fileName_1 + ":41:32")(tsplus_module_6.map(s => s.values()))(tsplus_module_7.get(store));
48
+ const all = tracer_1.withCallTrace(fileName_1 + ":42:26")(tsplus_module_6.map(tsplus_module_1.fromIterable))(values);
49
+ const batchSet = items => withPermit(tracer_1.withCallTrace(fileName_1 + ":55:12")(tsplus_module_6.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_6.tap(items => tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":48:16")(tsplus_module_6.map(m => {
50
+ const mut = tsplus_module_5.ROMap.toMutable(m);
51
+ items.forEach(e => mut.set(e.id, e));
52
+ return tsplus_module_5.ROMap.fromMutable(mut);
53
+ }))(tsplus_module_7.get(store)))))(tsplus_module_8.ext_forEach(items, i => tracer_1.withCallTrace(fileName_1 + ":45:44")(tsplus_module_6.flatMap(current => updateETag(i, current)))(s.find(i.id))))));
54
+ const s = {
55
+ all,
56
+ find: id => tracer_1.withCallTrace(fileName_1 + ":59:31")(tsplus_module_6.map(tsplus_module_5.ROMap.lookup(id)))(tsplus_module_7.get(store)),
57
+ filter: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":60:89")(tsplus_module_6.map(memFilter(filter, cursor)))(all),
58
+ filterJoinSelect: filter => tracer_1.withCallTrace(fileName_1 + ":62:15")(tsplus_module_6.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))))(all),
59
+ set: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_6.tap(e => tracer_1.withCallTrace(fileName_1 + ":67:60")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":67:33")(tsplus_module_6.map(tsplus_module_5.ROMap.insert(e.id, e)))(tsplus_module_7.get(store)))))(tracer_1.withCallTrace(fileName_1 + ":66:14")(tsplus_module_6.flatMap(current => updateETag(e, current)))(s.find(e.id)))),
60
+ batchSet,
61
+ bulkSet: batchSet,
62
+ remove: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":71:62")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":71:38")(tsplus_module_6.map(tsplus_module_5.ROMap.remove(e.id)))(tsplus_module_7.get(store))))
63
+ };
64
+ return s;
65
+ }))
66
+ });
67
+ exports.makeMemoryStore = makeMemoryStore;
68
+ const MemoryStoreLive = tsplus_module_9.makeLayer(_service.StoreMaker)(makeMemoryStore());
69
+ exports.MemoryStoreLive = MemoryStoreLive;
70
+ //# sourceMappingURL=Memory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Memory.cjs","mappings":"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","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","makeMemoryStore","make","name","existing","_config","tracer_1","tsplus_module_6","$","updateETag","items","tsplus_module_5","empty","store","tsplus_module_7","entries","map","id","e","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","m","mut","toMutable","forEach","set","fromMutable","tsplus_module_8","i","current","find","lookup","filterJoinSelect","flatMap","insert","bulkSet","remove","MemoryStoreLive","tsplus_module_9"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}