@fncts/io 0.0.52 → 0.0.53

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 (1230) hide show
  1. package/IO/api/asyncIterable.d.ts +27 -0
  2. package/IO.d.ts +1 -0
  3. package/_cjs/Cached/api.cjs +11 -12
  4. package/_cjs/Cached/api.cjs.map +1 -1
  5. package/_cjs/Cached/definition.cjs +1 -3
  6. package/_cjs/Cached/definition.cjs.map +1 -1
  7. package/_cjs/Cached/internal.cjs +3 -4
  8. package/_cjs/Cached/internal.cjs.map +1 -1
  9. package/_cjs/CancellerState.cjs +1 -2
  10. package/_cjs/CancellerState.cjs.map +1 -1
  11. package/_cjs/Channel/ChildExecutorDecision/api.cjs +1 -2
  12. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  13. package/_cjs/Channel/ChildExecutorDecision/definition.cjs +1 -2
  14. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
  15. package/_cjs/Channel/UpstreamPullRequest/api.cjs +1 -3
  16. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  17. package/_cjs/Channel/UpstreamPullRequest/definition.cjs +1 -2
  18. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  19. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs +1 -2
  20. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
  21. package/_cjs/Channel/api/interruptWhen.cjs +7 -8
  22. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  23. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +21 -22
  24. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  25. package/_cjs/Channel/api/mergeAll.cjs +3 -4
  26. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  27. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +3 -4
  28. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  29. package/_cjs/Channel/api/mergeAllWith.cjs +28 -29
  30. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  31. package/_cjs/Channel/api/mergeMap.cjs +4 -5
  32. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  33. package/_cjs/Channel/api/mergeWith.cjs +16 -17
  34. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  35. package/_cjs/Channel/api/run.cjs +5 -7
  36. package/_cjs/Channel/api/run.cjs.map +1 -1
  37. package/_cjs/Channel/api/runCollect.cjs +4 -5
  38. package/_cjs/Channel/api/runCollect.cjs.map +1 -1
  39. package/_cjs/Channel/api/runDrain.cjs +4 -5
  40. package/_cjs/Channel/api/runDrain.cjs.map +1 -1
  41. package/_cjs/Channel/api/runScoped.cjs +12 -13
  42. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  43. package/_cjs/Channel/api/toPull.cjs +6 -7
  44. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  45. package/_cjs/Channel/api/zipConcurrent.cjs +7 -8
  46. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  47. package/_cjs/Channel/api.cjs +28 -29
  48. package/_cjs/Channel/api.cjs.map +1 -1
  49. package/_cjs/Channel/core-api.cjs +1 -3
  50. package/_cjs/Channel/core-api.cjs.map +1 -1
  51. package/_cjs/Channel/definition.cjs +1 -2
  52. package/_cjs/Channel/definition.cjs.map +1 -1
  53. package/_cjs/Channel/internal/ChannelExecutor.cjs +47 -43
  54. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  55. package/_cjs/Channel/internal/ChannelState.cjs +3 -4
  56. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  57. package/_cjs/Channel/internal/MergeDecision.cjs +1 -2
  58. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  59. package/_cjs/Channel/internal/MergeState.cjs +1 -2
  60. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  61. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +15 -16
  62. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  63. package/_cjs/Clock/api.cjs +3 -3
  64. package/_cjs/Clock/api.cjs.map +1 -1
  65. package/_cjs/Clock/definition.cjs +3 -4
  66. package/_cjs/Clock/definition.cjs.map +1 -1
  67. package/_cjs/Clock/live.cjs +6 -7
  68. package/_cjs/Clock/live.cjs.map +1 -1
  69. package/_cjs/Console/api.cjs +4 -6
  70. package/_cjs/Console/api.cjs.map +1 -1
  71. package/_cjs/Console/definition.cjs +3 -4
  72. package/_cjs/Console/definition.cjs.map +1 -1
  73. package/_cjs/Console/live.cjs +3 -4
  74. package/_cjs/Console/live.cjs.map +1 -1
  75. package/_cjs/CountdownLatch.cjs +8 -9
  76. package/_cjs/CountdownLatch.cjs.map +1 -1
  77. package/_cjs/Differ/api.cjs +5 -6
  78. package/_cjs/Differ/api.cjs.map +1 -1
  79. package/_cjs/Differ/definition.cjs +1 -2
  80. package/_cjs/Differ/definition.cjs.map +1 -1
  81. package/_cjs/Fiber/FiberMessage.cjs +1 -2
  82. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  83. package/_cjs/Fiber/FiberRuntime.cjs +57 -70
  84. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  85. package/_cjs/Fiber/api/await.cjs +1 -2
  86. package/_cjs/Fiber/api/await.cjs.map +1 -1
  87. package/_cjs/Fiber/api/awaitAll.cjs +5 -6
  88. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  89. package/_cjs/Fiber/api/children.cjs +1 -2
  90. package/_cjs/Fiber/api/children.cjs.map +1 -1
  91. package/_cjs/Fiber/api/collectAll.cjs +20 -21
  92. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  93. package/_cjs/Fiber/api/fromIO.cjs +4 -5
  94. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  95. package/_cjs/Fiber/api/id.cjs +1 -2
  96. package/_cjs/Fiber/api/id.cjs.map +1 -1
  97. package/_cjs/Fiber/api/inheritRefs.cjs +1 -2
  98. package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
  99. package/_cjs/Fiber/api/interrupt.cjs +4 -5
  100. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  101. package/_cjs/Fiber/api/interruptAll.cjs +5 -6
  102. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  103. package/_cjs/Fiber/api/interruptAs.cjs +1 -2
  104. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  105. package/_cjs/Fiber/api/interruptFork.cjs +4 -5
  106. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  107. package/_cjs/Fiber/api/join.cjs +4 -5
  108. package/_cjs/Fiber/api/join.cjs.map +1 -1
  109. package/_cjs/Fiber/api/joinAll.cjs +5 -6
  110. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  111. package/_cjs/Fiber/api/location.cjs +1 -2
  112. package/_cjs/Fiber/api/location.cjs.map +1 -1
  113. package/_cjs/Fiber/api/mapFiber.cjs +6 -7
  114. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  115. package/_cjs/Fiber/api/mapIO.cjs +12 -13
  116. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  117. package/_cjs/Fiber/api/poll.cjs +1 -2
  118. package/_cjs/Fiber/api/poll.cjs.map +1 -1
  119. package/_cjs/Fiber/api/zipWith.cjs +14 -15
  120. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  121. package/_cjs/Fiber/constructors.cjs +8 -10
  122. package/_cjs/Fiber/constructors.cjs.map +1 -1
  123. package/_cjs/Fiber/definition.cjs +5 -7
  124. package/_cjs/Fiber/definition.cjs.map +1 -1
  125. package/_cjs/FiberDescriptor.cjs +1 -2
  126. package/_cjs/FiberDescriptor.cjs.map +1 -1
  127. package/_cjs/FiberRef/api/locallyScoped.cjs +5 -6
  128. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  129. package/_cjs/FiberRef/api/locallyScopedWith.cjs +4 -5
  130. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  131. package/_cjs/FiberRef/api.cjs +1 -2
  132. package/_cjs/FiberRef/api.cjs.map +1 -1
  133. package/_cjs/FiberRef/constructors.cjs +6 -7
  134. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  135. package/_cjs/FiberRef/definition.cjs +6 -7
  136. package/_cjs/FiberRef/definition.cjs.map +1 -1
  137. package/_cjs/FiberRef/operations.cjs +5 -6
  138. package/_cjs/FiberRef/operations.cjs.map +1 -1
  139. package/_cjs/FiberRef/unsafe.cjs +13 -14
  140. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  141. package/_cjs/FiberRefs/Patch.cjs +8 -11
  142. package/_cjs/FiberRefs/Patch.cjs.map +1 -1
  143. package/_cjs/FiberRefs/api.cjs +10 -11
  144. package/_cjs/FiberRefs/api.cjs.map +1 -1
  145. package/_cjs/FiberRefs/definition.cjs +3 -4
  146. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  147. package/_cjs/FiberScope/constructors.cjs +1 -3
  148. package/_cjs/FiberScope/constructors.cjs.map +1 -1
  149. package/_cjs/FiberScope/definition.cjs +15 -14
  150. package/_cjs/FiberScope/definition.cjs.map +1 -1
  151. package/_cjs/FiberSet.cjs +11 -12
  152. package/_cjs/FiberSet.cjs.map +1 -1
  153. package/_cjs/FiberStatus/constructors.cjs +1 -2
  154. package/_cjs/FiberStatus/constructors.cjs.map +1 -1
  155. package/_cjs/FiberStatus/definition.cjs +3 -4
  156. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  157. package/_cjs/Future/State.cjs +5 -5
  158. package/_cjs/Future/State.cjs.map +1 -1
  159. package/_cjs/Future/api.cjs +9 -14
  160. package/_cjs/Future/api.cjs.map +1 -1
  161. package/_cjs/Future/constructors.cjs +4 -5
  162. package/_cjs/Future/constructors.cjs.map +1 -1
  163. package/_cjs/Future/definition.cjs +1 -2
  164. package/_cjs/Future/definition.cjs.map +1 -1
  165. package/_cjs/Hub/api.cjs +12 -13
  166. package/_cjs/Hub/api.cjs.map +1 -1
  167. package/_cjs/Hub/definition.cjs +1 -3
  168. package/_cjs/Hub/definition.cjs.map +1 -1
  169. package/_cjs/Hub/internal.cjs +17 -18
  170. package/_cjs/Hub/internal.cjs.map +1 -1
  171. package/_cjs/IO/api/acquireRelease.cjs +3 -4
  172. package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
  173. package/_cjs/IO/api/acquireReleaseExit.cjs +5 -6
  174. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  175. package/_cjs/IO/api/acquireReleaseInterruptible.cjs +3 -4
  176. package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
  177. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +5 -6
  178. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  179. package/_cjs/IO/api/addFinalizer.cjs +3 -4
  180. package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
  181. package/_cjs/IO/api/addFinalizerExit.cjs +6 -7
  182. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  183. package/_cjs/IO/api/all.cjs +6 -7
  184. package/_cjs/IO/api/all.cjs.map +1 -1
  185. package/_cjs/IO/api/array.cjs +4 -5
  186. package/_cjs/IO/api/array.cjs.map +1 -1
  187. package/_cjs/IO/api/asyncIO.cjs +9 -10
  188. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  189. package/_cjs/IO/api/asyncInterrupt.cjs +8 -9
  190. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  191. package/_cjs/IO/api/asyncIterable.cjs +84 -0
  192. package/_cjs/IO/api/asyncIterable.cjs.map +1 -0
  193. package/_cjs/IO/api/awaitAllChildren.cjs +5 -7
  194. package/_cjs/IO/api/awaitAllChildren.cjs.map +1 -1
  195. package/_cjs/IO/api/blocking.cjs +5 -6
  196. package/_cjs/IO/api/blocking.cjs.map +1 -1
  197. package/_cjs/IO/api/bracket.cjs +3 -4
  198. package/_cjs/IO/api/bracket.cjs.map +1 -1
  199. package/_cjs/IO/api/bracketExit.cjs +6 -7
  200. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  201. package/_cjs/IO/api/cachedInvalidate.cjs +15 -16
  202. package/_cjs/IO/api/cachedInvalidate.cjs.map +1 -1
  203. package/_cjs/IO/api/clockWith.cjs +8 -10
  204. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  205. package/_cjs/IO/api/concurrency.cjs +7 -8
  206. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  207. package/_cjs/IO/api/concurrentFinalizers.cjs +10 -11
  208. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  209. package/_cjs/IO/api/consoleWith.cjs +8 -10
  210. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  211. package/_cjs/IO/api/daemonChildren.cjs +6 -7
  212. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  213. package/_cjs/IO/api/delay.cjs +4 -5
  214. package/_cjs/IO/api/delay.cjs.map +1 -1
  215. package/_cjs/IO/api/descriptor.cjs +6 -7
  216. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  217. package/_cjs/IO/api/diffFiberRefs.cjs +4 -5
  218. package/_cjs/IO/api/diffFiberRefs.cjs.map +1 -1
  219. package/_cjs/IO/api/disconnect.cjs +6 -7
  220. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  221. package/_cjs/IO/api/ensuringChildren.cjs +6 -7
  222. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  223. package/_cjs/IO/api/environment.cjs +6 -7
  224. package/_cjs/IO/api/environment.cjs.map +1 -1
  225. package/_cjs/IO/api/foreachConcurrent.cjs +20 -21
  226. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  227. package/_cjs/IO/api/foreachExec.cjs +7 -8
  228. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  229. package/_cjs/IO/api/fork.cjs +10 -12
  230. package/_cjs/IO/api/fork.cjs.map +1 -1
  231. package/_cjs/IO/api/forkAll.cjs +5 -6
  232. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  233. package/_cjs/IO/api/forkDaemon.cjs +4 -5
  234. package/_cjs/IO/api/forkDaemon.cjs.map +1 -1
  235. package/_cjs/IO/api/forkIn.cjs +7 -8
  236. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  237. package/_cjs/IO/api/forkScoped.cjs +7 -8
  238. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  239. package/_cjs/IO/api/fulfill.cjs +5 -6
  240. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  241. package/_cjs/IO/api/interrupt.cjs +8 -9
  242. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  243. package/_cjs/IO/api/memoize.cjs +9 -10
  244. package/_cjs/IO/api/memoize.cjs.map +1 -1
  245. package/_cjs/IO/api/onTermination.cjs +6 -7
  246. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  247. package/_cjs/IO/api/once.cjs +5 -6
  248. package/_cjs/IO/api/once.cjs.map +1 -1
  249. package/_cjs/IO/api/patchFiberRefs.cjs +5 -7
  250. package/_cjs/IO/api/patchFiberRefs.cjs.map +1 -1
  251. package/_cjs/IO/api/provideLayer.cjs +7 -8
  252. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  253. package/_cjs/IO/api/provideScope.cjs +5 -7
  254. package/_cjs/IO/api/provideScope.cjs.map +1 -1
  255. package/_cjs/IO/api/provideSomeLayer.cjs +4 -5
  256. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  257. package/_cjs/IO/api/provideSomeRuntime.cjs +8 -9
  258. package/_cjs/IO/api/provideSomeRuntime.cjs.map +1 -1
  259. package/_cjs/IO/api/race.cjs +10 -11
  260. package/_cjs/IO/api/race.cjs.map +1 -1
  261. package/_cjs/IO/api/raceFirst.cjs +4 -5
  262. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  263. package/_cjs/IO/api/raceWith.cjs +5 -6
  264. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  265. package/_cjs/IO/api/randomWith.cjs +8 -10
  266. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  267. package/_cjs/IO/api/repeat.cjs +7 -8
  268. package/_cjs/IO/api/repeat.cjs.map +1 -1
  269. package/_cjs/IO/api/retry.cjs +6 -7
  270. package/_cjs/IO/api/retry.cjs.map +1 -1
  271. package/_cjs/IO/api/schedule.cjs +4 -5
  272. package/_cjs/IO/api/schedule.cjs.map +1 -1
  273. package/_cjs/IO/api/scope.cjs +4 -4
  274. package/_cjs/IO/api/scope.cjs.map +1 -1
  275. package/_cjs/IO/api/scopeWith.cjs +4 -5
  276. package/_cjs/IO/api/scopeWith.cjs.map +1 -1
  277. package/_cjs/IO/api/scoped.cjs +4 -5
  278. package/_cjs/IO/api/scoped.cjs.map +1 -1
  279. package/_cjs/IO/api/sleep.cjs +3 -4
  280. package/_cjs/IO/api/sleep.cjs.map +1 -1
  281. package/_cjs/IO/api/stateful.cjs +5 -6
  282. package/_cjs/IO/api/stateful.cjs.map +1 -1
  283. package/_cjs/IO/api/supervised.cjs +5 -6
  284. package/_cjs/IO/api/supervised.cjs.map +1 -1
  285. package/_cjs/IO/api/timeout.cjs +9 -10
  286. package/_cjs/IO/api/timeout.cjs.map +1 -1
  287. package/_cjs/IO/api/transplant.cjs +8 -9
  288. package/_cjs/IO/api/transplant.cjs.map +1 -1
  289. package/_cjs/IO/api/whenFiberRef.cjs +4 -5
  290. package/_cjs/IO/api/whenFiberRef.cjs.map +1 -1
  291. package/_cjs/IO/api/whenRef.cjs +4 -5
  292. package/_cjs/IO/api/whenRef.cjs.map +1 -1
  293. package/_cjs/IO/api/withChildren.cjs +6 -7
  294. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  295. package/_cjs/IO/api/withEarlyRelease.cjs +6 -7
  296. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  297. package/_cjs/IO/api/withFinalizer.cjs +3 -4
  298. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  299. package/_cjs/IO/api/withFinalizerExit.cjs +3 -4
  300. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  301. package/_cjs/IO/api/zipConcurrent.cjs +15 -16
  302. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  303. package/_cjs/IO/api.cjs +28 -27
  304. package/_cjs/IO/api.cjs.map +1 -1
  305. package/_cjs/IO/definition.cjs +3 -4
  306. package/_cjs/IO/definition.cjs.map +1 -1
  307. package/_cjs/IO/runtime.cjs +21 -20
  308. package/_cjs/IO/runtime.cjs.map +1 -1
  309. package/_cjs/IO.cjs +6 -0
  310. package/_cjs/IOEnv/definition.cjs +9 -10
  311. package/_cjs/IOEnv/definition.cjs.map +1 -1
  312. package/_cjs/IOEnv/live.cjs +9 -10
  313. package/_cjs/IOEnv/live.cjs.map +1 -1
  314. package/_cjs/IOEnv/services.cjs +3 -4
  315. package/_cjs/IOEnv/services.cjs.map +1 -1
  316. package/_cjs/InterruptStatus/constructors.cjs +1 -2
  317. package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
  318. package/_cjs/InterruptStatus/definition.cjs +1 -2
  319. package/_cjs/InterruptStatus/definition.cjs.map +1 -1
  320. package/_cjs/Layer/MemoMap.cjs +23 -24
  321. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  322. package/_cjs/Layer/api.cjs +16 -17
  323. package/_cjs/Layer/api.cjs.map +1 -1
  324. package/_cjs/Layer/definition.cjs +1 -2
  325. package/_cjs/Layer/definition.cjs.map +1 -1
  326. package/_cjs/LogLevel.cjs +1 -2
  327. package/_cjs/LogLevel.cjs.map +1 -1
  328. package/_cjs/LogSpan.cjs +1 -2
  329. package/_cjs/LogSpan.cjs.map +1 -1
  330. package/_cjs/Logger/api.cjs +4 -5
  331. package/_cjs/Logger/api.cjs.map +1 -1
  332. package/_cjs/Logger/constructors.cjs +7 -8
  333. package/_cjs/Logger/constructors.cjs.map +1 -1
  334. package/_cjs/Logger/definition.cjs +1 -2
  335. package/_cjs/Logger/definition.cjs.map +1 -1
  336. package/_cjs/MVar/api.cjs +13 -14
  337. package/_cjs/MVar/api.cjs.map +1 -1
  338. package/_cjs/MVar/definition.cjs +1 -2
  339. package/_cjs/MVar/definition.cjs.map +1 -1
  340. package/_cjs/Push/FlattenStrategy.cjs +20 -21
  341. package/_cjs/Push/FlattenStrategy.cjs.map +1 -1
  342. package/_cjs/Push/IndexedBuffer.cjs +6 -7
  343. package/_cjs/Push/IndexedBuffer.cjs.map +1 -1
  344. package/_cjs/Push/MergeStrategy.cjs +6 -7
  345. package/_cjs/Push/MergeStrategy.cjs.map +1 -1
  346. package/_cjs/Push/Operator/IOLoopOperator.cjs +9 -10
  347. package/_cjs/Push/Operator/IOLoopOperator.cjs.map +1 -1
  348. package/_cjs/Push/Operator/IOOperator.cjs +6 -7
  349. package/_cjs/Push/Operator/IOOperator.cjs.map +1 -1
  350. package/_cjs/Push/Operator/LoopOperator.cjs +6 -7
  351. package/_cjs/Push/Operator/LoopOperator.cjs.map +1 -1
  352. package/_cjs/Push/Operator/SyncOperator.cjs +6 -7
  353. package/_cjs/Push/Operator/SyncOperator.cjs.map +1 -1
  354. package/_cjs/Push/Producer/IOProducer.cjs +6 -7
  355. package/_cjs/Push/Producer/IOProducer.cjs.map +1 -1
  356. package/_cjs/Push/Producer/SyncProducer.cjs +6 -7
  357. package/_cjs/Push/Producer/SyncProducer.cjs.map +1 -1
  358. package/_cjs/Push/Sink.cjs +7 -8
  359. package/_cjs/Push/Sink.cjs.map +1 -1
  360. package/_cjs/Push/api.cjs +17 -18
  361. package/_cjs/Push/api.cjs.map +1 -1
  362. package/_cjs/Push/definition.cjs +7 -8
  363. package/_cjs/Push/definition.cjs.map +1 -1
  364. package/_cjs/Push/internal.cjs +18 -19
  365. package/_cjs/Push/internal.cjs.map +1 -1
  366. package/_cjs/Queue/api/dimapIO.cjs +3 -4
  367. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  368. package/_cjs/Queue/api/filterInputIO.cjs +9 -10
  369. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  370. package/_cjs/Queue/api/filterOutputIO.cjs +12 -13
  371. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  372. package/_cjs/Queue/api/operations.cjs +1 -3
  373. package/_cjs/Queue/api/operations.cjs.map +1 -1
  374. package/_cjs/Queue/api/poll.cjs +4 -5
  375. package/_cjs/Queue/api/poll.cjs.map +1 -1
  376. package/_cjs/Queue/api/takeBetween.cjs +5 -6
  377. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  378. package/_cjs/Queue/api/takeN.cjs +3 -4
  379. package/_cjs/Queue/api/takeN.cjs.map +1 -1
  380. package/_cjs/Queue/api/zipWithIO.cjs +6 -7
  381. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  382. package/_cjs/Queue/constructors.cjs +3 -4
  383. package/_cjs/Queue/constructors.cjs.map +1 -1
  384. package/_cjs/Queue/definition.cjs +1 -2
  385. package/_cjs/Queue/definition.cjs.map +1 -1
  386. package/_cjs/Queue/internal.cjs +11 -12
  387. package/_cjs/Queue/internal.cjs.map +1 -1
  388. package/_cjs/Queue/strategy.cjs +8 -9
  389. package/_cjs/Queue/strategy.cjs.map +1 -1
  390. package/_cjs/Random/api.cjs +3 -4
  391. package/_cjs/Random/api.cjs.map +1 -1
  392. package/_cjs/Random/definition.cjs +3 -4
  393. package/_cjs/Random/definition.cjs.map +1 -1
  394. package/_cjs/Random/live.cjs +3 -4
  395. package/_cjs/Random/live.cjs.map +1 -1
  396. package/_cjs/Ref/Atomic.cjs +3 -4
  397. package/_cjs/Ref/Atomic.cjs.map +1 -1
  398. package/_cjs/Ref/Derived.cjs +6 -7
  399. package/_cjs/Ref/Derived.cjs.map +1 -1
  400. package/_cjs/Ref/DerivedAll.cjs +6 -7
  401. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  402. package/_cjs/Ref/Synchronized/api.cjs +5 -6
  403. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  404. package/_cjs/Ref/Synchronized/constructors.cjs +9 -9
  405. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  406. package/_cjs/Ref/Synchronized/definition.cjs +3 -4
  407. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  408. package/_cjs/Ref/api/collect.cjs +5 -6
  409. package/_cjs/Ref/api/collect.cjs.map +1 -1
  410. package/_cjs/Ref/api/dimap.cjs +4 -5
  411. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  412. package/_cjs/Ref/api/filter.cjs +5 -6
  413. package/_cjs/Ref/api/filter.cjs.map +1 -1
  414. package/_cjs/Ref/api/get.cjs +1 -2
  415. package/_cjs/Ref/api/get.cjs.map +1 -1
  416. package/_cjs/Ref/api/match.cjs +1 -2
  417. package/_cjs/Ref/api/match.cjs.map +1 -1
  418. package/_cjs/Ref/api/matchAll.cjs +1 -2
  419. package/_cjs/Ref/api/matchAll.cjs.map +1 -1
  420. package/_cjs/Ref/api/modify.cjs +3 -4
  421. package/_cjs/Ref/api/modify.cjs.map +1 -1
  422. package/_cjs/Ref/api/set.cjs +1 -2
  423. package/_cjs/Ref/api/set.cjs.map +1 -1
  424. package/_cjs/Ref/api.cjs +5 -7
  425. package/_cjs/Ref/api.cjs.map +1 -1
  426. package/_cjs/Ref/constructors.cjs +3 -4
  427. package/_cjs/Ref/constructors.cjs.map +1 -1
  428. package/_cjs/Ref/definition.cjs +1 -2
  429. package/_cjs/Ref/definition.cjs.map +1 -1
  430. package/_cjs/Reloadable/api.cjs +3 -4
  431. package/_cjs/Reloadable/api.cjs.map +1 -1
  432. package/_cjs/Reloadable/constructors.cjs +14 -14
  433. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  434. package/_cjs/Reloadable/definition.cjs +5 -6
  435. package/_cjs/Reloadable/definition.cjs.map +1 -1
  436. package/_cjs/RuntimeFlags/Patch.cjs +3 -4
  437. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  438. package/_cjs/RuntimeFlags/RuntimeFlags.cjs +3 -4
  439. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  440. package/_cjs/STM/api/atomically.cjs +9 -10
  441. package/_cjs/STM/api/atomically.cjs.map +1 -1
  442. package/_cjs/STM/api/core-api.cjs +5 -6
  443. package/_cjs/STM/api/core-api.cjs.map +1 -1
  444. package/_cjs/STM/api/core-constructors.cjs +1 -2
  445. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  446. package/_cjs/STM/api.cjs +12 -13
  447. package/_cjs/STM/api.cjs.map +1 -1
  448. package/_cjs/STM/definition.cjs +3 -4
  449. package/_cjs/STM/definition.cjs.map +1 -1
  450. package/_cjs/STM/driver.cjs +7 -8
  451. package/_cjs/STM/driver.cjs.map +1 -1
  452. package/_cjs/STM/internal/CommitState.cjs +3 -4
  453. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  454. package/_cjs/STM/internal/Entry.cjs +1 -2
  455. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  456. package/_cjs/STM/internal/Journal.cjs +16 -17
  457. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  458. package/_cjs/STM/internal/TryCommit.cjs +1 -2
  459. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  460. package/_cjs/STM/internal/Versioned.cjs +1 -2
  461. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  462. package/_cjs/Schedule/Decision.cjs +4 -5
  463. package/_cjs/Schedule/Decision.cjs.map +1 -1
  464. package/_cjs/Schedule/Driver.cjs +1 -2
  465. package/_cjs/Schedule/Driver.cjs.map +1 -1
  466. package/_cjs/Schedule/api/driver.cjs +14 -15
  467. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  468. package/_cjs/Schedule/api.cjs +20 -21
  469. package/_cjs/Schedule/api.cjs.map +1 -1
  470. package/_cjs/Schedule/definition.cjs +1 -2
  471. package/_cjs/Schedule/definition.cjs.map +1 -1
  472. package/_cjs/Scope/Finalizer/definition.cjs +4 -5
  473. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  474. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +10 -11
  475. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  476. package/_cjs/Scope/ReleaseMap/api.cjs +8 -9
  477. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  478. package/_cjs/Scope/ReleaseMap/constructors.cjs +5 -6
  479. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  480. package/_cjs/Scope/ReleaseMap/definition.cjs +3 -4
  481. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  482. package/_cjs/Scope/api.cjs +13 -14
  483. package/_cjs/Scope/api.cjs.map +1 -1
  484. package/_cjs/Scope/definition.cjs +4 -5
  485. package/_cjs/Scope/definition.cjs.map +1 -1
  486. package/_cjs/ScopedRef/api.cjs +14 -15
  487. package/_cjs/ScopedRef/api.cjs.map +1 -1
  488. package/_cjs/ScopedRef/definition.cjs +1 -2
  489. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  490. package/_cjs/Semaphore/Reservation.cjs +3 -4
  491. package/_cjs/Semaphore/Reservation.cjs.map +1 -1
  492. package/_cjs/Semaphore/constructors.cjs +4 -5
  493. package/_cjs/Semaphore/constructors.cjs.map +1 -1
  494. package/_cjs/Semaphore/definition.cjs +19 -20
  495. package/_cjs/Semaphore/definition.cjs.map +1 -1
  496. package/_cjs/Sink/api.cjs +35 -36
  497. package/_cjs/Sink/api.cjs.map +1 -1
  498. package/_cjs/Sink/definition.cjs +1 -2
  499. package/_cjs/Sink/definition.cjs.map +1 -1
  500. package/_cjs/State/api.cjs +6 -7
  501. package/_cjs/State/api.cjs.map +1 -1
  502. package/_cjs/State/definition.cjs +1 -2
  503. package/_cjs/State/definition.cjs.map +1 -1
  504. package/_cjs/State/internal.cjs +1 -2
  505. package/_cjs/State/internal.cjs.map +1 -1
  506. package/_cjs/Stream/api/zipAllWith.cjs +10 -11
  507. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  508. package/_cjs/Stream/api/zipWith.cjs +3 -4
  509. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  510. package/_cjs/Stream/api/zipWithChunks.cjs +8 -9
  511. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  512. package/_cjs/Stream/api.cjs +73 -73
  513. package/_cjs/Stream/api.cjs.map +1 -1
  514. package/_cjs/Stream/definition.cjs +1 -2
  515. package/_cjs/Stream/definition.cjs.map +1 -1
  516. package/_cjs/Stream/internal/DebounceState.cjs +1 -2
  517. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  518. package/_cjs/Stream/internal/Handoff.cjs +8 -9
  519. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  520. package/_cjs/Stream/internal/Pull.cjs +8 -9
  521. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  522. package/_cjs/Stream/internal/SinkEndReason.cjs +1 -2
  523. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  524. package/_cjs/Stream/internal/Take.cjs +12 -13
  525. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  526. package/_cjs/Stream/internal/util.cjs +5 -6
  527. package/_cjs/Stream/internal/util.cjs.map +1 -1
  528. package/_cjs/Subject/Atomic.cjs +7 -8
  529. package/_cjs/Subject/Atomic.cjs.map +1 -1
  530. package/_cjs/Subject/DeferredRef.cjs +10 -11
  531. package/_cjs/Subject/DeferredRef.cjs.map +1 -1
  532. package/_cjs/Subject/Hold.cjs +8 -9
  533. package/_cjs/Subject/Hold.cjs.map +1 -1
  534. package/_cjs/Subject/RefSubject/Atomic.cjs +33 -38
  535. package/_cjs/Subject/RefSubject/Atomic.cjs.map +1 -1
  536. package/_cjs/Subject/RefSubject/Derived.cjs +5 -6
  537. package/_cjs/Subject/RefSubject/Derived.cjs.map +1 -1
  538. package/_cjs/Subject/RefSubject/RefSubject.cjs +1 -2
  539. package/_cjs/Subject/RefSubject/RefSubject.cjs.map +1 -1
  540. package/_cjs/Subject/RefSubject/constructors.cjs +9 -10
  541. package/_cjs/Subject/RefSubject/constructors.cjs.map +1 -1
  542. package/_cjs/Subject/api.cjs +4 -6
  543. package/_cjs/Subject/api.cjs.map +1 -1
  544. package/_cjs/Subject/definition.cjs +1 -2
  545. package/_cjs/Subject/definition.cjs.map +1 -1
  546. package/_cjs/SubscriptionRef.cjs +9 -10
  547. package/_cjs/SubscriptionRef.cjs.map +1 -1
  548. package/_cjs/Supervisor/api.cjs +4 -5
  549. package/_cjs/Supervisor/api.cjs.map +1 -1
  550. package/_cjs/Supervisor/constructors.cjs +6 -7
  551. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  552. package/_cjs/Supervisor/definition.cjs +4 -6
  553. package/_cjs/Supervisor/definition.cjs.map +1 -1
  554. package/_cjs/SupervisorPatch.cjs +6 -7
  555. package/_cjs/SupervisorPatch.cjs.map +1 -1
  556. package/_cjs/TExit/constructors.cjs +1 -2
  557. package/_cjs/TExit/constructors.cjs.map +1 -1
  558. package/_cjs/TExit/definition.cjs +7 -8
  559. package/_cjs/TExit/definition.cjs.map +1 -1
  560. package/_cjs/TFuture/api.cjs +11 -12
  561. package/_cjs/TFuture/api.cjs.map +1 -1
  562. package/_cjs/TFuture/constructors.cjs +7 -8
  563. package/_cjs/TFuture/constructors.cjs.map +1 -1
  564. package/_cjs/TFuture/definition.cjs +3 -4
  565. package/_cjs/TFuture/definition.cjs.map +1 -1
  566. package/_cjs/TReentrantLock/api.cjs +13 -14
  567. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  568. package/_cjs/TReentrantLock/definition.cjs +7 -8
  569. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  570. package/_cjs/TRef/api.cjs +4 -5
  571. package/_cjs/TRef/api.cjs.map +1 -1
  572. package/_cjs/TRef/constructors.cjs +15 -9
  573. package/_cjs/TRef/constructors.cjs.map +1 -1
  574. package/_cjs/TRef/definition.cjs +9 -10
  575. package/_cjs/TRef/definition.cjs.map +1 -1
  576. package/_cjs/TSemaphore/api.cjs +7 -8
  577. package/_cjs/TSemaphore/api.cjs.map +1 -1
  578. package/_cjs/TSemaphore/constructors.cjs +6 -7
  579. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  580. package/_cjs/TSemaphore/definition.cjs +3 -4
  581. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  582. package/_cjs/TxnId.cjs +1 -3
  583. package/_cjs/TxnId.cjs.map +1 -1
  584. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +5 -6
  585. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  586. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +5 -6
  587. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  588. package/_cjs/collection/immutable/Conc/filterIO.cjs +3 -4
  589. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  590. package/_cjs/collection/immutable/Conc/findIO.cjs +4 -5
  591. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  592. package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -4
  593. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  594. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +5 -6
  595. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  596. package/_cjs/data/Exit/foreachIO.cjs +5 -6
  597. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  598. package/_cjs/internal/BackgroundScheduler.cjs +1 -2
  599. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  600. package/_cjs/internal/HashedPair.cjs +6 -7
  601. package/_cjs/internal/HashedPair.cjs.map +1 -1
  602. package/_cjs/internal/Hub.cjs +6 -7
  603. package/_cjs/internal/Hub.cjs.map +1 -1
  604. package/_cjs/internal/IsFatal.cjs +1 -6
  605. package/_cjs/internal/IsFatal.cjs.map +1 -1
  606. package/_cjs/internal/MutableQueue.cjs +4 -5
  607. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  608. package/_cjs/internal/Scheduler.cjs +3 -4
  609. package/_cjs/internal/Scheduler.cjs.map +1 -1
  610. package/_cjs/internal/StackTraceBuilder.cjs +4 -5
  611. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  612. package/_cjs/{chunk.cjs → rolldown-runtime.cjs} +2 -3
  613. package/_mjs/Cached/api.mjs +1 -2
  614. package/_mjs/Cached/api.mjs.map +1 -1
  615. package/_mjs/Cached/definition.mjs +1 -2
  616. package/_mjs/Cached/definition.mjs.map +1 -1
  617. package/_mjs/Cached/internal.mjs +1 -2
  618. package/_mjs/Cached/internal.mjs.map +1 -1
  619. package/_mjs/CancellerState.mjs +1 -2
  620. package/_mjs/CancellerState.mjs.map +1 -1
  621. package/_mjs/Channel/ChildExecutorDecision/api.mjs +1 -2
  622. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  623. package/_mjs/Channel/ChildExecutorDecision/definition.mjs +1 -2
  624. package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -1
  625. package/_mjs/Channel/UpstreamPullRequest/api.mjs +1 -2
  626. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  627. package/_mjs/Channel/UpstreamPullRequest/definition.mjs +1 -2
  628. package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
  629. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs +1 -2
  630. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -1
  631. package/_mjs/Channel/UpstreamPullStrategy.mjs +1 -2
  632. package/_mjs/Channel/api/interruptWhen.mjs +1 -2
  633. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  634. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -2
  635. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  636. package/_mjs/Channel/api/mergeAll.mjs +1 -2
  637. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  638. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +1 -2
  639. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  640. package/_mjs/Channel/api/mergeAllWith.mjs +1 -2
  641. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  642. package/_mjs/Channel/api/mergeMap.mjs +1 -2
  643. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  644. package/_mjs/Channel/api/mergeWith.mjs +1 -2
  645. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  646. package/_mjs/Channel/api/run.mjs +2 -4
  647. package/_mjs/Channel/api/run.mjs.map +1 -1
  648. package/_mjs/Channel/api/runCollect.mjs +1 -2
  649. package/_mjs/Channel/api/runCollect.mjs.map +1 -1
  650. package/_mjs/Channel/api/runDrain.mjs +1 -2
  651. package/_mjs/Channel/api/runDrain.mjs.map +1 -1
  652. package/_mjs/Channel/api/runScoped.mjs +1 -2
  653. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  654. package/_mjs/Channel/api/toPull.mjs +1 -2
  655. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  656. package/_mjs/Channel/api/zipConcurrent.mjs +1 -2
  657. package/_mjs/Channel/api/zipConcurrent.mjs.map +1 -1
  658. package/_mjs/Channel/api.mjs +1 -2
  659. package/_mjs/Channel/api.mjs.map +1 -1
  660. package/_mjs/Channel/core-api.mjs +1 -2
  661. package/_mjs/Channel/core-api.mjs.map +1 -1
  662. package/_mjs/Channel/definition.mjs +1 -2
  663. package/_mjs/Channel/definition.mjs.map +1 -1
  664. package/_mjs/Channel/internal/ChannelExecutor.mjs +21 -17
  665. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  666. package/_mjs/Channel/internal/ChannelState.mjs +1 -2
  667. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  668. package/_mjs/Channel/internal/MergeDecision.mjs +1 -2
  669. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  670. package/_mjs/Channel/internal/MergeState.mjs +1 -2
  671. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  672. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +1 -2
  673. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  674. package/_mjs/Clock/api.mjs +1 -1
  675. package/_mjs/Clock/api.mjs.map +1 -1
  676. package/_mjs/Clock/definition.mjs +1 -2
  677. package/_mjs/Clock/definition.mjs.map +1 -1
  678. package/_mjs/Clock/live.mjs +1 -2
  679. package/_mjs/Clock/live.mjs.map +1 -1
  680. package/_mjs/Console/api.mjs +2 -4
  681. package/_mjs/Console/api.mjs.map +1 -1
  682. package/_mjs/Console/definition.mjs +1 -2
  683. package/_mjs/Console/definition.mjs.map +1 -1
  684. package/_mjs/Console/live.mjs +1 -2
  685. package/_mjs/Console/live.mjs.map +1 -1
  686. package/_mjs/CountdownLatch.mjs +1 -2
  687. package/_mjs/CountdownLatch.mjs.map +1 -1
  688. package/_mjs/Differ/api.mjs +1 -2
  689. package/_mjs/Differ/api.mjs.map +1 -1
  690. package/_mjs/Differ/definition.mjs +1 -2
  691. package/_mjs/Differ/definition.mjs.map +1 -1
  692. package/_mjs/Fiber/FiberMessage.mjs +1 -2
  693. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  694. package/_mjs/Fiber/FiberRuntime.mjs +23 -36
  695. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  696. package/_mjs/Fiber/api/await.mjs +1 -2
  697. package/_mjs/Fiber/api/await.mjs.map +1 -1
  698. package/_mjs/Fiber/api/awaitAll.mjs +1 -2
  699. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  700. package/_mjs/Fiber/api/children.mjs +1 -2
  701. package/_mjs/Fiber/api/children.mjs.map +1 -1
  702. package/_mjs/Fiber/api/collectAll.mjs +1 -2
  703. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  704. package/_mjs/Fiber/api/fromIO.mjs +1 -2
  705. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  706. package/_mjs/Fiber/api/id.mjs +1 -2
  707. package/_mjs/Fiber/api/id.mjs.map +1 -1
  708. package/_mjs/Fiber/api/inheritRefs.mjs +1 -2
  709. package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
  710. package/_mjs/Fiber/api/interrupt.mjs +1 -2
  711. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  712. package/_mjs/Fiber/api/interruptAll.mjs +1 -2
  713. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  714. package/_mjs/Fiber/api/interruptAs.mjs +1 -2
  715. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  716. package/_mjs/Fiber/api/interruptFork.mjs +1 -2
  717. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  718. package/_mjs/Fiber/api/join.mjs +1 -2
  719. package/_mjs/Fiber/api/join.mjs.map +1 -1
  720. package/_mjs/Fiber/api/joinAll.mjs +1 -2
  721. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  722. package/_mjs/Fiber/api/location.mjs +1 -2
  723. package/_mjs/Fiber/api/location.mjs.map +1 -1
  724. package/_mjs/Fiber/api/mapFiber.mjs +1 -2
  725. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  726. package/_mjs/Fiber/api/mapIO.mjs +1 -2
  727. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  728. package/_mjs/Fiber/api/poll.mjs +1 -2
  729. package/_mjs/Fiber/api/poll.mjs.map +1 -1
  730. package/_mjs/Fiber/api/zipWith.mjs +1 -2
  731. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  732. package/_mjs/Fiber/constructors.mjs +2 -4
  733. package/_mjs/Fiber/constructors.mjs.map +1 -1
  734. package/_mjs/Fiber/definition.mjs +2 -4
  735. package/_mjs/Fiber/definition.mjs.map +1 -1
  736. package/_mjs/FiberDescriptor.mjs +1 -2
  737. package/_mjs/FiberDescriptor.mjs.map +1 -1
  738. package/_mjs/FiberRef/api/locallyScoped.mjs +1 -2
  739. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  740. package/_mjs/FiberRef/api/locallyScopedWith.mjs +1 -2
  741. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  742. package/_mjs/FiberRef/api.mjs +1 -2
  743. package/_mjs/FiberRef/api.mjs.map +1 -1
  744. package/_mjs/FiberRef/constructors.mjs +1 -2
  745. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  746. package/_mjs/FiberRef/definition.mjs +1 -2
  747. package/_mjs/FiberRef/definition.mjs.map +1 -1
  748. package/_mjs/FiberRef/operations.mjs +1 -2
  749. package/_mjs/FiberRef/operations.mjs.map +1 -1
  750. package/_mjs/FiberRef/unsafe.mjs +1 -2
  751. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  752. package/_mjs/FiberRefs/Patch.mjs +1 -4
  753. package/_mjs/FiberRefs/Patch.mjs.map +1 -1
  754. package/_mjs/FiberRefs/api.mjs +1 -2
  755. package/_mjs/FiberRefs/api.mjs.map +1 -1
  756. package/_mjs/FiberRefs/definition.mjs +1 -2
  757. package/_mjs/FiberRefs/definition.mjs.map +1 -1
  758. package/_mjs/FiberScope/constructors.mjs +1 -2
  759. package/_mjs/FiberScope/constructors.mjs.map +1 -1
  760. package/_mjs/FiberScope/definition.mjs +9 -8
  761. package/_mjs/FiberScope/definition.mjs.map +1 -1
  762. package/_mjs/FiberSet.mjs +1 -2
  763. package/_mjs/FiberSet.mjs.map +1 -1
  764. package/_mjs/FiberStatus/constructors.mjs +1 -2
  765. package/_mjs/FiberStatus/constructors.mjs.map +1 -1
  766. package/_mjs/FiberStatus/definition.mjs +1 -2
  767. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  768. package/_mjs/Future/State.mjs +5 -5
  769. package/_mjs/Future/State.mjs.map +1 -1
  770. package/_mjs/Future/api.mjs +3 -8
  771. package/_mjs/Future/api.mjs.map +1 -1
  772. package/_mjs/Future/constructors.mjs +1 -2
  773. package/_mjs/Future/constructors.mjs.map +1 -1
  774. package/_mjs/Future/definition.mjs +1 -2
  775. package/_mjs/Future/definition.mjs.map +1 -1
  776. package/_mjs/Hub/api.mjs +1 -2
  777. package/_mjs/Hub/api.mjs.map +1 -1
  778. package/_mjs/Hub/definition.mjs +1 -2
  779. package/_mjs/Hub/definition.mjs.map +1 -1
  780. package/_mjs/Hub/internal.mjs +1 -2
  781. package/_mjs/Hub/internal.mjs.map +1 -1
  782. package/_mjs/IO/api/acquireRelease.mjs +1 -2
  783. package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
  784. package/_mjs/IO/api/acquireReleaseExit.mjs +1 -2
  785. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  786. package/_mjs/IO/api/acquireReleaseInterruptible.mjs +1 -2
  787. package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -1
  788. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +1 -2
  789. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  790. package/_mjs/IO/api/addFinalizer.mjs +1 -2
  791. package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
  792. package/_mjs/IO/api/addFinalizerExit.mjs +1 -2
  793. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  794. package/_mjs/IO/api/all.mjs +1 -2
  795. package/_mjs/IO/api/all.mjs.map +1 -1
  796. package/_mjs/IO/api/array.mjs +1 -2
  797. package/_mjs/IO/api/array.mjs.map +1 -1
  798. package/_mjs/IO/api/asyncIO.mjs +1 -2
  799. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  800. package/_mjs/IO/api/asyncInterrupt.mjs +1 -2
  801. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  802. package/_mjs/IO/api/asyncIterable.mjs +74 -0
  803. package/_mjs/IO/api/asyncIterable.mjs.map +1 -0
  804. package/_mjs/IO/api/awaitAllChildren.mjs +2 -4
  805. package/_mjs/IO/api/awaitAllChildren.mjs.map +1 -1
  806. package/_mjs/IO/api/blocking.mjs +1 -2
  807. package/_mjs/IO/api/blocking.mjs.map +1 -1
  808. package/_mjs/IO/api/bracket.mjs +1 -2
  809. package/_mjs/IO/api/bracket.mjs.map +1 -1
  810. package/_mjs/IO/api/bracketExit.mjs +1 -2
  811. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  812. package/_mjs/IO/api/cachedInvalidate.mjs +1 -2
  813. package/_mjs/IO/api/cachedInvalidate.mjs.map +1 -1
  814. package/_mjs/IO/api/clockWith.mjs +2 -4
  815. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  816. package/_mjs/IO/api/concurrency.mjs +1 -2
  817. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  818. package/_mjs/IO/api/concurrentFinalizers.mjs +1 -2
  819. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  820. package/_mjs/IO/api/consoleWith.mjs +2 -4
  821. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  822. package/_mjs/IO/api/daemonChildren.mjs +1 -2
  823. package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
  824. package/_mjs/IO/api/delay.mjs +1 -2
  825. package/_mjs/IO/api/delay.mjs.map +1 -1
  826. package/_mjs/IO/api/descriptor.mjs +1 -2
  827. package/_mjs/IO/api/descriptor.mjs.map +1 -1
  828. package/_mjs/IO/api/diffFiberRefs.mjs +1 -2
  829. package/_mjs/IO/api/diffFiberRefs.mjs.map +1 -1
  830. package/_mjs/IO/api/disconnect.mjs +1 -2
  831. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  832. package/_mjs/IO/api/ensuringChildren.mjs +1 -2
  833. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  834. package/_mjs/IO/api/environment.mjs +1 -2
  835. package/_mjs/IO/api/environment.mjs.map +1 -1
  836. package/_mjs/IO/api/foreachConcurrent.mjs +1 -2
  837. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  838. package/_mjs/IO/api/foreachExec.mjs +1 -2
  839. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  840. package/_mjs/IO/api/fork.mjs +2 -4
  841. package/_mjs/IO/api/fork.mjs.map +1 -1
  842. package/_mjs/IO/api/forkAll.mjs +1 -2
  843. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  844. package/_mjs/IO/api/forkDaemon.mjs +1 -2
  845. package/_mjs/IO/api/forkDaemon.mjs.map +1 -1
  846. package/_mjs/IO/api/forkIn.mjs +1 -2
  847. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  848. package/_mjs/IO/api/forkScoped.mjs +1 -2
  849. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  850. package/_mjs/IO/api/fulfill.mjs +1 -2
  851. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  852. package/_mjs/IO/api/interrupt.mjs +1 -2
  853. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  854. package/_mjs/IO/api/memoize.mjs +1 -2
  855. package/_mjs/IO/api/memoize.mjs.map +1 -1
  856. package/_mjs/IO/api/onTermination.mjs +1 -2
  857. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  858. package/_mjs/IO/api/once.mjs +1 -2
  859. package/_mjs/IO/api/once.mjs.map +1 -1
  860. package/_mjs/IO/api/patchFiberRefs.mjs +2 -4
  861. package/_mjs/IO/api/patchFiberRefs.mjs.map +1 -1
  862. package/_mjs/IO/api/provideLayer.mjs +1 -2
  863. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  864. package/_mjs/IO/api/provideScope.mjs +2 -4
  865. package/_mjs/IO/api/provideScope.mjs.map +1 -1
  866. package/_mjs/IO/api/provideSomeLayer.mjs +1 -2
  867. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  868. package/_mjs/IO/api/provideSomeRuntime.mjs +1 -2
  869. package/_mjs/IO/api/provideSomeRuntime.mjs.map +1 -1
  870. package/_mjs/IO/api/race.mjs +1 -2
  871. package/_mjs/IO/api/race.mjs.map +1 -1
  872. package/_mjs/IO/api/raceFirst.mjs +1 -2
  873. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  874. package/_mjs/IO/api/raceWith.mjs +1 -2
  875. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  876. package/_mjs/IO/api/randomWith.mjs +2 -4
  877. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  878. package/_mjs/IO/api/repeat.mjs +1 -2
  879. package/_mjs/IO/api/repeat.mjs.map +1 -1
  880. package/_mjs/IO/api/retry.mjs +1 -2
  881. package/_mjs/IO/api/retry.mjs.map +1 -1
  882. package/_mjs/IO/api/schedule.mjs +1 -2
  883. package/_mjs/IO/api/schedule.mjs.map +1 -1
  884. package/_mjs/IO/api/scope.mjs +1 -1
  885. package/_mjs/IO/api/scope.mjs.map +1 -1
  886. package/_mjs/IO/api/scopeWith.mjs +1 -2
  887. package/_mjs/IO/api/scopeWith.mjs.map +1 -1
  888. package/_mjs/IO/api/scoped.mjs +1 -2
  889. package/_mjs/IO/api/scoped.mjs.map +1 -1
  890. package/_mjs/IO/api/sleep.mjs +1 -2
  891. package/_mjs/IO/api/sleep.mjs.map +1 -1
  892. package/_mjs/IO/api/stateful.mjs +1 -2
  893. package/_mjs/IO/api/stateful.mjs.map +1 -1
  894. package/_mjs/IO/api/supervised.mjs +1 -2
  895. package/_mjs/IO/api/supervised.mjs.map +1 -1
  896. package/_mjs/IO/api/timeout.mjs +1 -2
  897. package/_mjs/IO/api/timeout.mjs.map +1 -1
  898. package/_mjs/IO/api/transplant.mjs +1 -2
  899. package/_mjs/IO/api/transplant.mjs.map +1 -1
  900. package/_mjs/IO/api/whenFiberRef.mjs +1 -2
  901. package/_mjs/IO/api/whenFiberRef.mjs.map +1 -1
  902. package/_mjs/IO/api/whenRef.mjs +1 -2
  903. package/_mjs/IO/api/whenRef.mjs.map +1 -1
  904. package/_mjs/IO/api/withChildren.mjs +1 -2
  905. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  906. package/_mjs/IO/api/withEarlyRelease.mjs +1 -2
  907. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  908. package/_mjs/IO/api/withFinalizer.mjs +1 -2
  909. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  910. package/_mjs/IO/api/withFinalizerExit.mjs +1 -2
  911. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  912. package/_mjs/IO/api/zipConcurrent.mjs +1 -2
  913. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  914. package/_mjs/IO/api.mjs +5 -4
  915. package/_mjs/IO/api.mjs.map +1 -1
  916. package/_mjs/IO/definition.mjs +1 -2
  917. package/_mjs/IO/definition.mjs.map +1 -1
  918. package/_mjs/IO/runtime.mjs +5 -4
  919. package/_mjs/IO/runtime.mjs.map +1 -1
  920. package/_mjs/IO.mjs +2 -1
  921. package/_mjs/IOEnv/definition.mjs +1 -2
  922. package/_mjs/IOEnv/definition.mjs.map +1 -1
  923. package/_mjs/IOEnv/live.mjs +1 -2
  924. package/_mjs/IOEnv/live.mjs.map +1 -1
  925. package/_mjs/IOEnv/services.mjs +1 -2
  926. package/_mjs/IOEnv/services.mjs.map +1 -1
  927. package/_mjs/InterruptStatus/constructors.mjs +1 -2
  928. package/_mjs/InterruptStatus/constructors.mjs.map +1 -1
  929. package/_mjs/InterruptStatus/definition.mjs +1 -2
  930. package/_mjs/InterruptStatus/definition.mjs.map +1 -1
  931. package/_mjs/Layer/MemoMap.mjs +1 -2
  932. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  933. package/_mjs/Layer/api.mjs +1 -2
  934. package/_mjs/Layer/api.mjs.map +1 -1
  935. package/_mjs/Layer/definition.mjs +1 -2
  936. package/_mjs/Layer/definition.mjs.map +1 -1
  937. package/_mjs/LogLevel.mjs +1 -2
  938. package/_mjs/LogLevel.mjs.map +1 -1
  939. package/_mjs/LogSpan.mjs +1 -2
  940. package/_mjs/LogSpan.mjs.map +1 -1
  941. package/_mjs/Logger/api.mjs +1 -2
  942. package/_mjs/Logger/api.mjs.map +1 -1
  943. package/_mjs/Logger/constructors.mjs +1 -2
  944. package/_mjs/Logger/constructors.mjs.map +1 -1
  945. package/_mjs/Logger/definition.mjs +1 -2
  946. package/_mjs/Logger/definition.mjs.map +1 -1
  947. package/_mjs/MVar/api.mjs +1 -2
  948. package/_mjs/MVar/api.mjs.map +1 -1
  949. package/_mjs/MVar/definition.mjs +1 -2
  950. package/_mjs/MVar/definition.mjs.map +1 -1
  951. package/_mjs/Push/FlattenStrategy.mjs +1 -2
  952. package/_mjs/Push/FlattenStrategy.mjs.map +1 -1
  953. package/_mjs/Push/IndexedBuffer.mjs +1 -2
  954. package/_mjs/Push/IndexedBuffer.mjs.map +1 -1
  955. package/_mjs/Push/MergeStrategy.mjs +1 -2
  956. package/_mjs/Push/MergeStrategy.mjs.map +1 -1
  957. package/_mjs/Push/Operator/IOLoopOperator.mjs +1 -2
  958. package/_mjs/Push/Operator/IOLoopOperator.mjs.map +1 -1
  959. package/_mjs/Push/Operator/IOOperator.mjs +1 -2
  960. package/_mjs/Push/Operator/IOOperator.mjs.map +1 -1
  961. package/_mjs/Push/Operator/LoopOperator.mjs +1 -2
  962. package/_mjs/Push/Operator/LoopOperator.mjs.map +1 -1
  963. package/_mjs/Push/Operator/SyncOperator.mjs +1 -2
  964. package/_mjs/Push/Operator/SyncOperator.mjs.map +1 -1
  965. package/_mjs/Push/Producer/IOProducer.mjs +1 -2
  966. package/_mjs/Push/Producer/IOProducer.mjs.map +1 -1
  967. package/_mjs/Push/Producer/SyncProducer.mjs +1 -2
  968. package/_mjs/Push/Producer/SyncProducer.mjs.map +1 -1
  969. package/_mjs/Push/Sink.mjs +1 -2
  970. package/_mjs/Push/Sink.mjs.map +1 -1
  971. package/_mjs/Push/api.mjs +1 -2
  972. package/_mjs/Push/api.mjs.map +1 -1
  973. package/_mjs/Push/definition.mjs +1 -2
  974. package/_mjs/Push/definition.mjs.map +1 -1
  975. package/_mjs/Push/internal.mjs +1 -2
  976. package/_mjs/Push/internal.mjs.map +1 -1
  977. package/_mjs/Queue/api/dimapIO.mjs +1 -2
  978. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  979. package/_mjs/Queue/api/filterInputIO.mjs +5 -6
  980. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  981. package/_mjs/Queue/api/filterOutputIO.mjs +8 -9
  982. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  983. package/_mjs/Queue/api/operations.mjs +1 -2
  984. package/_mjs/Queue/api/operations.mjs.map +1 -1
  985. package/_mjs/Queue/api/poll.mjs +1 -2
  986. package/_mjs/Queue/api/poll.mjs.map +1 -1
  987. package/_mjs/Queue/api/takeBetween.mjs +1 -2
  988. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  989. package/_mjs/Queue/api/takeN.mjs +1 -2
  990. package/_mjs/Queue/api/takeN.mjs.map +1 -1
  991. package/_mjs/Queue/api/zipWithIO.mjs +1 -2
  992. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  993. package/_mjs/Queue/constructors.mjs +1 -2
  994. package/_mjs/Queue/constructors.mjs.map +1 -1
  995. package/_mjs/Queue/definition.mjs +1 -2
  996. package/_mjs/Queue/definition.mjs.map +1 -1
  997. package/_mjs/Queue/internal.mjs +1 -2
  998. package/_mjs/Queue/internal.mjs.map +1 -1
  999. package/_mjs/Queue/strategy.mjs +1 -2
  1000. package/_mjs/Queue/strategy.mjs.map +1 -1
  1001. package/_mjs/Random/api.mjs +1 -2
  1002. package/_mjs/Random/api.mjs.map +1 -1
  1003. package/_mjs/Random/definition.mjs +1 -2
  1004. package/_mjs/Random/definition.mjs.map +1 -1
  1005. package/_mjs/Random/live.mjs +1 -2
  1006. package/_mjs/Random/live.mjs.map +1 -1
  1007. package/_mjs/Ref/Atomic.mjs +1 -2
  1008. package/_mjs/Ref/Atomic.mjs.map +1 -1
  1009. package/_mjs/Ref/Derived.mjs +1 -2
  1010. package/_mjs/Ref/Derived.mjs.map +1 -1
  1011. package/_mjs/Ref/DerivedAll.mjs +1 -2
  1012. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  1013. package/_mjs/Ref/Synchronized/api.mjs +1 -2
  1014. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  1015. package/_mjs/Ref/Synchronized/constructors.mjs +3 -3
  1016. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  1017. package/_mjs/Ref/Synchronized/definition.mjs +1 -2
  1018. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  1019. package/_mjs/Ref/api/collect.mjs +1 -2
  1020. package/_mjs/Ref/api/collect.mjs.map +1 -1
  1021. package/_mjs/Ref/api/dimap.mjs +1 -2
  1022. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  1023. package/_mjs/Ref/api/filter.mjs +1 -2
  1024. package/_mjs/Ref/api/filter.mjs.map +1 -1
  1025. package/_mjs/Ref/api/get.mjs +1 -2
  1026. package/_mjs/Ref/api/get.mjs.map +1 -1
  1027. package/_mjs/Ref/api/match.mjs +1 -2
  1028. package/_mjs/Ref/api/match.mjs.map +1 -1
  1029. package/_mjs/Ref/api/matchAll.mjs +1 -2
  1030. package/_mjs/Ref/api/matchAll.mjs.map +1 -1
  1031. package/_mjs/Ref/api/modify.mjs +1 -2
  1032. package/_mjs/Ref/api/modify.mjs.map +1 -1
  1033. package/_mjs/Ref/api/set.mjs +1 -2
  1034. package/_mjs/Ref/api/set.mjs.map +1 -1
  1035. package/_mjs/Ref/api.mjs +2 -4
  1036. package/_mjs/Ref/api.mjs.map +1 -1
  1037. package/_mjs/Ref/constructors.mjs +1 -2
  1038. package/_mjs/Ref/constructors.mjs.map +1 -1
  1039. package/_mjs/Ref/definition.mjs +1 -2
  1040. package/_mjs/Ref/definition.mjs.map +1 -1
  1041. package/_mjs/Reloadable/api.mjs +1 -2
  1042. package/_mjs/Reloadable/api.mjs.map +1 -1
  1043. package/_mjs/Reloadable/constructors.mjs +3 -3
  1044. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  1045. package/_mjs/Reloadable/definition.mjs +1 -2
  1046. package/_mjs/Reloadable/definition.mjs.map +1 -1
  1047. package/_mjs/RuntimeFlags/Patch.mjs +1 -2
  1048. package/_mjs/RuntimeFlags/Patch.mjs.map +1 -1
  1049. package/_mjs/RuntimeFlags/RuntimeFlags.mjs +1 -2
  1050. package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
  1051. package/_mjs/STM/api/atomically.mjs +1 -2
  1052. package/_mjs/STM/api/atomically.mjs.map +1 -1
  1053. package/_mjs/STM/api/core-api.mjs +1 -2
  1054. package/_mjs/STM/api/core-api.mjs.map +1 -1
  1055. package/_mjs/STM/api/core-constructors.mjs +1 -2
  1056. package/_mjs/STM/api/core-constructors.mjs.map +1 -1
  1057. package/_mjs/STM/api.mjs +1 -2
  1058. package/_mjs/STM/api.mjs.map +1 -1
  1059. package/_mjs/STM/definition.mjs +1 -2
  1060. package/_mjs/STM/definition.mjs.map +1 -1
  1061. package/_mjs/STM/driver.mjs +1 -2
  1062. package/_mjs/STM/driver.mjs.map +1 -1
  1063. package/_mjs/STM/internal/CommitState.mjs +1 -2
  1064. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  1065. package/_mjs/STM/internal/Entry.mjs +1 -2
  1066. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  1067. package/_mjs/STM/internal/Journal.mjs +11 -12
  1068. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  1069. package/_mjs/STM/internal/TryCommit.mjs +1 -2
  1070. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  1071. package/_mjs/STM/internal/Versioned.mjs +1 -2
  1072. package/_mjs/STM/internal/Versioned.mjs.map +1 -1
  1073. package/_mjs/Schedule/Decision.mjs +1 -2
  1074. package/_mjs/Schedule/Decision.mjs.map +1 -1
  1075. package/_mjs/Schedule/Driver.mjs +1 -2
  1076. package/_mjs/Schedule/Driver.mjs.map +1 -1
  1077. package/_mjs/Schedule/api/driver.mjs +1 -2
  1078. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  1079. package/_mjs/Schedule/api.mjs +1 -2
  1080. package/_mjs/Schedule/api.mjs.map +1 -1
  1081. package/_mjs/Schedule/definition.mjs +1 -2
  1082. package/_mjs/Schedule/definition.mjs.map +1 -1
  1083. package/_mjs/Scope/Finalizer/definition.mjs +1 -2
  1084. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
  1085. package/_mjs/Scope/Finalizer.mjs +1 -2
  1086. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -2
  1087. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  1088. package/_mjs/Scope/ReleaseMap/api.mjs +1 -2
  1089. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  1090. package/_mjs/Scope/ReleaseMap/constructors.mjs +1 -2
  1091. package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
  1092. package/_mjs/Scope/ReleaseMap/definition.mjs +1 -2
  1093. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  1094. package/_mjs/Scope/api.mjs +1 -2
  1095. package/_mjs/Scope/api.mjs.map +1 -1
  1096. package/_mjs/Scope/definition.mjs +1 -2
  1097. package/_mjs/Scope/definition.mjs.map +1 -1
  1098. package/_mjs/ScopedRef/api.mjs +1 -2
  1099. package/_mjs/ScopedRef/api.mjs.map +1 -1
  1100. package/_mjs/ScopedRef/definition.mjs +1 -2
  1101. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  1102. package/_mjs/Semaphore/Reservation.mjs +1 -2
  1103. package/_mjs/Semaphore/Reservation.mjs.map +1 -1
  1104. package/_mjs/Semaphore/constructors.mjs +1 -2
  1105. package/_mjs/Semaphore/constructors.mjs.map +1 -1
  1106. package/_mjs/Semaphore/definition.mjs +1 -2
  1107. package/_mjs/Semaphore/definition.mjs.map +1 -1
  1108. package/_mjs/Sink/api.mjs +1 -2
  1109. package/_mjs/Sink/api.mjs.map +1 -1
  1110. package/_mjs/Sink/definition.mjs +1 -2
  1111. package/_mjs/Sink/definition.mjs.map +1 -1
  1112. package/_mjs/State/api.mjs +1 -2
  1113. package/_mjs/State/api.mjs.map +1 -1
  1114. package/_mjs/State/definition.mjs +1 -2
  1115. package/_mjs/State/definition.mjs.map +1 -1
  1116. package/_mjs/State/internal.mjs +1 -2
  1117. package/_mjs/State/internal.mjs.map +1 -1
  1118. package/_mjs/Stream/api/zipAllWith.mjs +1 -2
  1119. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  1120. package/_mjs/Stream/api/zipWith.mjs +1 -2
  1121. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  1122. package/_mjs/Stream/api/zipWithChunks.mjs +1 -2
  1123. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  1124. package/_mjs/Stream/api.mjs +3 -3
  1125. package/_mjs/Stream/api.mjs.map +1 -1
  1126. package/_mjs/Stream/definition.mjs +1 -2
  1127. package/_mjs/Stream/definition.mjs.map +1 -1
  1128. package/_mjs/Stream/internal/DebounceState.mjs +1 -2
  1129. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  1130. package/_mjs/Stream/internal/Handoff.mjs +1 -2
  1131. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  1132. package/_mjs/Stream/internal/Pull.mjs +1 -2
  1133. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  1134. package/_mjs/Stream/internal/SinkEndReason.mjs +1 -2
  1135. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  1136. package/_mjs/Stream/internal/Take.mjs +1 -2
  1137. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  1138. package/_mjs/Stream/internal/util.mjs +1 -2
  1139. package/_mjs/Stream/internal/util.mjs.map +1 -1
  1140. package/_mjs/Subject/Atomic.mjs +1 -2
  1141. package/_mjs/Subject/Atomic.mjs.map +1 -1
  1142. package/_mjs/Subject/DeferredRef.mjs +1 -2
  1143. package/_mjs/Subject/DeferredRef.mjs.map +1 -1
  1144. package/_mjs/Subject/Hold.mjs +1 -2
  1145. package/_mjs/Subject/Hold.mjs.map +1 -1
  1146. package/_mjs/Subject/RefSubject/Atomic.mjs +19 -24
  1147. package/_mjs/Subject/RefSubject/Atomic.mjs.map +1 -1
  1148. package/_mjs/Subject/RefSubject/Derived.mjs +1 -2
  1149. package/_mjs/Subject/RefSubject/Derived.mjs.map +1 -1
  1150. package/_mjs/Subject/RefSubject/RefSubject.mjs +1 -2
  1151. package/_mjs/Subject/RefSubject/RefSubject.mjs.map +1 -1
  1152. package/_mjs/Subject/RefSubject/constructors.mjs +1 -2
  1153. package/_mjs/Subject/RefSubject/constructors.mjs.map +1 -1
  1154. package/_mjs/Subject/api.mjs +2 -4
  1155. package/_mjs/Subject/api.mjs.map +1 -1
  1156. package/_mjs/Subject/definition.mjs +1 -2
  1157. package/_mjs/Subject/definition.mjs.map +1 -1
  1158. package/_mjs/SubscriptionRef.mjs +1 -2
  1159. package/_mjs/SubscriptionRef.mjs.map +1 -1
  1160. package/_mjs/Supervisor/api.mjs +1 -2
  1161. package/_mjs/Supervisor/api.mjs.map +1 -1
  1162. package/_mjs/Supervisor/constructors.mjs +1 -2
  1163. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  1164. package/_mjs/Supervisor/definition.mjs +2 -4
  1165. package/_mjs/Supervisor/definition.mjs.map +1 -1
  1166. package/_mjs/SupervisorPatch.mjs +1 -2
  1167. package/_mjs/SupervisorPatch.mjs.map +1 -1
  1168. package/_mjs/TExit/constructors.mjs +1 -2
  1169. package/_mjs/TExit/constructors.mjs.map +1 -1
  1170. package/_mjs/TExit/definition.mjs +1 -2
  1171. package/_mjs/TExit/definition.mjs.map +1 -1
  1172. package/_mjs/TFuture/api.mjs +1 -2
  1173. package/_mjs/TFuture/api.mjs.map +1 -1
  1174. package/_mjs/TFuture/constructors.mjs +1 -2
  1175. package/_mjs/TFuture/constructors.mjs.map +1 -1
  1176. package/_mjs/TFuture/definition.mjs +1 -2
  1177. package/_mjs/TFuture/definition.mjs.map +1 -1
  1178. package/_mjs/TReentrantLock/api.mjs +1 -2
  1179. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  1180. package/_mjs/TReentrantLock/definition.mjs +1 -2
  1181. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  1182. package/_mjs/TRef/api.mjs +1 -2
  1183. package/_mjs/TRef/api.mjs.map +1 -1
  1184. package/_mjs/TRef/constructors.mjs +11 -5
  1185. package/_mjs/TRef/constructors.mjs.map +1 -1
  1186. package/_mjs/TRef/definition.mjs +1 -2
  1187. package/_mjs/TRef/definition.mjs.map +1 -1
  1188. package/_mjs/TSemaphore/api.mjs +1 -2
  1189. package/_mjs/TSemaphore/api.mjs.map +1 -1
  1190. package/_mjs/TSemaphore/constructors.mjs +1 -2
  1191. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  1192. package/_mjs/TSemaphore/definition.mjs +1 -2
  1193. package/_mjs/TSemaphore/definition.mjs.map +1 -1
  1194. package/_mjs/TxnId.mjs +1 -2
  1195. package/_mjs/TxnId.mjs.map +1 -1
  1196. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +1 -2
  1197. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  1198. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +1 -2
  1199. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  1200. package/_mjs/collection/immutable/Conc/filterIO.mjs +1 -2
  1201. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  1202. package/_mjs/collection/immutable/Conc/findIO.mjs +1 -2
  1203. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  1204. package/_mjs/collection/immutable/Conc/mapIO.mjs +1 -2
  1205. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  1206. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +1 -2
  1207. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  1208. package/_mjs/data/Exit/foreachIO.mjs +1 -2
  1209. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  1210. package/_mjs/internal/BackgroundScheduler.mjs +1 -2
  1211. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  1212. package/_mjs/internal/HashedPair.mjs +1 -2
  1213. package/_mjs/internal/HashedPair.mjs.map +1 -1
  1214. package/_mjs/internal/Hub.mjs +1 -2
  1215. package/_mjs/internal/Hub.mjs.map +1 -1
  1216. package/_mjs/internal/IsFatal.mjs +1 -6
  1217. package/_mjs/internal/IsFatal.mjs.map +1 -1
  1218. package/_mjs/internal/MutableQueue.mjs +1 -2
  1219. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  1220. package/_mjs/internal/Scheduler.mjs +1 -2
  1221. package/_mjs/internal/Scheduler.mjs.map +1 -1
  1222. package/_mjs/internal/StackTraceBuilder.mjs +1 -2
  1223. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  1224. package/_src/IO/api/asyncIterable.ts +103 -0
  1225. package/_src/IO.ts +1 -0
  1226. package/_src/Queue/api/filterInputIO.ts +8 -3
  1227. package/_src/Queue/api/filterOutputIO.ts +8 -3
  1228. package/_src/Scope/Finalizer/definition.ts +6 -7
  1229. package/_src/Scope/ReleaseMap/definition.ts +6 -7
  1230. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"core-api.cjs","names":["OnFailure","OnSuccess","tsplus_module_1","tsplus_module_2","tsplus_module_3"],"sources":["../../../esm/STM/api/core-api.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/STM/api/core-constructors\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Either/destructors\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Either/constructors\";\nexport const catchAll = catchAll_1;\nexport const flatMap = flatMap_1;\nexport const map = map_1;\nexport const matchSTM = matchSTM_1;\nimport { OnFailure, OnSuccess } from \"../definition.js\";\n/**\n * Recovers from all errors.\n *\n * @tsplus pipeable fncts.io.STM catchAll\n */\nfunction catchAll_1(f, __tsplusTrace) {\n return (self) => {\n return new OnFailure(self, f);\n };\n}\n/**\n * Feeds the value produced by this effect to the specified function,\n * and then runs the returned effect as well to produce its results.\n *\n * @tsplus pipeable fncts.io.STM flatMap\n */\nfunction flatMap_1(f, __tsplusTrace) {\n return (self) => {\n return new OnSuccess(self, f);\n };\n}\n/**\n * Executes the specified finalization transaction whether or\n * not this effect succeeds. Note that as with all STM transactions,\n * if the full transaction fails, everything will be rolled back.\n *\n * @tsplus pipeable fncts.io.STM ensuring\n */\nexport function ensuring(finalizer, __tsplusTrace) {\n return (self) => {\n return matchSTM_1((e) => flatMap_1(() => tsplus_module_1.failNow(e, __tsplusTrace), __tsplusTrace)(finalizer), (a) => flatMap_1(() => tsplus_module_1.succeedNow(a, __tsplusTrace), __tsplusTrace)(finalizer), __tsplusTrace)(self);\n };\n}\n/**\n * Maps the value produced by the effect.\n *\n * @tsplus pipeable fncts.io.STM map\n */\nfunction map_1(f, __tsplusTrace) {\n return (self) => {\n return flatMap_1((a) => tsplus_module_1.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Effectfully folds over the `STM` effect, handling both failure and\n * success.\n *\n * @tsplus pipeable fncts.io.STM matchSTM\n */\nfunction matchSTM_1(g, f, __tsplusTrace) {\n return (self) => {\n return flatMap_1((ca) => tsplus_module_2.match(tsplus_module_1.succeedNow, f)(ca), __tsplusTrace)(catchAll_1((e) => map_1(tsplus_module_3.left, __tsplusTrace)(g(e)), __tsplusTrace)(map_1(tsplus_module_3.right, __tsplusTrace)(self)));\n };\n}\n//# sourceMappingURL=core-api.js.map"],"mappings":";;;;;;;;;;AAGA,MAAa,WAAW;AACxB,MAAa,UAAU;AACvB,MAAa,MAAM;AACnB,MAAa,WAAW;;;;;;AAOxB,SAAS,WAAW,GAAG,eAAe;AAClC,SAAQ,SAAS;AACb,SAAO,IAAIA,uBAAAA,UAAU,MAAM,EAAE;;;;;;;;;AASrC,SAAS,UAAU,GAAG,eAAe;AACjC,SAAQ,SAAS;AACb,SAAO,IAAIC,uBAAAA,UAAU,MAAM,EAAE;;;;;;;;;;AAUrC,SAAgB,SAAS,WAAW,eAAe;AAC/C,SAAQ,SAAS;AACb,SAAO,YAAY,MAAM,gBAAgBC,oCAAgB,QAAQ,GAAG,cAAc,EAAE,cAAc,CAAC,UAAU,GAAG,MAAM,gBAAgBA,oCAAgB,WAAW,GAAG,cAAc,EAAE,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK;;;;;;;;AAQ3O,SAAS,MAAM,GAAG,eAAe;AAC7B,SAAQ,SAAS;AACb,SAAO,WAAW,MAAMA,oCAAgB,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,KAAK;;;;;;;;;AASrG,SAAS,WAAW,GAAG,GAAG,eAAe;AACrC,SAAQ,SAAS;AACb,SAAO,WAAW,OAAOC,oCAAgB,MAAMD,oCAAgB,YAAY,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,YAAY,MAAM,MAAME,qCAAgB,MAAM,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,MAAMA,qCAAgB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"core-api.cjs","names":["OnFailure","OnSuccess","tsplus_module_1","tsplus_module_2","tsplus_module_3"],"sources":["../../../esm/STM/api/core-api.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/STM/api/core-constructors\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Either/destructors\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Either/constructors\";\nexport const catchAll = catchAll_1;\nexport const flatMap = flatMap_1;\nexport const map = map_1;\nexport const matchSTM = matchSTM_1;\nimport { OnFailure, OnSuccess } from \"../definition.js\";\n/**\n * Recovers from all errors.\n *\n * @tsplus pipeable fncts.io.STM catchAll\n */\nfunction catchAll_1(f, __tsplusTrace) {\n return (self) => {\n return new OnFailure(self, f);\n };\n}\n/**\n * Feeds the value produced by this effect to the specified function,\n * and then runs the returned effect as well to produce its results.\n *\n * @tsplus pipeable fncts.io.STM flatMap\n */\nfunction flatMap_1(f, __tsplusTrace) {\n return (self) => {\n return new OnSuccess(self, f);\n };\n}\n/**\n * Executes the specified finalization transaction whether or\n * not this effect succeeds. Note that as with all STM transactions,\n * if the full transaction fails, everything will be rolled back.\n *\n * @tsplus pipeable fncts.io.STM ensuring\n */\nexport function ensuring(finalizer, __tsplusTrace) {\n return (self) => {\n return matchSTM_1((e) => flatMap_1(() => tsplus_module_1.failNow(e, __tsplusTrace), __tsplusTrace)(finalizer), (a) => flatMap_1(() => tsplus_module_1.succeedNow(a, __tsplusTrace), __tsplusTrace)(finalizer), __tsplusTrace)(self);\n };\n}\n/**\n * Maps the value produced by the effect.\n *\n * @tsplus pipeable fncts.io.STM map\n */\nfunction map_1(f, __tsplusTrace) {\n return (self) => {\n return flatMap_1((a) => tsplus_module_1.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Effectfully folds over the `STM` effect, handling both failure and\n * success.\n *\n * @tsplus pipeable fncts.io.STM matchSTM\n */\nfunction matchSTM_1(g, f, __tsplusTrace) {\n return (self) => {\n return flatMap_1((ca) => tsplus_module_2.match(tsplus_module_1.succeedNow, f)(ca), __tsplusTrace)(catchAll_1((e) => map_1(tsplus_module_3.left, __tsplusTrace)(g(e)), __tsplusTrace)(map_1(tsplus_module_3.right, __tsplusTrace)(self)));\n };\n}\n//# sourceMappingURL=core-api.js.map"],"mappings":";;;;;;;;;;AAGA,MAAa,WAAW;AACxB,MAAa,UAAU;AACvB,MAAa,MAAM;AACnB,MAAa,WAAW;;;;;;AAOxB,SAAS,WAAW,GAAG,eAAe;CAClC,QAAQ,SAAS;EACb,OAAO,IAAIA,uBAAAA,UAAU,MAAM,CAAC;CAChC;AACJ;;;;;;;AAOA,SAAS,UAAU,GAAG,eAAe;CACjC,QAAQ,SAAS;EACb,OAAO,IAAIC,uBAAAA,UAAU,MAAM,CAAC;CAChC;AACJ;;;;;;;;AAQA,SAAgB,SAAS,WAAW,eAAe;CAC/C,QAAQ,SAAS;EACb,OAAO,YAAY,MAAM,gBAAgBC,oCAAgB,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,SAAS,IAAI,MAAM,gBAAgBA,oCAAgB,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,IAAI;CACtO;AACJ;;;;;;AAMA,SAAS,MAAM,GAAG,eAAe;CAC7B,QAAQ,SAAS;EACb,OAAO,WAAW,MAAMA,oCAAgB,WAAW,EAAE,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,IAAI;CAChG;AACJ;;;;;;;AAOA,SAAS,WAAW,GAAG,GAAG,eAAe;CACrC,QAAQ,SAAS;EACb,OAAO,WAAW,OAAOC,oCAAgB,MAAMD,oCAAgB,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,YAAY,MAAM,MAAME,qCAAgB,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,MAAMA,qCAAgB,OAAO,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;CAC3O;AACJ"}
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_STM_definition = require("../definition.cjs");
3
- //#region build/esm/STM/api/core-constructors.js
3
+ // build/esm/STM/api/core-constructors.js
4
4
  const fail = fail_1;
