@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,41 @@
1
+ import { Effect } from "@effect/io/Effect";
2
+ import { Tag } from "@fp-ts/data/Context";
3
+ import { Email, ReasonableString } from "@effect-app/prelude/schema";
4
+ import { ConfigSecret } from "@effect/io/Config/Secret";
5
+ import { NonEmptyReadonlyArray } from "@fp-ts/data/ReadonlyArray";
6
+ import type { MailContent, MailData } from "@sendgrid/helpers/classes/mail.js";
7
+ import type { ResponseError } from "@sendgrid/mail";
8
+ import type sgMail from "@sendgrid/mail";
9
+ import type { RequestContext } from "../../lib/RequestContext.js";
10
+ export interface Emailer {
11
+ sendMail: (msg: EmailMsgOptionalFrom) => Effect<RequestContext, Error | ResponseError, void>;
12
+ }
13
+ /**
14
+ * @tsplus type Emailer.Ops
15
+ */
16
+ export interface EmailerOps extends Tag<Emailer> {
17
+ }
18
+ export interface SendgridConfig {
19
+ subjectPrefix: string;
20
+ realMail: boolean;
21
+ defaultFrom: Email | {
22
+ name?: ReasonableString;
23
+ email: Email;
24
+ };
25
+ apiKey: ConfigSecret;
26
+ }
27
+ export declare const Emailer: EmailerOps;
28
+ export type EmailMsg = sgMail.MailDataRequired;
29
+ export type EmailTemplateMsg = MailData & {
30
+ templateId: string;
31
+ };
32
+ export type EmailMsgOptionalFrom = Omit<MailData, "from"> & ({
33
+ text: string;
34
+ } | {
35
+ html: string;
36
+ } | {
37
+ templateId: string;
38
+ } | {
39
+ content: NonEmptyReadonlyArray<MailContent>;
40
+ }) & Partial<Pick<EmailMsg, "from">>;
41
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Emailer/service.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,GAAG,aAAa,EAAE,IAAI,CAAC,CAAA;CAC7F;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,GAAG,CAAC,OAAO,CAAC;CAAG;AAEnD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAA;IAC9D,MAAM,EAAE,YAAY,CAAA;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,UAA2B,CAAA;AAEjD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAA;AAC9C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAC5B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GACtB,CACA;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAA;CAAE,CAC/G,GACC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import * as tsplus_module_1 from "@fp-ts/data/Context";
2
+ export const Emailer = tsplus_module_1.Tag();
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvRW1haWxlci9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFzQkEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFlLGdCQUFBLEdBQUcsRUFBVyxDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ export * from "./Emailer/service.js";
2
+ //# sourceMappingURL=Emailer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emailer.d.ts","sourceRoot":"","sources":["../../_src/services/Emailer.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./Emailer/service.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1haWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvc2VydmljZXMvRW1haWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBIn0=
@@ -0,0 +1,300 @@
1
+ import { Effect } from "@effect/io/Effect";
2
+ import { Opt } from "@effect-app/core/Option";
3
+ import { Chunk } from "@fp-ts/data/Chunk";
4
+ import { Predicate } from "@fp-ts/data/Predicate";
5
+ import { PureEnvEnv } from "@effect-app/prelude/_ext/Pure";
6
+ import { NonEmptyReadonlyArray } from "@fp-ts/data/ReadonlyArray";
7
+ import type { InvalidStateError, OptimisticConcurrencyException } from "../errors.js";
8
+ import { NotFoundError } from "../errors.js";
9
+ import type { RequestContext } from "../lib/RequestContext.js";
10
+ import { ContextMap } from "../services/Store.js";
11
+ import type { Filter } from "../services/Store.js";
12
+ import type { FixEnv, PureLogT } from "@effect-app/prelude/_ext/Pure";
13
+ import { Pure } from "@effect-app/prelude/_ext/Pure";
14
+ import type { ParserEnv } from "@effect-app/schema/custom/Parser";
15
+ /**
16
+ * @tsplus type Repository
17
+ */
18
+ export interface Repository<T extends {
19
+ id: Id;
20
+ }, PM extends {
21
+ id: string;
22
+ }, Evt, Id extends string, ItemType extends string> {
23
+ itemType: ItemType;
24
+ find: (id: Id) => Effect<ContextMap | RequestContext, never, Opt<T>>;
25
+ all: Effect<ContextMap, never, Chunk<T>>;
26
+ save: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<ContextMap | RequestContext, InvalidStateError | OptimisticConcurrencyException, void>;
27
+ utils: {
28
+ mapReverse: (pm: PM, setEtag: (id: string, eTag: string | undefined) => void) => unknown;
29
+ parse: (a: unknown, env?: ParserEnv | undefined) => T;
30
+ all: Effect<never, never, Chunk<PM>>;
31
+ filter: (filter: Filter<PM>, cursor?: {
32
+ limit?: number;
33
+ skip?: number;
34
+ }) => Effect<never, never, Chunk<PM>>;
35
+ };
36
+ }
37
+ export interface PureDSL<S, S2, W> {
38
+ get: ReturnType<typeof Pure.get<S>>;
39
+ set: typeof Pure.set<S2>;
40
+ log: (...w: W[]) => PureLogT<W>;
41
+ }
42
+ export declare const AnyPureDSL: PureDSL<any, any, any>;
43
+ /**
44
+ * @tsplus fluent Repository get
45
+ * @tsplus location "@effect-app/infra/services/Repository"
46
+ */
47
+ export declare function get<Id extends string, T extends {
48
+ id: Id;
49
+ }, PM extends {
50
+ id: string;
51
+ }, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, id: Id): import("@effect/io/Effect").Effect<RequestContext | ContextMap, NotFoundError<ItemType>, T>;
52
+ /**
53
+ * @tsplus fluent Repository filter
54
+ * @tsplus location "@effect-app/infra/services/Repository"
55
+ */
56
+ export declare function filter<Id extends string, T extends {
57
+ id: Id;
58
+ }, PM extends {
59
+ id: string;
60
+ }, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, filter: Predicate<T>): import("@effect/io/Effect").Effect<ContextMap, never, import("@fp-ts/data/Chunk").Chunk<T>>;
61
+ /**
62
+ * @tsplus fluent Repository filterAll
63
+ * @tsplus location "@effect-app/infra/services/Repository"
64
+ */
65
+ export declare function filterAll<Id extends string, T extends {
66
+ id: Id;
67
+ }, PM extends {
68
+ id: string;
69
+ }, Evt, ItemType extends string, S extends T>(self: Repository<T, PM, Evt, Id, ItemType>, map: (items: Chunk<T>) => Chunk<S>): import("@effect/io/Effect").Effect<ContextMap, never, import("@fp-ts/data/Chunk").Chunk<S>>;
70
+ /**
71
+ * @tsplus fluent Repository collect
72
+ * @tsplus location "@effect-app/infra/services/Repository"
73
+ */
74
+ export declare function collect<Id extends string, T extends {
75
+ id: Id;
76
+ }, PM extends {
77
+ id: string;
78
+ }, Evt, ItemType extends string, S extends T>(self: Repository<T, PM, Evt, Id, ItemType>, collect: (item: T) => Opt<S>): import("@effect/io/Effect").Effect<ContextMap, never, import("@fp-ts/data/Chunk").Chunk<S>>;
79
+ /**
80
+ * @tsplus getter Repository log
81
+ * @tsplus location "@effect-app/infra/services/Repository"
82
+ */
83
+ export declare function log<Id extends string, T extends {
84
+ id: Id;
85
+ }, PM extends {
86
+ id: string;
87
+ }, Evt, ItemType extends string>(_: Repository<T, PM, Evt, Id, ItemType>): (evt: Evt) => PureLogT<any>;
88
+ /**
89
+ * TODO: project inside the db.
90
+ * @tsplus fluent Repository projectEffect
91
+ * @tsplus location "@effect-app/infra/services/Repository"
92
+ */
93
+ export declare function projectEffect<Id extends string, T extends {
94
+ id: Id;
95
+ }, PM extends {
96
+ id: string;
97
+ }, Evt, ItemType extends string, S, R, E>(self: Repository<T, PM, Evt, Id, ItemType>, map: Effect<R, E, {
98
+ filter?: Filter<PM>;
99
+ collect: (t: PM) => Opt<S>;
100
+ limit?: number;
101
+ skip?: number;
102
+ }>): import("@effect/io/Effect").Effect<R, E, import("@fp-ts/data/Chunk").Chunk<S>>;
103
+ /**
104
+ * TODO: project inside the db.
105
+ * @tsplus fluent Repository project
106
+ * @tsplus location "@effect-app/infra/services/Repository"
107
+ */
108
+ export declare function project<Id extends string, T extends {
109
+ id: Id;
110
+ }, PM extends {
111
+ id: string;
112
+ }, Evt, ItemType extends string, S>(self: Repository<T, PM, Evt, Id, ItemType>, map: {
113
+ filter?: Filter<PM>;
114
+ collect: (t: PM) => Opt<S>;
115
+ limit?: number;
116
+ skip?: number;
117
+ }): import("@effect/io/Effect").Effect<never, never, import("@fp-ts/data/Chunk").Chunk<S>>;
118
+ /**
119
+ * @tsplus fluent Repository queryEffect
120
+ * @tsplus location "@effect-app/infra/services/Repository"
121
+ */
122
+ export declare function queryEffect<Id extends string, T extends {
123
+ id: Id;
124
+ }, PM extends {
125
+ id: string;
126
+ }, Evt, ItemType extends string, R, E, S>(self: Repository<T, PM, Evt, Id, ItemType>, map: Effect<R, E, {
127
+ filter?: Filter<PM>;
128
+ collect: (t: T) => Opt<S>;
129
+ limit?: number;
130
+ skip?: number;
131
+ }>): import("@effect/io/Effect").Effect<ContextMap | R, E, import("@fp-ts/data/Chunk").Chunk<S>>;
132
+ /**
133
+ * @tsplus fluent Repository queryOneEffect
134
+ * @tsplus location "@effect-app/infra/services/Repository"
135
+ */
136
+ export declare function queryOneEffect<Id extends string, T extends {
137
+ id: Id;
138
+ }, PM extends {
139
+ id: string;
140
+ }, Evt, ItemType extends string, R, E, S>(self: Repository<T, PM, Evt, Id, ItemType>, map: Effect<R, E, {
141
+ filter?: Filter<PM>;
142
+ collect: (t: T) => Opt<S>;
143
+ }>): import("@effect/io/Effect").Effect<ContextMap | R, E | NotFoundError<ItemType>, S>;
144
+ /**
145
+ * @tsplus fluent Repository query
146
+ * @tsplus location "@effect-app/infra/services/Repository"
147
+ */
148
+ export declare function query<Id extends string, T extends {
149
+ id: Id;
150
+ }, PM extends {
151
+ id: string;
152
+ }, Evt, ItemType extends string, S>(self: Repository<T, PM, Evt, Id, ItemType>, map: {
153
+ filter?: Filter<PM>;
154
+ collect: (t: T) => Opt<S>;
155
+ limit?: number;
156
+ skip?: number;
157
+ }): import("@effect/io/Effect").Effect<ContextMap, never, import("@fp-ts/data/Chunk").Chunk<S>>;
158
+ /**
159
+ * @tsplus fluent Repository queryOne
160
+ * @tsplus location "@effect-app/infra/services/Repository"
161
+ */
162
+ export declare function queryOne<Id extends string, T extends {
163
+ id: Id;
164
+ }, PM extends {
165
+ id: string;
166
+ }, Evt, ItemType extends string, S>(self: Repository<T, PM, Evt, Id, ItemType>, map: {
167
+ filter?: Filter<PM>;
168
+ collect: (t: T) => Opt<S>;
169
+ }): import("@effect/io/Effect").Effect<ContextMap, NotFoundError<ItemType>, S>;
170
+ /**
171
+ * @tsplus fluent Repository queryAndSavePureEffect
172
+ * @tsplus location "@effect-app/infra/services/Repository"
173
+ */
174
+ export declare function queryAndSavePureEffect<Id extends string, T extends {
175
+ id: Id;
176
+ }, PM extends {
177
+ id: string;
178
+ }, Evt, ItemType extends string, R, E, S extends T = T>(self: Repository<T, PM, Evt, Id, ItemType>, map: Effect<R, E, {
179
+ filter: Filter<PM>;
180
+ collect: (t: T) => Opt<S>;
181
+ limit?: number;
182
+ skip?: number;
183
+ }>): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | R | Exclude<R2, {
184
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>;
185
+ }>, InvalidStateError | OptimisticConcurrencyException | E | E2, A>;
186
+ /**
187
+ * @tsplus fluent Repository queryAndSavePure
188
+ * @tsplus location "@effect-app/infra/services/Repository"
189
+ */
190
+ export declare function queryAndSavePure<Id extends string, T extends {
191
+ id: Id;
192
+ }, PM extends {
193
+ id: string;
194
+ }, Evt, ItemType extends string, S extends T = T>(self: Repository<T, PM, Evt, Id, ItemType>, map: {
195
+ filter: Filter<PM>;
196
+ collect: (t: T) => Opt<S>;
197
+ limit?: number;
198
+ skip?: number;
199
+ }): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R2, {
200
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>;
201
+ }>, InvalidStateError | OptimisticConcurrencyException | E2, A>;
202
+ /**
203
+ * @tsplus getter Repository saveManyWithPure
204
+ * @tsplus location "@effect-app/infra/services/Repository"
205
+ */
206
+ export declare function saveManyWithPure<Id extends string, T extends {
207
+ id: Id;
208
+ }, PM extends {
209
+ id: string;
210
+ }, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): <R, A, E, S1 extends T, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>, E, A>) => (items: Iterable<S1>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
211
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>;
212
+ }>, InvalidStateError | OptimisticConcurrencyException | E, A>;
213
+ /**
214
+ * @tsplus fluent Repository byIdAndSaveWithPure
215
+ * @tsplus location "@effect-app/infra/services/Repository"
216
+ */
217
+ export declare function byIdAndSaveWithPure<Id extends string, T extends {
218
+ id: Id;
219
+ }, PM extends {
220
+ id: string;
221
+ }, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, id: Id): <R, A, E, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, T, S2>, E, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
222
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, T, S2>;
223
+ }>, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, A>;
224
+ /**
225
+ * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
226
+ * @tsplus getter Repository handleByIdAndSaveWithPure
227
+ * @tsplus location "@effect-app/infra/services/Repository"
228
+ */
229
+ export declare function handleByIdAndSaveWithPure<Id extends string, T extends {
230
+ id: Id;
231
+ }, PM extends {
232
+ id: string;
233
+ }, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): <Req extends {
234
+ id: Id;
235
+ }, Context_1, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context_1) => import("@effect/io/Effect").Effect<FixEnv<R, Evt, T, S2>, E, A>) => (req: Req, ctx: Context_1) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
236
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, T, S2>;
237
+ }>, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, A>;
238
+ /**
239
+ * @tsplus fluent Repository saveManyWithPure_
240
+ * @tsplus location "@effect-app/infra/services/Repository"
241
+ */
242
+ export declare function saveManyWithPure_<Id extends string, R, T extends {
243
+ id: Id;
244
+ }, PM extends {
245
+ id: string;
246
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, items: Iterable<S1>, pure: Effect<FixEnv<R, Evt, Chunk<S1>, Iterable<S2>>, E, A>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
247
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>;
248
+ }>, InvalidStateError | OptimisticConcurrencyException | E, A>;
249
+ /**
250
+ * @tsplus fluent Repository saveWithPure_
251
+ * @tsplus location "@effect-app/infra/services/Repository"
252
+ */
253
+ export declare function saveWithPure_<Id extends string, R, T extends {
254
+ id: Id;
255
+ }, PM extends {
256
+ id: string;
257
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, item: S1, pure: Effect<FixEnv<R, Evt, S1, S2>, E, A>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
258
+ env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, S1, S2>;
259
+ }>, InvalidStateError | OptimisticConcurrencyException | E, A>;
260
+ export type AllDSL<T, Evt> = (<R, A, E, S1 extends T, S2 extends T>(pure: (dsl: PureDSL<Chunk<S1>, Iterable<S2>, Evt>) => Effect<R, E, A>) => Effect<FixEnv<R, Evt, Chunk<S1>, Iterable<S2>>, E, A>) & AllDSLExt<T, Evt>;
261
+ /**
262
+ * @tsplus type DSLExt
263
+ */
264
+ export interface AllDSLExt<T, Evt> {
265
+ modify: <R, E, A, S1 extends T, S2 extends T>(pure: (items: Chunk<S1>, dsl: PureDSL<Chunk<S1>, Iterable<S2>, Evt>) => Effect<R, E, A>) => Effect<FixEnv<R, Evt, Chunk<S1>, Iterable<S2>>, E, A>;
266
+ update: <R, E, S1 extends T, S2 extends T>(pure: (items: Chunk<S1>, log: (...evt: Evt[]) => PureLogT<Evt>) => Effect<R, E, Iterable<S2>>) => Effect<FixEnv<R, Evt, Chunk<S1>, Iterable<S2>>, E, Iterable<S2>>;
267
+ }
268
+ export declare function makeAllDSL<T, Evt>(): AllDSL<T, Evt>;
269
+ export type OneDSL<T, Evt> = (<R, A, E, S1 extends T, S2 extends T>(pure: (dsl: PureDSL<S1, S2, Evt>) => Effect<FixEnv<R, Evt, S1, S2>, E, A>) => Effect<FixEnv<R, Evt, S1, S2>, E, A>) & OneDSLExt<T, Evt>;
270
+ /**
271
+ * @tsplus type DSLExt
272
+ */
273
+ export interface OneDSLExt<T, Evt> {
274
+ modify: <R, E, A, S1 extends T, S2 extends T>(pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect<FixEnv<R, Evt, S1, S2>, E, A>) => Effect<FixEnv<R, Evt, S1, S2> | PureEnvEnv<Evt, S1, S1>, E, A>;
275
+ update: <R, E, S1 extends T, S2 extends T>(pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => Effect<FixEnv<R, Evt, S1, S2>, E, S2>) => Effect<FixEnv<R, Evt, S1, S2>, E, S2>;
276
+ }
277
+ /**
278
+ * @tsplus fluent DSLExt updateWith
279
+ * @tsplus location "@effect-app/infra/services/Repository"
280
+ */
281
+ export declare function updateWithOne<T, Evt, S1 extends T, S2 extends T>(self: OneDSL<T, Evt>, upd: (item: S1) => S2): import("@effect/io/Effect").Effect<import("@effect-app/prelude/_ext/Pure").PureEnvEnv<Evt, S1, S2>, never, S2>;
282
+ /**
283
+ * @tsplus fluent DSLExt updateWith
284
+ * @tsplus location "@effect-app/infra/services/Repository"
285
+ */
286
+ export declare function updateWith<T, Evt, S1 extends T, S2 extends T>(self: AllDSL<T, Evt>, upd: (item: Chunk<S1>) => Iterable<S2>): import("@effect/io/Effect").Effect<import("@effect-app/prelude/_ext/Pure").PureEnvEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>, never, Iterable<S2>>;
287
+ export declare function makeOneDSL<T, Evt>(): OneDSL<T, Evt>;
288
+ export declare function makeDSL<S1, S2, Evt>(): (<R, A, E>(pure: (dsl: PureDSL<S1, S2, Evt>) => import("@effect/io/Effect").Effect<R, E, A>) => import("@effect/io/Effect").Effect<FixEnv<R, Evt, S1, S2>, E, A>) & {
289
+ modify: <R_1, E_1, A_1>(pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => import("@effect/io/Effect").Effect<R_1, E_1, A_1>) => import("@effect/io/Effect").Effect<FixEnv<R_1, Evt, S1, S2>, E_1, A_1>;
290
+ update: <R_2, E_2>(pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => import("@effect/io/Effect").Effect<R_2, E_2, S2>) => import("@effect/io/Effect").Effect<FixEnv<R_2, Evt, S1, S2>, E_2, S2>;
291
+ };
292
+ export interface DSLExt<S1, S2, Evt> extends ReturnType<typeof makeDSL<S1, S2, Evt>> {
293
+ }
294
+ export declare function ifAny<T, R, E, A>(fn: (items: NonEmptyReadonlyArray<T>) => Effect<R, E, A>): (items: Iterable<T>) => import("@effect/io/Effect").Effect<R, E, import("@fp-ts/data/Option").Option<A>>;
295
+ /**
296
+ * @tsplus fluent Iterable ifAny
297
+ * @tsplus location "@effect-app/infra/services/Repository"
298
+ */
299
+ export declare function ifAny_<T, R, E, A>(items: Iterable<T>, fn: (items: NonEmptyReadonlyArray<T>) => Effect<R, E, A>): import("@effect/io/Effect").Effect<R, E, import("@fp-ts/data/Option").Option<A>>;
300
+ //# sourceMappingURL=Repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../_src/services/Repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ import * as tracer_1 from "@effect/io/Debug";
2
+ const fileName_1 = "packages/infra/_src/services/Repository.ts";
3
+ import * as tsplus_module_1 from "@effect-app/prelude/_ext/Pure";
4
+ import * as tsplus_module_2 from "@effect-app/prelude/_ext/Prelude.ext";
5
+ import * as tsplus_module_3 from "@effect/io/Effect";
6
+ import * as tsplus_module_4 from "@fp-ts/data/Chunk";
7
+ import * as tsplus_module_5 from "@effect-app/core/Array";
8
+ import * as tsplus_module_6 from "@effect-app/core/Effect";
9
+ export const get = get_1;
10
+ export const projectEffect = projectEffect_1;
11
+ export const queryEffect = queryEffect_1;
12
+ export const queryOneEffect = queryOneEffect_1;
13
+ export const queryAndSavePureEffect = queryAndSavePureEffect_1;
14
+ export const byIdAndSaveWithPure = byIdAndSaveWithPure_1;
15
+ export const saveManyWithPure_ = saveManyWithPure_1;
16
+ export const saveWithPure_ = saveWithPure_1;
17
+ import { NotFoundError } from "../errors.js";
18
+ import { ContextMap } from "../services/Store.js";
19
+ import "@effect-app/prelude/_ext/Pure";
20
+ export const AnyPureDSL = { get: tsplus_module_1.get(), set: tsplus_module_1.set, log: (...evt) => tsplus_module_1.logMany(evt) };
21
+ /**
22
+ * @tsplus fluent Repository get
23
+ */
24
+ function get_1(self, id) {
25
+ return tracer_1.withCallTrace(fileName_1 + ":53:24")(tsplus_module_3.flatMap(_ => tsplus_module_2.encaseMaybeInEffect_(_, () => new NotFoundError(self.itemType, id))))(self.find(id));
26
+ }
27
+ /**
28
+ * @tsplus fluent Repository filter
29
+ */
30
+ export function filter(self, filter) {
31
+ return tracer_1.withCallTrace(fileName_1 + ":66:19")(tsplus_module_3.map(_ => tsplus_module_4.filter(filter)(_)))(self.all);
32
+ }
33
+ /**
34
+ * @tsplus fluent Repository filterAll
35
+ */
36
+ export function filterAll(self, map) {
37
+ return tracer_1.withCallTrace(fileName_1 + ":80:19")(tsplus_module_3.map(map))(self.all);
38
+ }
39
+ /**
40
+ * @tsplus fluent Repository collect
41
+ */
42
+ export function collect(self, collect) {
43
+ return tracer_1.withCallTrace(fileName_1 + ":95:19")(tsplus_module_3.map(_ => tsplus_module_4.filterMap(collect)(_)))(self.all);
44
+ }
45
+ /**
46
+ * @tsplus getter Repository log
47
+ */
48
+ export function log(_) {
49
+ return (evt) => AnyPureDSL.log(evt);
50
+ }
51
+ /**
52
+ * TODO: project inside the db.
53
+ * @tsplus fluent Repository projectEffect
54
+ */
55
+ function projectEffect_1(self, map) {
56
+ // TODO: a projection that gets sent to the db instead.
57
+ return tracer_1.withCallTrace(fileName_1 + ":129:14")(tsplus_module_3.flatMap(f => tracer_1.withCallTrace(fileName_1 + ":131:8")(tsplus_module_3.map(_ => tsplus_module_4.filterMap(f.collect)(_)))((f.filter ? self.utils.filter(f.filter, { limit: f.limit, skip: f.skip }) : self.utils.all))))(map);
58
+ }
59
+ /**
60
+ * TODO: project inside the db.
61
+ * @tsplus fluent Repository project
62
+ */
63
+ export function project(self, map) {
64
+ return projectEffect_1(self, tracer_1.withCallTrace(fileName_1 + ":150:29")(tsplus_module_3.sync(() => map)));
65
+ }
66
+ /**
67
+ * @tsplus fluent Repository queryEffect
68
+ */
69
+ function queryEffect_1(self,
70
+ // TODO: think about collectPM, collectE, and collect(Parsed)
71
+ map) {
72
+ return tracer_1.withCallTrace(fileName_1 + ":171:14")(tsplus_module_3.flatMap(f => tracer_1.withCallTrace(fileName_1 + ":180:8")(tsplus_module_3.map(_ => tsplus_module_4.filterMap(f.collect)(_)))(tracer_1.withCallTrace(fileName_1 + ":179:8")(tsplus_module_3.map(_ => _.map(_ => self.utils.parse(_))))(tracer_1.withCallTrace(fileName_1 + ":173:8")(tsplus_module_3.flatMap(items => tsplus_module_3.map(({ set }) => items.map(_ => self.utils.mapReverse(_, set)))(tracer_1.withCallTrace(fileName_1 + ":175:36")(tsplus_module_3.service(ContextMap)))))((f.filter ? self.utils.filter(f.filter, { limit: f.limit, skip: f.skip }) : self.utils.all))))))(map);
73
+ }
74
+ /**
75
+ * @tsplus fluent Repository queryOneEffect
76
+ */
77
+ function queryOneEffect_1(self,
78
+ // TODO: think about collectPM, collectE, and collect(Parsed)
79
+ map) {
80
+ return tracer_1.withCallTrace(fileName_1 + ":201:14")(tsplus_module_3.flatMap(f => tracer_1.withCallTrace(fileName_1 + ":210:8")(tsplus_module_3.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":210:141")(tsplus_module_3.map(_ => _[0]))(tsplus_module_2.encaseMaybeInEffect_(tsplus_module_5.ChunkToNonEmptyReadonlyArray(tsplus_module_4.filterMap(f.collect)(_)), () => new NotFoundError(self.itemType, JSON.stringify(f.filter))))))(tracer_1.withCallTrace(fileName_1 + ":209:8")(tsplus_module_3.map(_ => _.map(_ => self.utils.parse(_))))(tracer_1.withCallTrace(fileName_1 + ":203:8")(tsplus_module_3.flatMap(items => tsplus_module_3.map(({ set }) => items.map(_ => self.utils.mapReverse(_, set)))(tracer_1.withCallTrace(fileName_1 + ":205:36")(tsplus_module_3.service(ContextMap)))))((f.filter ? self.utils.filter(f.filter, { limit: 1 }) : self.utils.all))))))(map);
81
+ }
82
+ /**
83
+ * @tsplus fluent Repository query
84
+ */
85
+ export function query(self,
86
+ // TODO: think about collectPM, collectE, and collect(Parsed)
87
+ map) {
88
+ return queryEffect_1(self, tracer_1.withCallTrace(fileName_1 + ":229:27")(tsplus_module_3.sync(() => map)));
89
+ }
90
+ /**
91
+ * @tsplus fluent Repository queryOne
92
+ */
93
+ export function queryOne(self,
94
+ // TODO: think about collectPM, collectE, and collect(Parsed)
95
+ map) {
96
+ return queryOneEffect_1(self, tracer_1.withCallTrace(fileName_1 + ":247:30")(tsplus_module_3.sync(() => map)));
97
+ }
98
+ /**
99
+ * @tsplus fluent Repository queryAndSavePureEffect
100
+ */
101
+ function queryAndSavePureEffect_1(self,
102
+ // TODO: think about collectPM, collectE, and collect(Parsed)
103
+ map) {
104
+ return (pure) => tracer_1.withCallTrace(fileName_1 + ":269:8")(tsplus_module_3.flatMap(_ => saveManyWithPure_1(self, _, pure)))(queryEffect_1(self, map));
105
+ }
106
+ /**
107
+ * @tsplus fluent Repository queryAndSavePure
108
+ */
109
+ export function queryAndSavePure(self,
110
+ // TODO: think about collectPM, collectE, and collect(Parsed)
111
+ map) {
112
+ return queryAndSavePureEffect_1(self, tracer_1.withCallTrace(fileName_1 + ":287:38")(tsplus_module_3.sync(() => map)));
113
+ }
114
+ /**
115
+ * @tsplus getter Repository saveManyWithPure
116
+ */
117
+ export function saveManyWithPure(self) {
118
+ return (pure) => (items) => saveManyWithPure_1(self, items, pure);
119
+ }
120
+ /**
121
+ * @tsplus fluent Repository byIdAndSaveWithPure
122
+ */
123
+ function byIdAndSaveWithPure_1(self, id) {
124
+ return (pure) => tracer_1.withCallTrace(fileName_1 + ":314:94")(tsplus_module_3.flatMap(item => saveWithPure_1(self, item, pure)))(get_1(self, id));
125
+ }
126
+ /**
127
+ * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
128
+ * @tsplus getter Repository handleByIdAndSaveWithPure
129
+ */
130
+ export function handleByIdAndSaveWithPure(self) {
131
+ return (pure) => (req, ctx) => byIdAndSaveWithPure_1(self, req.id)(pure(req, ctx));
132
+ }
133
+ /**
134
+ * @tsplus fluent Repository saveManyWithPure_
135
+ */
136
+ function saveManyWithPure_1(self, items, pure) {
137
+ return saveAllWithEffectInt(self, tsplus_module_1.runTerm(pure, tsplus_module_5.ext_itToChunk(items)));
138
+ }
139
+ /**
140
+ * @tsplus fluent Repository saveWithPure_
141
+ */
142
+ function saveWithPure_1(self, item, pure) {
143
+ return saveAllWithEffectInt(self, tracer_1.withCallTrace(fileName_1 + ":378:6")(tsplus_module_3.map(([item, events, a]) => [[item], events, a]))(tsplus_module_1.runTerm(pure, item)));
144
+ }
145
+ function saveAllWithEffectInt(self, gen) {
146
+ return tracer_1.withCallTrace(fileName_1 + ":397:6")(tsplus_module_3.flatMap(([items, events, a]) => tracer_1.withCallTrace(fileName_1 + ":400:12")(tsplus_module_3.map(() => a))(self.save(items, events))))(gen);
147
+ }
148
+ const anyDSL = makeDSL();
149
+ export function makeAllDSL() {
150
+ const dsl = anyDSL;
151
+ return dsl;
152
+ }
153
+ /**
154
+ * @tsplus fluent DSLExt updateWith
155
+ */
156
+ export function updateWithOne(self, upd) {
157
+ return self.update((_) => tracer_1.withCallTrace(fileName_1 + ":441:33")(tsplus_module_3.sync(() => upd(_))));
158
+ }
159
+ /**
160
+ * @tsplus fluent DSLExt updateWith
161
+ */
162
+ export function updateWith(self, upd) {
163
+ return self.update((_) => tracer_1.withCallTrace(fileName_1 + ":448:40")(tsplus_module_3.sync(() => upd(_))));
164
+ }
165
+ export function makeOneDSL() {
166
+ return anyDSL;
167
+ }
168
+ export function makeDSL() {
169
+ const dsl = AnyPureDSL;
170
+ function modify(pure) {
171
+ return tracer_1.withCallTrace(fileName_1 + ":468:20")(tsplus_module_3.flatMap(items => pure(items, dsl)))(dsl.get);
172
+ }
173
+ function update(pure) {
174
+ return tracer_1.withCallTrace(fileName_1 + ":480:20")(tsplus_module_3.flatMap(items => tracer_1.withCallTrace(fileName_1 + ":480:58")(tsplus_module_3.tap(dsl.set))(pure(items, dsl.log))))(dsl.get);
175
+ }
176
+ function withDSL(pure) {
177
+ return pure(AnyPureDSL);
178
+ }
179
+ return Object.assign(withDSL, {
180
+ modify,
181
+ update,
182
+ });
183
+ }
184
+ export function ifAny(fn) {
185
+ return (items) => tracer_1.withCallTrace(fileName_1 + ":505:64")(tsplus_module_6.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":505:34")(tsplus_module_3.sync(() => tsplus_module_5.CollectionToNonEmptyReadonlyArray(items))), fn));
186
+ }
187
+ /**
188
+ * @tsplus fluent Iterable ifAny
189
+ */
190
+ export function ifAny_(items, fn) {
191
+ return tracer_1.withCallTrace(fileName_1 + ":512:40")(tsplus_module_6.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":512:10")(tsplus_module_3.sync(() => tsplus_module_5.CollectionToNonEmptyReadonlyArray(items))), fn));
192
+ }
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvc2VydmljZXMvUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OzthQTBDZ0IsR0FBRzthQXdFSCxhQUFhO2FBMENiLFdBQVc7YUE4QlgsY0FBYzthQWtFZCxzQkFBc0I7YUFzRHRCLG1CQUFtQjthQTJCbkIsaUJBQWlCO2FBeUJqQixhQUFhO0FBblc3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVDLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRCxPQUFxQiwrQkFBK0IsQ0FBQTtBQTZCcEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUEyQixFQUFFLEdBQUcsRUFBRSxxQkFBVSxFQUFFLEdBQUcscUJBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxFQUFFLENBQUMsd0JBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQTtBQUUvSDs7R0FFRztBQUNILGVBT0UsSUFBMEMsRUFDMUMsRUFBTTtJQUVOLE9BQU8sc0VBQXNCLENBQUMsQ0FBQyxFQUFFLENBQUMscUNBQUEsQ0FBQyxFQUFnQixHQUFHLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQXZGLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQTJFLENBQUE7QUFDakcsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FNcEIsSUFBMEMsRUFBRSxNQUFvQjtJQUNoRSxPQUFPLGtFQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsdUJBQVMsTUFBTSxFQUFmLENBQUMsQ0FBZSxHQUFsQyxJQUFJLENBQUMsR0FBRyxDQUEyQixDQUFBO0FBQzVDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTLENBT3ZCLElBQTBDLEVB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
@@ -0,0 +1,26 @@
1
+ import { Effect } from "@effect/io/Effect";
2
+ import type { OperationOptionsBase, ProcessErrorArgs, ServiceBusMessage, ServiceBusMessageBatch, ServiceBusReceivedMessage, ServiceBusReceiver, ServiceBusSender } from "@azure/service-bus";
3
+ import { ServiceBusClient } from "@azure/service-bus";
4
+ export declare const LiveServiceBusClient: (url: string) => import("@effect/io/Layer").Layer<never, never, ServiceBusClient>;
5
+ export declare const Sender: import("@fp-ts/data/Context").Tag<ServiceBusSender>;
6
+ export declare function LiveSender(queueName: string): import("@effect/io/Layer").Layer<ServiceBusClient, never, ServiceBusSender>;
7
+ export declare const Receiver: import("@fp-ts/data/Context").Tag<ServiceBusReceiver>;
8
+ export declare function LiveReceiver(queueName: string): import("@effect/io/Layer").Layer<ServiceBusClient, never, ServiceBusReceiver>;
9
+ export declare function sendMessages(messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: OperationOptionsBase): import("@effect/io/Effect").Effect<ServiceBusSender, never, void>;
10
+ export declare function subscribe<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>): import("@effect/io/Effect").Effect<import("@effect/io/Scope").Scope | ServiceBusReceiver | RMsg | RErr, never, void>;
11
+ export declare function Subscription<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>): import("@effect/io/Layer").Layer<ServiceBusReceiver | Exclude<RMsg, import("@effect/io/Scope").Scope> | Exclude<RErr, import("@effect/io/Scope").Scope>, never, void>;
12
+ export interface MessageHandlers<RMsg, RErr> {
13
+ /**
14
+ * Handler that processes messages from service bus.
15
+ *
16
+ * @param message - A message received from Service Bus.
17
+ */
18
+ processMessage(message: ServiceBusReceivedMessage): Effect<RMsg, never, void>;
19
+ /**
20
+ * Handler that processes errors that occur during receiving.
21
+ * @param args - The error and additional context to indicate where
22
+ * the error originated.
23
+ */
24
+ processError(args: ProcessErrorArgs): Effect<RErr, never, void>;
25
+ }
26
+ //# sourceMappingURL=ServiceBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceBus.d.ts","sourceRoot":"","sources":["../../_src/services/ServiceBus.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASrD,eAAO,MAAM,oBAAoB,QAAS,MAAM,qEAA0C,CAAA;AAa1F,eAAO,MAAM,MAAM,qDAA0B,CAAA;AAE7C,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,+EAE3C;AAcD,eAAO,MAAM,QAAQ,uDAA4B,CAAA;AACjD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,iFAE7C;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,sBAAsB,EAC1E,OAAO,CAAC,EAAE,oBAAoB,qEAM/B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,wHAyBvE;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,yKAE1E;AAED,MAAM,WAAW,eAAe,CAAC,IAAI,EAAE,IAAI;IACzC;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7E;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAChE"}