@effect-app/infra 0.198.1 → 0.199.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 (360) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/_cjs/RequestContext.cjs +14 -9
  3. package/_cjs/RequestContext.cjs.map +1 -1
  4. package/_cjs/_ext/Array.cjs +3 -7
  5. package/_cjs/_ext/Array.cjs.map +1 -1
  6. package/_cjs/api/reportError.cjs +3 -6
  7. package/_cjs/api/reportError.cjs.map +1 -1
  8. package/_cjs/api/routing/base.cjs +27 -61
  9. package/_cjs/api/routing/base.cjs.map +1 -1
  10. package/_cjs/api/routing/defaultErrorHandler.cjs +14 -21
  11. package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
  12. package/_cjs/api/routing/makeRequestHandler.cjs +44 -51
  13. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
  14. package/_cjs/api/routing/match.cjs +6 -13
  15. package/_cjs/api/routing/match.cjs.map +1 -1
  16. package/_cjs/api/{express → routing}/schema/jwt.cjs +3 -4
  17. package/_cjs/api/routing/schema/jwt.cjs.map +1 -0
  18. package/_cjs/api/routing/schema/routing.cjs +136 -0
  19. package/_cjs/api/routing/schema/routing.cjs.map +1 -0
  20. package/_cjs/api/setupRequest.cjs +16 -22
  21. package/_cjs/api/setupRequest.cjs.map +1 -1
  22. package/_cjs/errorReporter.cjs +16 -17
  23. package/_cjs/errorReporter.cjs.map +1 -1
  24. package/_cjs/errors.cjs +2 -4
  25. package/_cjs/errors.cjs.map +1 -1
  26. package/_cjs/filter/types/path/index.cjs +0 -2
  27. package/_cjs/filter/types/path/index.cjs.map +1 -1
  28. package/_cjs/filter.cjs +35 -0
  29. package/_cjs/filter.cjs.map +1 -1
  30. package/_cjs/logger/jsonLogger.cjs +9 -15
  31. package/_cjs/logger/jsonLogger.cjs.map +1 -1
  32. package/_cjs/logger/logFmtLogger.cjs +7 -11
  33. package/_cjs/logger/logFmtLogger.cjs.map +1 -1
  34. package/_cjs/logger/shared.cjs +6 -8
  35. package/_cjs/logger/shared.cjs.map +1 -1
  36. package/_cjs/rateLimit.cjs +9 -12
  37. package/_cjs/rateLimit.cjs.map +1 -1
  38. package/_cjs/services/Emailer/Sendgrid.cjs +9 -16
  39. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  40. package/_cjs/services/Emailer/fake.cjs +5 -8
  41. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  42. package/_cjs/services/Emailer/service.cjs +2 -4
  43. package/_cjs/services/Emailer/service.cjs.map +1 -1
  44. package/_cjs/services/Operations/live.cjs +29 -42
  45. package/_cjs/services/Operations/live.cjs.map +1 -1
  46. package/_cjs/services/Operations/service.cjs +15 -15
  47. package/_cjs/services/Operations/service.cjs.map +1 -1
  48. package/_cjs/services/QueueMaker/errors.cjs +8 -12
  49. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  50. package/_cjs/services/QueueMaker/memQueue.cjs +27 -33
  51. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  52. package/_cjs/services/QueueMaker/sbqueue.cjs +31 -40
  53. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  54. package/_cjs/services/QueueMaker/service.cjs +7 -9
  55. package/_cjs/services/QueueMaker/service.cjs.map +1 -1
  56. package/_cjs/services/Repository/dsl.cjs +11 -14
  57. package/_cjs/services/Repository/dsl.cjs.map +1 -1
  58. package/_cjs/services/Repository/ext.cjs +62 -71
  59. package/_cjs/services/Repository/ext.cjs.map +1 -1
  60. package/_cjs/services/RepositoryBase.cjs +171 -169
  61. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  62. package/_cjs/services/RequestContextContainer.cjs +17 -23
  63. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  64. package/_cjs/services/Store/ContextMapContainer.cjs +10 -16
  65. package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
  66. package/_cjs/services/Store/Cosmos/query.cjs +5 -9
  67. package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
  68. package/_cjs/services/Store/Cosmos.cjs +58 -68
  69. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  70. package/_cjs/services/Store/Disk.cjs +34 -36
  71. package/_cjs/services/Store/Disk.cjs.map +1 -1
  72. package/_cjs/services/Store/Memory.cjs +55 -65
  73. package/_cjs/services/Store/Memory.cjs.map +1 -1
  74. package/_cjs/services/Store/codeFilter.cjs +2 -4
  75. package/_cjs/services/Store/codeFilter.cjs.map +1 -1
  76. package/_cjs/services/Store/codeFilter.test.cjs +13 -12
  77. package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
  78. package/_cjs/services/Store/filterApi/query.cjs +2 -4
  79. package/_cjs/services/Store/filterApi/query.cjs.map +1 -1
  80. package/_cjs/services/Store/index.cjs +6 -9
  81. package/_cjs/services/Store/index.cjs.map +1 -1
  82. package/_cjs/services/Store/service.cjs +5 -7
  83. package/_cjs/services/Store/service.cjs.map +1 -1
  84. package/_cjs/services/Store/utils.cjs +16 -20
  85. package/_cjs/services/Store/utils.cjs.map +1 -1
  86. package/_cjs/services/query.cjs +4 -2
  87. package/_cjs/services/query.cjs.map +1 -1
  88. package/_cjs/test.arbs.cjs +3 -4
  89. package/_cjs/test.arbs.cjs.map +1 -1
  90. package/dist/RequestContext.d.ts +20 -20
  91. package/dist/RequestContext.d.ts.map +1 -1
  92. package/dist/RequestContext.js +15 -8
  93. package/dist/_ext/Array.d.ts +2 -3
  94. package/dist/_ext/Array.d.ts.map +1 -1
  95. package/dist/_ext/Array.js +5 -5
  96. package/dist/api/reportError.d.ts +5 -5
  97. package/dist/api/reportError.d.ts.map +1 -1
  98. package/dist/api/reportError.js +6 -6
  99. package/dist/api/routing/base.d.ts +11 -15
  100. package/dist/api/routing/base.d.ts.map +1 -1
  101. package/dist/api/routing/base.js +48 -67
  102. package/dist/api/routing/defaultErrorHandler.d.ts +4 -6
  103. package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -1
  104. package/dist/api/routing/defaultErrorHandler.js +26 -28
  105. package/dist/api/routing/makeRequestHandler.d.ts +6 -7
  106. package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
  107. package/dist/api/routing/makeRequestHandler.js +69 -59
  108. package/dist/api/routing/match.d.ts +7 -8
  109. package/dist/api/routing/match.d.ts.map +1 -1
  110. package/dist/api/routing/match.js +7 -11
  111. package/dist/api/routing/schema/jwt.d.ts +4 -0
  112. package/dist/api/routing/schema/jwt.d.ts.map +1 -0
  113. package/dist/api/routing/schema/jwt.js +11 -0
  114. package/dist/api/{express → routing}/schema/routing.d.ts +2 -2
  115. package/dist/api/routing/schema/routing.d.ts.map +1 -0
  116. package/dist/api/routing/schema/routing.js +123 -0
  117. package/dist/api/routing.js +3 -1
  118. package/dist/api/setupRequest.d.ts +3 -5
  119. package/dist/api/setupRequest.d.ts.map +1 -1
  120. package/dist/api/setupRequest.js +20 -24
  121. package/dist/errorReporter.d.ts +4 -4
  122. package/dist/errorReporter.d.ts.map +1 -1
  123. package/dist/errorReporter.js +20 -17
  124. package/dist/errors.d.ts +1 -1
  125. package/dist/errors.d.ts.map +1 -1
  126. package/dist/errors.js +3 -3
  127. package/dist/filter/types/path/index.d.ts +2 -2
  128. package/dist/filter/types/path/index.d.ts.map +1 -1
  129. package/dist/filter/types/path/index.js +2 -3
  130. package/dist/filter/types.js +2 -1
  131. package/dist/filter.d.ts.map +1 -1
  132. package/dist/filter.js +36 -1
  133. package/dist/logger/jsonLogger.d.ts +2 -1
  134. package/dist/logger/jsonLogger.d.ts.map +1 -1
  135. package/dist/logger/jsonLogger.js +9 -13
  136. package/dist/logger/logFmtLogger.d.ts +2 -1
  137. package/dist/logger/logFmtLogger.d.ts.map +1 -1
  138. package/dist/logger/logFmtLogger.js +9 -11
  139. package/dist/logger/shared.d.ts +2 -1
  140. package/dist/logger/shared.d.ts.map +1 -1
  141. package/dist/logger/shared.js +7 -9
  142. package/dist/rateLimit.d.ts +7 -10
  143. package/dist/rateLimit.d.ts.map +1 -1
  144. package/dist/rateLimit.js +17 -16
  145. package/dist/services/Emailer/Sendgrid.d.ts +1 -2
  146. package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
  147. package/dist/services/Emailer/Sendgrid.js +16 -20
  148. package/dist/services/Emailer/fake.d.ts +2 -2
  149. package/dist/services/Emailer/fake.d.ts.map +1 -1
  150. package/dist/services/Emailer/fake.js +10 -8
  151. package/dist/services/Emailer/service.d.ts +7 -10
  152. package/dist/services/Emailer/service.d.ts.map +1 -1
  153. package/dist/services/Emailer/service.js +3 -3
  154. package/dist/services/Operations/live.d.ts +2 -3
  155. package/dist/services/Operations/live.d.ts.map +1 -1
  156. package/dist/services/Operations/live.js +44 -51
  157. package/dist/services/Operations/service.d.ts +14 -19
  158. package/dist/services/Operations/service.d.ts.map +1 -1
  159. package/dist/services/Operations/service.js +23 -28
  160. package/dist/services/QueueMaker/errors.d.ts +5 -7
  161. package/dist/services/QueueMaker/errors.d.ts.map +1 -1
  162. package/dist/services/QueueMaker/errors.js +11 -11
  163. package/dist/services/QueueMaker/memQueue.d.ts +6 -9
  164. package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
  165. package/dist/services/QueueMaker/memQueue.js +37 -39
  166. package/dist/services/QueueMaker/sbqueue.d.ts +6 -9
  167. package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
  168. package/dist/services/QueueMaker/sbqueue.js +41 -39
  169. package/dist/services/QueueMaker/service.d.ts +2 -4
  170. package/dist/services/QueueMaker/service.d.ts.map +1 -1
  171. package/dist/services/QueueMaker/service.js +8 -8
  172. package/dist/services/Repository/dsl.d.ts +8 -10
  173. package/dist/services/Repository/dsl.d.ts.map +1 -1
  174. package/dist/services/Repository/dsl.js +12 -13
  175. package/dist/services/Repository/ext.d.ts +34 -62
  176. package/dist/services/Repository/ext.d.ts.map +1 -1
  177. package/dist/services/Repository/ext.js +59 -70
  178. package/dist/services/RepositoryBase.d.ts +41 -47
  179. package/dist/services/RepositoryBase.d.ts.map +1 -1
  180. package/dist/services/RepositoryBase.js +182 -194
  181. package/dist/services/RequestContextContainer.d.ts +13 -21
  182. package/dist/services/RequestContextContainer.d.ts.map +1 -1
  183. package/dist/services/RequestContextContainer.js +21 -25
  184. package/dist/services/Store/ContextMapContainer.d.ts +11 -18
  185. package/dist/services/Store/ContextMapContainer.d.ts.map +1 -1
  186. package/dist/services/Store/ContextMapContainer.js +17 -18
  187. package/dist/services/Store/Cosmos/query.d.ts +3 -2
  188. package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
  189. package/dist/services/Store/Cosmos/query.js +10 -11
  190. package/dist/services/Store/Cosmos.d.ts +2 -3
  191. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  192. package/dist/services/Store/Cosmos.js +107 -90
  193. package/dist/services/Store/Disk.d.ts +4 -4
  194. package/dist/services/Store/Disk.d.ts.map +1 -1
  195. package/dist/services/Store/Disk.js +54 -50
  196. package/dist/services/Store/Memory.d.ts +6 -8
  197. package/dist/services/Store/Memory.d.ts.map +1 -1
  198. package/dist/services/Store/Memory.js +93 -89
  199. package/dist/services/Store/codeFilter.d.ts.map +1 -1
  200. package/dist/services/Store/codeFilter.js +3 -3
  201. package/dist/services/Store/codeFilter.test.d.ts.map +1 -1
  202. package/dist/services/Store/filterApi/query.d.ts +1 -1
  203. package/dist/services/Store/filterApi/query.d.ts.map +1 -1
  204. package/dist/services/Store/filterApi/query.js +3 -3
  205. package/dist/services/Store/index.d.ts +1 -2
  206. package/dist/services/Store/index.d.ts.map +1 -1
  207. package/dist/services/Store/index.js +7 -8
  208. package/dist/services/Store/service.d.ts +20 -23
  209. package/dist/services/Store/service.d.ts.map +1 -1
  210. package/dist/services/Store/service.js +6 -6
  211. package/dist/services/Store/utils.d.ts +3 -3
  212. package/dist/services/Store/utils.d.ts.map +1 -1
  213. package/dist/services/Store/utils.js +26 -28
  214. package/dist/services/query.d.ts +6 -6
  215. package/dist/services/query.d.ts.map +1 -1
  216. package/dist/services/query.js +5 -4
  217. package/dist/test.arbs.d.ts +0 -2
  218. package/dist/test.arbs.d.ts.map +1 -1
  219. package/dist/test.arbs.js +3 -4
  220. package/package.json +28 -168
  221. package/src/RequestContext.ts +1 -0
  222. package/src/_ext/Array.ts +5 -2
  223. package/src/api/reportError.ts +14 -10
  224. package/src/api/routing/base.ts +77 -110
  225. package/src/api/routing/defaultErrorHandler.ts +64 -54
  226. package/src/api/routing/makeRequestHandler.ts +165 -135
  227. package/src/api/routing/match.ts +14 -8
  228. package/src/api/{express → routing}/schema/jwt.ts +6 -5
  229. package/src/api/{express → routing}/schema/routing.ts +2 -1
  230. package/src/api/setupRequest.ts +30 -24
  231. package/src/errorReporter.ts +12 -11
  232. package/src/errors.ts +1 -0
  233. package/src/filter/types/path/index.ts +2 -2
  234. package/src/logger/jsonLogger.ts +6 -5
  235. package/src/logger/logFmtLogger.ts +4 -5
  236. package/src/logger/shared.ts +4 -3
  237. package/src/rateLimit.ts +37 -34
  238. package/src/services/Emailer/Sendgrid.ts +12 -10
  239. package/src/services/Emailer/fake.ts +7 -4
  240. package/src/services/Emailer/service.ts +4 -1
  241. package/src/services/Operations/live.ts +66 -59
  242. package/src/services/Operations/service.ts +41 -34
  243. package/src/services/QueueMaker/errors.ts +15 -11
  244. package/src/services/QueueMaker/memQueue.ts +59 -40
  245. package/src/services/QueueMaker/sbqueue.ts +54 -33
  246. package/src/services/QueueMaker/service.ts +7 -6
  247. package/src/services/Repository/dsl.ts +12 -8
  248. package/src/services/Repository/ext.ts +52 -44
  249. package/src/services/RepositoryBase.ts +278 -240
  250. package/src/services/RequestContextContainer.ts +30 -18
  251. package/src/services/Store/ContextMapContainer.ts +26 -13
  252. package/src/services/Store/Cosmos/query.ts +17 -11
  253. package/src/services/Store/Cosmos.ts +209 -168
  254. package/src/services/Store/Disk.ts +69 -53
  255. package/src/services/Store/Memory.ts +138 -97
  256. package/src/services/Store/{Redis.ts → Redis.ts.bak} +7 -5
  257. package/src/services/Store/codeFilter.test.ts +61 -36
  258. package/src/services/Store/codeFilter.ts +1 -0
  259. package/src/services/Store/filterApi/query.ts +1 -0
  260. package/src/services/Store/index.ts +7 -6
  261. package/src/services/Store/service.ts +4 -1
  262. package/src/services/Store/utils.ts +25 -23
  263. package/src/services/query.ts +3 -3
  264. package/src/services/simpledb/{cosmosdb.ts → cosmosdb.ts.bak} +1 -0
  265. package/src/services/simpledb/{diskdb.ts → diskdb.ts.bak} +2 -1
  266. package/src/services/simpledb/{memdb.ts → memdb.ts.bak} +3 -2
  267. package/src/services/simpledb/{mongodb.ts → mongodb.ts.bak} +1 -0
  268. package/src/services/simpledb/{redisdb.ts → redisdb.ts.bak} +17 -14
  269. package/src/services/simpledb/{shared.ts → shared.ts.bak} +2 -1
  270. package/src/services/simpledb/{simpledb.ts → simpledb.ts.bak} +6 -2
  271. package/tsconfig.json +4 -21
  272. package/tsconfig.json.bak +0 -4
  273. package/_cjs/_global.cjs +0 -6
  274. package/_cjs/_global.cjs.map +0 -1
  275. package/_cjs/_global.ext.cjs +0 -5
  276. package/_cjs/_global.ext.cjs.map +0 -1
  277. package/_cjs/_global.schema.cjs +0 -5
  278. package/_cjs/_global.schema.cjs.map +0 -1
  279. package/_cjs/api/defaultErrorHandler.cjs +0 -37
  280. package/_cjs/api/defaultErrorHandler.cjs.map +0 -1
  281. package/_cjs/api/express/schema/jwt.cjs.map +0 -1
  282. package/_cjs/api/express/schema/routing.cjs +0 -23
  283. package/_cjs/api/express/schema/routing.cjs.map +0 -1
  284. package/_cjs/api/http.cjs +0 -42
  285. package/_cjs/api/http.cjs.map +0 -1
  286. package/_cjs/services/Store/Redis.cjs +0 -73
  287. package/_cjs/services/Store/Redis.cjs.map +0 -1
  288. package/_cjs/services/simpledb/cosmosdb.cjs +0 -109
  289. package/_cjs/services/simpledb/cosmosdb.cjs.map +0 -1
  290. package/_cjs/services/simpledb/diskdb.cjs +0 -125
  291. package/_cjs/services/simpledb/diskdb.cjs.map +0 -1
  292. package/_cjs/services/simpledb/index.cjs +0 -38
  293. package/_cjs/services/simpledb/index.cjs.map +0 -1
  294. package/_cjs/services/simpledb/memdb.cjs +0 -72
  295. package/_cjs/services/simpledb/memdb.cjs.map +0 -1
  296. package/_cjs/services/simpledb/mongodb.cjs +0 -99
  297. package/_cjs/services/simpledb/mongodb.cjs.map +0 -1
  298. package/_cjs/services/simpledb/redisdb.cjs +0 -135
  299. package/_cjs/services/simpledb/redisdb.cjs.map +0 -1
  300. package/_cjs/services/simpledb/shared.cjs +0 -79
  301. package/_cjs/services/simpledb/shared.cjs.map +0 -1
  302. package/_cjs/services/simpledb/simpledb.cjs +0 -85
  303. package/_cjs/services/simpledb/simpledb.cjs.map +0 -1
  304. package/dist/_global.d.ts +0 -10
  305. package/dist/_global.d.ts.map +0 -1
  306. package/dist/_global.ext.d.ts +0 -34
  307. package/dist/_global.ext.d.ts.map +0 -1
  308. package/dist/_global.ext.js +0 -6
  309. package/dist/_global.js +0 -12
  310. package/dist/_global.schema.d.ts +0 -6
  311. package/dist/_global.schema.d.ts.map +0 -1
  312. package/dist/_global.schema.js +0 -9
  313. package/dist/api/defaultErrorHandler.d.ts +0 -6
  314. package/dist/api/defaultErrorHandler.d.ts.map +0 -1
  315. package/dist/api/defaultErrorHandler.js +0 -34
  316. package/dist/api/express/schema/jwt.d.ts +0 -6
  317. package/dist/api/express/schema/jwt.d.ts.map +0 -1
  318. package/dist/api/express/schema/jwt.js +0 -11
  319. package/dist/api/express/schema/routing.d.ts.map +0 -1
  320. package/dist/api/express/schema/routing.js +0 -10
  321. package/dist/api/http.d.ts +0 -16
  322. package/dist/api/http.d.ts.map +0 -1
  323. package/dist/api/http.js +0 -12
  324. package/dist/services/Store/Redis.d.ts +0 -6
  325. package/dist/services/Store/Redis.d.ts.map +0 -1
  326. package/dist/services/Store/Redis.js +0 -76
  327. package/dist/services/simpledb/cosmosdb.d.ts +0 -14
  328. package/dist/services/simpledb/cosmosdb.d.ts.map +0 -1
  329. package/dist/services/simpledb/cosmosdb.js +0 -103
  330. package/dist/services/simpledb/diskdb.d.ts +0 -12
  331. package/dist/services/simpledb/diskdb.d.ts.map +0 -1
  332. package/dist/services/simpledb/diskdb.js +0 -109
  333. package/dist/services/simpledb/index.d.ts +0 -7
  334. package/dist/services/simpledb/index.d.ts.map +0 -1
  335. package/dist/services/simpledb/index.js +0 -7
  336. package/dist/services/simpledb/memdb.d.ts +0 -11
  337. package/dist/services/simpledb/memdb.d.ts.map +0 -1
  338. package/dist/services/simpledb/memdb.js +0 -58
  339. package/dist/services/simpledb/mongodb.d.ts +0 -13
  340. package/dist/services/simpledb/mongodb.d.ts.map +0 -1
  341. package/dist/services/simpledb/mongodb.js +0 -68
  342. package/dist/services/simpledb/redisdb.d.ts +0 -35
  343. package/dist/services/simpledb/redisdb.d.ts.map +0 -1
  344. package/dist/services/simpledb/redisdb.js +0 -126
  345. package/dist/services/simpledb/shared.d.ts +0 -87
  346. package/dist/services/simpledb/shared.d.ts.map +0 -1
  347. package/dist/services/simpledb/shared.js +0 -52
  348. package/dist/services/simpledb/simpledb.d.ts +0 -23
  349. package/dist/services/simpledb/simpledb.d.ts.map +0 -1
  350. package/dist/services/simpledb/simpledb.js +0 -69
  351. package/src/_global.ext.ts +0 -36
  352. package/src/_global.schema.ts +0 -10
  353. package/src/_global.ts +0 -14
  354. package/src/api/defaultErrorHandler.ts +0 -59
  355. package/src/api/express/makeJsonSchema.test.ts.bak +0 -76
  356. package/src/api/express/makeJsonSchema.ts.bak +0 -166
  357. package/src/api/express/makeOpenApiSpecs.ts.bak +0 -62
  358. package/src/api/http.ts +0 -26
  359. package/tsplus.config.json +0 -9
  360. /package/src/services/simpledb/{index.ts → index.ts.bak} +0 -0