5
5
  /**
6
6
  * Returns a value that models failure in the transaction.
@@ -59,7 +59,6 @@ function succeed(effect, __tsplusTrace) {
59
59
  function succeedNow(a, __tsplusTrace) {
60
60
  return new require_STM_definition.SucceedNow(a);
61
61
  }
62
- //#endregion
63
62
  exports.fail = fail;
64
63
  exports.failNow = failNow;
65
64
  exports.fiberId = fiberId;
@@ -1 +1 @@
1
- {"version":3,"file":"core-constructors.cjs","names":["Effect","FailException","InterruptException","RetryException","Succeed","SucceedNow"],"sources":["../../../esm/STM/api/core-constructors.js"],"sourcesContent":["export const fail = fail_1;\nimport { Effect, FailException, InterruptException, RetryException, Succeed, SucceedNow } from \"../definition.js\";\n/**\n * Returns a value that models failure in the transaction.\n *\n * @tsplus static fncts.io.STMOps failNow\n */\nexport function failNow(e, __tsplusTrace) {\n return fail_1(() => e, __tsplusTrace);\n}\n/**\n * Returns a value that models failure in the transaction.\n *\n * @tsplus static fncts.io.STMOps fail\n */\nfunction fail_1(e, __tsplusTrace) {\n return new Effect(() => {\n throw new FailException(e());\n });\n}\n/**\n * Returns the fiber id of the fiber committing the transaction.\n *\n * @tsplus static fncts.io.STMOps fiberId\n */\nexport const fiberId = new Effect((_, fiberId) => fiberId);\n/**\n * Interrupts the fiber running the effect with the specified fiber id.\n *\n * @tsplus static fncts.io.STMOps interruptAs\n */\nexport function interruptAs(fiberId, __tsplusTrace) {\n return new Effect(() => {\n throw new InterruptException(fiberId);\n });\n}\n/**\n * @tsplus static fncts.io.STMOps retry\n */\nexport const retry = new Effect(() => {\n throw new RetryException();\n});\n/**\n * Returns an `STM` effect that succeeds with the specified value.\n *\n * @tsplus static fncts.io.STMOps succeed\n * @tsplus static fncts.io.STMOps __call\n */\nexport function succeed(effect, __tsplusTrace) {\n return new Succeed(effect);\n}\n/**\n * Returns an `STM` effect that succeeds with the specified value.\n *\n * @tsplus static fncts.io.STMOps succeedNow\n */\nexport function succeedNow(a, __tsplusTrace) {\n return new SucceedNow(a);\n}\n//# sourceMappingURL=core-constructors.js.map"],"mappings":";;;AAAA,MAAa,OAAO;;;;;;AAOpB,SAAgB,QAAQ,GAAG,eAAe;AACtC,QAAO,aAAa,GAAG,cAAc;;;;;;;AAOzC,SAAS,OAAO,GAAG,eAAe;AAC9B,QAAO,IAAIA,uBAAAA,aAAa;AACpB,QAAM,IAAIC,uBAAAA,cAAc,GAAG,CAAC;GAC9B;;;;;;;AAON,MAAa,UAAU,IAAID,uBAAAA,QAAQ,GAAG,YAAY,QAAQ;;;;;;AAM1D,SAAgB,YAAY,SAAS,eAAe;AAChD,QAAO,IAAIA,uBAAAA,aAAa;AACpB,QAAM,IAAIE,uBAAAA,mBAAmB,QAAQ;GACvC;;;;;AAKN,MAAa,QAAQ,IAAIF,uBAAAA,aAAa;AAClC,OAAM,IAAIG,uBAAAA,gBAAgB;EAC5B;;;;;;;AAOF,SAAgB,QAAQ,QAAQ,eAAe;AAC3C,QAAO,IAAIC,uBAAAA,QAAQ,OAAO;;;;;;;AAO9B,SAAgB,WAAW,GAAG,eAAe;AACzC,QAAO,IAAIC,uBAAAA,WAAW,EAAE"}
1
+ {"version":3,"file":"core-constructors.cjs","names":["Effect","FailException","InterruptException","RetryException","Succeed","SucceedNow"],"sources":["../../../esm/STM/api/core-constructors.js"],"sourcesContent":["export const fail = fail_1;\nimport { Effect, FailException, InterruptException, RetryException, Succeed, SucceedNow } from \"../definition.js\";\n/**\n * Returns a value that models failure in the transaction.\n *\n * @tsplus static fncts.io.STMOps failNow\n */\nexport function failNow(e, __tsplusTrace) {\n return fail_1(() => e, __tsplusTrace);\n}\n/**\n * Returns a value that models failure in the transaction.\n *\n * @tsplus static fncts.io.STMOps fail\n */\nfunction fail_1(e, __tsplusTrace) {\n return new Effect(() => {\n throw new FailException(e());\n });\n}\n/**\n * Returns the fiber id of the fiber committing the transaction.\n *\n * @tsplus static fncts.io.STMOps fiberId\n */\nexport const fiberId = new Effect((_, fiberId) => fiberId);\n/**\n * Interrupts the fiber running the effect with the specified fiber id.\n *\n * @tsplus static fncts.io.STMOps interruptAs\n */\nexport function interruptAs(fiberId, __tsplusTrace) {\n return new Effect(() => {\n throw new InterruptException(fiberId);\n });\n}\n/**\n * @tsplus static fncts.io.STMOps retry\n */\nexport const retry = new Effect(() => {\n throw new RetryException();\n});\n/**\n * Returns an `STM` effect that succeeds with the specified value.\n *\n * @tsplus static fncts.io.STMOps succeed\n * @tsplus static fncts.io.STMOps __call\n */\nexport function succeed(effect, __tsplusTrace) {\n return new Succeed(effect);\n}\n/**\n * Returns an `STM` effect that succeeds with the specified value.\n *\n * @tsplus static fncts.io.STMOps succeedNow\n */\nexport function succeedNow(a, __tsplusTrace) {\n return new SucceedNow(a);\n}\n//# sourceMappingURL=core-constructors.js.map"],"mappings":";;;AAAA,MAAa,OAAO;;;;;;AAOpB,SAAgB,QAAQ,GAAG,eAAe;CACtC,OAAO,aAAa,GAAG,aAAa;AACxC;;;;;;AAMA,SAAS,OAAO,GAAG,eAAe;CAC9B,OAAO,IAAIA,uBAAAA,aAAa;EACpB,MAAM,IAAIC,uBAAAA,cAAc,EAAE,CAAC;CAC/B,CAAC;AACL;;;;;;AAMA,MAAa,UAAU,IAAID,uBAAAA,QAAQ,GAAG,YAAY,OAAO;;;;;;AAMzD,SAAgB,YAAY,SAAS,eAAe;CAChD,OAAO,IAAIA,uBAAAA,aAAa;EACpB,MAAM,IAAIE,uBAAAA,mBAAmB,OAAO;CACxC,CAAC;AACL;;;;AAIA,MAAa,QAAQ,IAAIF,uBAAAA,aAAa;CAClC,MAAM,IAAIG,uBAAAA,eAAe;AAC7B,CAAC;;;;;;;AAOD,SAAgB,QAAQ,QAAQ,eAAe;CAC3C,OAAO,IAAIC,uBAAAA,QAAQ,MAAM;AAC7B;;;;;;AAMA,SAAgB,WAAW,GAAG,eAAe;CACzC,OAAO,IAAIC,uBAAAA,WAAW,CAAC;AAC3B"}
package/_cjs/STM/api.cjs CHANGED
@@ -1,28 +1,28 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chunk = require("../chunk.cjs");
2
+ const require_rolldown_runtime = require("../rolldown-runtime.cjs");
3
3
  const require_STM_definition = require("./definition.cjs");
