@effect-app/infra 0.7.0 → 0.8.1

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 (449) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/_cjs/{lib/RequestContext.cjs → RequestContext.cjs} +0 -0
  3. package/_cjs/{lib/RequestContext.cjs.map → RequestContext.cjs.map} +1 -1
  4. package/_cjs/{lib/api → api}/authorization.jwt.cjs +1 -1
  5. package/_cjs/{lib/api → api}/authorization.jwt.cjs.map +1 -1
  6. package/_cjs/{vendor/Cache/Cache/operations/makeWith.cjs → api/codec.cjs} +16 -13
  7. package/_cjs/api/codec.cjs.map +1 -0
  8. package/_cjs/{lib/api → api}/defaultErrorHandler.cjs +1 -1
  9. package/_cjs/{lib/api → api}/defaultErrorHandler.cjs.map +1 -1
  10. package/_cjs/{services/memQueue.cjs → api/express/makeJsonSchema.cjs} +42 -22
  11. package/_cjs/api/express/makeJsonSchema.cjs.map +1 -0
  12. package/_cjs/api/express/makeOpenApiSpecs.cjs +66 -0
  13. package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -0
  14. package/_cjs/api/express/schema/jwt.cjs +43 -0
  15. package/_cjs/api/express/schema/jwt.cjs.map +1 -0
  16. package/_cjs/api/express/schema/requestHandler.cjs +166 -0
  17. package/_cjs/api/express/schema/requestHandler.cjs.map +1 -0
  18. package/_cjs/api/express/schema/routing.cjs +121 -0
  19. package/_cjs/api/express/schema/routing.cjs.map +1 -0
  20. package/_cjs/{lib/api → api}/reportError.cjs +5 -5
  21. package/_cjs/{lib/api → api}/reportError.cjs.map +1 -1
  22. package/_cjs/{lib/api → api}/routing.cjs +32 -32
  23. package/_cjs/{lib/api → api}/routing.cjs.map +1 -1
  24. package/_cjs/{lib/api → api}/setupRequest.cjs +2 -2
  25. package/_cjs/{lib/api → api}/setupRequest.cjs.map +1 -1
  26. package/_cjs/{lib/api → api}/util.cjs +0 -0
  27. package/_cjs/{lib/api → api}/util.cjs.map +1 -1
  28. package/_cjs/{lib/api → api}/writeDocs.cjs +5 -5
  29. package/_cjs/{lib/api → api}/writeDocs.cjs.map +1 -1
  30. package/_cjs/{lib/errorReporter.cjs → errorReporter.cjs} +1 -1
  31. package/_cjs/{lib/errorReporter.cjs.map → errorReporter.cjs.map} +1 -1
  32. package/_cjs/errors.cjs +21 -22
  33. package/_cjs/errors.cjs.map +1 -1
  34. package/_cjs/{lib/ext → ext}/Array.cjs +1 -1
  35. package/_cjs/{lib/ext → ext}/Array.cjs.map +1 -1
  36. package/_cjs/{lib/filter → filter}/types/errors.cjs +0 -0
  37. package/_cjs/{lib/filter → filter}/types/errors.cjs.map +0 -0
  38. package/_cjs/{lib/filter → filter}/types/fields.cjs +0 -0
  39. package/_cjs/{lib/filter → filter}/types/fields.cjs.map +0 -0
  40. package/_cjs/{lib/filter → filter}/types/index.cjs +0 -0
  41. package/_cjs/{lib/filter → filter}/types/index.cjs.map +1 -1
  42. package/_cjs/{lib/filter → filter}/types/path/common.cjs +0 -0
  43. package/_cjs/{lib/filter → filter}/types/path/common.cjs.map +0 -0
  44. package/_cjs/{lib/filter → filter}/types/path/eager.cjs +0 -0
  45. package/_cjs/{lib/filter → filter}/types/path/eager.cjs.map +0 -0
  46. package/_cjs/{lib/filter → filter}/types/path/index.cjs +0 -0
  47. package/_cjs/filter/types/path/index.cjs.map +1 -0
  48. package/_cjs/{lib/filter → filter}/types/utils.cjs +0 -0
  49. package/_cjs/{lib/filter → filter}/types/utils.cjs.map +0 -0
  50. package/_cjs/{lib/filter → filter}/types/validator.cjs +0 -0
  51. package/_cjs/{lib/filter → filter}/types/validator.cjs.map +0 -0
  52. package/_cjs/{lib/filter.cjs → filter.cjs} +0 -0
  53. package/_cjs/{lib/filter.cjs.map → filter.cjs.map} +1 -1
  54. package/_cjs/{lib/instrument.cjs → instrument.cjs} +1 -1
  55. package/_cjs/{lib/instrument.cjs.map → instrument.cjs.map} +1 -1
  56. package/_cjs/{lib/rateLimit.cjs → rateLimit.cjs} +1 -1
  57. package/_cjs/{lib/rateLimit.cjs.map → rateLimit.cjs.map} +1 -1
  58. package/_cjs/services/Emailer/Sendgrid.cjs +1 -1
  59. package/_cjs/services/Emailer/fake.cjs +1 -1
  60. package/_cjs/services/Repository.cjs +1 -1
  61. package/_cjs/services/Store/Cosmos.cjs +2 -2
  62. package/_cjs/services/Store/Cosmos.test.cjs +2 -2
  63. package/_cjs/services/Store/Disk.cjs +2 -2
  64. package/_cjs/services/Store/Memory.cjs +1 -1
  65. package/_cjs/services/Store/Redis.cjs +1 -1
  66. package/_cjs/services/Store/codeFilter.test.cjs +2 -2
  67. package/_cjs/services/Store/index.cjs +1 -1
  68. package/_cjs/services/Store/service.cjs +1 -1
  69. package/_cjs/services/Store/utils.cjs +1 -1
  70. package/_cjs/services/simpledb/cosmosdb.cjs +98 -0
  71. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -0
  72. package/_cjs/services/simpledb/diskdb.cjs +118 -0
  73. package/_cjs/services/simpledb/diskdb.cjs.map +1 -0
  74. package/_cjs/services/simpledb/fileutil.cjs +36 -0
  75. package/_cjs/services/simpledb/fileutil.cjs.map +1 -0
  76. package/_cjs/{vendor/Cache/Cache/_internal/CacheState.cjs → services/simpledb/index.cjs} +31 -24
  77. package/_cjs/services/simpledb/index.cjs.map +1 -0
  78. package/_cjs/services/simpledb/memdb.cjs +74 -0
  79. package/_cjs/services/simpledb/memdb.cjs.map +1 -0
  80. package/_cjs/services/simpledb/mongodb.cjs +86 -0
  81. package/_cjs/services/simpledb/mongodb.cjs.map +1 -0
  82. package/_cjs/services/simpledb/redisdb.cjs +120 -0
  83. package/_cjs/services/simpledb/redisdb.cjs.map +1 -0
  84. package/_cjs/services/simpledb/shared.cjs +80 -0
  85. package/_cjs/services/simpledb/shared.cjs.map +1 -0
  86. package/_cjs/services/simpledb/simpledb.cjs +77 -0
  87. package/_cjs/services/simpledb/simpledb.cjs.map +1 -0
  88. package/_src/{lib/RequestContext.ts → RequestContext.ts} +0 -0
  89. package/_src/_global.ext.ts +5 -5
  90. package/_src/api/app.ts.bak +125 -0
  91. package/_src/{lib/api → api}/authorization.jwt.ts +1 -1
  92. package/_src/api/codec.ts +27 -0
  93. package/_src/{lib/api → api}/defaultErrorHandler.ts +1 -1
  94. package/_src/api/errors.ts.bak +20 -0
  95. package/_src/api/express/makeJsonSchema.ts +49 -0
  96. package/_src/api/express/makeOpenApiSpecs.ts +60 -0
  97. package/_src/api/express/routing.ts.bak +460 -0
  98. package/_src/api/express/schema/jwt.ts +38 -0
  99. package/_src/api/express/schema/requestHandler.ts +360 -0
  100. package/_src/api/express/schema/routing.ts +202 -0
  101. package/_src/{lib/api → api}/reportError.ts +3 -3
  102. package/_src/{lib/api → api}/routing.ts +7 -12
  103. package/_src/{lib/api → api}/setupRequest.ts +0 -0
  104. package/_src/{lib/api → api}/util.ts +0 -0
  105. package/_src/{lib/api → api}/writeDocs.ts +4 -5
  106. package/_src/{lib/errorReporter.ts → errorReporter.ts} +1 -1
  107. package/_src/errors.ts +12 -3
  108. package/_src/{lib/ext → ext}/Array.ts +1 -1
  109. package/_src/{lib/filter → filter}/types/errors.ts +0 -0
  110. package/_src/{lib/filter → filter}/types/fields.ts +0 -0
  111. package/_src/{lib/filter → filter}/types/index.ts +0 -0
  112. package/_src/{lib/filter → filter}/types/path/common.ts +0 -0
  113. package/_src/{lib/filter → filter}/types/path/eager.ts +0 -0
  114. package/_src/{lib/filter → filter}/types/path/index.ts +0 -0
  115. package/_src/{lib/filter → filter}/types/utils.ts +0 -0
  116. package/_src/{lib/filter → filter}/types/validator.ts +0 -0
  117. package/_src/{lib/filter.ts → filter.ts} +1 -1
  118. package/_src/{lib/instrument.ts → instrument.ts} +0 -0
  119. package/_src/{lib/rateLimit.ts → rateLimit.ts} +0 -0
  120. package/_src/services/Emailer/service.ts +1 -1
  121. package/_src/services/Repository.ts +1 -1
  122. package/_src/services/Store/Cosmos.test.ts +1 -1
  123. package/_src/services/Store/Disk.ts +1 -1
  124. package/_src/services/Store/codeFilter.test.ts +1 -1
  125. package/_src/services/simpledb/cosmosdb.ts +134 -0
  126. package/_src/services/simpledb/diskdb.ts +158 -0
  127. package/_src/services/simpledb/fileutil.ts +28 -0
  128. package/_src/services/simpledb/index.ts +6 -0
  129. package/_src/services/simpledb/memdb.ts +79 -0
  130. package/_src/services/simpledb/mongodb.ts +99 -0
  131. package/_src/services/simpledb/redisdb.ts +182 -0
  132. package/_src/services/simpledb/shared.ts +117 -0
  133. package/_src/services/simpledb/simpledb.ts +117 -0
  134. package/dist/{lib/RequestContext.d.ts → RequestContext.d.ts} +1 -1
  135. package/dist/RequestContext.d.ts.map +1 -0
  136. package/dist/RequestContext.js +52 -0
  137. package/dist/_global.ext.d.ts +5 -5
  138. package/dist/_global.ext.d.ts.map +1 -1
  139. package/dist/{lib/api → api}/authorization.jwt.d.ts +1 -1
  140. package/dist/api/authorization.jwt.d.ts.map +1 -0
  141. package/dist/{lib/api → api}/authorization.jwt.js +2 -2
  142. package/dist/api/codec.d.ts +7 -0
  143. package/dist/api/codec.d.ts.map +1 -0
  144. package/dist/api/codec.js +19 -0
  145. package/dist/{lib/api → api}/defaultErrorHandler.d.ts +1 -1
  146. package/dist/api/defaultErrorHandler.d.ts.map +1 -0
  147. package/dist/{lib/api → api}/defaultErrorHandler.js +2 -2
  148. package/dist/api/express/makeJsonSchema.d.ts +30 -0
  149. package/dist/api/express/makeJsonSchema.d.ts.map +1 -0
  150. package/dist/api/express/makeJsonSchema.js +40 -0
  151. package/dist/api/express/makeOpenApiSpecs.d.ts +55 -0
  152. package/dist/api/express/makeOpenApiSpecs.d.ts.map +1 -0
  153. package/dist/api/express/makeOpenApiSpecs.js +56 -0
  154. package/dist/api/express/schema/jwt.d.ts +5 -0
  155. package/dist/api/express/schema/jwt.d.ts.map +1 -0
  156. package/dist/api/express/schema/jwt.js +32 -0
  157. package/dist/api/express/schema/requestHandler.d.ts +71 -0
  158. package/dist/api/express/schema/requestHandler.d.ts.map +1 -0
  159. package/dist/api/express/schema/requestHandler.js +140 -0
  160. package/dist/api/express/schema/routing.d.ts +45 -0
  161. package/dist/api/express/schema/routing.d.ts.map +1 -0
  162. package/dist/api/express/schema/routing.js +95 -0
  163. package/dist/{lib/api → api}/reportError.d.ts +4 -4
  164. package/dist/api/reportError.d.ts.map +1 -0
  165. package/dist/{lib/api → api}/reportError.js +6 -6
  166. package/dist/{lib/api → api}/routing.d.ts +7 -7
  167. package/dist/api/routing.d.ts.map +1 -0
  168. package/dist/api/routing.js +249 -0
  169. package/dist/{lib/api → api}/setupRequest.d.ts +2 -2
  170. package/dist/api/setupRequest.d.ts.map +1 -0
  171. package/dist/{lib/api → api}/setupRequest.js +3 -3
  172. package/dist/{lib/api → api}/util.d.ts +0 -0
  173. package/dist/api/util.d.ts.map +1 -0
  174. package/dist/api/util.js +14 -0
  175. package/dist/{lib/api → api}/writeDocs.d.ts +1 -1
  176. package/dist/api/writeDocs.d.ts.map +1 -0
  177. package/dist/api/writeDocs.js +23 -0
  178. package/dist/{lib/errorReporter.d.ts → errorReporter.d.ts} +1 -1
  179. package/dist/errorReporter.d.ts.map +1 -0
  180. package/dist/errorReporter.js +45 -0
  181. package/dist/errors.d.ts +11 -2
  182. package/dist/errors.d.ts.map +1 -1
  183. package/dist/errors.js +17 -3
  184. package/dist/{lib/ext → ext}/Array.d.ts +3 -3
  185. package/dist/ext/Array.d.ts.map +1 -0
  186. package/dist/{lib/ext → ext}/Array.js +2 -2
  187. package/dist/{lib/filter → filter}/types/errors.d.ts +0 -0
  188. package/dist/filter/types/errors.d.ts.map +1 -0
  189. package/dist/{lib/filter → filter}/types/errors.js +1 -1
  190. package/dist/{lib/filter → filter}/types/fields.d.ts +0 -0
  191. package/dist/filter/types/fields.d.ts.map +1 -0
  192. package/dist/{lib/filter → filter}/types/fields.js +1 -1
  193. package/dist/{lib/filter → filter}/types/index.d.ts +0 -0
  194. package/dist/filter/types/index.d.ts.map +1 -0
  195. package/dist/{lib/filter → filter}/types/index.js +1 -1
  196. package/dist/{lib/filter → filter}/types/path/common.d.ts +0 -0
  197. package/dist/filter/types/path/common.d.ts.map +1 -0
  198. package/dist/{lib/filter → filter}/types/path/common.js +1 -1
  199. package/dist/{lib/filter → filter}/types/path/eager.d.ts +0 -0
  200. package/dist/filter/types/path/eager.d.ts.map +1 -0
  201. package/dist/{lib/filter → filter}/types/path/eager.js +1 -1
  202. package/dist/{lib/filter → filter}/types/path/index.d.ts +0 -0
  203. package/dist/filter/types/path/index.d.ts.map +1 -0
  204. package/dist/{lib/filter → filter}/types/path/index.js +1 -1
  205. package/dist/{lib/filter → filter}/types/utils.d.ts +0 -0
  206. package/dist/filter/types/utils.d.ts.map +1 -0
  207. package/dist/{lib/filter → filter}/types/utils.js +1 -1
  208. package/dist/{lib/filter → filter}/types/validator.d.ts +0 -0
  209. package/dist/filter/types/validator.d.ts.map +1 -0
  210. package/dist/{lib/filter → filter}/types/validator.js +1 -1
  211. package/dist/{lib/filter.d.ts → filter.d.ts} +9 -9
  212. package/dist/filter.d.ts.map +1 -0
  213. package/dist/filter.js +171 -0
  214. package/dist/{lib/instrument.d.ts → instrument.d.ts} +1 -1
  215. package/dist/instrument.d.ts.map +1 -0
  216. package/dist/{lib/instrument.js → instrument.js} +2 -2
  217. package/dist/{lib/rateLimit.d.ts → rateLimit.d.ts} +5 -5
  218. package/dist/rateLimit.d.ts.map +1 -0
  219. package/dist/{lib/rateLimit.js → rateLimit.js} +2 -2
  220. package/dist/services/Emailer/Sendgrid.js +1 -1
  221. package/dist/services/Emailer/fake.js +1 -1
  222. package/dist/services/Emailer/service.d.ts +1 -1
  223. package/dist/services/Emailer/service.d.ts.map +1 -1
  224. package/dist/services/Repository.d.ts +1 -1
  225. package/dist/services/Repository.d.ts.map +1 -1
  226. package/dist/services/Repository.js +1 -1
  227. package/dist/services/Store/Cosmos.js +2 -2
  228. package/dist/services/Store/Disk.js +3 -3
  229. package/dist/services/Store/Memory.js +1 -1
  230. package/dist/services/Store/Redis.js +1 -1
  231. package/dist/services/Store/index.js +1 -1
  232. package/dist/services/Store/service.js +1 -1
  233. package/dist/services/Store/utils.js +1 -1
  234. package/dist/services/simpledb/cosmosdb.d.ts +13 -0
  235. package/dist/services/simpledb/cosmosdb.d.ts.map +1 -0
  236. package/dist/services/simpledb/cosmosdb.js +88 -0
  237. package/dist/services/simpledb/diskdb.d.ts +12 -0
  238. package/dist/services/simpledb/diskdb.d.ts.map +1 -0
  239. package/dist/services/simpledb/diskdb.js +96 -0
  240. package/dist/services/simpledb/fileutil.d.ts +7 -0
  241. package/dist/services/simpledb/fileutil.d.ts.map +1 -0
  242. package/dist/services/simpledb/fileutil.js +25 -0
  243. package/dist/services/simpledb/index.d.ts +7 -0
  244. package/dist/services/simpledb/index.d.ts.map +1 -0
  245. package/dist/services/simpledb/index.js +7 -0
  246. package/dist/services/simpledb/memdb.d.ts +12 -0
  247. package/dist/services/simpledb/memdb.d.ts.map +1 -0
  248. package/dist/services/simpledb/memdb.js +55 -0
  249. package/dist/services/simpledb/mongodb.d.ts +13 -0
  250. package/dist/services/simpledb/mongodb.d.ts.map +1 -0
  251. package/dist/services/simpledb/mongodb.js +55 -0
  252. package/dist/services/simpledb/redisdb.d.ts +25 -0
  253. package/dist/services/simpledb/redisdb.d.ts.map +1 -0
  254. package/dist/services/simpledb/redisdb.js +105 -0
  255. package/dist/services/simpledb/shared.d.ts +63 -0
  256. package/dist/services/simpledb/shared.d.ts.map +1 -0
  257. package/dist/services/simpledb/shared.js +65 -0
  258. package/dist/services/simpledb/simpledb.d.ts +23 -0
  259. package/dist/services/simpledb/simpledb.d.ts.map +1 -0
  260. package/dist/services/simpledb/simpledb.js +56 -0
  261. package/package.json +216 -328
  262. package/_cjs/ext.cjs +0 -4
  263. package/_cjs/ext.cjs.map +0 -1
  264. package/_cjs/lib/fileUtil.cjs +0 -36
  265. package/_cjs/lib/fileUtil.cjs.map +0 -1
  266. package/_cjs/lib/filter/types/path/index.cjs.map +0 -1
  267. package/_cjs/services/CUPS/service.cjs +0 -15
  268. package/_cjs/services/CUPS/service.cjs.map +0 -1
  269. package/_cjs/services/CUPS.cjs +0 -113
  270. package/_cjs/services/CUPS.cjs.map +0 -1
  271. package/_cjs/services/Cache.cjs +0 -39
  272. package/_cjs/services/Cache.cjs.map +0 -1
  273. package/_cjs/services/ServiceBus.cjs +0 -69
  274. package/_cjs/services/ServiceBus.cjs.map +0 -1
  275. package/_cjs/services/memQueue.cjs.map +0 -1
  276. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs +0 -14
  277. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs.map +0 -1
  278. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs +0 -29
  279. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs.map +0 -1
  280. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs +0 -32
  281. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs.map +0 -1
  282. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs +0 -266
  283. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs.map +0 -1
  284. package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs.map +0 -1
  285. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs +0 -67
  286. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs.map +0 -1
  287. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs +0 -44
  288. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs.map +0 -1
  289. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs +0 -33
  290. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs.map +0 -1
  291. package/_cjs/vendor/Cache/Cache/definition.cjs +0 -13
  292. package/_cjs/vendor/Cache/Cache/definition.cjs.map +0 -1
  293. package/_cjs/vendor/Cache/Cache/operations/make.cjs +0 -20
  294. package/_cjs/vendor/Cache/Cache/operations/make.cjs.map +0 -1
  295. package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs.map +0 -1
  296. package/_cjs/vendor/Cache/Cache/operations.cjs +0 -28
  297. package/_cjs/vendor/Cache/Cache/operations.cjs.map +0 -1
  298. package/_cjs/vendor/Cache/Cache.cjs +0 -28
  299. package/_cjs/vendor/Cache/Cache.cjs.map +0 -1
  300. package/_cjs/vendor/Cache/CacheStats/definition.cjs +0 -13
  301. package/_cjs/vendor/Cache/CacheStats/definition.cjs.map +0 -1
  302. package/_cjs/vendor/Cache/CacheStats.cjs +0 -17
  303. package/_cjs/vendor/Cache/CacheStats.cjs.map +0 -1
  304. package/_cjs/vendor/Cache/EntryStats/definition.cjs +0 -11
  305. package/_cjs/vendor/Cache/EntryStats/definition.cjs.map +0 -1
  306. package/_cjs/vendor/Cache/EntryStats.cjs +0 -17
  307. package/_cjs/vendor/Cache/EntryStats.cjs.map +0 -1
  308. package/_cjs/vendor/Cache/Lookup/definition.cjs +0 -6
  309. package/_cjs/vendor/Cache/Lookup/definition.cjs.map +0 -1
  310. package/_cjs/vendor/Cache/Lookup.cjs +0 -17
  311. package/_cjs/vendor/Cache/Lookup.cjs.map +0 -1
  312. package/_cjs/vendor/Cache/index.cjs +0 -17
  313. package/_cjs/vendor/Cache/index.cjs.map +0 -1
  314. package/_src/ext.ts +0 -1
  315. package/_src/lib/fileUtil.ts +0 -56
  316. package/_src/services/CUPS/service.ts +0 -16
  317. package/_src/services/CUPS.ts +0 -105
  318. package/_src/services/Cache.ts +0 -45
  319. package/_src/services/ServiceBus.ts +0 -111
  320. package/_src/services/memQueue.ts +0 -30
  321. package/_src/vendor/Cache/Cache/_internal/AtomicBoolean.ts +0 -7
  322. package/_src/vendor/Cache/Cache/_internal/AtomicNumber.ts +0 -28
  323. package/_src/vendor/Cache/Cache/_internal/AtomicReference.ts +0 -30
  324. package/_src/vendor/Cache/Cache/_internal/CacheInternal.ts +0 -293
  325. package/_src/vendor/Cache/Cache/_internal/CacheState.ts +0 -56
  326. package/_src/vendor/Cache/Cache/_internal/KeySet.ts +0 -58
  327. package/_src/vendor/Cache/Cache/_internal/MapKey.ts +0 -43
  328. package/_src/vendor/Cache/Cache/_internal/MapValue.ts +0 -39
  329. package/_src/vendor/Cache/Cache/definition.ts +0 -112
  330. package/_src/vendor/Cache/Cache/operations/make.ts +0 -17
  331. package/_src/vendor/Cache/Cache/operations/makeWith.ts +0 -32
  332. package/_src/vendor/Cache/Cache/operations.ts +0 -4
  333. package/_src/vendor/Cache/Cache.ts +0 -4
  334. package/_src/vendor/Cache/CacheStats/definition.ts +0 -23
  335. package/_src/vendor/Cache/CacheStats.ts +0 -3
  336. package/_src/vendor/Cache/EntryStats/definition.ts +0 -19
  337. package/_src/vendor/Cache/EntryStats.ts +0 -3
  338. package/_src/vendor/Cache/Lookup/definition.ts +0 -15
  339. package/_src/vendor/Cache/Lookup.ts +0 -3
  340. package/_src/vendor/Cache/global.ts.bak +0 -23
  341. package/_src/vendor/Cache/index.ts +0 -4
  342. package/dist/ext.d.ts +0 -2
  343. package/dist/ext.d.ts.map +0 -1
  344. package/dist/ext.js +0 -2
  345. package/dist/lib/RequestContext.d.ts.map +0 -1
  346. package/dist/lib/RequestContext.js +0 -52
  347. package/dist/lib/api/authorization.jwt.d.ts.map +0 -1
  348. package/dist/lib/api/defaultErrorHandler.d.ts.map +0 -1
  349. package/dist/lib/api/reportError.d.ts.map +0 -1
  350. package/dist/lib/api/routing.d.ts.map +0 -1
  351. package/dist/lib/api/routing.js +0 -248
  352. package/dist/lib/api/setupRequest.d.ts.map +0 -1
  353. package/dist/lib/api/util.d.ts.map +0 -1
  354. package/dist/lib/api/util.js +0 -14
  355. package/dist/lib/api/writeDocs.d.ts.map +0 -1
  356. package/dist/lib/api/writeDocs.js +0 -23
  357. package/dist/lib/errorReporter.d.ts.map +0 -1
  358. package/dist/lib/errorReporter.js +0 -45
  359. package/dist/lib/ext/Array.d.ts.map +0 -1
  360. package/dist/lib/fileUtil.d.ts +0 -22
  361. package/dist/lib/fileUtil.d.ts.map +0 -1
  362. package/dist/lib/fileUtil.js +0 -23
  363. package/dist/lib/filter/types/errors.d.ts.map +0 -1
  364. package/dist/lib/filter/types/fields.d.ts.map +0 -1
  365. package/dist/lib/filter/types/index.d.ts.map +0 -1
  366. package/dist/lib/filter/types/path/common.d.ts.map +0 -1
  367. package/dist/lib/filter/types/path/eager.d.ts.map +0 -1
  368. package/dist/lib/filter/types/path/index.d.ts.map +0 -1
  369. package/dist/lib/filter/types/utils.d.ts.map +0 -1
  370. package/dist/lib/filter/types/validator.d.ts.map +0 -1
  371. package/dist/lib/filter.d.ts.map +0 -1
  372. package/dist/lib/filter.js +0 -171
  373. package/dist/lib/instrument.d.ts.map +0 -1
  374. package/dist/lib/rateLimit.d.ts.map +0 -1
  375. package/dist/services/CUPS/service.d.ts +0 -19
  376. package/dist/services/CUPS/service.d.ts.map +0 -1
  377. package/dist/services/CUPS/service.js +0 -5
  378. package/dist/services/CUPS.d.ts +0 -10
  379. package/dist/services/CUPS.d.ts.map +0 -1
  380. package/dist/services/CUPS.js +0 -89
  381. package/dist/services/Cache.d.ts +0 -28
  382. package/dist/services/Cache.d.ts.map +0 -1
  383. package/dist/services/Cache.js +0 -28
  384. package/dist/services/ServiceBus.d.ts +0 -26
  385. package/dist/services/ServiceBus.d.ts.map +0 -1
  386. package/dist/services/ServiceBus.js +0 -53
  387. package/dist/services/memQueue.d.ts +0 -18
  388. package/dist/services/memQueue.d.ts.map +0 -1
  389. package/dist/services/memQueue.js +0 -24
  390. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts +0 -5
  391. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts.map +0 -1
  392. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.js +0 -7
  393. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts +0 -8
  394. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts.map +0 -1
  395. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.js +0 -22
  396. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts +0 -10
  397. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts.map +0 -1
  398. package/dist/vendor/Cache/Cache/_internal/AtomicReference.js +0 -25
  399. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts +0 -51
  400. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts.map +0 -1
  401. package/dist/vendor/Cache/Cache/_internal/CacheInternal.js +0 -253
  402. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts +0 -33
  403. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts.map +0 -1
  404. package/dist/vendor/Cache/Cache/_internal/CacheState.js +0 -21
  405. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts +0 -20
  406. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts.map +0 -1
  407. package/dist/vendor/Cache/Cache/_internal/KeySet.js +0 -61
  408. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts +0 -24
  409. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts.map +0 -1
  410. package/dist/vendor/Cache/Cache/_internal/MapKey.js +0 -37
  411. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts +0 -32
  412. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts.map +0 -1
  413. package/dist/vendor/Cache/Cache/_internal/MapValue.js +0 -24
  414. package/dist/vendor/Cache/Cache/definition.d.ts +0 -100
  415. package/dist/vendor/Cache/Cache/definition.d.ts.map +0 -1
  416. package/dist/vendor/Cache/Cache/definition.js +0 -5
  417. package/dist/vendor/Cache/Cache/operations/make.d.ts +0 -12
  418. package/dist/vendor/Cache/Cache/operations/make.d.ts.map +0 -1
  419. package/dist/vendor/Cache/Cache/operations/make.js +0 -12
  420. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts +0 -14
  421. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts.map +0 -1
  422. package/dist/vendor/Cache/Cache/operations/makeWith.js +0 -15
  423. package/dist/vendor/Cache/Cache/operations.d.ts +0 -3
  424. package/dist/vendor/Cache/Cache/operations.d.ts.map +0 -1
  425. package/dist/vendor/Cache/Cache/operations.js +0 -4
  426. package/dist/vendor/Cache/Cache.d.ts +0 -3
  427. package/dist/vendor/Cache/Cache.d.ts.map +0 -1
  428. package/dist/vendor/Cache/Cache.js +0 -4
  429. package/dist/vendor/Cache/CacheStats/definition.d.ts +0 -19
  430. package/dist/vendor/Cache/CacheStats/definition.d.ts.map +0 -1
  431. package/dist/vendor/Cache/CacheStats/definition.js +0 -6
  432. package/dist/vendor/Cache/CacheStats.d.ts +0 -2
  433. package/dist/vendor/Cache/CacheStats.d.ts.map +0 -1
  434. package/dist/vendor/Cache/CacheStats.js +0 -3
  435. package/dist/vendor/Cache/EntryStats/definition.d.ts +0 -17
  436. package/dist/vendor/Cache/EntryStats/definition.d.ts.map +0 -1
  437. package/dist/vendor/Cache/EntryStats/definition.js +0 -4
  438. package/dist/vendor/Cache/EntryStats.d.ts +0 -2
  439. package/dist/vendor/Cache/EntryStats.d.ts.map +0 -1
  440. package/dist/vendor/Cache/EntryStats.js +0 -3
  441. package/dist/vendor/Cache/Lookup/definition.d.ts +0 -17
  442. package/dist/vendor/Cache/Lookup/definition.d.ts.map +0 -1
  443. package/dist/vendor/Cache/Lookup/definition.js +0 -2
  444. package/dist/vendor/Cache/Lookup.d.ts +0 -2
  445. package/dist/vendor/Cache/Lookup.d.ts.map +0 -1
  446. package/dist/vendor/Cache/Lookup.js +0 -3
  447. package/dist/vendor/Cache/index.d.ts +0 -5
  448. package/dist/vendor/Cache/index.d.ts.map +0 -1
  449. package/dist/vendor/Cache/index.js +0 -5
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createContext = createContext;
7
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
8
+ var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Option"));
9
+ var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
10
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
+ var tsplus_module_4 = _interopRequireWildcard(require("@effect/io/Exit"));
12
+ var _Function = require("@effect-app/core/Function");
13
+ var MO = _interopRequireWildcard(require("@effect-app/schema"));
14
+ var _shared = require("./shared.cjs");
15
+ var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ const fileName_1 = "_src/services/simpledb/memdb.ts";
19
+ // When we are in-process, we want to share the same Storage
20
+ // Do not try this at home.
21
+ const storage = (0, _shared.makeMap)();
22
+ const parseSDB = MO.condemnFail(_shared.SerializedDBRecord.Parser);
23
+ function createContext() {
24
+ return (type, encode, decode) => {
25
+ return {
26
+ find: simpledb.find(find, decode, type),
27
+ findBy,
28
+ save: simpledb.store(find, store, bogusLock, type)
29
+ };
30
+ function find(id) {
31
+ return tracer_1.withCallTrace(fileName_1 + ":33:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":32:10")(tsplus_module_3.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":31:10")(tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_)))(storage.find((0, _shared.getRecordName)(type, id))), parseSDB)), ({
32
+ data,
33
+ version
34
+ }) => ({
35
+ data: JSON.parse(data),
36
+ version
37
+ })));
38
+ }
39
+ function findBy(keys, eq) {
40
+ // Naive implementation, fine for in memory testing purposes.
41
+ return tracer_1.withCallTrace(fileName_1 + ":58:10")(tsplus_module_2.map(tsplus_module_1.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":41:21")(tsplus_module_2.gen(function* ($) {
42
+ for (const [, value] of storage) {
43
+ const sdb_ = JSON.parse(value);
44
+ const sdb = yield* $(parseSDB(sdb_));
45
+ const cr = {
46
+ data: JSON.parse(sdb.data),
47
+ version: sdb.version
48
+ };
49
+ const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":47:29")(tsplus_module_2.flatMap(d => eq.equals(keys, d) ? tracer_1.withCallTrace(fileName_1 + ":49:19")(tsplus_module_2.sync(() => d)) : tracer_1.withCallTrace(fileName_1 + ":50:26")(tsplus_module_2.fail("not equals"))))(decode(cr.data))));
50
+ if (tsplus_module_4.isSuccess(r)) {
51
+ return r.value;
52
+ }
53
+ }
54
+ return null;
55
+ })));
56
+ }
57
+ function store(record, currentVersion) {
58
+ const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
59
+ const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":68:36")(tsplus_module_2.map(data => JSON.stringify({
60
+ version,
61
+ timestamp: new Date(),
62
+ data
63
+ })))(tracer_1.withCallTrace(fileName_1 + ":68:16")(tsplus_module_2.map(JSON.stringify))(_)));
64
+ return tracer_1.withCallTrace(fileName_1 + ":72:10")(tsplus_module_2.map(() => ({
65
+ version,
66
+ data: record
67
+ })))(tracer_1.withCallTrace(fileName_1 + ":71:10")(tsplus_module_2.flatMap(serialised => storage.set((0, _shared.getRecordName)(type, record.id), serialised)))(getData(record)));
68
+ }
69
+ };
70
+ }
71
+ function bogusLock() {
72
+ return tracer_1.withCallTrace(fileName_1 + ":78:22")(tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit));
73
+ }
74
+ //# sourceMappingURL=memdb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memdb.cjs","mappings":"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","names":["storage","parseSDB","MO","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","simpledb","findBy","save","store","bogusLock","id","tsplus_module_3","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","tracer_1","$","value","sdb_","sdb","cr","r","d","equals","tsplus_module_2","tsplus_module_4","record","currentVersion","cv","parseInt","toString","getData","stringify","timestamp","Date","serialised","set"],"sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createContext = createContext;
7
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
8
+ var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
9
+ var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
10
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
+ var Mongo = _interopRequireWildcard(require("@effect-app/infra-adapters/mongo-client"));
12
+ var _shared = require("./shared.cjs");
13
+ var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ const fileName_1 = "_src/services/simpledb/mongodb.ts";
17
+ // const makeFromIndexKeys = (indexKeys: string[], unique: boolean) => indexKeys.reduce((prev, cur) => {
18
+ // prev[cur] = 1
19
+ // return prev
20
+ // }, {} as Record<string, number>)
21
+ const setup = (type, indexes) => tracer_1.withCallTrace(fileName_1 + ":17:6")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":17:27")(tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)))))(tracer_1.withCallTrace(fileName_1 + ":16:6")(tsplus_module_1.tap(db => tracer_1.withCallTrace(fileName_1 + ":16:23")(tsplus_module_1.tryPromise(() => db.createCollection(type).catch(err => console.warn(err))))))(Mongo.db));
22
+ function createContext() {
23
+ return (type, encode, decode,
24
+ // schemaVersion: string,
25
+ indexes) => {
26
+ return tracer_1.withCallTrace(fileName_1 + ":27:33")(tsplus_module_1.map(() => ({
27
+ find: simpledb.find(find, decode, type),
28
+ findBy,
29
+ save: simpledb.storeDirectly(store, type)
30
+ })))(setup(type, indexes));
31
+ function find(id) {
32
+ return tracer_1.withCallTrace(fileName_1 + ":43:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":42:10")(tsplus_module_1.map(tsplus_module_2.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":35:10")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":36:18")(tsplus_module_1.tryPromise(() => db.collection(type).findOne({
33
+ _id: id
34
+ })))))(Mongo.db)), ({
35
+ data,
36
+ version
37
+ }) => ({
38
+ version,
39
+ data
40
+ })));
41
+ }
42
+ function findBy(keys) {
43
+ return tracer_1.withCallTrace(fileName_1 + ":52:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":51:10")(tsplus_module_1.map(tsplus_module_2.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":48:10")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":49:18")(tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, {
44
+ projection: {
45
+ _id: 1
46
+ }
47
+ })))))(Mongo.db)), ({
48
+ _id
49
+ }) => _id));
50
+ }
51
+ function store(record, currentVersion) {
52
+ return tracer_1.withCallTrace(fileName_1 + ":56:21")(tsplus_module_1.gen(function* ($) {
53
+ const version = tsplus_module_2.getOrElse(() => "1")(tsplus_module_2.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
54
+ const db = yield* $(Mongo.db);
55
+ const data = yield* $(encode(record));
56
+ yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tracer_1.withCallTrace(fileName_1 + ":66:22")(tsplus_module_1.tryPromise(() => db.collection(type).insertOne({
57
+ _id: record.id,
58
+ version,
59
+ timestamp: new Date(),
60
+ data
61
+ }, {
62
+ checkKeys: false // support for keys with `.` and `$`. NOTE: you can write them, read them, but NOT query for them.
63
+ }))))), currentVersion => tracer_1.withCallTrace(fileName_1 + ":87:23")(tsplus_module_1.flatMap(x => {
64
+ if (!x.modifiedCount) {
65
+ return tracer_1.withCallTrace(fileName_1 + ":89:33")(tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id)));
66
+ }
67
+ return tsplus_module_3.unit;
68
+ }))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":77:22")(tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({
69
+ _id: record.id,
70
+ version: currentVersion
71
+ }, {
72
+ version,
73
+ timestamp: new Date(),
74
+ data
75
+ }, {
76
+ upsert: false
77
+ }))))))(currentVersion));
78
+ return {
79
+ version,
80
+ data: record
81
+ };
82
+ }));
83
+ }
84
+ };
85
+ }
86
+ //# sourceMappingURL=mongodb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.cjs","mappings":"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","names":["setup","type","indexes","tracer_1","db","tsplus_module_1","collection","createIndexes","createCollection","catch","err","console","warn","Mongo","createContext","encode","decode","find","simpledb","findBy","save","storeDirectly","store","id","tsplus_module_3","findOne","_id","data","version","keys","projection","record","currentVersion","$","tsplus_module_2","cv","parseInt","toString","insertOne","timestamp","Date","checkKeys","x","modifiedCount","OptimisticLockException","replaceOne","upsert"],"sourceRoot":"","sources":["../../../_src/services/simpledb/mongodb.ts"],"sourcesContent":[null]}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RedisSerializedDBRecord = void 0;
7
+ exports.createContext = createContext;
8
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
9
+ var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
10
+ var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
+ var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/data/Option"));
12
+ var _Function = require("@effect-app/core/Function");
13
+ var MO = _interopRequireWildcard(require("@effect-app/schema"));
14
+ var RED = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
15
+ var _shared = require("./shared.cjs");
16
+ var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ const fileName_1 = "_src/services/simpledb/redisdb.ts";
20
+ const ttl = 10 * 1000;
21
+ function createContext() {
22
+ return (type, encode, decode, schemaVersion, makeIndexKey) => {
23
+ const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":22:41")(tsplus_module_1.map(JSON.stringify))(_));
24
+ return {
25
+ find: simpledb.find(find, decode, type),
26
+ findByIndex: getIdx,
27
+ save: simpledb.store(find, store, lockRedisRecord, type)
28
+ };
29
+ function find(id) {
30
+ return tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":30:39")(tsplus_module_2.flatMapOpt(RED.hmgetAll(getKey(id)), v => tracer_1.withCallTrace(fileName_1 + ":39:12")(tsplus_module_1.mapError(e => new _shared.ConnectionException(new Error(e.toString()))))(tracer_1.withCallTrace(fileName_1 + ":35:12")(tsplus_module_1.map(({
31
+ data,
32
+ version
33
+ }) => ({
34
+ data: JSON.parse(data),
35
+ version
36
+ })))((0, _Function.pipe)(RedisSerializedDBRecord.Parser, MO.condemnFail)(v))))));
37
+ }
38
+ function store(record, currentVersion) {
39
+ const version = tsplus_module_3.getOrElse(() => "1")(tsplus_module_3.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
40
+ return tsplus_module_3.match(() => tsplus_module_1.scoped(tracer_1.withCallTrace(fileName_1 + ":48:29")(tsplus_module_1.zipRight(tracer_1.withCallTrace(fileName_1 + ":63:22")(tsplus_module_1.map(() => ({
41
+ version,
42
+ data: record
43
+ })))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":62:16")(tsplus_module_1.zipRight(setIndex(record)))(tracer_1.withCallTrace(fileName_1 + ":55:16")(tsplus_module_1.flatMap(data => hmSetRec(getKey(record.id), {
44
+ version,
45
+ timestamp: new Date(),
46
+ data
47
+ })))(tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_1.zipRight(getData(record)))(tracer_1.withCallTrace(fileName_1 + ":50:16")(tsplus_module_2.zipRightOpt(getIndex(record), tracer_1.withCallTrace(fileName_1 + ":51:24")(tsplus_module_1.fail(() => new Error("Combination already exists, abort"))))))
48
+ // TODO: instead use MULTI & EXEC to make it in one command?
49
+ ))))))(lockIndex(record))), () => tracer_1.withCallTrace(fileName_1 + ":74:20")(tsplus_module_1.map(() => ({
50
+ version,
51
+ data: record
52
+ })))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_1.flatMap(data => hmSetRec(getKey(record.id), {
53
+ version,
54
+ timestamp: new Date(),
55
+ data
56
+ })))(getData(record)))))(currentVersion);
57
+ }
58
+ function getIndex(record) {
59
+ const index = makeIndexKey(record);
60
+ return getIdx(index);
61
+ }
62
+ function setIndex(record) {
63
+ const index = makeIndexKey(record);
64
+ return setIdx(index, record);
65
+ }
66
+ function lockIndex(record) {
67
+ const index = makeIndexKey(record);
68
+ return lockRedisIdx(index);
69
+ }
70
+ function getIdx(index) {
71
+ return tracer_1.withCallTrace(fileName_1 + ":94:52")(tsplus_module_1.map(_ => tsplus_module_3.map(i => i)(_)))(RED.hget(getIdxKey(index), index.key));
72
+ }
73
+ function setIdx(index, r) {
74
+ return RED.hset(getIdxKey(index), index.key, r.id);
75
+ }
76
+ function lockRedisIdx(index) {
77
+ const lockKey = getIdxLockKey(index);
78
+ // acquire
79
+ return tracer_1.withCallTrace(fileName_1 + ":113:11")(tsplus_module_1.acquireRelease(tracer_1.withCallTrace(fileName_1 + ":106:10")(tsplus_module_1.mapBoth(err => new _shared.CouldNotAquireDbLockException(type, lockKey, err),
80
+ // release
81
+ lock => ({
82
+ release: tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":110:29")(tsplus_module_1.tryPromise(() => lock.unlock())))
83
+ })))(tracer_1.withCallTrace(fileName_1 + ":105:10")(tsplus_module_1.flatMap(lock => tracer_1.withCallTrace(fileName_1 + ":105:33")(tsplus_module_1.tryPromise(() => lock.lock(lockKey, ttl)))))(RED.lock)), l => l.release));
84
+ }
85
+ function lockRedisRecord(id) {
86
+ // acquire
87
+ return tracer_1.withCallTrace(fileName_1 + ":134:11")(tsplus_module_1.acquireRelease(tracer_1.withCallTrace(fileName_1 + ":126:10")(tsplus_module_1.mapBoth(err => new _shared.CouldNotAquireDbLockException(type, id, err),
88
+ // release
89
+ lock => ({
90
+ // TODO
91
+ release: tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":131:29")(tsplus_module_1.tryPromise(() => lock.unlock())))
92
+ })))(tracer_1.withCallTrace(fileName_1 + ":121:10")(tsplus_module_1.flatMap(lock => tracer_1.withCallTrace(fileName_1 + ":122:18")(tsplus_module_1.tryPromise(() => lock.lock(getLockKey(id), ttl)))))(RED.lock)), l => l.release));
93
+ }
94
+ function getKey(id) {
95
+ return `v${schemaVersion}.${(0, _shared.getRecordName)(type, id)}`;
96
+ }
97
+ function getLockKey(id) {
98
+ return `v${schemaVersion}.locks.${(0, _shared.getRecordName)(type, id)}`;
99
+ }
100
+ function getIdxKey(index) {
101
+ return `v${schemaVersion}.${(0, _shared.getIndexName)(type, index.doc)}`;
102
+ }
103
+ function getIdxLockKey(index) {
104
+ return `v${schemaVersion}.locks.${(0, _shared.getIndexName)(type, index.doc)}_${index.key}`;
105
+ }
106
+ };
107
+ function hmSetRec(key, val) {
108
+ const enc = RedisSerializedDBRecord.Encoder(val);
109
+ return tracer_1.withCallTrace(fileName_1 + ":157:23")(tsplus_module_1.flatMap(client => tsplus_module_1.uninterruptible(tracer_1.withCallTrace(fileName_1 + ":159:16")(tsplus_module_1.async(res => {
110
+ client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, err => err ? res(tracer_1.withCallTrace(fileName_1 + ":170:30")(tsplus_module_1.fail(new _shared.ConnectionException(err)))) : res(tracer_1.withCallTrace(fileName_1 + ":171:23")(tsplus_module_1.sync(() => void 0))));
111
+ })))))(RED.client);
112
+ }
113
+ }
114
+ class RedisSerializedDBRecord extends MO.Model()({
115
+ version: MO.prop(MO.string),
116
+ timestamp: MO.prop(MO.date),
117
+ data: MO.prop(MO.string)
118
+ }) {}
119
+ exports.RedisSerializedDBRecord = RedisSerializedDBRecord;
120
+ //# sourceMappingURL=redisdb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redisdb.cjs","mappings":"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","names":["ttl","createContext","type","encode","decode","schemaVersion","makeIndexKey","getData","_","tracer_1","JSON","stringify","find","simpledb","findByIndex","getIdx","save","store","lockRedisRecord","id","tsplus_module_2","hmgetAll","getKey","v","e","ConnectionException","Error","toString","data","version","parse","RedisSerializedDBRecord","Parser","MO","condemnFail","record","currentVersion","tsplus_module_3","cv","parseInt","tsplus_module_1","setIndex","hmSetRec","timestamp","Date","lockIndex","getIndex","index","setIdx","lockRedisIdx","i","RED","hget","getIdxKey","key","r","hset","lockKey","getIdxLockKey","err","CouldNotAquireDbLockException","lock","release","unlock","l","getLockKey","doc","val","enc","Encoder","client","res","hmset","Model","prop","string","date"],"sourceRoot":"","sources":["../../../_src/services/simpledb/redisdb.ts"],"sourcesContent":[null]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SerializedDBRecord = exports.OptimisticLockException = exports.CouldNotAquireDbLockException = exports.ConnectionException = void 0;
7
+ exports.getIndexName = getIndexName;
8
+ exports.getRecordName = getRecordName;
9
+ exports.makeMap = makeMap;
10
+ exports.makeSerialisedDBRecord = makeSerialisedDBRecord;
11
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
12
+ var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Option"));
13
+ var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
14
+ var MO = _interopRequireWildcard(require("@effect-app/schema"));
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ const fileName_1 = "_src/services/simpledb/shared.ts";
18
+ class BaseError {
19
+ constructor(message) {
20
+ this.message = message;
21
+ }
22
+ }
23
+ class CouldNotAquireDbLockException extends BaseError {
24
+ constructor(type, id, error) {
25
+ super(`Couldn't lock db record ${type}: ${id}`);
26
+ this.type = type;
27
+ this.id = id;
28
+ this.error = error;
29
+ this._errorTag = "CouldNotAquireDbLockException";
30
+ }
31
+ }
32
+ exports.CouldNotAquireDbLockException = CouldNotAquireDbLockException;
33
+ class OptimisticLockException extends Error {
34
+ constructor(type, id) {
35
+ super(`Existing ${type} ${id} record changed`);
36
+ this.type = type;
37
+ this.id = id;
38
+ this._errorTag = "OptimisticLockException";
39
+ }
40
+ }
41
+ exports.OptimisticLockException = OptimisticLockException;
42
+ class ConnectionException extends Error {
43
+ constructor(error) {
44
+ super("A connection error ocurred");
45
+ this.error = error;
46
+ this._errorTag = "ConnectionException";
47
+ }
48
+ }
49
+ exports.ConnectionException = ConnectionException;
50
+ class SerializedDBRecord extends MO.Model()({
51
+ version: MO.prop(MO.string),
52
+ timestamp: MO.prop(MO.date),
53
+ data: MO.prop(MO.string)
54
+ }) {}
55
+ // unknown -> string -> SDB?
56
+ exports.SerializedDBRecord = SerializedDBRecord;
57
+ function makeSerialisedDBRecord(s) {
58
+ return MO.props({
59
+ version: MO.prop(MO.number),
60
+ timestamp: MO.prop(MO.date),
61
+ data: MO.prop(s)
62
+ });
63
+ }
64
+ function getIndexName(type, id) {
65
+ return `${type}-idx_${id}`;
66
+ }
67
+ function getRecordName(type, id) {
68
+ return `${type}-r_${id}`;
69
+ }
70
+ function makeMap() {
71
+ const map = new Map();
72
+ return {
73
+ find: k => tracer_1.withCallTrace(fileName_1 + ":68:24")(tsplus_module_2.sync(() => tsplus_module_1.fromNullable(map.get(k)))),
74
+ [Symbol.iterator]: () => map[Symbol.iterator](),
75
+ set: (k, v) => tracer_1.withCallTrace(fileName_1 + ":71:7")(tsplus_module_2.sync(() => {
76
+ map.set(k, v);
77
+ }))
78
+ };
79
+ }
80
+ //# sourceMappingURL=shared.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.cjs","mappings":";;;;;;;;;;;;;AAAA;AAAwC;AAAA;;AAGxC,MAAMA,SAAS;EACbC,YAAmBC,OAAe;IAAf,YAAO,GAAPA,OAAO;EAAW;;AAEjC,MAAOC,6BAA8B,SAAQH,SAAS;EAE1DC,YAAqBG,IAAY,EAAWC,EAAU,EAAWC,KAAY;IAC3E,KAAK,CAAC,2BAA2BF,IAAI,KAAKC,EAAE,EAAE,CAAC;IAD5B,SAAI,GAAJD,IAAI;IAAmB,OAAE,GAAFC,EAAE;IAAmB,UAAK,GAALC,KAAK;IAD7D,cAAS,GAAG,+BAA+B;EAGpD;;AACD;AAEK,MAAOC,uBAAwB,SAAQC,KAAK;EAEhDP,YAAqBG,IAAY,EAAWC,EAAU;IACpD,KAAK,CAAC,YAAYD,IAAI,IAAIC,EAAE,iBAAiB,CAAC;IAD3B,SAAI,GAAJD,IAAI;IAAmB,OAAE,GAAFC,EAAE;IADrC,cAAS,GAAG,yBAAyB;EAG9C;;AACD;AAEK,MAAOI,mBAAoB,SAAQD,KAAK;EAE5CP,YAAqBK,KAAY;IAC/B,KAAK,CAAC,4BAA4B,CAAC;IADhB,UAAK,GAALA,KAAK;IADjB,cAAS,GAAG,qBAAqB;EAG1C;;AACD;AAMK,MAAOI,kBAAmB,SAAQC,EAAE,CAACC,KAAK,EAAsB,CAAC;EACrEC,OAAO,EAAEF,EAAE,CAACG,IAAI,CAACH,EAAE,CAACI,MAAM,CAAC;EAC3BC,SAAS,EAAEL,EAAE,CAACG,IAAI,CAACH,EAAE,CAACM,IAAI,CAAC;EAC3BC,IAAI,EAAEP,EAAE,CAACG,IAAI,CAACH,EAAE,CAACI,MAAM;CACxB,CAAC;AAEF;AAAA;AACM,SAAUI,sBAAsB,CAACC,CAAY;EACjD,OAAOT,EAAE,CAACU,KAAK,CAAC;IACdR,OAAO,EAAEF,EAAE,CAACG,IAAI,CAACH,EAAE,CAACW,MAAM,CAAC;IAC3BN,SAAS,EAAEL,EAAE,CAACG,IAAI,CAACH,EAAE,CAACM,IAAI,CAAC;IAC3BC,IAAI,EAAEP,EAAE,CAACG,IAAI,CAACM,CAAC;GAChB,CAAC;AACJ;AAYM,SAAUG,YAAY,CAACnB,IAAY,EAAEC,EAAU;EACnD,OAAO,GAAGD,IAAI,QAAQC,EAAE,EAAE;AAC5B;AAEM,SAAUmB,aAAa,CAACpB,IAAY,EAAEC,EAAU;EACpD,OAAO,GAAGD,IAAI,MAAMC,EAAE,EAAE;AAC1B;AAEM,SAAUoB,OAAO;EACrB,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAW;EAC9B,OAAO;IACLC,IAAI,EAAGC,CAAO,IAAIC,8CAACC,qBAAO,MAAMC,6BAAiBN,GAAG,CAACO,GAAG,CAACJ,CAAC,CAAC,CAAC,CAAC;IAC7D,CAACK,MAAM,CAACC,QAAQ,GAAG,MAAMT,GAAG,CAACQ,MAAM,CAACC,QAAQ,CAAC,EAAE;IAC/CC,GAAG,EAAE,CAACP,CAAO,EAAEQ,CAAI,KAAIP,6CACrBC,qBAAO,MAAK;MACVL,GAAG,CAACU,GAAG,CAACP,CAAC,EAAEQ,CAAC,CAAC;IACf,CAAC,CAAC;GACiB;AACzB","names":["BaseError","constructor","message","CouldNotAquireDbLockException","type","id","error","OptimisticLockException","Error","ConnectionException","SerializedDBRecord","MO","Model","version","prop","string","timestamp","date","data","makeSerialisedDBRecord","s","props","number","getIndexName","getRecordName","makeMap","map","Map","find","k","tracer_1","tsplus_module_2","tsplus_module_1","get","Symbol","iterator","set","v"],"sourceRoot":"","sources":["../../../_src/services/simpledb/shared.ts"],"sourcesContent":[null]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RecordCache = exports.LiveRecordCache = exports.InvalidStateError = void 0;
7
+ exports.find = find;
8
+ exports.makeLiveRecordCache = makeLiveRecordCache;
9
+ exports.store = store;
10
+ exports.storeDirectly = storeDirectly;
11
+ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
12
+ var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
13
+ var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Context"));
14
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
15
+ var tsplus_module_4 = _interopRequireWildcard(require("@fp-ts/data/Option"));
16
+ var _shared = require("./shared.cjs");
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ const fileName_1 = "_src/services/simpledb/simpledb.ts";
20
+ class InvalidStateError {
21
+ constructor(message, details) {
22
+ this.message = message;
23
+ this.details = details;
24
+ this._tag = "InvalidStateError";
25
+ }
26
+ }
27
+ exports.InvalidStateError = InvalidStateError;
28
+ function makeLiveRecordCache() {
29
+ const m = new Map();
30
+ return {
31
+ get: type => tracer_1.withCallTrace(fileName_1 + ":14:7")(tsplus_module_1.sync(() => {
32
+ const ex = m.get(type);
33
+ if (!ex) {
34
+ const nm = (0, _shared.makeMap)();
35
+ m.set(type, nm);
36
+ return nm;
37
+ }
38
+ return ex;
39
+ }))
40
+ };
41
+ }
42
+ // module tag
43
+ const RecordCache = tsplus_module_2.Tag();
44
+ exports.RecordCache = RecordCache;
45
+ const LiveRecordCache = tsplus_module_1.toLayer(RecordCache)(tracer_1.withCallTrace(fileName_1 + ":31:32")(tsplus_module_1.sync(() => makeLiveRecordCache())));
46
+ exports.LiveRecordCache = LiveRecordCache;
47
+ const getM = type => eff => tracer_1.withCallTrace(fileName_1 + ":35:12")(tsplus_module_1.gen(function* ($) {
48
+ const {
49
+ get
50
+ } = yield* $(tsplus_module_1.service(RecordCache));
51
+ return yield* $(tracer_1.withCallTrace(fileName_1 + ":37:36")(tsplus_module_1.flatMap(eff))(get(type)));
52
+ }));
53
+ function find(tryRead, decode, type) {
54
+ const getCache = getM(type);
55
+ const read = id => tracer_1.withCallTrace(fileName_1 + ":55:8")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":54:8")(tsplus_module_3.tapOpt(tracer_1.withCallTrace(fileName_1 + ":48:8")(tsplus_module_3.flatMapOpt(tryRead(id), ({
56
+ data,
57
+ version
58
+ }) => tracer_1.withCallTrace(fileName_1 + ":49:22")(tsplus_module_1.mapBoth(err => new InvalidStateError("DB serialisation Issue", err), data => ({
59
+ data,
60
+ version
61
+ })))(decode(data)))), r => getCache(c => c.set(id, r)))), r => r.data));
62
+ return id => getCache(c => tracer_1.withCallTrace(fileName_1 + ":62:10")(tsplus_module_1.orElse(() => read(id)))(tracer_1.withCallTrace(fileName_1 + ":61:10")(tsplus_module_3.mapOpt(c.find(id), existing => existing.data))));
63
+ }
64
+ function storeDirectly(save, type) {
65
+ const getCache = getM(type);
66
+ return record => getCache(c => tracer_1.withCallTrace(fileName_1 + ":78:10")(tsplus_module_1.map(r => r.data))(tracer_1.withCallTrace(fileName_1 + ":77:10")(tsplus_module_1.tap(r => c.set(record.id, r)))(tracer_1.withCallTrace(fileName_1 + ":76:10")(tsplus_module_1.flatMap(cv => save(record, cv)))(tracer_1.withCallTrace(fileName_1 + ":75:10")(tsplus_module_3.mapOpt(c.find(record.id), x => x.version))))));
67
+ }
68
+ function store(tryRead, save, lock, type) {
69
+ const getCache = getM(type);
70
+ return record => getCache(c => tracer_1.withCallTrace(fileName_1 + ":96:10")(tsplus_module_1.map(r => r.data))(tracer_1.withCallTrace(fileName_1 + ":95:10")(tsplus_module_1.tap(r => c.set(record.id, r)))(tracer_1.withCallTrace(fileName_1 + ":94:10")(tsplus_module_1.flatMap(_ => tsplus_module_4.match(() => save(record, tsplus_module_4.none), confirmVersionAndSave(record))(_)))(tracer_1.withCallTrace(fileName_1 + ":93:10")(tsplus_module_3.mapOpt(c.find(record.id), x => x.version))))));
71
+ function confirmVersionAndSave(record) {
72
+ return cv => tsplus_module_1.scoped(tracer_1.withCallTrace(fileName_1 + ":101:23")(tsplus_module_1.zipRight(tracer_1.withCallTrace(fileName_1 + ":114:12")(tsplus_module_1.zipRight(save(record, tsplus_module_4.some(cv))))(tracer_1.withCallTrace(fileName_1 + ":109:12")(tsplus_module_1.tap(({
73
+ version
74
+ }) => version !== cv ? tracer_1.withCallTrace(fileName_1 + ":111:24")(tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id))) : tsplus_module_3.unit))(tracer_1.withCallTrace(fileName_1 + ":103:12")(tsplus_module_1.flatMap(_ => tsplus_module_4.match(() => tracer_1.withCallTrace(fileName_1 + ":105:28")(tsplus_module_1.fail(new InvalidStateError("record is gone"))), tsplus_module_1.succeed)(_)))(tryRead(record.id))))))(lock(record.id)));
75
+ }
76
+ }
77
+ //# sourceMappingURL=simpledb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpledb.cjs","mappings":"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","names":["InvalidStateError","constructor","message","details","makeLiveRecordCache","m","Map","get","type","tracer_1","tsplus_module_1","ex","nm","set","RecordCache","tsplus_module_2","LiveRecordCache","getM","eff","$","find","tryRead","decode","getCache","read","id","tsplus_module_3","data","version","err","r","c","existing","storeDirectly","save","record","cv","x","store","lock","_","tsplus_module_4","confirmVersionAndSave","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/simpledb.ts"],"sourcesContent":[null]}
@@ -13,22 +13,22 @@ import type {} from "@effect-app/infra/test.arbs"
13
13
  /**
14
14
  * @tsplus global
15
15
  */
16
- import type {} from "@effect-app/infra/ext"
16
+ import type {} from "@effect-app/infra/ext/Array"
17
17
  /**
18
18
  * @tsplus global
19
19
  */
20
- import type {} from "@effect-app/infra/lib/instrument"
20
+ import type {} from "@effect-app/infra/instrument"
21
21
  /**
22
22
  * @tsplus global
23
23
  */
24
- import type {} from "@effect-app/infra/lib/rateLimit"
24
+ import type {} from "@effect-app/infra/rateLimit"
25
25
 
26
26
  /**
27
27
  * @tsplus global
28
28
  */
29
- import type {} from "@effect-app/infra/lib/api/setupRequest"
29
+ import type {} from "@effect-app/infra/api/setupRequest"
30
30
 
31
31
  /**
32
32
  * @tsplus global
33
33
  */
34
- import {} from "@effect-app/infra/lib/api/reportError"
34
+ import {} from "@effect-app/infra/api/reportError"