@@ -4,23 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CosmosStoreLayer = CosmosStoreLayer;
7
- var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
8
- var tsplus_module_2 = _interopRequireWildcard(require("effect/Option"));
9
- var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Array"));
10
- var tsplus_module_4 = _interopRequireWildcard(require("effect/Chunk"));
11
- var tsplus_module_5 = _interopRequireWildcard(require("effect/Duration"));
12
- var _utils = _interopRequireWildcard(require("effect-app/utils"));
13
- var tsplus_module_6 = _utils;
14
- var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
15
- var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Effect"));
16
- var tsplus_module_9 = _interopRequireWildcard(require("effect/Secret"));
17
- var tsplus_module_10 = _interopRequireWildcard(require("effect/Layer"));
7
+ var _Array = require("@effect-app/core/Array");
18
8
  var _cosmosClient = require("@effect-app/infra-adapters/cosmos-client");
9
+ var _effectApp = require("effect-app");
10
+ var _utils = require("effect-app/utils");
19
11
  var _errors = require("../../errors.cjs");
20
12
  var _query = require("./Cosmos/query.cjs");
21
13
  var _service = require("./service.cjs");
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
14
  /* eslint-disable @typescript-eslint/no-explicit-any */
25
15
 
26
16
  class CosmosDbOperationError {
@@ -32,14 +22,14 @@ class CosmosDbOperationError {
32
22
  function makeCosmosStore({
33
23
  prefix
34
24
  }) {
35
- return tsplus_module_1.gen(function* ($) {
25
+ return _effectApp.Effect.gen(function* ($) {
36
26
  const {
37
27
  db
38
28
  } = yield* $(_cosmosClient.CosmosClient);
39
29
  return {
40
- make: (name, seed, config) => tsplus_module_1.gen(function* ($) {
30
+ make: (name, seed, config) => _effectApp.Effect.gen(function* ($) {
41
31
  const containerId = `${prefix}${name}`;
42
- yield* $(tsplus_module_1.promise(() => db.containers.createIfNotExists((0, _utils.dropUndefinedT)({
32
+ yield* $(_effectApp.Effect.promise(() => db.containers.createIfNotExists((0, _utils.dropUndefinedT)({
43
33
  id: containerId,
44
34
  uniqueKeyPolicy: config?.uniqueKeys ? {
45
35
  uniqueKeys: config.uniqueKeys
@@ -50,10 +40,10 @@ function makeCosmosStore({
50
40
  const bulk = container.items.bulk.bind(container.items);
51
41
  const execBatch = container.items.batch.bind(container.items);
52
42
  const importedMarkerId = containerId;
53
- const bulkSet = items => tsplus_module_1.withSpan(tsplus_module_1.gen(function* ($) {
43
+ const bulkSet = items => _effectApp.Effect.gen(function* ($) {
54
44
  // TODO: disable batching if need atomicity
55
45
  // we delay and batch to keep low amount of RUs
56
- const b = [...items].map(x => [x, tsplus_module_2.match(tsplus_module_2.fromNullable(x._etag), {
46
+ const b = [...items].map(x => [x, _effectApp.Option.match(_effectApp.Option.fromNullable(x._etag), {
57
47
  onNone: () => (0, _utils.dropUndefinedT)({
58
48
  operationType: "Create",
59
49
  resourceBody: {
@@ -73,35 +63,35 @@ function makeCosmosStore({
73
63
  partitionKey: config?.partitionValue(x)
74
64
  })
75
65
  })]);
76
- const batches = tsplus_module_4.toReadonlyArray(tsplus_module_3.chunk_(b, config?.maxBulkSize ?? 10));
77
- const batchResult = yield* $(batches.map((x, i) => [i, x]).forEachEffect(([i, batch]) => tsplus_module_1.delay(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))), tsplus_module_5.millis(i === 0 ? 0 : 1100)).flatMap(responses => tsplus_module_1.gen(function* ($) {
66
+ const batches = _effectApp.Chunk.toReadonlyArray(_effectApp.ReadonlyArray.chunk_(b, config?.maxBulkSize ?? 10));
67
+ const batchResult = yield* $(_effectApp.Effect.forEach(batches.map((x, i) => [i, x]), ([i, batch]) => _effectApp.Effect.promise(() => bulk(batch.map(([, op]) => op))).pipe(_effectApp.Effect.delay(_effectApp.Duration.millis(i === 0 ? 0 : 1100)), _effectApp.Effect.flatMap(responses => _effectApp.Effect.gen(function* ($) {
78
68
  const r = responses.find(x => x.statusCode === 412 || x.statusCode === 404);
79
69
  if (r) {
80
- return yield* $(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException({
70
+ return yield* $(_effectApp.Effect.fail(new _errors.OptimisticConcurrencyException({
81
71
  type: name,
82
72
  id: JSON.stringify(r.resourceBody?.["id"])
83
73
  })));
84
74
  }
85
75
  const r2 = responses.find(x => x.statusCode > 299 || x.statusCode < 200);
86
76
  if (r2) {
87
- return yield* $(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode)));
77
+ return yield* $(_effectApp.Effect.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode)));
88
78
  }
89
79
  return batch.map(([e], i) => ({
90
80
  ...e,
91
81
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
92
82
  _etag: responses[i].eTag
93
83
  }));
94
- }))));
84
+ })))));
95
85
  return batchResult.flat();
96
- }), "Cosmos.bulkSet [effect-app/infra/Store]", {
86
+ }).pipe(_effectApp.Effect.withSpan("Cosmos.bulkSet [effect-app/infra/Store]", {
97
87
  attributes: {
98
88
  "repository.container_id": containerId,
99
89
  "repository.model_name": name
100
90
  }
101
- });
91
+ }));
102
92
  const batchSet = items => {
103
- return tsplus_module_1.withSpan(tsplus_module_1.suspend(() => {
104
- const batch = [...items].map(x => [x, tsplus_module_2.match(tsplus_module_2.fromNullable(x._etag), {
93
+ return _effectApp.Effect.suspend(() => {
94
+ const batch = [...items].map(x => [x, _effectApp.Option.match(_effectApp.Option.fromNullable(x._etag), {
105
95
  onNone: () => ({
106
96
  operationType: "Create",
107
97
  resourceBody: {
@@ -120,7 +110,7 @@ function makeCosmosStore({
120
110
  })
121
111
  })]);
122
112
  const ex = batch.map(([, c]) => c);
123
- return tsplus_module_1.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey)).flatMap(x => tsplus_module_1.gen(function* ($) {
113
+ return _effectApp.Effect.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey)).pipe(_effectApp.Effect.flatMap(x => _effectApp.Effect.gen(function* ($) {
124
114
  const result = x.result ?? [];
125
115
  const firstFailed = result.find(x => x.statusCode > 299 || x.statusCode < 200);
126
116
  if (firstFailed) {
@@ -131,42 +121,42 @@ function makeCosmosStore({
131
121
  id: "batch"
132
122
  }));
133
123
  }
134
- return yield* $(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + code)));
124
+ return yield* $(_effectApp.Effect.die(new CosmosDbOperationError("not able to update record: " + code)));
135
125
  }
136
126
  return batch.map(([e], i) => ({
137
127
  ...e,
138
128
  _etag: result[i]?.eTag
139
129
  }));
140
- }));
141
- }), "Cosmos.batchSet [effect-app/infra/Store]", {
130
+ })));
131
+ }).pipe(_effectApp.Effect.withSpan("Cosmos.batchSet [effect-app/infra/Store]", {
142
132
  attributes: {
143
133
  "repository.container_id": containerId,
144
134
  "repository.model_name": name
145
135
  }
146
- });
136
+ }));
147
137
  };
148
138
  const s = {
149
- all: tsplus_module_1.withSpan(tsplus_module_1.sync(() => ({
139
+ all: _effectApp.Effect.sync(() => ({
150
140
  query: `SELECT * FROM ${name} f WHERE f.id != @id`,
151
141
  parameters: [{
152
142
  name: "@id",
153
143
  value: importedMarkerId
154
144
  }]
155
- })).tap(q => (0, _query.logQuery)(q)).flatMap(q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
145
+ })).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
156
146
  resources
157
- }) => resources))), "Cosmos.all [effect-app/infra/Store]", {
147
+ }) => resources))), _effectApp.Effect.withSpan("Cosmos.all [effect-app/infra/Store]", {
158
148
  attributes: {
159
149
  "repository.container_id": containerId,
160
150
  "repository.model_name": name
161
151
  }
162
- }),
163
- filterJoinSelect: (filter, cursor) => tsplus_module_1.withSpan(filter.keys.forEachEffect(k => tsplus_module_1.sync(() => (0, _query.buildFilterJoinSelectCosmosQuery)(filter, k, name, cursor?.skip, cursor?.limit)).tap(q => (0, _query.logQuery)(q)).flatMap(q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
152
+ })),
153
+ filterJoinSelect: (filter, cursor) => _effectApp.Effect.forEach(filter.keys, k => _effectApp.Effect.sync(() => (0, _query.buildFilterJoinSelectCosmosQuery)(filter, k, name, cursor?.skip, cursor?.limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
164
154
  resources
165
155
  }) => resources.map(_ => ({
166
156
  ...defaultValues,
167
157
  ..._
168
- })))))).map(a => {
169
- const v = a.flatMap(_ => _).map(x => tsplus_module_6.spread(x, ({
158
+ }))))))).pipe(_effectApp.Effect.map(a => {
159
+ const v = a.flatMap(_ => _).map(x => (0, _utils.spread)(x, ({
170
160
  r,
171
161
  ...rest
172
162
  }) => ({
@@ -174,12 +164,12 @@ function makeCosmosStore({
174
164
  ...r
175
165
  })));
176
166
  return v;
177
- }), "Cosmos.filterJoinSelect [effect-app/infra/Store]", {
167
+ }), _effectApp.Effect.withSpan("Cosmos.filterJoinSelect [effect-app/infra/Store]", {
178
168
  attributes: {
179
169
  "repository.container_id": containerId,
180
170
  "repository.model_name": name
181
171
  }
182
- }),
172
+ })),
183
173
  /**
184
174
  * May return duplicate results for "join_find", when matching more than once.
185
175
  */
@@ -190,16 +180,16 @@ function makeCosmosStore({
190
180
  type: "new-kid",
191
181
  build: () => []
192
182
  };
193
- return tsplus_module_1.withSpan(filter.type === "join_find"
183
+ return (filter.type === "join_find"
194
184
  // This is a problem if one of the multiple joined arrays can be empty!
195
185
  // https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
196
186
  // so we use multiple queries instead.
197
- ? filter.keys.forEachEffect(k => tsplus_module_1.sync(() => (0, _query.buildFindJoinCosmosQuery)(filter, k, name, skip, limit)).tap(q => (0, _query.logQuery)(q)).flatMap(q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
187
+ ? _effectApp.Effect.forEach(filter.keys, k => _effectApp.Effect.sync(() => (0, _query.buildFindJoinCosmosQuery)(filter, k, name, skip, limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
198
188
  resources
199
189
  }) => resources.map(_ => ({
200
190
  ...defaultValues,
201
191
  ..._
202
- })))))).map(_ => _.flatMap(_ => _)) : filter.type === "new-kid" ? tsplus_module_1.sync(() => (0, _query.buildWhereCosmosQuery3)(filter.build(), name, importedMarkerId, defaultValues, f.select, f.order, skip, limit)).tap(q => (0, _query.logQuery)(q)).flatMap(q => tsplus_module_1.promise(() => f.select ? container.items.query(q).fetchAll().then(({
192
+ }))))))).pipe(_effectApp.Effect.map(_ => _.flatMap(_ => _))) : filter.type === "new-kid" ? _effectApp.Effect.sync(() => (0, _query.buildWhereCosmosQuery3)(filter.build(), name, importedMarkerId, defaultValues, f.select, f.order, skip, limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => f.select ? container.items.query(q).fetchAll().then(({
203
193
  resources
204
194
  }) => resources.map(_ => ({
205
195
  ...(0, _utils.pick)(defaultValues, f.select),
@@ -209,37 +199,37 @@ function makeCosmosStore({
209
199
  }) => resources.map(_ => ({
210
200
  ...defaultValues,
211
201
  ..._.f
212
- }))))) : tsplus_module_1.sync(() => (0, _query.buildCosmosQuery)(filter, name, importedMarkerId, defaultValues, skip, limit)).tap(q => (0, _query.logQuery)(q)).flatMap(q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
202
+ })))))) : _effectApp.Effect.sync(() => (0, _query.buildCosmosQuery)(filter, name, importedMarkerId, defaultValues, skip, limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
213
203
  resources
214
204
  }) => resources.map(_ => ({
215
205
  ...defaultValues,
216
206
  ..._.f
217
- }))))), "Cosmos.filter [effect-app/infra/Store]", {
207
+ }))))))).pipe(_effectApp.Effect.withSpan("Cosmos.filter [effect-app/infra/Store]", {
218
208
  attributes: {
219
209
  "repository.container_id": containerId,
220
210
  "repository.model_name": name
221
211
  }
222
- });
212
+ }));
223
213
  },