4
4
  let _fncts_io_STM_api_atomically = require("@fncts/io/STM/api/atomically");
5
- _fncts_io_STM_api_atomically = require_chunk.__toESM(_fncts_io_STM_api_atomically, 1);
5
+ _fncts_io_STM_api_atomically = require_rolldown_runtime.__toESM(_fncts_io_STM_api_atomically, 1);
6
6
  let _fncts_io_IO_api = require("@fncts/io/IO/api");
7
- _fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
7
+ _fncts_io_IO_api = require_rolldown_runtime.__toESM(_fncts_io_IO_api, 1);
8
8
  let _fncts_base_util_predicates = require("@fncts/base/util/predicates");
9
- _fncts_base_util_predicates = require_chunk.__toESM(_fncts_base_util_predicates, 1);
9
+ _fncts_base_util_predicates = require_rolldown_runtime.__toESM(_fncts_base_util_predicates, 1);
10
10
  let _fncts_io_STM_api_core_api = require("@fncts/io/STM/api/core-api");
11
- _fncts_io_STM_api_core_api = require_chunk.__toESM(_fncts_io_STM_api_core_api, 1);
11
+ _fncts_io_STM_api_core_api = require_rolldown_runtime.__toESM(_fncts_io_STM_api_core_api, 1);
12
12
  let _fncts_base_data_Maybe_api = require("@fncts/base/data/Maybe/api");
13
- _fncts_base_data_Maybe_api = require_chunk.__toESM(_fncts_base_data_Maybe_api, 1);
13
+ _fncts_base_data_Maybe_api = require_rolldown_runtime.__toESM(_fncts_base_data_Maybe_api, 1);
14
14
  let _fncts_base_data_Maybe_destructors = require("@fncts/base/data/Maybe/destructors");
15
- _fncts_base_data_Maybe_destructors = require_chunk.__toESM(_fncts_base_data_Maybe_destructors, 1);
15
+ _fncts_base_data_Maybe_destructors = require_rolldown_runtime.__toESM(_fncts_base_data_Maybe_destructors, 1);
16
16
  let _fncts_base_data_Either_constructors = require("@fncts/base/data/Either/constructors");
17
- _fncts_base_data_Either_constructors = require_chunk.__toESM(_fncts_base_data_Either_constructors, 1);
17
+ _fncts_base_data_Either_constructors = require_rolldown_runtime.__toESM(_fncts_base_data_Either_constructors, 1);
18
18
  let _fncts_base_data_Either_destructors = require("@fncts/base/data/Either/destructors");
19
- _fncts_base_data_Either_destructors = require_chunk.__toESM(_fncts_base_data_Either_destructors, 1);
19
+ _fncts_base_data_Either_destructors = require_rolldown_runtime.__toESM(_fncts_base_data_Either_destructors, 1);
20
20
  let _fncts_io_STM_api_core_constructors = require("@fncts/io/STM/api/core-constructors");
21
- _fncts_io_STM_api_core_constructors = require_chunk.__toESM(_fncts_io_STM_api_core_constructors, 1);
21
+ _fncts_io_STM_api_core_constructors = require_rolldown_runtime.__toESM(_fncts_io_STM_api_core_constructors, 1);
22
22
  let _fncts_base_data_Maybe_constructors = require("@fncts/base/data/Maybe/constructors");
23
- _fncts_base_data_Maybe_constructors = require_chunk.__toESM(_fncts_base_data_Maybe_constructors, 1);
23
+ _fncts_base_data_Maybe_constructors = require_rolldown_runtime.__toESM(_fncts_base_data_Maybe_constructors, 1);
24
24
  let _fncts_base_data_function = require("@fncts/base/data/function");
25
- //#region build/esm/STM/api.js
25
+ // build/esm/STM/api.js
26
26
  const fileName_1 = "(@fncts/io) src/STM/api.ts";
27
27
  const as = as_1;
28
28
  const environment = environment_1;
@@ -566,7 +566,6 @@ function zipRight(that, __tsplusTrace) {
566
566
  return _fncts_io_STM_api_core_api.flatMap(() => that, __tsplusTrace)(self);
567
567
  };
568
568
  }
569
- //#endregion
570
569
  exports.absolve = absolve;
571
570
  exports.as = as;
572
571
  exports.asJust = asJust;