224
- find: id => tsplus_module_1.withSpan(tsplus_module_1.promise(() => container.item(id, config?.partitionValue({
214
+ find: id => _effectApp.Effect.promise(() => container.item(id, config?.partitionValue({
225
215
  id
226
216
  })).read().then(({
227
217
  resource
228
- }) => tsplus_module_2.fromNullable(resource).map(_ => ({
218
+ }) => _effectApp.Option.fromNullable(resource).pipe(_effectApp.Option.map(_ => ({
229
219
  ...defaultValues,
230
220
  ..._
231
- })))), "Cosmos.find [effect-app/infra/Store]", {
221
+ }))))).pipe(_effectApp.Effect.withSpan("Cosmos.find [effect-app/infra/Store]", {
232
222
  attributes: {
233
223
  "repository.container_id": containerId,
234
224
  "repository.model_name": name
235
225
  }
236
- }),
237
- set: e => tsplus_module_1.withSpan(tsplus_module_2.match(tsplus_module_2.fromNullable(e._etag), {
238
- onNone: () => tsplus_module_1.promise(() => container.items.create({
226
+ })),
227
+ set: e => _effectApp.Option.match(_effectApp.Option.fromNullable(e._etag), {
228
+ onNone: () => _effectApp.Effect.promise(() => container.items.create({
239
229
  ...e,
240
230
  _partitionKey: config?.partitionValue(e)
241
231
  })),
242
- onSome: eTag => tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).replace({
232
+ onSome: eTag => _effectApp.Effect.promise(() => container.item(e.id, config?.partitionValue(e)).replace({
243
233
  ...e,
244
234
  _partitionKey: config?.partitionValue(e)
245
235
  }, {
@@ -248,7 +238,7 @@ function makeCosmosStore({
248
238
  condition: eTag
249
239
  }
250
240
  }))
251
- }).flatMap(x => {
241
+ }).pipe(_effectApp.Effect.flatMap(x => {
252
242
  if (x.statusCode === 412 || x.statusCode === 404) {
253
243
  return new _errors.OptimisticConcurrencyException({
254
244
  type: name,
@@ -256,41 +246,41 @@ function makeCosmosStore({
256
246
  });
257
247
  }
258
248
  if (x.statusCode > 299 || x.statusCode < 200) {
259
- return tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
249
+ return _effectApp.Effect.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
260
250
  }
261
- return tsplus_module_1.sync(() => ({
251
+ return _effectApp.Effect.sync(() => ({
262
252
  ...e,
263
253
  _etag: x.etag
264
254
  }));
265
- }), "Cosmos.set [effect-app/infra/Store]", {
255
+ }), _effectApp.Effect.withSpan("Cosmos.set [effect-app/infra/Store]", {
266
256
  attributes: {
267
257
  "repository.container_id": containerId,
268
258
  "repository.model_name": name
269
259
  }
270
- }),
260
+ })),
271
261
  batchSet,
272
262
  bulkSet,
273
- remove: e => tsplus_module_1.withSpan(tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).delete()), "Cosmos.remove [effect-app/infra/Store]", {
263
+ remove: e => _effectApp.Effect.promise(() => container.item(e.id, config?.partitionValue(e)).delete()).pipe(_effectApp.Effect.withSpan("Cosmos.remove [effect-app/infra/Store]", {
274
264
  attributes: {
275
265
  "repository.container_id": containerId,
276
266
  "repository.model_name": name
277
267
  }
278
- })
268
+ }))
279
269
  };
280
270
  // handle mock data
281
- const marker = yield* $(tsplus_module_1.promise(() => container.item(importedMarkerId, importedMarkerId).read().then(({
271
+ const marker = yield* $(_effectApp.Effect.promise(() => container.item(importedMarkerId, importedMarkerId).read().then(({
282
272
  resource
283
- }) => tsplus_module_2.fromNullable(resource))));
284
- if (!tsplus_module_2.isSome(marker)) {
273
+ }) => _effectApp.Option.fromNullable(resource))));
274
+ if (!_effectApp.Option.isSome(marker)) {
285
275
  console.log("Creating mock data for " + name);
286
276
  if (seed) {
287
277
  const m = yield* $(seed);
288
- yield* $(tsplus_module_8.flatMapOption(tsplus_module_1.succeed(tsplus_module_7.CollectionToNonEmptyReadonlyArray(m)), a => tsplus_module_1.delay(s.bulkSet(a).orDie
278
+ yield* $(_effectApp.Effect.flatMapOption(_effectApp.Effect.succeed((0, _Array.toNonEmptyArray)([...m])), a => s.bulkSet(a).pipe(_effectApp.Effect.orDie, _effectApp.Effect
289
279
  // we delay extra here, so that initial creation between Companies/POs also have an interval between them.
290
- , tsplus_module_5.millis(1100))));
280
+ .delay(_effectApp.Duration.millis(1100)))));
291
281
  }
292
282
  // Mark as imported
293
- yield* $(tsplus_module_1.promise(() => container.items.create({
283
+ yield* $(_effectApp.Effect.promise(() => container.items.create({
294
284
  _partitionKey: importedMarkerId,
295
285
  id: importedMarkerId
296
286
  })));
@@ -301,6 +291,6 @@ function makeCosmosStore({
301
291
  });
302
292
  }
303
293
  function CosmosStoreLayer(cfg) {
304
- return tsplus_module_10.provide(_service.StoreMaker.toLayer(makeCosmosStore(cfg)), (0, _cosmosClient.CosmosClientLayer)(tsplus_module_9.value(cfg.url), cfg.dbName));
294
+ return _service.StoreMaker.toLayer(makeCosmosStore(cfg)).pipe(_effectApp.Layer.provide((0, _cosmosClient.CosmosClientLayer)(_effectApp.Secret.value(cfg.url), cfg.dbName)));
305
295
  }
306
296
  //# sourceMappingURL=Cosmos.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cosmos.cjs","names":["_cosmosClient","require","_errors","_query","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CosmosDbOperationError","message","constructor","makeCosmosStore","prefix","tsplus_module_1","gen","$","db","CosmosClient","make","name","seed","config","containerId","promise","containers","createIfNotExists","dropUndefinedT","id","uniqueKeyPolicy","uniqueKeys","undefined","defaultValues","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","withSpan","b","map","x","tsplus_module_2","match","fromNullable","_etag","onNone","operationType","resourceBody","omit","_partitionKey","partitionValue","partitionKey","onSome","eTag","ifMatch","batches","tsplus_module_4","toReadonlyArray","tsplus_module_3","chunk_","maxBulkSize","batchResult","forEachEffect","delay","op","tsplus_module_5","millis","flatMap","responses","find","statusCode","fail","OptimisticConcurrencyException","type","JSON","stringify","r2","die","flat","attributes","batchSet","suspend","ex","c","result","firstFailed","code","s","all","sync","query","parameters","value","tap","q","logQuery","fetchAll","then","resources","filterJoinSelect","filter","cursor","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","_","v","tsplus_module_6","spread","rest","f","build","buildFindJoinCosmosQuery","buildWhereCosmosQuery3","select","order","pick","buildCosmosQuery","item","read","resource","create","replace","accessCondition","condition","etag","remove","delete","marker","isSome","console","log","m","tsplus_module_8","flatMapOption","succeed","tsplus_module_7","CollectionToNonEmptyReadonlyArray","orDie","CosmosStoreLayer","cfg","tsplus_module_10","provide","StoreMaker","toLayer","CosmosClientLayer","tsplus_module_9","url","dbName"],"sources":["../../../src/services/Store/Cosmos.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Cosmos.cjs","names":["_Array","require","_cosmosClient","_effectApp","_utils","_errors","_query","_service","CosmosDbOperationError","message","constructor","makeCosmosStore","prefix","Effect","gen","$","db","CosmosClient","make","name","seed","config","containerId","promise","containers","createIfNotExists","dropUndefinedT","id","uniqueKeyPolicy","uniqueKeys","undefined","defaultValues","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","b","map","x","Option","match","fromNullable","_etag","onNone","operationType","resourceBody","omit","_partitionKey","partitionValue","partitionKey","onSome","eTag","ifMatch","batches","Chunk","toReadonlyArray","ReadonlyArray","chunk_","maxBulkSize","batchResult","forEach","i","op","pipe","delay","Duration","millis","flatMap","responses","r","find","statusCode","fail","OptimisticConcurrencyException","type","JSON","stringify","r2","die","e","flat","withSpan","attributes","batchSet","suspend","ex","c","result","firstFailed","code","s","all","sync","query","parameters","value","tap","q","logQuery","fetchAll","then","resources","filterJoinSelect","filter","cursor","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","_","a","v","spread","rest","f","build","buildFindJoinCosmosQuery","buildWhereCosmosQuery3","select","order","pick","buildCosmosQuery","item","read","resource","set","create","replace","accessCondition","condition","etag","remove","delete","marker","isSome","console","log","m","flatMapOption","succeed","toNonEmptyArray","orDie","CosmosStoreLayer","cfg","StoreMaker","toLayer","Layer","provide","CosmosClientLayer","Secret","url","dbName"],"sources":["../../../src/services/Store/Cosmos.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DiskStoreLayer = DiskStoreLayer;
7
7
  exports.makeDiskStore = makeDiskStore;
8
- var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
9
- var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Function"));
10
- var tsplus_module_3 = _interopRequireWildcard(require("effect/FiberRef"));
11
8
  var fu = _interopRequireWildcard(require("@effect-app/infra-adapters/fileUtil"));
12
9
  var _fs = _interopRequireDefault(require("fs"));
10
+ var _effectApp = require("effect-app");
13
11
  var _Memory = require("./Memory.cjs");
14
12
  var _service = require("./service.cjs");
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -18,7 +16,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
18
16
  /* eslint-disable @typescript-eslint/no-explicit-any */
19
17
 
20
18
  function makeDiskStoreInt(prefix, namespace, dir, name, seed, defaultValues) {
21
- return tsplus_module_1.gen(function* ($) {
19
+ return _effectApp.Effect.gen(function* ($) {
22
20
  if (namespace !== "primary") {
23
21
  dir = dir + "/" + namespace;
24
22
  if (!_fs.default.existsSync(dir)) {
@@ -27,37 +25,37 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed, defaultValues) {
27
25
  }
28
26
  const file = dir + "/" + prefix + name + ".json";
29
27
  const fsStore = {
30
- get: tsplus_module_1.withSpan(tsplus_module_1.withSpan(fu.readTextFile(file), "Disk.read.readFile [effect-app/infra/Store]").flatMap(x => tsplus_module_1.withSpan(tsplus_module_1.sync(() => JSON.parse(x)), "Disk.read.parse [effect-app/infra/Store]")).orDie, "Disk.read [effect-app/infra/Store]", {
28
+ get: fu.readTextFile(file).pipe(_effectApp.Effect.withSpan("Disk.read.readFile [effect-app/infra/Store]"), _effectApp.Effect.flatMap(x => _effectApp.Effect.sync(() => JSON.parse(x)).pipe(_effectApp.Effect.withSpan("Disk.read.parse [effect-app/infra/Store]"))), _effectApp.Effect.orDie, _effectApp.Effect.withSpan("Disk.read [effect-app/infra/Store]", {
31
29
  attributes: {
32
30
  "disk.file": file
33
31
  }
34
- }),
35
- setRaw: v => tsplus_module_1.withSpan(tsplus_module_1.withSpan(tsplus_module_1.sync(() => JSON.stringify([...v], undefined, 2)), "Disk.stringify [effect-app/infra/Store]", {
32
+ })),
33
+ setRaw: v => _effectApp.Effect.sync(() => JSON.stringify([...v], undefined, 2)).pipe(_effectApp.Effect.withSpan("Disk.stringify [effect-app/infra/Store]", {
36
34
  attributes: {
37
35
  "disk.file": file
38
36
  }
39
- }).flatMap(json => tsplus_module_1.withSpan(fu.writeTextFile(file, json), "Disk.write.writeFile [effect-app/infra/Store]", {
37
+ }), _effectApp.Effect.flatMap(json => fu.writeTextFile(file, json).pipe(_effectApp.Effect.withSpan("Disk.write.writeFile [effect-app/infra/Store]", {
40
38
  attributes: {
41
39
  "disk.file_size": json.length
42
40
  }
43
- })), "Disk.write [effect-app/infra/Store]", {
41
+ }))), _effectApp.Effect.withSpan("Disk.write [effect-app/infra/Store]", {
44
42
  attributes: {
45
43
  "disk.file": file
46
44
  }
47
- })
45
+ }))
48
46
  };
49
47
  const store = yield* $((0, _Memory.makeMemoryStoreInt)(name, namespace, !_fs.default.existsSync(file) ? seed : fsStore.get, defaultValues));
50
- yield* $(store.all.flatMap(fsStore.setRaw));
51
- const sem = tsplus_module_1.unsafeMakeSemaphore(1);
48
+ yield* $(store.all.pipe(_effectApp.Effect.flatMap(fsStore.setRaw)));
49
+ const sem = _effectApp.Effect.unsafeMakeSemaphore(1);
52
50
  const withPermit = sem.withPermits(1);
53
- const flushToDisk = store.all.flatMap(fsStore.setRaw).pipe(withPermit);
54
- const flushToDiskInBackground = tsplus_module_1.forkDaemon(tsplus_module_1.uninterruptible(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err)))));
51
+ const flushToDisk = _effectApp.Effect.flatMap(store.all, fsStore.setRaw).pipe(withPermit);
52
+ const flushToDiskInBackground = flushToDisk.pipe(_effectApp.Effect.tapErrorCause(err => _effectApp.Effect.sync(() => console.error(err))), _effectApp.Effect.uninterruptible, _effectApp.Effect.forkDaemon);
55
53
  return {
56
54
  ...store,
57
- batchSet: tsplus_module_2.flow(store.batchSet, t => t.tap(() => flushToDiskInBackground)),
58
- bulkSet: tsplus_module_2.flow(store.bulkSet, t => t.tap(() => flushToDiskInBackground)),
59
- set: tsplus_module_2.flow(store.set, t => t.tap(() => flushToDiskInBackground)),
60
- remove: tsplus_module_2.flow(store.remove, t => t.tap(() => flushToDiskInBackground))
55
+ batchSet: (0, _effectApp.flow)(store.batchSet, _effectApp.Effect.tap(flushToDiskInBackground)),
56
+ bulkSet: (0, _effectApp.flow)(store.bulkSet, _effectApp.Effect.tap(flushToDiskInBackground)),
57
+ set: (0, _effectApp.flow)(store.set, _effectApp.Effect.tap(flushToDiskInBackground)),
58
+ remove: (0, _effectApp.flow)(store.remove, _effectApp.Effect.tap(flushToDiskInBackground))
61
59
  };
62
60
  });
63
61
  }
@@ -68,39 +66,39 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed, defaultValues) {
68
66
  function makeDiskStore({
69
67
  prefix
70
68
  }, dir) {
71
- return tsplus_module_1.sync(() => {
69
+ return _effectApp.Effect.sync(() => {
72
70
  if (!_fs.default.existsSync(dir)) {
73
71
  _fs.default.mkdirSync(dir);
74
72
  }
75
73
  return {
76
- make: (name, seed, config) => tsplus_module_1.gen(function* ($) {
77
- const storesSem = tsplus_module_1.unsafeMakeSemaphore(1);
74
+ make: (name, seed, config) => _effectApp.Effect.gen(function* ($) {
75
+ const storesSem = _effectApp.Effect.unsafeMakeSemaphore(1);
78
76
  const primary = yield* $(makeDiskStoreInt(prefix, "primary", dir, name, seed, config?.defaultValues));
79
77
  const stores = new Map([["primary", primary]]);
80
- const ctx = yield* $(tsplus_module_1.context());
81
- const getStore = !config?.allowNamespace ? tsplus_module_1.succeed(primary) : tsplus_module_3.get(_Memory.storeId).flatMap(namespace => {
78
+ const ctx = yield* $(_effectApp.Effect.context());
79
+ const getStore = !config?.allowNamespace ? _effectApp.Effect.succeed(primary) : _effectApp.FiberRef.get(_Memory.storeId).pipe(_effectApp.Effect.flatMap(namespace => {
82
80
  const store = stores.get(namespace);
83
81
  if (store) {
84
- return tsplus_module_1.succeed(store);
82
+ return _effectApp.Effect.succeed(store);
85
83
  }
86
84
  if (!config.allowNamespace(namespace)) {
87
85
  throw new Error(`Namespace ${namespace} not allowed!`);
88
86
  }
89
- return storesSem.withPermits(1)(tsplus_module_1.suspend(() => {
87
+ return storesSem.withPermits(1)(_effectApp.Effect.suspend(() => {
90
88
  const existing = stores.get(namespace);
91
- if (existing) return tsplus_module_1.sync(() => existing);
92
- return tsplus_module_1.provide(makeDiskStoreInt(prefix, namespace, dir, name, seed, config?.defaultValues).orDie, ctx).tap(store => tsplus_module_1.sync(() => stores.set(namespace, store)));
89
+ if (existing) return _effectApp.Effect.sync(() => existing);
90
+ return makeDiskStoreInt(prefix, namespace, dir, name, seed, config?.defaultValues).pipe(_effectApp.Effect.orDie, _effectApp.Effect.provide(ctx), _effectApp.Effect.tap(store => _effectApp.Effect.sync(() => stores.set(namespace, store))));
93
91
  }));
94
- });
92
+ }));
95
93
  const s = {
96
- all: getStore.flatMap(_ => _.all),
97
- find: (...args) => getStore.flatMap(_ => _.find(...args)),
98
- filter: (...args) => getStore.flatMap(_ => _.filter(...args)),
99
- filterJoinSelect: (...args) => getStore.flatMap(_ => _.filterJoinSelect(...args)),
100
- set: (...args) => getStore.flatMap(_ => _.set(...args)),
101
- batchSet: (...args) => getStore.flatMap(_ => _.batchSet(...args)),
102
- bulkSet: (...args) => getStore.flatMap(_ => _.bulkSet(...args)),
103
- remove: (...args) => getStore.flatMap(_ => _.remove(...args))
94
+ all: _effectApp.Effect.flatMap(getStore, _ => _.all),
95
+ find: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.find(...args)),
96
+ filter: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.filter(...args)),
97
+ filterJoinSelect: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.filterJoinSelect(...args)),
98
+ set: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.set(...args)),
99
+ batchSet: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.batchSet(...args)),
100
+ bulkSet: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.bulkSet(...args)),
101
+ remove: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.remove(...args))
104
102
  };
105
103
  return s;
106
104
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","defaultValues","tsplus_module_1","gen","$","fs","existsSync","mkdirSync","file","fsStore","withSpan","readTextFile","flatMap","x","sync","JSON","parse","orDie","attributes","setRaw","v","stringify","undefined","json","writeTextFile","length","store","makeMemoryStoreInt","all","sem","unsafeMakeSemaphore","withPermit","withPermits","flushToDisk","pipe","flushToDiskInBackground","forkDaemon","uninterruptible","tapErrorCause","err","console","error","batchSet","tsplus_module_2","flow","tap","bulkSet","remove","makeDiskStore","make","config","storesSem","primary","stores","Map","ctx","context","getStore","allowNamespace","succeed","tsplus_module_3","storeId","Error","suspend","existing","provide","s","_","find","args","filter","filterJoinSelect","DiskStoreLayer","StoreMaker","toLayer"],"sources":["../../../src/services/Store/Disk.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_effectApp","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","defaultValues","Effect","gen","$","fs","existsSync","mkdirSync","file","fsStore","readTextFile","pipe","withSpan","flatMap","x","sync","JSON","parse","orDie","attributes","setRaw","v","stringify","undefined","json","writeTextFile","length","store","makeMemoryStoreInt","all","sem","unsafeMakeSemaphore","withPermit","withPermits","flushToDisk","flushToDiskInBackground","tapErrorCause","err","console","error","uninterruptible","forkDaemon","batchSet","flow","tap","bulkSet","remove","makeDiskStore","make","config","storesSem","primary","stores","Map","ctx","context","getStore","allowNamespace","succeed","FiberRef","storeId","Error","suspend","existing","provide","s","_","find","args","filter","filterJoinSelect","DiskStoreLayer","StoreMaker","toLayer"],"sources":["../../../src/services/Store/Disk.ts"],"sourcesContent":[null],"mappings":"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"}