@@ -1 +1 @@
1
- {"version":3,"file":"api.cjs","names":["tsplus_module_1","tsplus_module_2","Effect","tsplus_module_3","tsplus_module_4","tsplus_module_5","tsplus_module_7","tsplus_module_6","tsplus_module_8","identity","tsplus_module_9","tsplus_module_10","ContramapEnvironment","HaltException"],"sources":["../../esm/STM/api.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/api.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/STM/api/core-api\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_3 from \"@fncts/io/STM/api/core-constructors\";\nimport * as tsplus_module_4 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_6 from \"@fncts/io/STM/api/atomically\";\nimport * as tsplus_module_7 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Either/constructors\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Either/destructors\";\nimport * as tsplus_module_10 from \"@fncts/base/data/Maybe/destructors\";\nexport const as = as_1;\nexport const environment = environment_1;\nexport const continueOrFailSTM = continueOrFailSTM_1;\nexport const continueOrRetrySTM = continueOrRetrySTM_1;\nexport const defer = defer_1;\nexport const either = either_1;\nexport const eventually = eventually_1;\nexport const filterMapSTM = filterMapSTM_1;\nexport const filterOrElse = filterOrElse_1;\nexport const flatten = flatten_1;\nexport const fromEitherNow = fromEitherNow_1;\nexport const contramapEnvironment = contramapEnvironment_1;\nexport const halt = halt_1;\nexport const mapError = mapError_1;\nexport const match = match_1;\nexport const repeatUntil = repeatUntil_1;\nexport const repeatWhile = repeatWhile_1;\nexport const swap = swap_1;\nexport const swapWith = swapWith_1;\nexport const zipWith = zipWith_1;\nimport { identity } from \"@fncts/base/data/function\";\nimport { ContramapEnvironment, Effect, HaltException } from \"./definition.js\";\n/**\n * Maps the success value of this effect to the specified constant value.\n *\n * @tsplus pipeable fncts.io.STM as\n */\nfunction as_1(b, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.map(() => b(), __tsplusTrace)(stm);\n };\n}\n/**\n * Maps the success value of this effect to an optional value.\n *\n * @tsplus getter fncts.io.STM asJust\n */\nexport function asJust(stm, __tsplusTrace) {\n return tsplus_module_1.map(tsplus_module_2.just, __tsplusTrace)(stm);\n}\n/**\n * Maps the error value of this effect to an optional value.\n *\n * @tsplus getter fncts.io.STM asJustError\n */\nexport function asJustError(stm, __tsplusTrace) {\n return mapError_1(tsplus_module_2.just, __tsplusTrace)(stm);\n}\n/**\n * Submerges the error case of an `Either` into the `STM`. The inverse\n * operation of `STM.either`.\n *\n * @tsplus getter fncts.io.STM absolve\n */\nexport function absolve(z, __tsplusTrace) {\n return tsplus_module_1.flatMap(fromEitherNow_1, __tsplusTrace)(z);\n}\n/**\n * @tsplus static fncts.io.STMOps Effect\n */\nexport function makeEffect(f, __tsplusTrace) {\n return new Effect(f);\n}\n/**\n * Retrieves the environment inside an stm.\n *\n * @tsplus static fncts.io.STMOps environment\n */\nfunction environment_1(__tsplusTrace) {\n return new Effect((_, __, r) => r);\n}\n/**\n * Accesses the environment of the transaction.\n *\n * @tsplus static fncts.io.STMOps environmentWith\n */\nexport function environmentWith(f, __tsplusTrace) {\n return tsplus_module_1.map(f, __tsplusTrace)(environment_1(__tsplusTrace));\n}\n/**\n * Accesses the environment of the transaction to perform a transaction.\n *\n * @tsplus static fncts.io.STMOps environmentWithSTM\n */\nexport function environmentWithSTM(f, __tsplusTrace) {\n return tsplus_module_1.flatMap(f, __tsplusTrace)(environment_1(__tsplusTrace));\n}\n/**\n * Returns an `STM` effect whose failure and success channels have been mapped by\n * the specified pair of functions, `f` and `g`.\n *\n * @tsplus pipeable fncts.io.STM bimap\n */\nexport function bimap(g, f, __tsplusTrace) {\n return (self) => tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(g(e), __tsplusTrace), (a) => tsplus_module_3.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);\n}\n/**\n * Recovers from specified error.\n *\n * @tsplus pipeable fncts.io.STM catch\n */\nexport function catchWith(tag, k, f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.catchAll((e) => {\n if (tsplus_module_4.isObject(e) && tag in e && e[tag] === k) {\n return f(e);\n }\n return tsplus_module_3.failNow(e, __tsplusTrace);\n }, __tsplusTrace)(stm);\n };\n}\n/**\n * Recovers from some or all of the error cases.\n *\n * @tsplus pipeable fncts.io.STM catchJust\n */\nexport function catchJust(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.catchAll((e) => tsplus_module_5.getOrElse(() => tsplus_module_3.failNow(e, __tsplusTrace))(f(e)), __tsplusTrace)(stm);\n };\n}\n/**\n * Recovers from specified error.\n *\n * @tsplus pipeable fncts.io.STM catchTag\n */\nexport function catchTag(k, f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.catchAll((e) => {\n if (\"_tag\" in e && e[\"_tag\"] === k) {\n return f(e);\n }\n return tsplus_module_3.failNow(e, __tsplusTrace);\n }, __tsplusTrace)(stm);\n };\n}\n/**\n * Creates a composite effect that represents this effect followed by another\n * one that may depend on the error produced by this one.\n *\n * @tsplus pipeable fncts.io.STM flatMapError\n */\nexport function chainError(f, __tsplusTrace) {\n return (stm) => {\n return swapWith_1((effect) => tsplus_module_1.flatMap(f, __tsplusTrace)(effect), __tsplusTrace)(stm);\n };\n}\n/**\n * Checks the condition, and if it's true, returns unit, otherwise, retries.\n *\n * @tsplus static fncts.io.STMOps check\n */\nexport function check(predicate, __tsplusTrace) {\n return defer_1(() => (predicate() ? unit_1 : tsplus_module_3.retry), __tsplusTrace);\n}\n/**\n * Commits this transaction atomically, regardless of whether the transaction\n * is a success or a failure.\n */\nexport function commitEither(stm, __tsplusTrace) {\n return tsplus_module_7.absolve(tsplus_module_6.atomically(either_1(stm, __tsplusTrace), __tsplusTrace), __tsplusTrace);\n}\n/**\n * Fail with `e` if the supplied `PartialFunction` does not match, otherwise\n * succeed with the returned value.\n *\n * @tsplus pipeable fncts.io.STM continueOrFail\n */\nexport function continueOrFail(e, pf, __tsplusTrace) {\n return (fa) => {\n return continueOrFailSTM_1(e, (a) => tsplus_module_5.map(tsplus_module_3.succeedNow)(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Fail with `e` if the supplied `PartialFunction` does not match, otherwise\n * continue with the returned value.\n *\n * @tsplus pipeable fncts.io.STM continueOrFailSTM\n */\nfunction continueOrFailSTM_1(e, pf, __tsplusTrace) {\n return (fa) => {\n return tsplus_module_1.flatMap((a) => tsplus_module_5.getOrElse(() => tsplus_module_3.fail(e, __tsplusTrace))(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Fail with `e` if the supplied `PartialFunction` does not match, otherwise\n * succeed with the returned value.\n *\n * @tsplus pipeable fncts.io.STM continueOrRetry\n */\nexport function continueOrRetry(pf, __tsplusTrace) {\n return (fa) => {\n return continueOrRetrySTM_1((a) => tsplus_module_5.map(tsplus_module_3.succeedNow)(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Simultaneously filters and flatMaps the value produced by this effect.\n * Continues on the effect returned from pf.\n *\n * @tsplus pipeable fncts.io.STM continueOrRetrySTM\n */\nfunction continueOrRetrySTM_1(pf, __tsplusTrace) {\n return (fa) => {\n return tsplus_module_1.flatMap((a) => tsplus_module_5.getOrElse(() => tsplus_module_3.retry)(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Suspends creation of the specified transaction lazily.\n *\n * @tsplus static fncts.io.STMOps defer\n */\nfunction defer_1(make, __tsplusTrace) {\n return flatten_1(tsplus_module_3.succeed(make, __tsplusTrace), __tsplusTrace);\n}\n/**\n * Converts the failure channel into an `Either`.\n *\n * @tsplus getter fncts.io.STM either\n */\nfunction either_1(stm, __tsplusTrace) {\n return match_1(tsplus_module_8.left, tsplus_module_8.right, __tsplusTrace)(stm);\n}\n/**\n * Returns an effect that ignores errors and runs repeatedly until it eventually succeeds.\n *\n * @tsplus getter fncts.io.STM eventually\n */\nfunction eventually_1(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM(() => eventually_1(stm, __tsplusTrace), tsplus_module_3.succeedNow, __tsplusTrace)(stm);\n}\n/**\n * Simultaneously filters and maps the value produced by this effect.\n *\n * @tsplus pipeable fncts.io.STM filterMap\n */\nexport function filterMap(f, __tsplusTrace) {\n return (stm) => {\n return filterMapSTM_1((a) => tsplus_module_5.map(tsplus_module_3.succeedNow)(f(a)), __tsplusTrace)(stm);\n };\n}\n/**\n * Simultaneously filters and chains the value produced by this effect.\n * Continues on the effect returned from f.\n *\n * @tsplus pipeable fncts.io.STM filterMapSTM\n */\nfunction filterMapSTM_1(f, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.matchSTM(tsplus_module_3.failNow, (a) => tsplus_module_5.getOrElse(() => tsplus_module_3.retry)(f(a)), __tsplusTrace)(self);\n };\n}\nfunction filterOrElse_1(p, or, __tsplusTrace) {\n return (fa) => {\n return tsplus_module_1.flatMap((a) => (p(a) ? tsplus_module_3.succeedNow(a, __tsplusTrace) : defer_1(() => or(a), __tsplusTrace)), __tsplusTrace)(fa);\n };\n}\nexport function filterOrFail(p, failWith, __tsplusTrace) {\n return (fa) => {\n return filterOrElse_1(p, (a) => tsplus_module_3.fail(() => failWith(a), __tsplusTrace))(fa);\n };\n}\nexport function filterOrHalt(p, haltWith, __tsplusTrace) {\n return (fa) => {\n return filterOrElse_1(p, (a) => halt_1(() => haltWith(a), __tsplusTrace))(fa);\n };\n}\n/**\n * Flattens out a nested `STM` effect.\n *\n * @tsplus getter fncts.io.STM flatten\n */\nfunction flatten_1(stm, __tsplusTrace) {\n return tsplus_module_1.flatMap(identity, __tsplusTrace)(stm);\n}\n/**\n * Unwraps the optional error, defaulting to the provided value.\n *\n * @tsplus pipeable fncts.io.STM flattenErrorOption\n */\nexport function flattenErrorOption(def, __tsplusTrace) {\n return (stm) => {\n return mapError_1((me) => tsplus_module_5.getOrElse(def)(me), __tsplusTrace)(stm);\n };\n}\n/**\n * Applies the function `f` to each element of the `Iterable<A>` and\n * returns a transactional effect that produces a new `ReadonlyArray<B>`.\n *\n * @tsplus static fncts.io.STMOps foreach\n */\nexport function foreach(it, f, __tsplusTrace) {\n return defer_1(() => {\n let stm = tsplus_module_3.succeedNow([], __tsplusTrace);\n for (const a of it) {\n stm = zipWith_1(f(a), (acc, b) => {\n acc.push(b);\n return acc;\n }, __tsplusTrace)(stm);\n }\n return stm;\n }, __tsplusTrace);\n}\n/**\n * Lifts an `Either` into a `STM`.\n *\n * @tsplus static fncts.io.STMOps fromEither\n */\nexport function fromEither(e, __tsplusTrace) {\n return defer_1(() => tsplus_module_9.match(tsplus_module_3.failNow, tsplus_module_3.succeedNow)(e()), __tsplusTrace);\n}\n/**\n * Lifts an `Either` into a `STM`.\n *\n * @tsplus static fncts.io.STMOps fromEitherNow\n */\nfunction fromEitherNow_1(e, __tsplusTrace) {\n return tsplus_module_9.match(tsplus_module_3.failNow, tsplus_module_3.succeedNow)(e);\n}\n/**\n * Unwraps the optional success of this effect, but can fail with an None value.\n */\nexport function get(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace), (ma) => tsplus_module_10.match(() => tsplus_module_3.failNow(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_3.succeedNow)(ma), __tsplusTrace)(stm);\n}\n/**\n * Provides the transaction its required environment, which eliminates\n * its dependency on `R`.\n *\n * @tsplus pipeable fncts.io.STM provideEnvironment\n */\nexport function provideEnvironment(r, __tsplusTrace) {\n return (stm) => {\n return contramapEnvironment_1(() => r, __tsplusTrace)(stm);\n };\n}\n/**\n * Provides some of the environment required to run this effect,\n * leaving the remainder `R0`.\n *\n * @tsplus pipeable fncts.io.STM contramapEnvironment\n */\nfunction contramapEnvironment_1(f, __tsplusTrace) {\n return (self) => {\n return new ContramapEnvironment(self, f);\n };\n}\n/**\n * Halts the fiber running the effect.\n *\n * @tsplus static fncts.io.STMOps halt\n */\nfunction halt_1(u, __tsplusTrace) {\n return new Effect(() => {\n throw new HaltException(u());\n });\n}\n/**\n * Halts the fiber running the effect.\n *\n * @tsplus static fncts.io.STMOps haltNow\n */\nexport function haltNow(u, __tsplusTrace) {\n return new Effect(() => {\n throw new HaltException(u);\n });\n}\n/**\n * Returns a successful effect with the head of the list if the list is\n * non-empty or fails with the error `None` if the list is empty.\n *\n * @tsplus getter fncts.io.STM head\n */\nexport function head(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace), (ia) => {\n const it = ia[Symbol.iterator]();\n const next = it.next();\n return next.done ? tsplus_module_3.failNow(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace) : tsplus_module_3.succeedNow(next.value, __tsplusTrace);\n }, __tsplusTrace)(stm);\n}\n/**\n * Interrupts the fiber running the effect.\n *\n * @tsplus static fncts.io.STMOps interrupt\n */\nexport const interrupt = tsplus_module_1.flatMap((id) => tsplus_module_3.interruptAs(id, fileName_1 + \":522:95\"), fileName_1 + \":522:71\")(tsplus_module_3.fiberId);\n/**\n * Returns whether this effect is a failure.\n *\n * @tsplus getter fncts.io.STM isFailure\n */\nexport function isFailure(stm, __tsplusTrace) {\n return match_1(() => true, () => false, __tsplusTrace)(stm);\n}\n/**\n * Returns whether this effect is a success.\n *\n * @tsplus getter fncts.io.STM isSuccess\n */\nexport function isSuccess(stm, __tsplusTrace) {\n return match_1(() => false, () => true, __tsplusTrace)(stm);\n}\n/**\n * Returns a successful effect if the value is `Left`, or fails with the error `None`.\n *\n * @tsplus getter fncts.io.STM left\n */\nexport function left(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.fail(() => tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace), (bc) => tsplus_module_9.match(tsplus_module_3.succeedNow, () => tsplus_module_3.failNow(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace))(bc), __tsplusTrace)(stm);\n}\n/**\n * Returns a successful effect if the value is `Left`, or fails with the error e.\n *\n * @tsplus pipeable fncts.io.STM leftOrFail\n */\nexport function leftOrFail(orFail, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((bc) => tsplus_module_9.match(tsplus_module_3.succeedNow, (c) => tsplus_module_3.fail(() => orFail(c), __tsplusTrace))(bc), __tsplusTrace)(stm);\n };\n}\n/**\n * Maps from one error type to another.\n *\n * @tsplus pipeable fncts.io.STM mapError\n */\nfunction mapError_1(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(f(e), __tsplusTrace), tsplus_module_3.succeedNow, __tsplusTrace)(stm);\n };\n}\n/**\n * Folds over the `STM` effect, handling both failure and success, but not\n * retry.\n *\n * @tsplus pipeable fncts.io.STM match\n */\nfunction match_1(g, f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.succeedNow(g(e), __tsplusTrace), (a) => tsplus_module_3.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(stm);\n };\n}\n/**\n * Repeats this `STM` effect until its result satisfies the specified predicate.\n *\n * WARNING:\n * `repeatUntil` uses a busy loop to repeat the effect and will consume a thread until\n * it completes (it cannot yield). This is because STM describes a single atomic\n * transaction which must either complete, retry or fail a transaction before\n * yielding back to the Effect Runtime.\n *\n * - Use `retryUntil` instead if you don't need to maintain transaction state for repeats.\n * - Ensure repeating the STM effect will eventually satisfy the predicate.\n *\n * @tsplus pipeable fncts.io.STM repeatUntil\n */\nfunction repeatUntil_1(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((a) => (f(a) ? tsplus_module_3.succeedNow(a, __tsplusTrace) : repeatUntil_1(f, __tsplusTrace)(stm)), __tsplusTrace)(stm);\n };\n}\n/**\n * Repeats this `STM` effect while its result satisfies the specified predicate.\n *\n * WARNING:\n * `repeatWhile` uses a busy loop to repeat the effect and will consume a thread until\n * it completes (it cannot yield). This is because STM describes a single atomic\n * transaction which must either complete, retry or fail a transaction before\n * yielding back to the Effect Runtime.\n *\n * - Use `retryWhile` instead if you don't need to maintain transaction state for repeats.\n * - Ensure repeating the STM effect will eventually not satisfy the predicate.\n *\n * @tsplus pipeable fncts.io.STM repeatWhile\n */\nfunction repeatWhile_1(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((a) => (f(a) ? repeatWhile_1(f, __tsplusTrace)(stm) : tsplus_module_3.succeedNow(a, __tsplusTrace)), __tsplusTrace)(stm);\n };\n}\n/**\n * Returns an effect that swaps the error/success cases. This allows you to\n * use all methods on the error channel, possibly before flipping back.\n *\n * @tsplus getter fncts.io.STM swap\n */\nfunction swap_1(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM(tsplus_module_3.succeedNow, tsplus_module_3.failNow, __tsplusTrace)(stm);\n}\n/**\n * Swaps the error/value parameters, applies the function `f` and flips the parameters back\n *\n * @tsplus pipeable fncts.io.STM swapWith\n */\nfunction swapWith_1(f, __tsplusTrace) {\n return (stm) => {\n return swap_1(f(swap_1(stm, __tsplusTrace)), __tsplusTrace);\n };\n}\n/**\n * \"Peeks\" at the success of transactional effect.\n *\n * @tsplus pipeable fncts.io.STM tap\n */\nexport function tap(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((a) => as_1(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(stm);\n };\n}\n/**\n * Returns an effect with the value on the left part.\n *\n * @tsplus static fncts.io.STMOps toLeft\n */\nexport function toLeft(a, __tsplusTrace) {\n return tsplus_module_1.flatMap((a) => tsplus_module_3.succeedNow(tsplus_module_8.left(a, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_3.succeed(a, __tsplusTrace));\n}\n/**\n * Returns an `STM` effect that succeeds with `Unit`.\n *\n * @tsplus static fncts.io.STMOps unit\n */\nconst unit_1 = tsplus_module_3.succeedNow(undefined, fileName_1 + \":683:35\");\nexport const unit = unit_1;\n/**\n * Sequentially zips this value with the specified one, combining the values\n * using the specified combiner function.\n *\n * @tsplus pipeable fncts.io.STM zipWith\n */\nfunction zipWith_1(that, f, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.flatMap((a) => tsplus_module_1.map((b) => f(a, b), __tsplusTrace)(that), __tsplusTrace)(self);\n };\n}\n/**\n * @tsplus pipeable fncts.io.STM zipLeft\n * @tsplus opipeable-operator fncts.io.STM <\n */\nexport function zipLeft(that, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.flatMap((a) => as_1(() => a, __tsplusTrace)(that), __tsplusTrace)(self);\n };\n}\n/**\n * @tsplus pipeable fncts.io.STM zipRight\n * @tsplus pipeable-operator fncts.io.STM >\n */\nexport function zipRight(that, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.flatMap(() => that, __tsplusTrace)(self);\n };\n}\n//# sourceMappingURL=api.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"api.cjs","names":["tsplus_module_1","tsplus_module_2","Effect","tsplus_module_3","tsplus_module_4","tsplus_module_5","tsplus_module_7","tsplus_module_6","tsplus_module_8","identity","tsplus_module_9","tsplus_module_10","ContramapEnvironment","HaltException"],"sources":["../../esm/STM/api.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/api.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/STM/api/core-api\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_3 from \"@fncts/io/STM/api/core-constructors\";\nimport * as tsplus_module_4 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_6 from \"@fncts/io/STM/api/atomically\";\nimport * as tsplus_module_7 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Either/constructors\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Either/destructors\";\nimport * as tsplus_module_10 from \"@fncts/base/data/Maybe/destructors\";\nexport const as = as_1;\nexport const environment = environment_1;\nexport const continueOrFailSTM = continueOrFailSTM_1;\nexport const continueOrRetrySTM = continueOrRetrySTM_1;\nexport const defer = defer_1;\nexport const either = either_1;\nexport const eventually = eventually_1;\nexport const filterMapSTM = filterMapSTM_1;\nexport const filterOrElse = filterOrElse_1;\nexport const flatten = flatten_1;\nexport const fromEitherNow = fromEitherNow_1;\nexport const contramapEnvironment = contramapEnvironment_1;\nexport const halt = halt_1;\nexport const mapError = mapError_1;\nexport const match = match_1;\nexport const repeatUntil = repeatUntil_1;\nexport const repeatWhile = repeatWhile_1;\nexport const swap = swap_1;\nexport const swapWith = swapWith_1;\nexport const zipWith = zipWith_1;\nimport { identity } from \"@fncts/base/data/function\";\nimport { ContramapEnvironment, Effect, HaltException } from \"./definition.js\";\n/**\n * Maps the success value of this effect to the specified constant value.\n *\n * @tsplus pipeable fncts.io.STM as\n */\nfunction as_1(b, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.map(() => b(), __tsplusTrace)(stm);\n };\n}\n/**\n * Maps the success value of this effect to an optional value.\n *\n * @tsplus getter fncts.io.STM asJust\n */\nexport function asJust(stm, __tsplusTrace) {\n return tsplus_module_1.map(tsplus_module_2.just, __tsplusTrace)(stm);\n}\n/**\n * Maps the error value of this effect to an optional value.\n *\n * @tsplus getter fncts.io.STM asJustError\n */\nexport function asJustError(stm, __tsplusTrace) {\n return mapError_1(tsplus_module_2.just, __tsplusTrace)(stm);\n}\n/**\n * Submerges the error case of an `Either` into the `STM`. The inverse\n * operation of `STM.either`.\n *\n * @tsplus getter fncts.io.STM absolve\n */\nexport function absolve(z, __tsplusTrace) {\n return tsplus_module_1.flatMap(fromEitherNow_1, __tsplusTrace)(z);\n}\n/**\n * @tsplus static fncts.io.STMOps Effect\n */\nexport function makeEffect(f, __tsplusTrace) {\n return new Effect(f);\n}\n/**\n * Retrieves the environment inside an stm.\n *\n * @tsplus static fncts.io.STMOps environment\n */\nfunction environment_1(__tsplusTrace) {\n return new Effect((_, __, r) => r);\n}\n/**\n * Accesses the environment of the transaction.\n *\n * @tsplus static fncts.io.STMOps environmentWith\n */\nexport function environmentWith(f, __tsplusTrace) {\n return tsplus_module_1.map(f, __tsplusTrace)(environment_1(__tsplusTrace));\n}\n/**\n * Accesses the environment of the transaction to perform a transaction.\n *\n * @tsplus static fncts.io.STMOps environmentWithSTM\n */\nexport function environmentWithSTM(f, __tsplusTrace) {\n return tsplus_module_1.flatMap(f, __tsplusTrace)(environment_1(__tsplusTrace));\n}\n/**\n * Returns an `STM` effect whose failure and success channels have been mapped by\n * the specified pair of functions, `f` and `g`.\n *\n * @tsplus pipeable fncts.io.STM bimap\n */\nexport function bimap(g, f, __tsplusTrace) {\n return (self) => tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(g(e), __tsplusTrace), (a) => tsplus_module_3.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);\n}\n/**\n * Recovers from specified error.\n *\n * @tsplus pipeable fncts.io.STM catch\n */\nexport function catchWith(tag, k, f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.catchAll((e) => {\n if (tsplus_module_4.isObject(e) && tag in e && e[tag] === k) {\n return f(e);\n }\n return tsplus_module_3.failNow(e, __tsplusTrace);\n }, __tsplusTrace)(stm);\n };\n}\n/**\n * Recovers from some or all of the error cases.\n *\n * @tsplus pipeable fncts.io.STM catchJust\n */\nexport function catchJust(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.catchAll((e) => tsplus_module_5.getOrElse(() => tsplus_module_3.failNow(e, __tsplusTrace))(f(e)), __tsplusTrace)(stm);\n };\n}\n/**\n * Recovers from specified error.\n *\n * @tsplus pipeable fncts.io.STM catchTag\n */\nexport function catchTag(k, f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.catchAll((e) => {\n if (\"_tag\" in e && e[\"_tag\"] === k) {\n return f(e);\n }\n return tsplus_module_3.failNow(e, __tsplusTrace);\n }, __tsplusTrace)(stm);\n };\n}\n/**\n * Creates a composite effect that represents this effect followed by another\n * one that may depend on the error produced by this one.\n *\n * @tsplus pipeable fncts.io.STM flatMapError\n */\nexport function chainError(f, __tsplusTrace) {\n return (stm) => {\n return swapWith_1((effect) => tsplus_module_1.flatMap(f, __tsplusTrace)(effect), __tsplusTrace)(stm);\n };\n}\n/**\n * Checks the condition, and if it's true, returns unit, otherwise, retries.\n *\n * @tsplus static fncts.io.STMOps check\n */\nexport function check(predicate, __tsplusTrace) {\n return defer_1(() => (predicate() ? unit_1 : tsplus_module_3.retry), __tsplusTrace);\n}\n/**\n * Commits this transaction atomically, regardless of whether the transaction\n * is a success or a failure.\n */\nexport function commitEither(stm, __tsplusTrace) {\n return tsplus_module_7.absolve(tsplus_module_6.atomically(either_1(stm, __tsplusTrace), __tsplusTrace), __tsplusTrace);\n}\n/**\n * Fail with `e` if the supplied `PartialFunction` does not match, otherwise\n * succeed with the returned value.\n *\n * @tsplus pipeable fncts.io.STM continueOrFail\n */\nexport function continueOrFail(e, pf, __tsplusTrace) {\n return (fa) => {\n return continueOrFailSTM_1(e, (a) => tsplus_module_5.map(tsplus_module_3.succeedNow)(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Fail with `e` if the supplied `PartialFunction` does not match, otherwise\n * continue with the returned value.\n *\n * @tsplus pipeable fncts.io.STM continueOrFailSTM\n */\nfunction continueOrFailSTM_1(e, pf, __tsplusTrace) {\n return (fa) => {\n return tsplus_module_1.flatMap((a) => tsplus_module_5.getOrElse(() => tsplus_module_3.fail(e, __tsplusTrace))(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Fail with `e` if the supplied `PartialFunction` does not match, otherwise\n * succeed with the returned value.\n *\n * @tsplus pipeable fncts.io.STM continueOrRetry\n */\nexport function continueOrRetry(pf, __tsplusTrace) {\n return (fa) => {\n return continueOrRetrySTM_1((a) => tsplus_module_5.map(tsplus_module_3.succeedNow)(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Simultaneously filters and flatMaps the value produced by this effect.\n * Continues on the effect returned from pf.\n *\n * @tsplus pipeable fncts.io.STM continueOrRetrySTM\n */\nfunction continueOrRetrySTM_1(pf, __tsplusTrace) {\n return (fa) => {\n return tsplus_module_1.flatMap((a) => tsplus_module_5.getOrElse(() => tsplus_module_3.retry)(pf(a)), __tsplusTrace)(fa);\n };\n}\n/**\n * Suspends creation of the specified transaction lazily.\n *\n * @tsplus static fncts.io.STMOps defer\n */\nfunction defer_1(make, __tsplusTrace) {\n return flatten_1(tsplus_module_3.succeed(make, __tsplusTrace), __tsplusTrace);\n}\n/**\n * Converts the failure channel into an `Either`.\n *\n * @tsplus getter fncts.io.STM either\n */\nfunction either_1(stm, __tsplusTrace) {\n return match_1(tsplus_module_8.left, tsplus_module_8.right, __tsplusTrace)(stm);\n}\n/**\n * Returns an effect that ignores errors and runs repeatedly until it eventually succeeds.\n *\n * @tsplus getter fncts.io.STM eventually\n */\nfunction eventually_1(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM(() => eventually_1(stm, __tsplusTrace), tsplus_module_3.succeedNow, __tsplusTrace)(stm);\n}\n/**\n * Simultaneously filters and maps the value produced by this effect.\n *\n * @tsplus pipeable fncts.io.STM filterMap\n */\nexport function filterMap(f, __tsplusTrace) {\n return (stm) => {\n return filterMapSTM_1((a) => tsplus_module_5.map(tsplus_module_3.succeedNow)(f(a)), __tsplusTrace)(stm);\n };\n}\n/**\n * Simultaneously filters and chains the value produced by this effect.\n * Continues on the effect returned from f.\n *\n * @tsplus pipeable fncts.io.STM filterMapSTM\n */\nfunction filterMapSTM_1(f, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.matchSTM(tsplus_module_3.failNow, (a) => tsplus_module_5.getOrElse(() => tsplus_module_3.retry)(f(a)), __tsplusTrace)(self);\n };\n}\nfunction filterOrElse_1(p, or, __tsplusTrace) {\n return (fa) => {\n return tsplus_module_1.flatMap((a) => (p(a) ? tsplus_module_3.succeedNow(a, __tsplusTrace) : defer_1(() => or(a), __tsplusTrace)), __tsplusTrace)(fa);\n };\n}\nexport function filterOrFail(p, failWith, __tsplusTrace) {\n return (fa) => {\n return filterOrElse_1(p, (a) => tsplus_module_3.fail(() => failWith(a), __tsplusTrace))(fa);\n };\n}\nexport function filterOrHalt(p, haltWith, __tsplusTrace) {\n return (fa) => {\n return filterOrElse_1(p, (a) => halt_1(() => haltWith(a), __tsplusTrace))(fa);\n };\n}\n/**\n * Flattens out a nested `STM` effect.\n *\n * @tsplus getter fncts.io.STM flatten\n */\nfunction flatten_1(stm, __tsplusTrace) {\n return tsplus_module_1.flatMap(identity, __tsplusTrace)(stm);\n}\n/**\n * Unwraps the optional error, defaulting to the provided value.\n *\n * @tsplus pipeable fncts.io.STM flattenErrorOption\n */\nexport function flattenErrorOption(def, __tsplusTrace) {\n return (stm) => {\n return mapError_1((me) => tsplus_module_5.getOrElse(def)(me), __tsplusTrace)(stm);\n };\n}\n/**\n * Applies the function `f` to each element of the `Iterable<A>` and\n * returns a transactional effect that produces a new `ReadonlyArray<B>`.\n *\n * @tsplus static fncts.io.STMOps foreach\n */\nexport function foreach(it, f, __tsplusTrace) {\n return defer_1(() => {\n let stm = tsplus_module_3.succeedNow([], __tsplusTrace);\n for (const a of it) {\n stm = zipWith_1(f(a), (acc, b) => {\n acc.push(b);\n return acc;\n }, __tsplusTrace)(stm);\n }\n return stm;\n }, __tsplusTrace);\n}\n/**\n * Lifts an `Either` into a `STM`.\n *\n * @tsplus static fncts.io.STMOps fromEither\n */\nexport function fromEither(e, __tsplusTrace) {\n return defer_1(() => tsplus_module_9.match(tsplus_module_3.failNow, tsplus_module_3.succeedNow)(e()), __tsplusTrace);\n}\n/**\n * Lifts an `Either` into a `STM`.\n *\n * @tsplus static fncts.io.STMOps fromEitherNow\n */\nfunction fromEitherNow_1(e, __tsplusTrace) {\n return tsplus_module_9.match(tsplus_module_3.failNow, tsplus_module_3.succeedNow)(e);\n}\n/**\n * Unwraps the optional success of this effect, but can fail with an None value.\n */\nexport function get(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace), (ma) => tsplus_module_10.match(() => tsplus_module_3.failNow(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_3.succeedNow)(ma), __tsplusTrace)(stm);\n}\n/**\n * Provides the transaction its required environment, which eliminates\n * its dependency on `R`.\n *\n * @tsplus pipeable fncts.io.STM provideEnvironment\n */\nexport function provideEnvironment(r, __tsplusTrace) {\n return (stm) => {\n return contramapEnvironment_1(() => r, __tsplusTrace)(stm);\n };\n}\n/**\n * Provides some of the environment required to run this effect,\n * leaving the remainder `R0`.\n *\n * @tsplus pipeable fncts.io.STM contramapEnvironment\n */\nfunction contramapEnvironment_1(f, __tsplusTrace) {\n return (self) => {\n return new ContramapEnvironment(self, f);\n };\n}\n/**\n * Halts the fiber running the effect.\n *\n * @tsplus static fncts.io.STMOps halt\n */\nfunction halt_1(u, __tsplusTrace) {\n return new Effect(() => {\n throw new HaltException(u());\n });\n}\n/**\n * Halts the fiber running the effect.\n *\n * @tsplus static fncts.io.STMOps haltNow\n */\nexport function haltNow(u, __tsplusTrace) {\n return new Effect(() => {\n throw new HaltException(u);\n });\n}\n/**\n * Returns a successful effect with the head of the list if the list is\n * non-empty or fails with the error `None` if the list is empty.\n *\n * @tsplus getter fncts.io.STM head\n */\nexport function head(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace), (ia) => {\n const it = ia[Symbol.iterator]();\n const next = it.next();\n return next.done ? tsplus_module_3.failNow(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace) : tsplus_module_3.succeedNow(next.value, __tsplusTrace);\n }, __tsplusTrace)(stm);\n}\n/**\n * Interrupts the fiber running the effect.\n *\n * @tsplus static fncts.io.STMOps interrupt\n */\nexport const interrupt = tsplus_module_1.flatMap((id) => tsplus_module_3.interruptAs(id, fileName_1 + \":522:95\"), fileName_1 + \":522:71\")(tsplus_module_3.fiberId);\n/**\n * Returns whether this effect is a failure.\n *\n * @tsplus getter fncts.io.STM isFailure\n */\nexport function isFailure(stm, __tsplusTrace) {\n return match_1(() => true, () => false, __tsplusTrace)(stm);\n}\n/**\n * Returns whether this effect is a success.\n *\n * @tsplus getter fncts.io.STM isSuccess\n */\nexport function isSuccess(stm, __tsplusTrace) {\n return match_1(() => false, () => true, __tsplusTrace)(stm);\n}\n/**\n * Returns a successful effect if the value is `Left`, or fails with the error `None`.\n *\n * @tsplus getter fncts.io.STM left\n */\nexport function left(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.fail(() => tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace), (bc) => tsplus_module_9.match(tsplus_module_3.succeedNow, () => tsplus_module_3.failNow(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace))(bc), __tsplusTrace)(stm);\n}\n/**\n * Returns a successful effect if the value is `Left`, or fails with the error e.\n *\n * @tsplus pipeable fncts.io.STM leftOrFail\n */\nexport function leftOrFail(orFail, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((bc) => tsplus_module_9.match(tsplus_module_3.succeedNow, (c) => tsplus_module_3.fail(() => orFail(c), __tsplusTrace))(bc), __tsplusTrace)(stm);\n };\n}\n/**\n * Maps from one error type to another.\n *\n * @tsplus pipeable fncts.io.STM mapError\n */\nfunction mapError_1(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.failNow(f(e), __tsplusTrace), tsplus_module_3.succeedNow, __tsplusTrace)(stm);\n };\n}\n/**\n * Folds over the `STM` effect, handling both failure and success, but not\n * retry.\n *\n * @tsplus pipeable fncts.io.STM match\n */\nfunction match_1(g, f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.matchSTM((e) => tsplus_module_3.succeedNow(g(e), __tsplusTrace), (a) => tsplus_module_3.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(stm);\n };\n}\n/**\n * Repeats this `STM` effect until its result satisfies the specified predicate.\n *\n * WARNING:\n * `repeatUntil` uses a busy loop to repeat the effect and will consume a thread until\n * it completes (it cannot yield). This is because STM describes a single atomic\n * transaction which must either complete, retry or fail a transaction before\n * yielding back to the Effect Runtime.\n *\n * - Use `retryUntil` instead if you don't need to maintain transaction state for repeats.\n * - Ensure repeating the STM effect will eventually satisfy the predicate.\n *\n * @tsplus pipeable fncts.io.STM repeatUntil\n */\nfunction repeatUntil_1(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((a) => (f(a) ? tsplus_module_3.succeedNow(a, __tsplusTrace) : repeatUntil_1(f, __tsplusTrace)(stm)), __tsplusTrace)(stm);\n };\n}\n/**\n * Repeats this `STM` effect while its result satisfies the specified predicate.\n *\n * WARNING:\n * `repeatWhile` uses a busy loop to repeat the effect and will consume a thread until\n * it completes (it cannot yield). This is because STM describes a single atomic\n * transaction which must either complete, retry or fail a transaction before\n * yielding back to the Effect Runtime.\n *\n * - Use `retryWhile` instead if you don't need to maintain transaction state for repeats.\n * - Ensure repeating the STM effect will eventually not satisfy the predicate.\n *\n * @tsplus pipeable fncts.io.STM repeatWhile\n */\nfunction repeatWhile_1(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((a) => (f(a) ? repeatWhile_1(f, __tsplusTrace)(stm) : tsplus_module_3.succeedNow(a, __tsplusTrace)), __tsplusTrace)(stm);\n };\n}\n/**\n * Returns an effect that swaps the error/success cases. This allows you to\n * use all methods on the error channel, possibly before flipping back.\n *\n * @tsplus getter fncts.io.STM swap\n */\nfunction swap_1(stm, __tsplusTrace) {\n return tsplus_module_1.matchSTM(tsplus_module_3.succeedNow, tsplus_module_3.failNow, __tsplusTrace)(stm);\n}\n/**\n * Swaps the error/value parameters, applies the function `f` and flips the parameters back\n *\n * @tsplus pipeable fncts.io.STM swapWith\n */\nfunction swapWith_1(f, __tsplusTrace) {\n return (stm) => {\n return swap_1(f(swap_1(stm, __tsplusTrace)), __tsplusTrace);\n };\n}\n/**\n * \"Peeks\" at the success of transactional effect.\n *\n * @tsplus pipeable fncts.io.STM tap\n */\nexport function tap(f, __tsplusTrace) {\n return (stm) => {\n return tsplus_module_1.flatMap((a) => as_1(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(stm);\n };\n}\n/**\n * Returns an effect with the value on the left part.\n *\n * @tsplus static fncts.io.STMOps toLeft\n */\nexport function toLeft(a, __tsplusTrace) {\n return tsplus_module_1.flatMap((a) => tsplus_module_3.succeedNow(tsplus_module_8.left(a, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_3.succeed(a, __tsplusTrace));\n}\n/**\n * Returns an `STM` effect that succeeds with `Unit`.\n *\n * @tsplus static fncts.io.STMOps unit\n */\nconst unit_1 = tsplus_module_3.succeedNow(undefined, fileName_1 + \":683:35\");\nexport const unit = unit_1;\n/**\n * Sequentially zips this value with the specified one, combining the values\n * using the specified combiner function.\n *\n * @tsplus pipeable fncts.io.STM zipWith\n */\nfunction zipWith_1(that, f, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.flatMap((a) => tsplus_module_1.map((b) => f(a, b), __tsplusTrace)(that), __tsplusTrace)(self);\n };\n}\n/**\n * @tsplus pipeable fncts.io.STM zipLeft\n * @tsplus opipeable-operator fncts.io.STM <\n */\nexport function zipLeft(that, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.flatMap((a) => as_1(() => a, __tsplusTrace)(that), __tsplusTrace)(self);\n };\n}\n/**\n * @tsplus pipeable fncts.io.STM zipRight\n * @tsplus pipeable-operator fncts.io.STM >\n */\nexport function zipRight(that, __tsplusTrace) {\n return (self) => {\n return tsplus_module_1.flatMap(() => that, __tsplusTrace)(self);\n };\n}\n//# sourceMappingURL=api.js.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,aAAa;AAWnB,MAAa,KAAK;AAClB,MAAa,cAAc;AAC3B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,QAAQ;AACrB,MAAa,SAAS;AACtB,MAAa,aAAa;AAC1B,MAAa,eAAe;AAC5B,MAAa,eAAe;AAC5B,MAAa,UAAU;AACvB,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,OAAO;AACpB,MAAa,WAAW;AACxB,MAAa,QAAQ;AACrB,MAAa,cAAc;AAC3B,MAAa,cAAc;AAC3B,MAAa,OAAO;AACpB,MAAa,WAAW;AACxB,MAAa,UAAU;;;;;;AAQvB,SAAS,KAAK,GAAG,eAAe;CAC5B,QAAQ,QAAQ;EACZ,OAAOA,2BAAgB,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG;CAC5D;AACJ;;;;;;AAMA,SAAgB,OAAO,KAAK,eAAe;CACvC,OAAOA,2BAAgB,IAAIC,oCAAgB,MAAM,aAAa,CAAC,CAAC,GAAG;AACvE;;;;;;AAMA,SAAgB,YAAY,KAAK,eAAe;CAC5C,OAAO,WAAWA,oCAAgB,MAAM,aAAa,CAAC,CAAC,GAAG;AAC9D;;;;;;;AAOA,SAAgB,QAAQ,GAAG,eAAe;CACtC,OAAOD,2BAAgB,QAAQ,iBAAiB,aAAa,CAAC,CAAC,CAAC;AACpE;;;;AAIA,SAAgB,WAAW,GAAG,eAAe;CACzC,OAAO,IAAIE,uBAAAA,OAAO,CAAC;AACvB;;;;;;AAMA,SAAS,cAAc,eAAe;CAClC,OAAO,IAAIA,uBAAAA,QAAQ,GAAG,IAAI,MAAM,CAAC;AACrC;;;;;;AAMA,SAAgB,gBAAgB,GAAG,eAAe;CAC9C,OAAOF,2BAAgB,IAAI,GAAG,aAAa,CAAC,CAAC,cAAc,aAAa,CAAC;AAC7E;;;;;;AAMA,SAAgB,mBAAmB,GAAG,eAAe;CACjD,OAAOA,2BAAgB,QAAQ,GAAG,aAAa,CAAC,CAAC,cAAc,aAAa,CAAC;AACjF;;;;;;;AAOA,SAAgB,MAAM,GAAG,GAAG,eAAe;CACvC,QAAQ,SAASA,2BAAgB,UAAU,MAAMG,oCAAgB,QAAQ,EAAE,CAAC,GAAG,aAAa,IAAI,MAAMA,oCAAgB,WAAW,EAAE,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,IAAI;AAC9K;;;;;;AAMA,SAAgB,UAAU,KAAK,GAAG,GAAG,eAAe;CAChD,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,UAAU,MAAM;GACnC,IAAII,4BAAgB,SAAS,CAAC,KAAK,OAAO,KAAK,EAAE,SAAS,GACtD,OAAO,EAAE,CAAC;GAEd,OAAOD,oCAAgB,QAAQ,GAAG,aAAa;EACnD,GAAG,aAAa,CAAC,CAAC,GAAG;CACzB;AACJ;;;;;;AAMA,SAAgB,UAAU,GAAG,eAAe;CACxC,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,UAAU,MAAMK,2BAAgB,gBAAgBF,oCAAgB,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG;CAC/I;AACJ;;;;;;AAMA,SAAgB,SAAS,GAAG,GAAG,eAAe;CAC1C,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,UAAU,MAAM;GACnC,IAAI,UAAU,KAAK,EAAE,YAAY,GAC7B,OAAO,EAAE,CAAC;GAEd,OAAOG,oCAAgB,QAAQ,GAAG,aAAa;EACnD,GAAG,aAAa,CAAC,CAAC,GAAG;CACzB;AACJ;;;;;;;AAOA,SAAgB,WAAW,GAAG,eAAe;CACzC,QAAQ,QAAQ;EACZ,OAAO,YAAY,WAAWH,2BAAgB,QAAQ,GAAG,aAAa,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,GAAG;CACvG;AACJ;;;;;;AAMA,SAAgB,MAAM,WAAW,eAAe;CAC5C,OAAO,cAAe,UAAU,IAAI,SAASG,oCAAgB,OAAQ,aAAa;AACtF;;;;;AAKA,SAAgB,aAAa,KAAK,eAAe;CAC7C,OAAOG,iBAAgB,QAAQC,6BAAgB,WAAW,SAAS,KAAK,aAAa,GAAG,aAAa,GAAG,aAAa;AACzH;;;;;;;AAOA,SAAgB,eAAe,GAAG,IAAI,eAAe;CACjD,QAAQ,OAAO;EACX,OAAO,oBAAoB,IAAI,MAAMF,2BAAgB,IAAIF,oCAAgB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE;CAClH;AACJ;;;;;;;AAOA,SAAS,oBAAoB,GAAG,IAAI,eAAe;CAC/C,QAAQ,OAAO;EACX,OAAOH,2BAAgB,SAAS,MAAMK,2BAAgB,gBAAgBF,oCAAgB,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE;CAC3I;AACJ;;;;;;;AAOA,SAAgB,gBAAgB,IAAI,eAAe;CAC/C,QAAQ,OAAO;EACX,OAAO,sBAAsB,MAAME,2BAAgB,IAAIF,oCAAgB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE;CAChH;AACJ;;;;;;;AAOA,SAAS,qBAAqB,IAAI,eAAe;CAC7C,QAAQ,OAAO;EACX,OAAOH,2BAAgB,SAAS,MAAMK,2BAAgB,gBAAgBF,oCAAgB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE;CAC1H;AACJ;;;;;;AAMA,SAAS,QAAQ,MAAM,eAAe;CAClC,OAAO,UAAUA,oCAAgB,QAAQ,MAAM,aAAa,GAAG,aAAa;AAChF;;;;;;AAMA,SAAS,SAAS,KAAK,eAAe;CAClC,OAAO,QAAQK,qCAAgB,MAAMA,qCAAgB,OAAO,aAAa,CAAC,CAAC,GAAG;AAClF;;;;;;AAMA,SAAS,aAAa,KAAK,eAAe;CACtC,OAAOR,2BAAgB,eAAe,aAAa,KAAK,aAAa,GAAGG,oCAAgB,YAAY,aAAa,CAAC,CAAC,GAAG;AAC1H;;;;;;AAMA,SAAgB,UAAU,GAAG,eAAe;CACxC,QAAQ,QAAQ;EACZ,OAAO,gBAAgB,MAAME,2BAAgB,IAAIF,oCAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG;CAC1G;AACJ;;;;;;;AAOA,SAAS,eAAe,GAAG,eAAe;CACtC,QAAQ,SAAS;EACb,OAAOH,2BAAgB,SAASG,oCAAgB,UAAU,MAAME,2BAAgB,gBAAgBF,oCAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI;CACrJ;AACJ;AACA,SAAS,eAAe,GAAG,IAAI,eAAe;CAC1C,QAAQ,OAAO;EACX,OAAOH,2BAAgB,SAAS,MAAO,EAAE,CAAC,IAAIG,oCAAgB,WAAW,GAAG,aAAa,IAAI,cAAc,GAAG,CAAC,GAAG,aAAa,GAAI,aAAa,CAAC,CAAC,EAAE;CACxJ;AACJ;AACA,SAAgB,aAAa,GAAG,UAAU,eAAe;CACrD,QAAQ,OAAO;EACX,OAAO,eAAe,IAAI,MAAMA,oCAAgB,WAAW,SAAS,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE;CAC9F;AACJ;AACA,SAAgB,aAAa,GAAG,UAAU,eAAe;CACrD,QAAQ,OAAO;EACX,OAAO,eAAe,IAAI,MAAM,aAAa,SAAS,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE;CAChF;AACJ;;;;;;AAMA,SAAS,UAAU,KAAK,eAAe;CACnC,OAAOH,2BAAgB,QAAQS,0BAAAA,UAAU,aAAa,CAAC,CAAC,GAAG;AAC/D;;;;;;AAMA,SAAgB,mBAAmB,KAAK,eAAe;CACnD,QAAQ,QAAQ;EACZ,OAAO,YAAY,OAAOJ,2BAAgB,UAAU,GAAG,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG;CACpF;AACJ;;;;;;;AAOA,SAAgB,QAAQ,IAAI,GAAG,eAAe;CAC1C,OAAO,cAAc;EACjB,IAAI,MAAMF,oCAAgB,WAAW,CAAC,GAAG,aAAa;EACtD,KAAK,MAAM,KAAK,IACZ,MAAM,UAAU,EAAE,CAAC,IAAI,KAAK,MAAM;GAC9B,IAAI,KAAK,CAAC;GACV,OAAO;EACX,GAAG,aAAa,CAAC,CAAC,GAAG;EAEzB,OAAO;CACX,GAAG,aAAa;AACpB;;;;;;AAMA,SAAgB,WAAW,GAAG,eAAe;CACzC,OAAO,cAAcO,oCAAgB,MAAMP,oCAAgB,SAASA,oCAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa;AACvH;;;;;;AAMA,SAAS,gBAAgB,GAAG,eAAe;CACvC,OAAOO,oCAAgB,MAAMP,oCAAgB,SAASA,oCAAgB,UAAU,CAAC,CAAC,CAAC;AACvF;;;;AAIA,SAAgB,IAAI,KAAK,eAAe;CACpC,OAAOH,2BAAgB,UAAU,MAAMG,oCAAgB,QAAQF,oCAAgB,KAAK,GAAG,aAAa,GAAG,aAAa,IAAI,OAAOU,mCAAiB,YAAYR,oCAAgB,QAAQF,oCAAgB,QAAQ,aAAa,GAAG,aAAa,GAAGE,oCAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG;AACnS;;;;;;;AAOA,SAAgB,mBAAmB,GAAG,eAAe;CACjD,QAAQ,QAAQ;EACZ,OAAO,6BAA6B,GAAG,aAAa,CAAC,CAAC,GAAG;CAC7D;AACJ;;;;;;;AAOA,SAAS,uBAAuB,GAAG,eAAe;CAC9C,QAAQ,SAAS;EACb,OAAO,IAAIS,uBAAAA,qBAAqB,MAAM,CAAC;CAC3C;AACJ;;;;;;AAMA,SAAS,OAAO,GAAG,eAAe;CAC9B,OAAO,IAAIV,uBAAAA,aAAa;EACpB,MAAM,IAAIW,uBAAAA,cAAc,EAAE,CAAC;CAC/B,CAAC;AACL;;;;;;AAMA,SAAgB,QAAQ,GAAG,eAAe;CACtC,OAAO,IAAIX,uBAAAA,aAAa;EACpB,MAAM,IAAIW,uBAAAA,cAAc,CAAC;CAC7B,CAAC;AACL;;;;;;;AAOA,SAAgB,KAAK,KAAK,eAAe;CACrC,OAAOb,2BAAgB,UAAU,MAAMG,oCAAgB,QAAQF,oCAAgB,KAAK,GAAG,aAAa,GAAG,aAAa,IAAI,OAAO;EAE3H,MAAM,OADK,GAAG,OAAO,SAAS,CAChB,CAAC,CAAC,KAAK;EACrB,OAAO,KAAK,OAAOE,oCAAgB,QAAQF,oCAAgB,QAAQ,aAAa,GAAG,aAAa,IAAIE,oCAAgB,WAAW,KAAK,OAAO,aAAa;CAC5J,GAAG,aAAa,CAAC,CAAC,GAAG;AACzB;;;;;;AAMA,MAAa,YAAYH,2BAAgB,SAAS,OAAOG,oCAAgB,YAAY,IAAI,aAAa,SAAS,GAAG,aAAa,SAAS,CAAC,CAACA,oCAAgB,OAAO;;;;;;AAMjK,SAAgB,UAAU,KAAK,eAAe;CAC1C,OAAO,cAAc,YAAY,OAAO,aAAa,CAAC,CAAC,GAAG;AAC9D;;;;;;AAMA,SAAgB,UAAU,KAAK,eAAe;CAC1C,OAAO,cAAc,aAAa,MAAM,aAAa,CAAC,CAAC,GAAG;AAC9D;;;;;;AAMA,SAAgB,KAAK,KAAK,eAAe;CACrC,OAAOH,2BAAgB,UAAU,MAAMG,oCAAgB,WAAWF,oCAAgB,KAAK,GAAG,aAAa,GAAG,aAAa,IAAI,OAAOS,oCAAgB,MAAMP,oCAAgB,kBAAkBA,oCAAgB,QAAQF,oCAAgB,QAAQ,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG;AACrS;;;;;;AAMA,SAAgB,WAAW,QAAQ,eAAe;CAC9C,QAAQ,QAAQ;EACZ,OAAOD,2BAAgB,SAAS,OAAOU,oCAAgB,MAAMP,oCAAgB,aAAa,MAAMA,oCAAgB,WAAW,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG;CACjL;AACJ;;;;;;AAMA,SAAS,WAAW,GAAG,eAAe;CAClC,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,UAAU,MAAMG,oCAAgB,QAAQ,EAAE,CAAC,GAAG,aAAa,GAAGA,oCAAgB,YAAY,aAAa,CAAC,CAAC,GAAG;CACvI;AACJ;;;;;;;AAOA,SAAS,QAAQ,GAAG,GAAG,eAAe;CAClC,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,UAAU,MAAMG,oCAAgB,WAAW,EAAE,CAAC,GAAG,aAAa,IAAI,MAAMA,oCAAgB,WAAW,EAAE,CAAC,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,GAAG;CACtK;AACJ;;;;;;;;;;;;;;;AAeA,SAAS,cAAc,GAAG,eAAe;CACrC,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,SAAS,MAAO,EAAE,CAAC,IAAIG,oCAAgB,WAAW,GAAG,aAAa,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,GAAG,GAAI,aAAa,CAAC,CAAC,GAAG;CAC1J;AACJ;;;;;;;;;;;;;;;AAeA,SAAS,cAAc,GAAG,eAAe;CACrC,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,SAAS,MAAO,EAAE,CAAC,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,GAAG,IAAIG,oCAAgB,WAAW,GAAG,aAAa,GAAI,aAAa,CAAC,CAAC,GAAG;CAC1J;AACJ;;;;;;;AAOA,SAAS,OAAO,KAAK,eAAe;CAChC,OAAOH,2BAAgB,SAASG,oCAAgB,YAAYA,oCAAgB,SAAS,aAAa,CAAC,CAAC,GAAG;AAC3G;;;;;;AAMA,SAAS,WAAW,GAAG,eAAe;CAClC,QAAQ,QAAQ;EACZ,OAAO,OAAO,EAAE,OAAO,KAAK,aAAa,CAAC,GAAG,aAAa;CAC9D;AACJ;;;;;;AAMA,SAAgB,IAAI,GAAG,eAAe;CAClC,QAAQ,QAAQ;EACZ,OAAOH,2BAAgB,SAAS,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG;CAChG;AACJ;;;;;;AAMA,SAAgB,OAAO,GAAG,eAAe;CACrC,OAAOA,2BAAgB,SAAS,MAAMG,oCAAgB,WAAWK,qCAAgB,KAAK,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC,CAACL,oCAAgB,QAAQ,GAAG,aAAa,CAAC;AACrL;;;;;;AAMA,MAAM,SAASA,oCAAgB,WAAW,KAAA,GAAW,aAAa,SAAS;AAC3E,MAAa,OAAO;;;;;;;AAOpB,SAAS,UAAU,MAAM,GAAG,eAAe;CACvC,QAAQ,SAAS;EACb,OAAOH,2BAAgB,SAAS,MAAMA,2BAAgB,KAAK,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,IAAI;CACvH;AACJ;;;;;AAKA,SAAgB,QAAQ,MAAM,eAAe;CACzC,QAAQ,SAAS;EACb,OAAOA,2BAAgB,SAAS,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,IAAI;CACjG;AACJ;;;;;AAKA,SAAgB,SAAS,MAAM,eAAe;CAC1C,QAAQ,SAAS;EACb,OAAOA,2BAAgB,cAAc,MAAM,aAAa,CAAC,CAAC,IAAI;CAClE;AACJ"}
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chunk = require("../chunk.cjs");
2
+ const require_rolldown_runtime = require("../rolldown-runtime.cjs");
3
3
  let _fncts_base_util_predicates = require("@fncts/base/util/predicates");
4
- _fncts_base_util_predicates = require_chunk.__toESM(_fncts_base_util_predicates, 1);
4
+ _fncts_base_util_predicates = require_rolldown_runtime.__toESM(_fncts_base_util_predicates, 1);
5
5
  let _fncts_io_IO_definition = require("@fncts/io/IO/definition");
6
- //#region build/esm/STM/definition.js
6
+ // build/esm/STM/definition.js
7
7
  const STMVariance = Symbol.for("fncts.io.STM.Variance");
8
8
  const STMTypeId = Symbol.for("fncts.io.STM");
9
9
  /**
@@ -133,7 +133,6 @@ var RetryException = class {
133
133
  function isRetryException(u) {
134
134
  return _fncts_base_util_predicates.isObject(u) && RetryExceptionTypeId in u;
135
135
  }
136
- //#endregion
137
136
  exports.ContramapEnvironment = ContramapEnvironment;
138
137
  exports.Effect = Effect;
139
138
  exports.FailException = FailException;
@@ -1 +1 @@
1
- {"version":3,"file":"definition.cjs","names":["IOTypeId","tsplus_module_1"],"sources":["../../esm/STM/definition.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/util/predicates\";\nimport { IOTypeId, IOVariance } from \"@fncts/io/IO/definition\";\nexport const STMVariance = Symbol.for(\"fncts.io.STM.Variance\");\nexport const STMTypeId = Symbol.for(\"fncts.io.STM\");\n/**\n * @tsplus type fncts.io.STM\n * @tsplus companion fncts.io.STMOps\n */\nexport class STM {\n [IOTypeId] = IOTypeId;\n _ioOpCode = 11 /* IOTag.Commit */;\n trace;\n [STMTypeId] = STMTypeId;\n}\n/**\n * @tsplus unify fncts.io.STM\n */\nexport function unifySTM(self) {\n return self;\n}\nexport class Effect extends STM {\n f;\n stmOpCode = \"Effect\" /* STMTag.Effect */;\n constructor(f) {\n super();\n this.f = f;\n }\n}\nexport class OnFailure extends STM {\n stm;\n onFailure;\n stmOpCode = \"OnFailure\" /* STMTag.OnFailure */;\n constructor(stm, onFailure) {\n super();\n this.stm = stm;\n this.onFailure = onFailure;\n }\n apply(a) {\n return new SucceedNow(a);\n }\n}\nexport class OnRetry extends STM {\n stm;\n onRetry;\n stmOpCode = \"OnRetry\" /* STMTag.OnRetry */;\n constructor(stm, onRetry) {\n super();\n this.stm = stm;\n this.onRetry = onRetry;\n }\n apply(a) {\n return new SucceedNow(a);\n }\n}\nexport class OnSuccess extends STM {\n stm;\n apply;\n stmOpCode = \"OnSuccess\" /* STMTag.OnSuccess */;\n constructor(stm, apply) {\n super();\n this.stm = stm;\n this.apply = apply;\n }\n}\nexport class Succeed extends STM {\n a;\n stmOpCode = \"Succeed\" /* STMTag.Succeed */;\n constructor(a) {\n super();\n this.a = a;\n }\n}\nexport class SucceedNow extends STM {\n a;\n stmOpCode = \"SucceedNow\" /* STMTag.SucceedNow */;\n constructor(a) {\n super();\n this.a = a;\n }\n}\nexport class ContramapEnvironment extends STM {\n stm;\n f;\n stmOpCode = \"ContramapEnvironment\" /* STMTag.ContramapEnvironment */;\n constructor(stm, f) {\n super();\n this.stm = stm;\n this.f = f;\n }\n}\nexport function concrete(_) {\n //\n}\nexport const FailExceptionTypeId = Symbol.for(\"fncta.control.STM.FailException\");\nexport class FailException {\n e;\n [FailExceptionTypeId] = FailExceptionTypeId;\n constructor(e) {\n this.e = e;\n }\n}\nexport function isFailException(u) {\n return tsplus_module_1.isObject(u) && FailExceptionTypeId in u;\n}\nexport const HaltExceptionTypeId = Symbol.for(\"fncts.io.STM.HaltException\");\nexport class HaltException {\n e;\n [HaltExceptionTypeId] = HaltExceptionTypeId;\n constructor(e) {\n this.e = e;\n }\n}\nexport function isHaltException(u) {\n return tsplus_module_1.isObject(u) && HaltExceptionTypeId in u;\n}\nexport const InterruptExceptionTypeId = Symbol.for(\"fncts.io.STM.InterruptException\");\nexport class InterruptException {\n fiberId;\n [InterruptExceptionTypeId] = InterruptExceptionTypeId;\n constructor(fiberId) {\n this.fiberId = fiberId;\n }\n}\nexport function isInterruptException(u) {\n return tsplus_module_1.isObject(u) && InterruptExceptionTypeId in u;\n}\nexport const RetryExceptionTypeId = Symbol.for(\"fncts.io.STM.RetryException\");\nexport class RetryException {\n [RetryExceptionTypeId] = RetryExceptionTypeId;\n}\nexport function isRetryException(u) {\n return tsplus_module_1.isObject(u) && RetryExceptionTypeId in u;\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";;;;;;AAEA,MAAa,cAAc,OAAO,IAAI,wBAAwB;AAC9D,MAAa,YAAY,OAAO,IAAI,eAAe;;;;;AAKnD,IAAa,MAAb,MAAiB;CACb,CAACA,wBAAAA,YAAYA,wBAAAA;CACb,YAAY;CACZ;CACA,CAAC,aAAa;;;;;AAKlB,SAAgB,SAAS,MAAM;AAC3B,QAAO;;AAEX,IAAa,SAAb,cAA4B,IAAI;CAC5B;CACA,YAAY;CACZ,YAAY,GAAG;AACX,SAAO;AACP,OAAK,IAAI;;;AAGjB,IAAa,YAAb,cAA+B,IAAI;CAC/B;CACA;CACA,YAAY;CACZ,YAAY,KAAK,WAAW;AACxB,SAAO;AACP,OAAK,MAAM;AACX,OAAK,YAAY;;CAErB,MAAM,GAAG;AACL,SAAO,IAAI,WAAW,EAAE;;;AAGhC,IAAa,UAAb,cAA6B,IAAI;CAC7B;CACA;CACA,YAAY;CACZ,YAAY,KAAK,SAAS;AACtB,SAAO;AACP,OAAK,MAAM;AACX,OAAK,UAAU;;CAEnB,MAAM,GAAG;AACL,SAAO,IAAI,WAAW,EAAE;;;AAGhC,IAAa,YAAb,cAA+B,IAAI;CAC/B;CACA;CACA,YAAY;CACZ,YAAY,KAAK,OAAO;AACpB,SAAO;AACP,OAAK,MAAM;AACX,OAAK,QAAQ;;;AAGrB,IAAa,UAAb,cAA6B,IAAI;CAC7B;CACA,YAAY;CACZ,YAAY,GAAG;AACX,SAAO;AACP,OAAK,IAAI;;;AAGjB,IAAa,aAAb,cAAgC,IAAI;CAChC;CACA,YAAY;CACZ,YAAY,GAAG;AACX,SAAO;AACP,OAAK,IAAI;;;AAGjB,IAAa,uBAAb,cAA0C,IAAI;CAC1C;CACA;CACA,YAAY;CACZ,YAAY,KAAK,GAAG;AAChB,SAAO;AACP,OAAK,MAAM;AACX,OAAK,IAAI;;;AAGjB,SAAgB,SAAS,GAAG;AAG5B,MAAa,sBAAsB,OAAO,IAAI,kCAAkC;AAChF,IAAa,gBAAb,MAA2B;CACvB;CACA,CAAC,uBAAuB;CACxB,YAAY,GAAG;AACX,OAAK,IAAI;;;AAGjB,SAAgB,gBAAgB,GAAG;AAC/B,QAAOC,4BAAgB,SAAS,EAAE,IAAI,uBAAuB;;AAEjE,MAAa,sBAAsB,OAAO,IAAI,6BAA6B;AAC3E,IAAa,gBAAb,MAA2B;CACvB;CACA,CAAC,uBAAuB;CACxB,YAAY,GAAG;AACX,OAAK,IAAI;;;AAGjB,SAAgB,gBAAgB,GAAG;AAC/B,QAAOA,4BAAgB,SAAS,EAAE,IAAI,uBAAuB;;AAEjE,MAAa,2BAA2B,OAAO,IAAI,kCAAkC;AACrF,IAAa,qBAAb,MAAgC;CAC5B;CACA,CAAC,4BAA4B;CAC7B,YAAY,SAAS;AACjB,OAAK,UAAU;;;AAGvB,SAAgB,qBAAqB,GAAG;AACpC,QAAOA,4BAAgB,SAAS,EAAE,IAAI,4BAA4B;;AAEtE,MAAa,uBAAuB,OAAO,IAAI,8BAA8B;AAC7E,IAAa,iBAAb,MAA4B;CACxB,CAAC,wBAAwB;;AAE7B,SAAgB,iBAAiB,GAAG;AAChC,QAAOA,4BAAgB,SAAS,EAAE,IAAI,wBAAwB"}
1
+ {"version":3,"file":"definition.cjs","names":["IOTypeId","tsplus_module_1"],"sources":["../../esm/STM/definition.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/util/predicates\";\nimport { IOTypeId, IOVariance } from \"@fncts/io/IO/definition\";\nexport const STMVariance = Symbol.for(\"fncts.io.STM.Variance\");\nexport const STMTypeId = Symbol.for(\"fncts.io.STM\");\n/**\n * @tsplus type fncts.io.STM\n * @tsplus companion fncts.io.STMOps\n */\nexport class STM {\n [IOTypeId] = IOTypeId;\n _ioOpCode = 11 /* IOTag.Commit */;\n trace;\n [STMTypeId] = STMTypeId;\n}\n/**\n * @tsplus unify fncts.io.STM\n */\nexport function unifySTM(self) {\n return self;\n}\nexport class Effect extends STM {\n f;\n stmOpCode = \"Effect\" /* STMTag.Effect */;\n constructor(f) {\n super();\n this.f = f;\n }\n}\nexport class OnFailure extends STM {\n stm;\n onFailure;\n stmOpCode = \"OnFailure\" /* STMTag.OnFailure */;\n constructor(stm, onFailure) {\n super();\n this.stm = stm;\n this.onFailure = onFailure;\n }\n apply(a) {\n return new SucceedNow(a);\n }\n}\nexport class OnRetry extends STM {\n stm;\n onRetry;\n stmOpCode = \"OnRetry\" /* STMTag.OnRetry */;\n constructor(stm, onRetry) {\n super();\n this.stm = stm;\n this.onRetry = onRetry;\n }\n apply(a) {\n return new SucceedNow(a);\n }\n}\nexport class OnSuccess extends STM {\n stm;\n apply;\n stmOpCode = \"OnSuccess\" /* STMTag.OnSuccess */;\n constructor(stm, apply) {\n super();\n this.stm = stm;\n this.apply = apply;\n }\n}\nexport class Succeed extends STM {\n a;\n stmOpCode = \"Succeed\" /* STMTag.Succeed */;\n constructor(a) {\n super();\n this.a = a;\n }\n}\nexport class SucceedNow extends STM {\n a;\n stmOpCode = \"SucceedNow\" /* STMTag.SucceedNow */;\n constructor(a) {\n super();\n this.a = a;\n }\n}\nexport class ContramapEnvironment extends STM {\n stm;\n f;\n stmOpCode = \"ContramapEnvironment\" /* STMTag.ContramapEnvironment */;\n constructor(stm, f) {\n super();\n this.stm = stm;\n this.f = f;\n }\n}\nexport function concrete(_) {\n //\n}\nexport const FailExceptionTypeId = Symbol.for(\"fncta.control.STM.FailException\");\nexport class FailException {\n e;\n [FailExceptionTypeId] = FailExceptionTypeId;\n constructor(e) {\n this.e = e;\n }\n}\nexport function isFailException(u) {\n return tsplus_module_1.isObject(u) && FailExceptionTypeId in u;\n}\nexport const HaltExceptionTypeId = Symbol.for(\"fncts.io.STM.HaltException\");\nexport class HaltException {\n e;\n [HaltExceptionTypeId] = HaltExceptionTypeId;\n constructor(e) {\n this.e = e;\n }\n}\nexport function isHaltException(u) {\n return tsplus_module_1.isObject(u) && HaltExceptionTypeId in u;\n}\nexport const InterruptExceptionTypeId = Symbol.for(\"fncts.io.STM.InterruptException\");\nexport class InterruptException {\n fiberId;\n [InterruptExceptionTypeId] = InterruptExceptionTypeId;\n constructor(fiberId) {\n this.fiberId = fiberId;\n }\n}\nexport function isInterruptException(u) {\n return tsplus_module_1.isObject(u) && InterruptExceptionTypeId in u;\n}\nexport const RetryExceptionTypeId = Symbol.for(\"fncts.io.STM.RetryException\");\nexport class RetryException {\n [RetryExceptionTypeId] = RetryExceptionTypeId;\n}\nexport function isRetryException(u) {\n return tsplus_module_1.isObject(u) && RetryExceptionTypeId in u;\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";;;;;;AAEA,MAAa,cAAc,OAAO,IAAI,uBAAuB;AAC7D,MAAa,YAAY,OAAO,IAAI,cAAc;;;;;AAKlD,IAAa,MAAb,MAAiB;CACb,CAACA,wBAAAA,YAAYA,wBAAAA;CACb,YAAY;CACZ;CACA,CAAC,aAAa;AAClB;;;;AAIA,SAAgB,SAAS,MAAM;CAC3B,OAAO;AACX;AACA,IAAa,SAAb,cAA4B,IAAI;CAC5B;CACA,YAAY;CACZ,YAAY,GAAG;EACX,MAAM;EACN,KAAK,IAAI;CACb;AACJ;AACA,IAAa,YAAb,cAA+B,IAAI;CAC/B;CACA;CACA,YAAY;CACZ,YAAY,KAAK,WAAW;EACxB,MAAM;EACN,KAAK,MAAM;EACX,KAAK,YAAY;CACrB;CACA,MAAM,GAAG;EACL,OAAO,IAAI,WAAW,CAAC;CAC3B;AACJ;AACA,IAAa,UAAb,cAA6B,IAAI;CAC7B;CACA;CACA,YAAY;CACZ,YAAY,KAAK,SAAS;EACtB,MAAM;EACN,KAAK,MAAM;EACX,KAAK,UAAU;CACnB;CACA,MAAM,GAAG;EACL,OAAO,IAAI,WAAW,CAAC;CAC3B;AACJ;AACA,IAAa,YAAb,cAA+B,IAAI;CAC/B;CACA;CACA,YAAY;CACZ,YAAY,KAAK,OAAO;EACpB,MAAM;EACN,KAAK,MAAM;EACX,KAAK,QAAQ;CACjB;AACJ;AACA,IAAa,UAAb,cAA6B,IAAI;CAC7B;CACA,YAAY;CACZ,YAAY,GAAG;EACX,MAAM;EACN,KAAK,IAAI;CACb;AACJ;AACA,IAAa,aAAb,cAAgC,IAAI;CAChC;CACA,YAAY;CACZ,YAAY,GAAG;EACX,MAAM;EACN,KAAK,IAAI;CACb;AACJ;AACA,IAAa,uBAAb,cAA0C,IAAI;CAC1C;CACA;CACA,YAAY;CACZ,YAAY,KAAK,GAAG;EAChB,MAAM;EACN,KAAK,MAAM;EACX,KAAK,IAAI;CACb;AACJ;AACA,SAAgB,SAAS,GAAG,CAE5B;AACA,MAAa,sBAAsB,OAAO,IAAI,iCAAiC;AAC/E,IAAa,gBAAb,MAA2B;CACvB;CACA,CAAC,uBAAuB;CACxB,YAAY,GAAG;EACX,KAAK,IAAI;CACb;AACJ;AACA,SAAgB,gBAAgB,GAAG;CAC/B,OAAOC,4BAAgB,SAAS,CAAC,KAAK,uBAAuB;AACjE;AACA,MAAa,sBAAsB,OAAO,IAAI,4BAA4B;AAC1E,IAAa,gBAAb,MAA2B;CACvB;CACA,CAAC,uBAAuB;CACxB,YAAY,GAAG;EACX,KAAK,IAAI;CACb;AACJ;AACA,SAAgB,gBAAgB,GAAG;CAC/B,OAAOA,4BAAgB,SAAS,CAAC,KAAK,uBAAuB;AACjE;AACA,MAAa,2BAA2B,OAAO,IAAI,iCAAiC;AACpF,IAAa,qBAAb,MAAgC;CAC5B;CACA,CAAC,4BAA4B;CAC7B,YAAY,SAAS;EACjB,KAAK,UAAU;CACnB;AACJ;AACA,SAAgB,qBAAqB,GAAG;CACpC,OAAOA,4BAAgB,SAAS,CAAC,KAAK,4BAA4B;AACtE;AACA,MAAa,uBAAuB,OAAO,IAAI,6BAA6B;AAC5E,IAAa,iBAAb,MAA4B;CACxB,CAAC,wBAAwB;AAC7B;AACA,SAAgB,iBAAiB,GAAG;CAChC,OAAOA,4BAAgB,SAAS,CAAC,KAAK,wBAAwB;AAClE"}
@@ -1,17 +1,17 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chunk = require("../chunk.cjs");
2
+ const require_rolldown_runtime = require("../rolldown-runtime.cjs");
3
3
  const require_STM_definition = require("./definition.cjs");
4
4
  let _fncts_io_STM_api_core_api = require("@fncts/io/STM/api/core-api");
5
- _fncts_io_STM_api_core_api = require_chunk.__toESM(_fncts_io_STM_api_core_api, 1);
5
+ _fncts_io_STM_api_core_api = require_rolldown_runtime.__toESM(_fncts_io_STM_api_core_api, 1);
6
6
  let _fncts_io_STM_api_core_constructors = require("@fncts/io/STM/api/core-constructors");
7
- _fncts_io_STM_api_core_constructors = require_chunk.__toESM(_fncts_io_STM_api_core_constructors, 1);
7
+ _fncts_io_STM_api_core_constructors = require_rolldown_runtime.__toESM(_fncts_io_STM_api_core_constructors, 1);
8
8
  let _fncts_base_internal_Stack = require("@fncts/base/internal/Stack");
9
- _fncts_base_internal_Stack = require_chunk.__toESM(_fncts_base_internal_Stack, 1);
9
+ _fncts_base_internal_Stack = require_rolldown_runtime.__toESM(_fncts_base_internal_Stack, 1);
10
10
  let _fncts_io_TExit_constructors = require("@fncts/io/TExit/constructors");
11
- _fncts_io_TExit_constructors = require_chunk.__toESM(_fncts_io_TExit_constructors, 1);
11
+ _fncts_io_TExit_constructors = require_rolldown_runtime.__toESM(_fncts_io_TExit_constructors, 1);
12
12
  let _fncts_base_data_Environment_api = require("@fncts/base/data/Environment/api");
13
- _fncts_base_data_Environment_api = require_chunk.__toESM(_fncts_base_data_Environment_api, 1);
14
- //#region build/esm/STM/driver.js
13
+ _fncts_base_data_Environment_api = require_rolldown_runtime.__toESM(_fncts_base_data_Environment_api, 1);
14
+ // build/esm/STM/driver.js
15
15
  const fileName_1 = "(@fncts/io) src/STM/driver.ts";
16
16
  var STMDriver = class {
17
17
  self;
@@ -97,7 +97,6 @@ var STMDriver = class {
97
97
  return exit;
98
98
  }
99
99
  };
100
- //#endregion
101
100
  exports.STMDriver = STMDriver;
102
101
 
103
102
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["tsplus_module_1","tsplus_module_2","tsplus_module_3","tsplus_module_5","tsplus_module_4","isFailException","isRetryException","isHaltException","isInterruptException"],"sources":["../../esm/STM/driver.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/driver.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/internal/Stack\";\nimport * as tsplus_module_2 from \"@fncts/io/TExit/constructors\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Environment/api\";\nimport * as tsplus_module_4 from \"@fncts/io/STM/api/core-constructors\";\nimport * as tsplus_module_5 from \"@fncts/io/STM/api/core-api\";\nimport { Stack } from \"@fncts/base/internal/Stack\";\nimport { concrete, isFailException, isHaltException, isInterruptException, isRetryException } from \"./definition.js\";\nexport class STMDriver {\n self;\n journal;\n fiberId;\n contStack;\n envStack;\n constructor(self, journal, fiberId, r0) {\n this.self = self;\n this.journal = journal;\n this.fiberId = fiberId;\n this.contStack = tsplus_module_1.makeStack();\n this.envStack = tsplus_module_1.single(r0);\n }\n unwindStack(error, isRetry) {\n let result = undefined;\n while (this.contStack.hasNext && !result) {\n const cont = this.contStack.pop();\n if (cont.stmOpCode === \"OnFailure\" /* STMTag.OnFailure */) {\n if (!isRetry) {\n result = cont.onFailure(error);\n }\n }\n if (cont.stmOpCode === \"OnRetry\" /* STMTag.OnRetry */) {\n if (isRetry) {\n result = cont.onRetry;\n }\n }\n }\n return result;\n }\n run() {\n let curr = this.self;\n let exit = undefined;\n while (!exit && curr) {\n const k = curr;\n concrete(k);\n switch (k.stmOpCode) {\n case \"Succeed\" /* STMTag.Succeed */: {\n const a = k.a();\n if (!this.contStack.hasNext) {\n exit = tsplus_module_2.succeed(a);\n }\n else {\n const cont = this.contStack.pop();\n curr = cont.apply(a);\n }\n break;\n }\n case \"SucceedNow\" /* STMTag.SucceedNow */: {\n const a = k.a;\n if (!this.contStack.hasNext) {\n exit = tsplus_module_2.succeed(a);\n }\n else {\n const cont = this.contStack.pop();\n curr = cont.apply(a);\n }\n break;\n }\n case \"ContramapEnvironment\" /* STMTag.ContramapEnvironment */: {\n this.envStack.push(k.f(this.envStack.peek() ?? tsplus_module_3.make()));\n curr = tsplus_module_5.ensuring(tsplus_module_4.succeed(() => {\n this.envStack.pop();\n }, fileName_1 + \":78:24\"), fileName_1 + \":77:32\")(k.stm);\n break;\n }\n case \"OnRetry\" /* STMTag.OnRetry */: {\n this.contStack.push(k);\n curr = k.stm;\n break;\n }\n case \"OnFailure\" /* STMTag.OnFailure */: {\n this.contStack.push(k);\n curr = k.stm;\n break;\n }\n case \"OnSuccess\" /* STMTag.OnSuccess */: {\n this.contStack.push(k);\n curr = k.stm;\n break;\n }\n case \"Effect\" /* STMTag.Effect */: {\n try {\n const a = k.f(this.journal, this.fiberId, this.envStack.peek() ?? tsplus_module_3.make());\n if (!this.contStack.hasNext) {\n exit = tsplus_module_2.succeed(a);\n }\n else {\n const cont = this.contStack.pop();\n curr = cont.apply(a);\n }\n }\n catch (e) {\n if (isFailException(e)) {\n curr = this.unwindStack(e.e, false);\n if (!curr) {\n exit = tsplus_module_2.fail(e.e);\n }\n }\n else if (isRetryException(e)) {\n curr = this.unwindStack(undefined, true);\n if (!curr) {\n exit = tsplus_module_2.retry;\n }\n }\n else if (isHaltException(e)) {\n curr = this.unwindStack(e.e, false);\n if (!curr) {\n exit = tsplus_module_2.halt(e.e);\n }\n }\n else if (isInterruptException(e)) {\n exit = tsplus_module_2.interrupt(e.fiberId);\n }\n else {\n throw e;\n }\n }\n }\n }\n }\n return exit;\n }\n}\n//# sourceMappingURL=driver.js.map"],"mappings":";;;;;;;;;;;;;;AAAA,MAAM,aAAa;AAQnB,IAAa,YAAb,MAAuB;CACnB;CACA;CACA;CACA;CACA;CACA,YAAY,MAAM,SAAS,SAAS,IAAI;AACpC,OAAK,OAAO;AACZ,OAAK,UAAU;AACf,OAAK,UAAU;AACf,OAAK,YAAYA,2BAAgB,WAAW;AAC5C,OAAK,WAAWA,2BAAgB,OAAO,GAAG;;CAE9C,YAAY,OAAO,SAAS;EACxB,IAAI,SAAS,KAAA;AACb,SAAO,KAAK,UAAU,WAAW,CAAC,QAAQ;GACtC,MAAM,OAAO,KAAK,UAAU,KAAK;AACjC,OAAI,KAAK,cAAc;QACf,CAAC,QACD,UAAS,KAAK,UAAU,MAAM;;AAGtC,OAAI,KAAK,cAAc;QACf,QACA,UAAS,KAAK;;;AAI1B,SAAO;;CAEX,MAAM;EACF,IAAI,OAAO,KAAK;EAChB,IAAI,OAAO,KAAA;AACX,SAAO,CAAC,QAAQ,MAAM;GAClB,MAAM,IAAI;AAEV,WAAQ,EAAE,WAAV;IACI,KAAK,WAAgC;KACjC,MAAM,IAAI,EAAE,GAAG;AACf,SAAI,CAAC,KAAK,UAAU,QAChB,QAAOC,6BAAgB,QAAQ,EAAE;SAIjC,QADa,KAAK,UAAU,KACjB,CAAC,MAAM,EAAE;AAExB;;IAEJ,KAAK,cAAsC;KACvC,MAAM,IAAI,EAAE;AACZ,SAAI,CAAC,KAAK,UAAU,QAChB,QAAOA,6BAAgB,QAAQ,EAAE;SAIjC,QADa,KAAK,UAAU,KACjB,CAAC,MAAM,EAAE;AAExB;;IAEJ,KAAK;AACD,UAAK,SAAS,KAAK,EAAE,EAAE,KAAK,SAAS,MAAM,IAAIC,iCAAgB,MAAM,CAAC,CAAC;AACvE,YAAOC,2BAAgB,SAASC,oCAAgB,cAAc;AAC1D,WAAK,SAAS,KAAK;QACpB,aAAa,SAAS,EAAE,aAAa,SAAS,CAAC,EAAE,IAAI;AACxD;IAEJ,KAAK;AACD,UAAK,UAAU,KAAK,EAAE;AACtB,YAAO,EAAE;AACT;IAEJ,KAAK;AACD,UAAK,UAAU,KAAK,EAAE;AACtB,YAAO,EAAE;AACT;IAEJ,KAAK;AACD,UAAK,UAAU,KAAK,EAAE;AACtB,YAAO,EAAE;AACT;IAEJ,KAAK,SACD,KAAI;KACA,MAAM,IAAI,EAAE,EAAE,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,MAAM,IAAIF,iCAAgB,MAAM,CAAC;AACzF,SAAI,CAAC,KAAK,UAAU,QAChB,QAAOD,6BAAgB,QAAQ,EAAE;SAIjC,QADa,KAAK,UAAU,KACjB,CAAC,MAAM,EAAE;aAGrB,GAAG;AACN,SAAII,uBAAAA,gBAAgB,EAAE,EAAE;AACpB,aAAO,KAAK,YAAY,EAAE,GAAG,MAAM;AACnC,UAAI,CAAC,KACD,QAAOJ,6BAAgB,KAAK,EAAE,EAAE;gBAG/BK,uBAAAA,iBAAiB,EAAE,EAAE;AAC1B,aAAO,KAAK,YAAY,KAAA,GAAW,KAAK;AACxC,UAAI,CAAC,KACD,QAAOL,6BAAgB;gBAGtBM,uBAAAA,gBAAgB,EAAE,EAAE;AACzB,aAAO,KAAK,YAAY,EAAE,GAAG,MAAM;AACnC,UAAI,CAAC,KACD,QAAON,6BAAgB,KAAK,EAAE,EAAE;gBAG/BO,uBAAAA,qBAAqB,EAAE,CAC5B,QAAOP,6BAAgB,UAAU,EAAE,QAAQ;SAG3C,OAAM;;;;AAM1B,SAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["tsplus_module_1","tsplus_module_2","tsplus_module_3","tsplus_module_5","tsplus_module_4","isFailException","isRetryException","isHaltException","isInterruptException"],"sources":["../../esm/STM/driver.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/driver.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/internal/Stack\";\nimport * as tsplus_module_2 from \"@fncts/io/TExit/constructors\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Environment/api\";\nimport * as tsplus_module_4 from \"@fncts/io/STM/api/core-constructors\";\nimport * as tsplus_module_5 from \"@fncts/io/STM/api/core-api\";\nimport { Stack } from \"@fncts/base/internal/Stack\";\nimport { concrete, isFailException, isHaltException, isInterruptException, isRetryException } from \"./definition.js\";\nexport class STMDriver {\n self;\n journal;\n fiberId;\n contStack;\n envStack;\n constructor(self, journal, fiberId, r0) {\n this.self = self;\n this.journal = journal;\n this.fiberId = fiberId;\n this.contStack = tsplus_module_1.makeStack();\n this.envStack = tsplus_module_1.single(r0);\n }\n unwindStack(error, isRetry) {\n let result = undefined;\n while (this.contStack.hasNext && !result) {\n const cont = this.contStack.pop();\n if (cont.stmOpCode === \"OnFailure\" /* STMTag.OnFailure */) {\n if (!isRetry) {\n result = cont.onFailure(error);\n }\n }\n if (cont.stmOpCode === \"OnRetry\" /* STMTag.OnRetry */) {\n if (isRetry) {\n result = cont.onRetry;\n }\n }\n }\n return result;\n }\n run() {\n let curr = this.self;\n let exit = undefined;\n while (!exit && curr) {\n const k = curr;\n concrete(k);\n switch (k.stmOpCode) {\n case \"Succeed\" /* STMTag.Succeed */: {\n const a = k.a();\n if (!this.contStack.hasNext) {\n exit = tsplus_module_2.succeed(a);\n }\n else {\n const cont = this.contStack.pop();\n curr = cont.apply(a);\n }\n break;\n }\n case \"SucceedNow\" /* STMTag.SucceedNow */: {\n const a = k.a;\n if (!this.contStack.hasNext) {\n exit = tsplus_module_2.succeed(a);\n }\n else {\n const cont = this.contStack.pop();\n curr = cont.apply(a);\n }\n break;\n }\n case \"ContramapEnvironment\" /* STMTag.ContramapEnvironment */: {\n this.envStack.push(k.f(this.envStack.peek() ?? tsplus_module_3.make()));\n curr = tsplus_module_5.ensuring(tsplus_module_4.succeed(() => {\n this.envStack.pop();\n }, fileName_1 + \":78:24\"), fileName_1 + \":77:32\")(k.stm);\n break;\n }\n case \"OnRetry\" /* STMTag.OnRetry */: {\n this.contStack.push(k);\n curr = k.stm;\n break;\n }\n case \"OnFailure\" /* STMTag.OnFailure */: {\n this.contStack.push(k);\n curr = k.stm;\n break;\n }\n case \"OnSuccess\" /* STMTag.OnSuccess */: {\n this.contStack.push(k);\n curr = k.stm;\n break;\n }\n case \"Effect\" /* STMTag.Effect */: {\n try {\n const a = k.f(this.journal, this.fiberId, this.envStack.peek() ?? tsplus_module_3.make());\n if (!this.contStack.hasNext) {\n exit = tsplus_module_2.succeed(a);\n }\n else {\n const cont = this.contStack.pop();\n curr = cont.apply(a);\n }\n }\n catch (e) {\n if (isFailException(e)) {\n curr = this.unwindStack(e.e, false);\n if (!curr) {\n exit = tsplus_module_2.fail(e.e);\n }\n }\n else if (isRetryException(e)) {\n curr = this.unwindStack(undefined, true);\n if (!curr) {\n exit = tsplus_module_2.retry;\n }\n }\n else if (isHaltException(e)) {\n curr = this.unwindStack(e.e, false);\n if (!curr) {\n exit = tsplus_module_2.halt(e.e);\n }\n }\n else if (isInterruptException(e)) {\n exit = tsplus_module_2.interrupt(e.fiberId);\n }\n else {\n throw e;\n }\n }\n }\n }\n }\n return exit;\n }\n}\n//# sourceMappingURL=driver.js.map"],"mappings":";;;;;;;;;;;;;;AAAA,MAAM,aAAa;AAQnB,IAAa,YAAb,MAAuB;CACnB;CACA;CACA;CACA;CACA;CACA,YAAY,MAAM,SAAS,SAAS,IAAI;EACpC,KAAK,OAAO;EACZ,KAAK,UAAU;EACf,KAAK,UAAU;EACf,KAAK,YAAYA,2BAAgB,UAAU;EAC3C,KAAK,WAAWA,2BAAgB,OAAO,EAAE;CAC7C;CACA,YAAY,OAAO,SAAS;EACxB,IAAI,SAAS,KAAA;EACb,OAAO,KAAK,UAAU,WAAW,CAAC,QAAQ;GACtC,MAAM,OAAO,KAAK,UAAU,IAAI;GAChC,IAAI,KAAK,cAAc,aACf;QAAA,CAAC,SACD,SAAS,KAAK,UAAU,KAAK;GAAA;GAGrC,IAAI,KAAK,cAAc,WACf;QAAA,SACA,SAAS,KAAK;GAAA;EAG1B;EACA,OAAO;CACX;CACA,MAAM;EACF,IAAI,OAAO,KAAK;EAChB,IAAI,OAAO,KAAA;EACX,OAAO,CAAC,QAAQ,MAAM;GAClB,MAAM,IAAI;GAEV,QAAQ,EAAE,WAAV;IACI,KAAK,WAAgC;KACjC,MAAM,IAAI,EAAE,EAAE;KACd,IAAI,CAAC,KAAK,UAAU,SAChB,OAAOC,6BAAgB,QAAQ,CAAC;UAIhC,OADa,KAAK,UAAU,IAClB,CAAC,CAAC,MAAM,CAAC;KAEvB;IACJ;IACA,KAAK,cAAsC;KACvC,MAAM,IAAI,EAAE;KACZ,IAAI,CAAC,KAAK,UAAU,SAChB,OAAOA,6BAAgB,QAAQ,CAAC;UAIhC,OADa,KAAK,UAAU,IAClB,CAAC,CAAC,MAAM,CAAC;KAEvB;IACJ;IACA,KAAK;KACD,KAAK,SAAS,KAAK,EAAE,EAAE,KAAK,SAAS,KAAK,KAAKC,iCAAgB,KAAK,CAAC,CAAC;KACtE,OAAOC,2BAAgB,SAASC,oCAAgB,cAAc;MAC1D,KAAK,SAAS,IAAI;KACtB,GAAG,aAAa,QAAQ,GAAG,aAAa,QAAQ,CAAC,CAAC,EAAE,GAAG;KACvD;IAEJ,KAAK;KACD,KAAK,UAAU,KAAK,CAAC;KACrB,OAAO,EAAE;KACT;IAEJ,KAAK;KACD,KAAK,UAAU,KAAK,CAAC;KACrB,OAAO,EAAE;KACT;IAEJ,KAAK;KACD,KAAK,UAAU,KAAK,CAAC;KACrB,OAAO,EAAE;KACT;IAEJ,KAAK,UACD,IAAI;KACA,MAAM,IAAI,EAAE,EAAE,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,KAAKF,iCAAgB,KAAK,CAAC;KACxF,IAAI,CAAC,KAAK,UAAU,SAChB,OAAOD,6BAAgB,QAAQ,CAAC;UAIhC,OADa,KAAK,UAAU,IAClB,CAAC,CAAC,MAAM,CAAC;IAE3B,SACO,GAAG;KACN,IAAII,uBAAAA,gBAAgB,CAAC,GAAG;MACpB,OAAO,KAAK,YAAY,EAAE,GAAG,KAAK;MAClC,IAAI,CAAC,MACD,OAAOJ,6BAAgB,KAAK,EAAE,CAAC;KAEvC,OACK,IAAIK,uBAAAA,iBAAiB,CAAC,GAAG;MAC1B,OAAO,KAAK,YAAY,KAAA,GAAW,IAAI;MACvC,IAAI,CAAC,MACD,OAAOL,6BAAgB;KAE/B,OACK,IAAIM,uBAAAA,gBAAgB,CAAC,GAAG;MACzB,OAAO,KAAK,YAAY,EAAE,GAAG,KAAK;MAClC,IAAI,CAAC,MACD,OAAON,6BAAgB,KAAK,EAAE,CAAC;KAEvC,OACK,IAAIO,uBAAAA,qBAAqB,CAAC,GAC3B,OAAOP,6BAAgB,UAAU,EAAE,OAAO;UAG1C,MAAM;IAEd;GAER;EACJ;EACA,OAAO;CACX;AACJ"}
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chunk = require("../../chunk.cjs");
2
+ const require_rolldown_runtime = require("../../rolldown-runtime.cjs");
3
3
  let _fncts_base_data_Exit_constructors = require("@fncts/base/data/Exit/constructors");
4
- _fncts_base_data_Exit_constructors = require_chunk.__toESM(_fncts_base_data_Exit_constructors, 1);
5
- //#region build/esm/STM/internal/CommitState.js
4
+ _fncts_base_data_Exit_constructors = require_rolldown_runtime.__toESM(_fncts_base_data_Exit_constructors, 1);
5
+ // build/esm/STM/internal/CommitState.js
6
6
  const fileName_1 = "(@fncts/io) src/STM/internal/CommitState.ts";
7
7
  const Done = Done_1;
8
8
  /**
@@ -41,7 +41,6 @@ function done(texit) {
41
41
  case "Retry": throw new Error("Defect: done being called on TExit.Retry");
42
42
  }
43
43
  }
44
- //#endregion
45
44
  exports.CommitState = CommitState;
46
45
  exports.Done = Done;
47
46
  exports.Interrupted = Interrupted;
@@ -1 +1 @@
1
- {"version":3,"file":"CommitState.cjs","names":["tsplus_module_1"],"sources":["../../../esm/STM/internal/CommitState.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/internal/CommitState.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/data/Exit/constructors\";\nexport const Done = Done_1;\n/**\n * @tsplus static fncts.io.CommitStateOps Done\n */\nfunction Done_1(exit) {\n return {\n _tag: \"Done\",\n exit,\n };\n}\n/**\n * @tsplus static fncts.io.CommitStateOps Interrupted\n */\nexport const Interrupted = {\n _tag: \"Interrupted\",\n};\n/**\n * @tsplus static fncts.io.CommitStateOps Running\n */\nexport const Running = {\n _tag: \"Running\",\n};\nexport const CommitState = {};\n/**\n * @tsplus getter fncts.io.CommitState isRunning\n */\nexport function isRunning(state) {\n return state._tag === \"Running\";\n}\n/**\n * @tsplus static fncts.io.CommitStateOps done\n */\nexport function done(texit) {\n switch (texit._tag) {\n case \"Succeed\" /* TExitTag.Succeed */:\n return Done_1(tsplus_module_1.succeed(texit.value, fileName_1 + \":65:31\"));\n case \"Halt\" /* TExitTag.Halt */:\n return Done_1(tsplus_module_1.halt(texit.value, fileName_1 + \":67:28\"));\n case \"Fail\" /* TExitTag.Fail */:\n return Done_1(tsplus_module_1.fail(texit.value, fileName_1 + \":69:28\"));\n case \"Interrupt\" /* TExitTag.Interrupt */:\n return Done_1(tsplus_module_1.interrupt(texit.fiberId, fileName_1 + \":71:33\"));\n case \"Retry\" /* TExitTag.Retry */:\n throw new Error(\"Defect: done being called on TExit.Retry\");\n }\n}\n//# sourceMappingURL=CommitState.js.map"],"mappings":";;;;;AAAA,MAAM,aAAa;AAEnB,MAAa,OAAO;;;;AAIpB,SAAS,OAAO,MAAM;AAClB,QAAO;EACH,MAAM;EACN;EACH;;;;;AAKL,MAAa,cAAc,EACvB,MAAM,eACT;;;;AAID,MAAa,UAAU,EACnB,MAAM,WACT;AACD,MAAa,cAAc,EAAE;;;;AAI7B,SAAgB,UAAU,OAAO;AAC7B,QAAO,MAAM,SAAS;;;;;AAK1B,SAAgB,KAAK,OAAO;AACxB,SAAQ,MAAM,MAAd;EACI,KAAK,UACD,QAAO,OAAOA,mCAAgB,QAAQ,MAAM,OAAO,aAAa,SAAS,CAAC;EAC9E,KAAK,OACD,QAAO,OAAOA,mCAAgB,KAAK,MAAM,OAAO,aAAa,SAAS,CAAC;EAC3E,KAAK,OACD,QAAO,OAAOA,mCAAgB,KAAK,MAAM,OAAO,aAAa,SAAS,CAAC;EAC3E,KAAK,YACD,QAAO,OAAOA,mCAAgB,UAAU,MAAM,SAAS,aAAa,SAAS,CAAC;EAClF,KAAK,QACD,OAAM,IAAI,MAAM,2CAA2C"}
1
+ {"version":3,"file":"CommitState.cjs","names":["tsplus_module_1"],"sources":["../../../esm/STM/internal/CommitState.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/internal/CommitState.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/data/Exit/constructors\";\nexport const Done = Done_1;\n/**\n * @tsplus static fncts.io.CommitStateOps Done\n */\nfunction Done_1(exit) {\n return {\n _tag: \"Done\",\n exit,\n };\n}\n/**\n * @tsplus static fncts.io.CommitStateOps Interrupted\n */\nexport const Interrupted = {\n _tag: \"Interrupted\",\n};\n/**\n * @tsplus static fncts.io.CommitStateOps Running\n */\nexport const Running = {\n _tag: \"Running\",\n};\nexport const CommitState = {};\n/**\n * @tsplus getter fncts.io.CommitState isRunning\n */\nexport function isRunning(state) {\n return state._tag === \"Running\";\n}\n/**\n * @tsplus static fncts.io.CommitStateOps done\n */\nexport function done(texit) {\n switch (texit._tag) {\n case \"Succeed\" /* TExitTag.Succeed */:\n return Done_1(tsplus_module_1.succeed(texit.value, fileName_1 + \":65:31\"));\n case \"Halt\" /* TExitTag.Halt */:\n return Done_1(tsplus_module_1.halt(texit.value, fileName_1 + \":67:28\"));\n case \"Fail\" /* TExitTag.Fail */:\n return Done_1(tsplus_module_1.fail(texit.value, fileName_1 + \":69:28\"));\n case \"Interrupt\" /* TExitTag.Interrupt */:\n return Done_1(tsplus_module_1.interrupt(texit.fiberId, fileName_1 + \":71:33\"));\n case \"Retry\" /* TExitTag.Retry */:\n throw new Error(\"Defect: done being called on TExit.Retry\");\n }\n}\n//# sourceMappingURL=CommitState.js.map"],"mappings":";;;;;AAAA,MAAM,aAAa;AAEnB,MAAa,OAAO;;;;AAIpB,SAAS,OAAO,MAAM;CAClB,OAAO;EACH,MAAM;EACN;CACJ;AACJ;;;;AAIA,MAAa,cAAc,EACvB,MAAM,cACV;;;;AAIA,MAAa,UAAU,EACnB,MAAM,UACV;AACA,MAAa,cAAc,CAAC;;;;AAI5B,SAAgB,UAAU,OAAO;CAC7B,OAAO,MAAM,SAAS;AAC1B;;;;AAIA,SAAgB,KAAK,OAAO;CACxB,QAAQ,MAAM,MAAd;EACI,KAAK,WACD,OAAO,OAAOA,mCAAgB,QAAQ,MAAM,OAAO,aAAa,QAAQ,CAAC;EAC7E,KAAK,QACD,OAAO,OAAOA,mCAAgB,KAAK,MAAM,OAAO,aAAa,QAAQ,CAAC;EAC1E,KAAK,QACD,OAAO,OAAOA,mCAAgB,KAAK,MAAM,OAAO,aAAa,QAAQ,CAAC;EAC1E,KAAK,aACD,OAAO,OAAOA,mCAAgB,UAAU,MAAM,SAAS,aAAa,QAAQ,CAAC;EACjF,KAAK,SACD,MAAM,IAAI,MAAM,0CAA0C;CAClE;AACJ"}
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_STM_internal_Versioned = require("./Versioned.cjs");
3
- //#region build/esm/STM/internal/Entry.js
3
+ // build/esm/STM/internal/Entry.js
4
4
  const EntryTypeId = Symbol.for("fncts.io.Entry");
5
5
  /**
6
6
  * @tsplus type fncts.io.Entry
@@ -63,7 +63,6 @@ var ConcreteEntry = class ConcreteEntry {
63
63
  return `Entry(expected.value = ${this.expected.value}, newValue = ${this.newValue}, tref = ${this.tref}, isChanged = ${this.isChanged()})`;
64
64
  }
65
65
  };
66
- //#endregion
67
66
  exports.ConcreteEntry = ConcreteEntry;
68
67
  exports.ConcreteEntryTypeId = ConcreteEntryTypeId;
69
68
  exports.Entry = Entry;
@@ -1 +1 @@
1
- {"version":3,"file":"Entry.cjs","names":["Versioned"],"sources":["../../../esm/STM/internal/Entry.js"],"sourcesContent":["import { Versioned } from \"./Versioned.js\";\nexport const EntryTypeId = Symbol.for(\"fncts.io.Entry\");\n/**\n * @tsplus type fncts.io.Entry\n * @tsplus companion fncts.io.EntryOps\n */\nexport class Entry {\n use;\n [EntryTypeId] = EntryTypeId;\n constructor(use) {\n this.use = use;\n }\n}\n/**\n * @tsplus static fncts.io.EntryOps make\n */\nexport function make(tref0, isNew0) {\n const versioned = tref0.versioned;\n const ops = new ConcreteEntry(tref0, versioned, versioned.value, isNew0, false);\n return new Entry((f) => f(ops));\n}\nexport const ConcreteEntryTypeId = Symbol.for(\"fncts.io.ConcreteEntry\");\nexport class ConcreteEntry {\n tref;\n expected;\n newValue;\n isNew;\n _isChanged;\n [ConcreteEntryTypeId] = ConcreteEntryTypeId;\n constructor(tref, expected, newValue, isNew, _isChanged) {\n this.tref = tref;\n this.expected = expected;\n this.newValue = newValue;\n this.isNew = isNew;\n this._isChanged = _isChanged;\n }\n unsafeSet(value) {\n this._isChanged = true;\n this.newValue = value;\n }\n unsafeGet() {\n return this.newValue;\n }\n commit() {\n this.tref.versioned = new Versioned(this.newValue);\n }\n copy() {\n const ops = new ConcreteEntry(this.tref, this.expected, this.newValue, this.isNew, this.isChanged());\n return new Entry((f) => f(ops));\n }\n isInvalid() {\n return !this.isValid();\n }\n isValid() {\n return this.tref.versioned === this.expected;\n }\n isChanged() {\n return this._isChanged;\n }\n toString() {\n return `Entry(expected.value = ${this.expected.value}, newValue = ${this.newValue}, tref = ${this.tref}, isChanged = ${this.isChanged()})`;\n }\n}\n//# sourceMappingURL=Entry.js.map"],"mappings":";;;AACA,MAAa,cAAc,OAAO,IAAI,iBAAiB;;;;;AAKvD,IAAa,QAAb,MAAmB;CACf;CACA,CAAC,eAAe;CAChB,YAAY,KAAK;AACb,OAAK,MAAM;;;;;;AAMnB,SAAgB,KAAK,OAAO,QAAQ;CAChC,MAAM,YAAY,MAAM;CACxB,MAAM,MAAM,IAAI,cAAc,OAAO,WAAW,UAAU,OAAO,QAAQ,MAAM;AAC/E,QAAO,IAAI,OAAO,MAAM,EAAE,IAAI,CAAC;;AAEnC,MAAa,sBAAsB,OAAO,IAAI,yBAAyB;AACvE,IAAa,gBAAb,MAAa,cAAc;CACvB;CACA;CACA;CACA;CACA;CACA,CAAC,uBAAuB;CACxB,YAAY,MAAM,UAAU,UAAU,OAAO,YAAY;AACrD,OAAK,OAAO;AACZ,OAAK,WAAW;AAChB,OAAK,WAAW;AAChB,OAAK,QAAQ;AACb,OAAK,aAAa;;CAEtB,UAAU,OAAO;AACb,OAAK,aAAa;AAClB,OAAK,WAAW;;CAEpB,YAAY;AACR,SAAO,KAAK;;CAEhB,SAAS;AACL,OAAK,KAAK,YAAY,IAAIA,+BAAAA,UAAU,KAAK,SAAS;;CAEtD,OAAO;EACH,MAAM,MAAM,IAAI,cAAc,KAAK,MAAM,KAAK,UAAU,KAAK,UAAU,KAAK,OAAO,KAAK,WAAW,CAAC;AACpG,SAAO,IAAI,OAAO,MAAM,EAAE,IAAI,CAAC;;CAEnC,YAAY;AACR,SAAO,CAAC,KAAK,SAAS;;CAE1B,UAAU;AACN,SAAO,KAAK,KAAK,cAAc,KAAK;;CAExC,YAAY;AACR,SAAO,KAAK;;CAEhB,WAAW;AACP,SAAO,0BAA0B,KAAK,SAAS,MAAM,eAAe,KAAK,SAAS,WAAW,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC"}
1
+ {"version":3,"file":"Entry.cjs","names":["Versioned"],"sources":["../../../esm/STM/internal/Entry.js"],"sourcesContent":["import { Versioned } from \"./Versioned.js\";\nexport const EntryTypeId = Symbol.for(\"fncts.io.Entry\");\n/**\n * @tsplus type fncts.io.Entry\n * @tsplus companion fncts.io.EntryOps\n */\nexport class Entry {\n use;\n [EntryTypeId] = EntryTypeId;\n constructor(use) {\n this.use = use;\n }\n}\n/**\n * @tsplus static fncts.io.EntryOps make\n */\nexport function make(tref0, isNew0) {\n const versioned = tref0.versioned;\n const ops = new ConcreteEntry(tref0, versioned, versioned.value, isNew0, false);\n return new Entry((f) => f(ops));\n}\nexport const ConcreteEntryTypeId = Symbol.for(\"fncts.io.ConcreteEntry\");\nexport class ConcreteEntry {\n tref;\n expected;\n newValue;\n isNew;\n _isChanged;\n [ConcreteEntryTypeId] = ConcreteEntryTypeId;\n constructor(tref, expected, newValue, isNew, _isChanged) {\n this.tref = tref;\n this.expected = expected;\n this.newValue = newValue;\n this.isNew = isNew;\n this._isChanged = _isChanged;\n }\n unsafeSet(value) {\n this._isChanged = true;\n this.newValue = value;\n }\n unsafeGet() {\n return this.newValue;\n }\n commit() {\n this.tref.versioned = new Versioned(this.newValue);\n }\n copy() {\n const ops = new ConcreteEntry(this.tref, this.expected, this.newValue, this.isNew, this.isChanged());\n return new Entry((f) => f(ops));\n }\n isInvalid() {\n return !this.isValid();\n }\n isValid() {\n return this.tref.versioned === this.expected;\n }\n isChanged() {\n return this._isChanged;\n }\n toString() {\n return `Entry(expected.value = ${this.expected.value}, newValue = ${this.newValue}, tref = ${this.tref}, isChanged = ${this.isChanged()})`;\n }\n}\n//# sourceMappingURL=Entry.js.map"],"mappings":";;;AACA,MAAa,cAAc,OAAO,IAAI,gBAAgB;;;;;AAKtD,IAAa,QAAb,MAAmB;CACf;CACA,CAAC,eAAe;CAChB,YAAY,KAAK;EACb,KAAK,MAAM;CACf;AACJ;;;;AAIA,SAAgB,KAAK,OAAO,QAAQ;CAChC,MAAM,YAAY,MAAM;CACxB,MAAM,MAAM,IAAI,cAAc,OAAO,WAAW,UAAU,OAAO,QAAQ,KAAK;CAC9E,OAAO,IAAI,OAAO,MAAM,EAAE,GAAG,CAAC;AAClC;AACA,MAAa,sBAAsB,OAAO,IAAI,wBAAwB;AACtE,IAAa,gBAAb,MAAa,cAAc;CACvB;CACA;CACA;CACA;CACA;CACA,CAAC,uBAAuB;CACxB,YAAY,MAAM,UAAU,UAAU,OAAO,YAAY;EACrD,KAAK,OAAO;EACZ,KAAK,WAAW;EAChB,KAAK,WAAW;EAChB,KAAK,QAAQ;EACb,KAAK,aAAa;CACtB;CACA,UAAU,OAAO;EACb,KAAK,aAAa;EAClB,KAAK,WAAW;CACpB;CACA,YAAY;EACR,OAAO,KAAK;CAChB;CACA,SAAS;EACL,KAAK,KAAK,YAAY,IAAIA,+BAAAA,UAAU,KAAK,QAAQ;CACrD;CACA,OAAO;EACH,MAAM,MAAM,IAAI,cAAc,KAAK,MAAM,KAAK,UAAU,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,CAAC;EACnG,OAAO,IAAI,OAAO,MAAM,EAAE,GAAG,CAAC;CAClC;CACA,YAAY;EACR,OAAO,CAAC,KAAK,QAAQ;CACzB;CACA,UAAU;EACN,OAAO,KAAK,KAAK,cAAc,KAAK;CACxC;CACA,YAAY;EACR,OAAO,KAAK;CAChB;CACA,WAAW;EACP,OAAO,0BAA0B,KAAK,SAAS,MAAM,eAAe,KAAK,SAAS,WAAW,KAAK,KAAK,gBAAgB,KAAK,UAAU,EAAE;CAC5I;AACJ"}
@@ -1,16 +1,16 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_chunk = require("../../chunk.cjs");
2
+ const require_rolldown_runtime = require("../../rolldown-runtime.cjs");
3
3
  const require_STM_driver = require("../driver.cjs");
4
4
  const require_STM_internal_TryCommit = require("./TryCommit.cjs");
5
5
  let _fncts_io_IO_api = require("@fncts/io/IO/api");
6
- _fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
6
+ _fncts_io_IO_api = require_rolldown_runtime.__toESM(_fncts_io_IO_api, 1);
7
7
  let _fncts_base_collection_immutable_HashMap_api = require("@fncts/base/collection/immutable/HashMap/api");
8
- _fncts_base_collection_immutable_HashMap_api = require_chunk.__toESM(_fncts_base_collection_immutable_HashMap_api, 1);
8
+ _fncts_base_collection_immutable_HashMap_api = require_rolldown_runtime.__toESM(_fncts_base_collection_immutable_HashMap_api, 1);
9
9
  let _fncts_io_STM_internal_CommitState = require("@fncts/io/STM/internal/CommitState");
10
- _fncts_io_STM_internal_CommitState = require_chunk.__toESM(_fncts_io_STM_internal_CommitState, 1);
10
+ _fncts_io_STM_internal_CommitState = require_rolldown_runtime.__toESM(_fncts_io_STM_internal_CommitState, 1);
11
11
  let _fncts_base_data_Exit_constructors = require("@fncts/base/data/Exit/constructors");
12
- _fncts_base_data_Exit_constructors = require_chunk.__toESM(_fncts_base_data_Exit_constructors, 1);
13
- //#region build/esm/STM/internal/Journal.js
12
+ _fncts_base_data_Exit_constructors = require_rolldown_runtime.__toESM(_fncts_base_data_Exit_constructors, 1);
13
+ // build/esm/STM/internal/Journal.js
14
14
  const fileName_1 = "(@fncts/io) src/STM/internal/Journal.ts";
15
15
  const commitJournal = commitJournal_1;
16
16
  const analyzeJournal = analyzeJournal_1;
@@ -190,16 +190,16 @@ function suspendTryCommit(fiberId, stm, txnId, state, r, k, accum, journal, sche
190
190
  }
191
191
  function tryCommitAsync(journal, fiberId, stm, txnId, state, r, scheduler) {
192
192
  return (k) => {
193
- if (_fncts_io_STM_internal_CommitState.isRunning(state.get)) if (journal != null) suspendTryCommit(fiberId, stm, txnId, state, r, k, journal, journal, scheduler);
194
- else {
195
- const result = tryCommitSync(fiberId, stm, r, scheduler);
196
- switch (result._tag) {
197
- case "Done":
198
- completeTryCommit(result.exit, k);
199
- break;
200
- case "Suspend":
201
- suspendTryCommit(fiberId, stm, txnId, state, r, k, result.journal, result.journal, scheduler);
202
- break;
193
+ if (_fncts_io_STM_internal_CommitState.isRunning(state.get)) {
194
+ if (journal != null) suspendTryCommit(fiberId, stm, txnId, state, r, k, journal, journal, scheduler);
195
+ else {
196
+ const result = tryCommitSync(fiberId, stm, r, scheduler);
197
+ switch (result._tag) {
198
+ case "Done":
199
+ completeTryCommit(result.exit, k);
200
+ break;
201
+ case "Suspend": suspendTryCommit(fiberId, stm, txnId, state, r, k, result.journal, result.journal, scheduler);
202
+ }
203
203
  }
204
204
  }
205
205
  };
@@ -225,7 +225,6 @@ function isValid_1(journal) {
225
225
  function isInvalid_1(journal) {
226
226
  return !isValid_1(journal);
227
227
  }
228
- //#endregion
229
228
  exports.Journal = Journal;
230
229
  exports.addTodo = addTodo;
231
230
  exports.analyzeJournal = analyzeJournal;
@@ -1 +1 @@
1
- {"version":3,"file":"Journal.cjs","names":["tsplus_module_1","Done","STMDriver","Suspend","tsplus_module_2","tsplus_module_3","tsplus_module_4"],"sources":["../../../esm/STM/internal/Journal.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/internal/Journal.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/collection/immutable/HashMap/api\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Exit/constructors\";\nimport * as tsplus_module_3 from \"@fncts/io/STM/internal/CommitState\";\nimport * as tsplus_module_4 from \"@fncts/io/IO/api\";\nexport const commitJournal = commitJournal_1;\nexport const analyzeJournal = analyzeJournal_1;\nexport const collectTodos = collectTodos_1;\nexport const execTodos = execTodos_1;\nexport const completeTodos = completeTodos_1;\nexport const addTodo = addTodo_1;\nexport const isValid = isValid_1;\nexport const isInvalid = isInvalid_1;\nimport { STMDriver } from \"../driver.js\";\nimport { Done, Suspend } from \"./TryCommit.js\";\nexport const Journal = {};\n/**\n * Creates a function that can reset the journal.\n *\n * @tsplus fluent fncts.io.Journal prepareReset\n */\nexport function prepareResetJournal(journal) {\n const saved = new Map();\n for (const entry of journal) {\n saved.set(entry[0], entry[1].use((_) => _.copy()));\n }\n return () => {\n journal.clear();\n for (const entry of saved) {\n journal.set(entry[0], entry[1]);\n }\n };\n}\n/**\n * Commits the journal.\n *\n * @tsplus fluent fncts.io.Journal commit\n */\nfunction commitJournal_1(journal) {\n for (const entry of journal.values()) {\n entry.use((entry) => entry.commit());\n }\n}\nconst Invalid = -1;\nconst ReadOnly = 0;\nconst ReadWrite = 1;\n/**\n * Analyzes the journal, determining whether it is valid and whether it is\n * read only in a single pass. Note that information on whether the\n * journal is read only will only be accurate if the journal is valid, due\n * to short-circuiting that occurs on an invalid journal.\n *\n * @tsplus fluent fncts.io.Journal analyze\n */\nfunction analyzeJournal_1(journal) {\n let result = ReadOnly;\n for (const entry of journal) {\n result = entry[1].use((entry) => (entry.isInvalid() ? Invalid : entry.isChanged() ? ReadWrite : result));\n if (result === Invalid) {\n return result;\n }\n }\n return result;\n}\n/**\n * @tsplus static fncts.io.JournalOps emptyTodoMap\n */\nconst emptyTodoMap_1 = tsplus_module_1.empty();\nexport const emptyTodoMap = emptyTodoMap_1;\n/**\n * Atomically collects and clears all the todos from any `TRef` that\n * participated in the transaction.\n *\n * @tsplus getter fncts.io.Journal collectTodos\n */\nfunction collectTodos_1(journal) {\n const allTodos = new Map();\n for (const entry of journal) {\n const tref = entry[1].use((entry) => entry.tref);\n const todos = tref.todo.get;\n for (const todo of todos) {\n allTodos.set(todo[0], todo[1]);\n }\n tref.todo.set(emptyTodoMap_1);\n }\n return allTodos;\n}\n/**\n * Executes the todos in the current thread, sequentially.\n *\n * @tsplus fluent fncts.io.Journal execTodos\n */\nfunction execTodos_1(todos) {\n for (const todo of todos.values()) {\n todo();\n }\n}\n/**\n * Runs all the todos.\n *\n * @tsplus pipeable fncts.io.Journal completeTodos\n */\nfunction completeTodos_1(exit, scheduler) {\n return (journal) => {\n const todos = collectTodos_1(journal);\n if (todos.size > 0) {\n scheduler.scheduleTask(() => execTodos_1(todos));\n }\n return new Done(exit);\n };\n}\n/**\n * For the given transaction id, adds the specified todo effect to all\n * `TRef` values.\n *\n * @tsplus pipeable fncts.io.Journal addTodo\n */\nfunction addTodo_1(txnId, todoEffect) {\n return (journal) => {\n let added = false;\n for (const entry of journal.values()) {\n const tref = entry.use((entry) => entry.tref);\n const oldTodo = tref.todo.get;\n if (!tsplus_module_1.has(txnId)(oldTodo)) {\n const newTodo = tsplus_module_1.set(txnId, todoEffect)(oldTodo);\n tref.todo.set(newTodo);\n added = true;\n }\n }\n return added;\n };\n}\n/**\n * Finds all the new todo targets that are not already tracked in the `oldJournal`.\n */\nexport function untrackedTodoTargets(oldJournal, newJournal) {\n const untracked = new Map();\n for (const entry of newJournal) {\n const key = entry[0];\n const value = entry[1];\n if (\n // We already tracked this one\n !oldJournal.has(key) &&\n // This `TRef` was created in the current transaction, so no need to\n // add any todos to it, because it cannot be modified from the outside\n // until the transaction succeeds; so any todo added to it would never\n // succeed.\n !value.use((_) => _.isNew)) {\n untracked.set(key, value);\n }\n }\n return untracked;\n}\nexport function tryCommitSync(fiberId, stm, r, scheduler) {\n const journal = new Map();\n const value = new STMDriver(stm, journal, fiberId, r).run();\n const analysis = analyzeJournal_1(journal);\n if (analysis === ReadWrite) {\n commitJournal_1(journal);\n }\n else if (analysis === Invalid) {\n throw new Error(\"Bug: invalid journal\");\n }\n switch (value._tag) {\n case \"Retry\" /* TExitTag.Retry */: {\n return new Suspend(journal);\n }\n case \"Succeed\" /* TExitTag.Succeed */: {\n return completeTodos_1(tsplus_module_2.succeed(value.value, fileName_1 + \":202:48\"), scheduler)(journal);\n }\n case \"Fail\" /* TExitTag.Fail */: {\n return completeTodos_1(tsplus_module_2.fail(value.value, fileName_1 + \":205:45\"), scheduler)(journal);\n }\n case \"Halt\" /* TExitTag.Halt */: {\n return completeTodos_1(tsplus_module_2.halt(value.value, fileName_1 + \":208:45\"), scheduler)(journal);\n }\n case \"Interrupt\" /* TExitTag.Interrupt */: {\n return completeTodos_1(tsplus_module_2.interrupt(value.fiberId, fileName_1 + \":211:50\"), scheduler)(journal);\n }\n }\n}\nfunction tryCommit(fiberId, stm, state, r, scheduler) {\n const journal = new Map();\n const value = new STMDriver(stm, journal, fiberId, r).run();\n const analysis = analyzeJournal_1(journal);\n if (analysis === ReadWrite) {\n commitJournal_1(journal);\n }\n else if (analysis === Invalid) {\n throw new Error(\"Bug: invalid journal\");\n }\n state.set(tsplus_module_3.done(value));\n switch (value._tag) {\n case \"Retry\" /* TExitTag.Retry */: {\n return new Suspend(journal);\n }\n case \"Succeed\" /* TExitTag.Succeed */: {\n return completeTodos_1(tsplus_module_2.succeed(value.value, fileName_1 + \":237:48\"), scheduler)(journal);\n }\n case \"Fail\" /* TExitTag.Fail */: {\n return completeTodos_1(tsplus_module_2.fail(value.value, fileName_1 + \":240:45\"), scheduler)(journal);\n }\n case \"Halt\" /* TExitTag.Halt */: {\n return completeTodos_1(tsplus_module_2.halt(value.value, fileName_1 + \":243:45\"), scheduler)(journal);\n }\n case \"Interrupt\" /* TExitTag.Interrupt */: {\n return completeTodos_1(tsplus_module_2.interrupt(value.fiberId, fileName_1 + \":246:50\"), scheduler)(journal);\n }\n }\n}\nfunction completeTryCommit(exit, k) {\n k(tsplus_module_4.fromExit(() => exit, fileName_1 + \":252:16\"));\n}\nfunction suspendTryCommit(fiberId, stm, txnId, state, r, k, accum, journal, scheduler) {\n // eslint-disable-next-line no-constant-condition\n while (1) {\n addTodo_1(txnId, () => tryCommitAsync(undefined, fiberId, stm, txnId, state, r, scheduler)(k))(journal);\n if (isInvalid_1(journal)) {\n const result = tryCommit(fiberId, stm, state, r, scheduler);\n switch (result._tag) {\n case \"Done\": {\n completeTryCommit(result.exit, k);\n return;\n }\n case \"Suspend\": {\n const untracked = untrackedTodoTargets(accum, result.journal);\n if (untracked.size > 0) {\n for (const entry of untracked) {\n accum.set(entry[0], entry[1]);\n }\n journal = untracked;\n }\n break;\n }\n }\n }\n else {\n return;\n }\n }\n}\nexport function tryCommitAsync(journal, fiberId, stm, txnId, state, r, scheduler) {\n return (k) => {\n if (tsplus_module_3.isRunning(state.get)) {\n if (journal != null) {\n suspendTryCommit(fiberId, stm, txnId, state, r, k, journal, journal, scheduler);\n }\n else {\n const result = tryCommitSync(fiberId, stm, r, scheduler);\n switch (result._tag) {\n case \"Done\": {\n completeTryCommit(result.exit, k);\n break;\n }\n case \"Suspend\": {\n suspendTryCommit(fiberId, stm, txnId, state, r, k, result.journal, result.journal, scheduler);\n break;\n }\n }\n }\n }\n };\n}\n/**\n * Determines if the journal is valid.\n *\n * @tsplus getter fncts.io.Journal isValid\n */\nfunction isValid_1(journal) {\n let valid = true;\n for (const entry of journal.values()) {\n valid = entry.use((entry) => entry.isValid());\n if (!valid) {\n return valid;\n }\n }\n return valid;\n}\n/**\n * Determines if the journal is invalid.\n *\n * @tsplus getter fncts.io.Journal isInvalid\n */\nfunction isInvalid_1(journal) {\n return !isValid_1(journal);\n}\n//# sourceMappingURL=Journal.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"Journal.cjs","names":["tsplus_module_1","Done","STMDriver","Suspend","tsplus_module_2","tsplus_module_3","tsplus_module_4"],"sources":["../../../esm/STM/internal/Journal.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/STM/internal/Journal.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/collection/immutable/HashMap/api\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Exit/constructors\";\nimport * as tsplus_module_3 from \"@fncts/io/STM/internal/CommitState\";\nimport * as tsplus_module_4 from \"@fncts/io/IO/api\";\nexport const commitJournal = commitJournal_1;\nexport const analyzeJournal = analyzeJournal_1;\nexport const collectTodos = collectTodos_1;\nexport const execTodos = execTodos_1;\nexport const completeTodos = completeTodos_1;\nexport const addTodo = addTodo_1;\nexport const isValid = isValid_1;\nexport const isInvalid = isInvalid_1;\nimport { STMDriver } from \"../driver.js\";\nimport { Done, Suspend } from \"./TryCommit.js\";\nexport const Journal = {};\n/**\n * Creates a function that can reset the journal.\n *\n * @tsplus fluent fncts.io.Journal prepareReset\n */\nexport function prepareResetJournal(journal) {\n const saved = new Map();\n for (const entry of journal) {\n saved.set(entry[0], entry[1].use((_) => _.copy()));\n }\n return () => {\n journal.clear();\n for (const entry of saved) {\n journal.set(entry[0], entry[1]);\n }\n };\n}\n/**\n * Commits the journal.\n *\n * @tsplus fluent fncts.io.Journal commit\n */\nfunction commitJournal_1(journal) {\n for (const entry of journal.values()) {\n entry.use((entry) => entry.commit());\n }\n}\nconst Invalid = -1;\nconst ReadOnly = 0;\nconst ReadWrite = 1;\n/**\n * Analyzes the journal, determining whether it is valid and whether it is\n * read only in a single pass. Note that information on whether the\n * journal is read only will only be accurate if the journal is valid, due\n * to short-circuiting that occurs on an invalid journal.\n *\n * @tsplus fluent fncts.io.Journal analyze\n */\nfunction analyzeJournal_1(journal) {\n let result = ReadOnly;\n for (const entry of journal) {\n result = entry[1].use((entry) => (entry.isInvalid() ? Invalid : entry.isChanged() ? ReadWrite : result));\n if (result === Invalid) {\n return result;\n }\n }\n return result;\n}\n/**\n * @tsplus static fncts.io.JournalOps emptyTodoMap\n */\nconst emptyTodoMap_1 = tsplus_module_1.empty();\nexport const emptyTodoMap = emptyTodoMap_1;\n/**\n * Atomically collects and clears all the todos from any `TRef` that\n * participated in the transaction.\n *\n * @tsplus getter fncts.io.Journal collectTodos\n */\nfunction collectTodos_1(journal) {\n const allTodos = new Map();\n for (const entry of journal) {\n const tref = entry[1].use((entry) => entry.tref);\n const todos = tref.todo.get;\n for (const todo of todos) {\n allTodos.set(todo[0], todo[1]);\n }\n tref.todo.set(emptyTodoMap_1);\n }\n return allTodos;\n}\n/**\n * Executes the todos in the current thread, sequentially.\n *\n * @tsplus fluent fncts.io.Journal execTodos\n */\nfunction execTodos_1(todos) {\n for (const todo of todos.values()) {\n todo();\n }\n}\n/**\n * Runs all the todos.\n *\n * @tsplus pipeable fncts.io.Journal completeTodos\n */\nfunction completeTodos_1(exit, scheduler) {\n return (journal) => {\n const todos = collectTodos_1(journal);\n if (todos.size > 0) {\n scheduler.scheduleTask(() => execTodos_1(todos));\n }\n return new Done(exit);\n };\n}\n/**\n * For the given transaction id, adds the specified todo effect to all\n * `TRef` values.\n *\n * @tsplus pipeable fncts.io.Journal addTodo\n */\nfunction addTodo_1(txnId, todoEffect) {\n return (journal) => {\n let added = false;\n for (const entry of journal.values()) {\n const tref = entry.use((entry) => entry.tref);\n const oldTodo = tref.todo.get;\n if (!tsplus_module_1.has(txnId)(oldTodo)) {\n const newTodo = tsplus_module_1.set(txnId, todoEffect)(oldTodo);\n tref.todo.set(newTodo);\n added = true;\n }\n }\n return added;\n };\n}\n/**\n * Finds all the new todo targets that are not already tracked in the `oldJournal`.\n */\nexport function untrackedTodoTargets(oldJournal, newJournal) {\n const untracked = new Map();\n for (const entry of newJournal) {\n const key = entry[0];\n const value = entry[1];\n if (\n // We already tracked this one\n !oldJournal.has(key) &&\n // This `TRef` was created in the current transaction, so no need to\n // add any todos to it, because it cannot be modified from the outside\n // until the transaction succeeds; so any todo added to it would never\n // succeed.\n !value.use((_) => _.isNew)) {\n untracked.set(key, value);\n }\n }\n return untracked;\n}\nexport function tryCommitSync(fiberId, stm, r, scheduler) {\n const journal = new Map();\n const value = new STMDriver(stm, journal, fiberId, r).run();\n const analysis = analyzeJournal_1(journal);\n if (analysis === ReadWrite) {\n commitJournal_1(journal);\n }\n else if (analysis === Invalid) {\n throw new Error(\"Bug: invalid journal\");\n }\n switch (value._tag) {\n case \"Retry\" /* TExitTag.Retry */: {\n return new Suspend(journal);\n }\n case \"Succeed\" /* TExitTag.Succeed */: {\n return completeTodos_1(tsplus_module_2.succeed(value.value, fileName_1 + \":202:48\"), scheduler)(journal);\n }\n case \"Fail\" /* TExitTag.Fail */: {\n return completeTodos_1(tsplus_module_2.fail(value.value, fileName_1 + \":205:45\"), scheduler)(journal);\n }\n case \"Halt\" /* TExitTag.Halt */: {\n return completeTodos_1(tsplus_module_2.halt(value.value, fileName_1 + \":208:45\"), scheduler)(journal);\n }\n case \"Interrupt\" /* TExitTag.Interrupt */: {\n return completeTodos_1(tsplus_module_2.interrupt(value.fiberId, fileName_1 + \":211:50\"), scheduler)(journal);\n }\n }\n}\nfunction tryCommit(fiberId, stm, state, r, scheduler) {\n const journal = new Map();\n const value = new STMDriver(stm, journal, fiberId, r).run();\n const analysis = analyzeJournal_1(journal);\n if (analysis === ReadWrite) {\n commitJournal_1(journal);\n }\n else if (analysis === Invalid) {\n throw new Error(\"Bug: invalid journal\");\n }\n state.set(tsplus_module_3.done(value));\n switch (value._tag) {\n case \"Retry\" /* TExitTag.Retry */: {\n return new Suspend(journal);\n }\n case \"Succeed\" /* TExitTag.Succeed */: {\n return completeTodos_1(tsplus_module_2.succeed(value.value, fileName_1 + \":237:48\"), scheduler)(journal);\n }\n case \"Fail\" /* TExitTag.Fail */: {\n return completeTodos_1(tsplus_module_2.fail(value.value, fileName_1 + \":240:45\"), scheduler)(journal);\n }\n case \"Halt\" /* TExitTag.Halt */: {\n return completeTodos_1(tsplus_module_2.halt(value.value, fileName_1 + \":243:45\"), scheduler)(journal);\n }\n case \"Interrupt\" /* TExitTag.Interrupt */: {\n return completeTodos_1(tsplus_module_2.interrupt(value.fiberId, fileName_1 + \":246:50\"), scheduler)(journal);\n }\n }\n}\nfunction completeTryCommit(exit, k) {\n k(tsplus_module_4.fromExit(() => exit, fileName_1 + \":252:16\"));\n}\nfunction suspendTryCommit(fiberId, stm, txnId, state, r, k, accum, journal, scheduler) {\n // eslint-disable-next-line no-constant-condition\n while (1) {\n addTodo_1(txnId, () => tryCommitAsync(undefined, fiberId, stm, txnId, state, r, scheduler)(k))(journal);\n if (isInvalid_1(journal)) {\n const result = tryCommit(fiberId, stm, state, r, scheduler);\n switch (result._tag) {\n case \"Done\": {\n completeTryCommit(result.exit, k);\n return;\n }\n case \"Suspend\": {\n const untracked = untrackedTodoTargets(accum, result.journal);\n if (untracked.size > 0) {\n for (const entry of untracked) {\n accum.set(entry[0], entry[1]);\n }\n journal = untracked;\n }\n break;\n }\n }\n }\n else {\n return;\n }\n }\n}\nexport function tryCommitAsync(journal, fiberId, stm, txnId, state, r, scheduler) {\n return (k) => {\n if (tsplus_module_3.isRunning(state.get)) {\n if (journal != null) {\n suspendTryCommit(fiberId, stm, txnId, state, r, k, journal, journal, scheduler);\n }\n else {\n const result = tryCommitSync(fiberId, stm, r, scheduler);\n switch (result._tag) {\n case \"Done\": {\n completeTryCommit(result.exit, k);\n break;\n }\n case \"Suspend\": {\n suspendTryCommit(fiberId, stm, txnId, state, r, k, result.journal, result.journal, scheduler);\n break;\n }\n }\n }\n }\n };\n}\n/**\n * Determines if the journal is valid.\n *\n * @tsplus getter fncts.io.Journal isValid\n */\nfunction isValid_1(journal) {\n let valid = true;\n for (const entry of journal.values()) {\n valid = entry.use((entry) => entry.isValid());\n if (!valid) {\n return valid;\n }\n }\n return valid;\n}\n/**\n * Determines if the journal is invalid.\n *\n * @tsplus getter fncts.io.Journal isInvalid\n */\nfunction isInvalid_1(journal) {\n return !isValid_1(journal);\n}\n//# sourceMappingURL=Journal.js.map"],"mappings":"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"}