@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,4 +1,4 @@
1
- //#region build/esm/Future/State.js
1
+ // build/esm/Future/State.js
2
2
  var Pending = class {};
3
3
  /**
4
4
  * @tsplus fluent fncts.io.Future.State concrete
@@ -51,9 +51,10 @@ var Link = class Link extends Pending {
51
51
  }
52
52
  }
53
53
  remove(waiter) {
54
- if (this.size === 1) if (waiter === this.waiter) return this.ws;
55
- else return this;
56
- else {
54
+ if (this.size === 1) {
55
+ if (waiter === this.waiter) return this.ws;
56
+ else return this;
57
+ } else {
57
58
  const arr = materialize(this, this.size);
58
59
  let i = this.size - 1;
59
60
  let acc = _Empty_1;
@@ -85,7 +86,6 @@ var Done = class {
85
86
  this.value = value;
86
87
  }
87
88
  };
88
- //#endregion
89
89
  export { Done, Empty, Link, Pending, _Empty, concrete, concretePending };
90
90
 
91
91
  //# sourceMappingURL=State.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"State.mjs","names":[],"sources":["../../esm/Future/State.js"],"sourcesContent":["export class Pending {\n}\n/**\n * @tsplus fluent fncts.io.Future.State concrete\n * @tsplus macro remove\n */\nexport function concrete(self) { }\n/**\n * @tsplus fluent fncts.io.Future.State concretePending\n * @tsplus macro remove\n */\nexport function concretePending(self) { }\nexport class Empty extends Pending {\n _tag = 1 /* FutureStateTag.Empty */;\n size = 0;\n complete(_) {\n return;\n }\n add(waiter) {\n return new Link(waiter, this, 1);\n }\n remove(_) {\n return this;\n }\n}\n/**\n * @tsplus static fncts.io.Future.State Empty\n */\nconst _Empty_1 = new Empty();\nexport const _Empty = _Empty_1;\nexport class Link extends Pending {\n waiter;\n ws;\n size;\n _tag = 0 /* FutureStateTag.Link */;\n constructor(waiter, ws, size) {\n super();\n this.waiter = waiter;\n this.ws = ws;\n this.size = size;\n }\n add(waiter) {\n return new Link(waiter, this, this.size + 1);\n }\n complete(io) {\n if (this.size === 1) {\n return this.waiter(io);\n }\n else {\n let current = this;\n while (current._tag !== 1 /* FutureStateTag.Empty */) {\n current.waiter(io);\n current = current.ws;\n }\n }\n }\n remove(waiter) {\n if (this.size === 1) {\n if (waiter === this.waiter) {\n return this.ws;\n }\n else {\n return this;\n }\n }\n else {\n const arr = materialize(this, this.size);\n let i = this.size - 1;\n let acc = _Empty_1;\n while (i >= 0) {\n if (arr[i] !== this.waiter) {\n acc = acc.add(arr[i]);\n }\n i -= 1;\n }\n return acc;\n }\n }\n}\nfunction materialize(self, size) {\n const array = new Array(size);\n let current = self;\n let i = size - 1;\n while (i >= 0) {\n void 0;\n if (current._tag === 0 /* FutureStateTag.Link */) {\n array[i] = current.waiter;\n current = current.ws;\n }\n i -= 1;\n }\n return array;\n}\nexport class Done {\n value;\n _tag = 2 /* FutureStateTag.Done */;\n constructor(value) {\n this.value = value;\n }\n}\n//# sourceMappingURL=State.js.map"],"mappings":";AAAA,IAAa,UAAb,MAAqB;;;;;AAMrB,SAAgB,SAAS,MAAM;;;;;AAK/B,SAAgB,gBAAgB,MAAM;AACtC,IAAa,QAAb,cAA2B,QAAQ;CAC/B,OAAO;CACP,OAAO;CACP,SAAS,GAAG;CAGZ,IAAI,QAAQ;AACR,SAAO,IAAI,KAAK,QAAQ,MAAM,EAAE;;CAEpC,OAAO,GAAG;AACN,SAAO;;;;;;AAMf,MAAM,WAAW,IAAI,OAAO;AAC5B,MAAa,SAAS;AACtB,IAAa,OAAb,MAAa,aAAa,QAAQ;CAC9B;CACA;CACA;CACA,OAAO;CACP,YAAY,QAAQ,IAAI,MAAM;AAC1B,SAAO;AACP,OAAK,SAAS;AACd,OAAK,KAAK;AACV,OAAK,OAAO;;CAEhB,IAAI,QAAQ;AACR,SAAO,IAAI,KAAK,QAAQ,MAAM,KAAK,OAAO,EAAE;;CAEhD,SAAS,IAAI;AACT,MAAI,KAAK,SAAS,EACd,QAAO,KAAK,OAAO,GAAG;OAErB;GACD,IAAI,UAAU;AACd,UAAO,QAAQ,SAAS,GAA8B;AAClD,YAAQ,OAAO,GAAG;AAClB,cAAU,QAAQ;;;;CAI9B,OAAO,QAAQ;AACX,MAAI,KAAK,SAAS,EACd,KAAI,WAAW,KAAK,OAChB,QAAO,KAAK;MAGZ,QAAO;OAGV;GACD,MAAM,MAAM,YAAY,MAAM,KAAK,KAAK;GACxC,IAAI,IAAI,KAAK,OAAO;GACpB,IAAI,MAAM;AACV,UAAO,KAAK,GAAG;AACX,QAAI,IAAI,OAAO,KAAK,OAChB,OAAM,IAAI,IAAI,IAAI,GAAG;AAEzB,SAAK;;AAET,UAAO;;;;AAInB,SAAS,YAAY,MAAM,MAAM;CAC7B,MAAM,QAAQ,IAAI,MAAM,KAAK;CAC7B,IAAI,UAAU;CACd,IAAI,IAAI,OAAO;AACf,QAAO,KAAK,GAAG;AAEX,MAAI,QAAQ,SAAS,GAA6B;AAC9C,SAAM,KAAK,QAAQ;AACnB,aAAU,QAAQ;;AAEtB,OAAK;;AAET,QAAO;;AAEX,IAAa,OAAb,MAAkB;CACd;CACA,OAAO;CACP,YAAY,OAAO;AACf,OAAK,QAAQ"}
1
+ {"version":3,"file":"State.mjs","names":[],"sources":["../../esm/Future/State.js"],"sourcesContent":["export class Pending {\n}\n/**\n * @tsplus fluent fncts.io.Future.State concrete\n * @tsplus macro remove\n */\nexport function concrete(self) { }\n/**\n * @tsplus fluent fncts.io.Future.State concretePending\n * @tsplus macro remove\n */\nexport function concretePending(self) { }\nexport class Empty extends Pending {\n _tag = 1 /* FutureStateTag.Empty */;\n size = 0;\n complete(_) {\n return;\n }\n add(waiter) {\n return new Link(waiter, this, 1);\n }\n remove(_) {\n return this;\n }\n}\n/**\n * @tsplus static fncts.io.Future.State Empty\n */\nconst _Empty_1 = new Empty();\nexport const _Empty = _Empty_1;\nexport class Link extends Pending {\n waiter;\n ws;\n size;\n _tag = 0 /* FutureStateTag.Link */;\n constructor(waiter, ws, size) {\n super();\n this.waiter = waiter;\n this.ws = ws;\n this.size = size;\n }\n add(waiter) {\n return new Link(waiter, this, this.size + 1);\n }\n complete(io) {\n if (this.size === 1) {\n return this.waiter(io);\n }\n else {\n let current = this;\n while (current._tag !== 1 /* FutureStateTag.Empty */) {\n current.waiter(io);\n current = current.ws;\n }\n }\n }\n remove(waiter) {\n if (this.size === 1) {\n if (waiter === this.waiter) {\n return this.ws;\n }\n else {\n return this;\n }\n }\n else {\n const arr = materialize(this, this.size);\n let i = this.size - 1;\n let acc = _Empty_1;\n while (i >= 0) {\n if (arr[i] !== this.waiter) {\n acc = acc.add(arr[i]);\n }\n i -= 1;\n }\n return acc;\n }\n }\n}\nfunction materialize(self, size) {\n const array = new Array(size);\n let current = self;\n let i = size - 1;\n while (i >= 0) {\n void 0;\n if (current._tag === 0 /* FutureStateTag.Link */) {\n array[i] = current.waiter;\n current = current.ws;\n }\n i -= 1;\n }\n return array;\n}\nexport class Done {\n value;\n _tag = 2 /* FutureStateTag.Done */;\n constructor(value) {\n this.value = value;\n }\n}\n//# sourceMappingURL=State.js.map"],"mappings":";AAAA,IAAa,UAAb,MAAqB,CACrB;;;;;AAKA,SAAgB,SAAS,MAAM,CAAE;;;;;AAKjC,SAAgB,gBAAgB,MAAM,CAAE;AACxC,IAAa,QAAb,cAA2B,QAAQ;CAC/B,OAAO;CACP,OAAO;CACP,SAAS,GAAG,CAEZ;CACA,IAAI,QAAQ;EACR,OAAO,IAAI,KAAK,QAAQ,MAAM,CAAC;CACnC;CACA,OAAO,GAAG;EACN,OAAO;CACX;AACJ;;;;AAIA,MAAM,WAAW,IAAI,MAAM;AAC3B,MAAa,SAAS;AACtB,IAAa,OAAb,MAAa,aAAa,QAAQ;CAC9B;CACA;CACA;CACA,OAAO;CACP,YAAY,QAAQ,IAAI,MAAM;EAC1B,MAAM;EACN,KAAK,SAAS;EACd,KAAK,KAAK;EACV,KAAK,OAAO;CAChB;CACA,IAAI,QAAQ;EACR,OAAO,IAAI,KAAK,QAAQ,MAAM,KAAK,OAAO,CAAC;CAC/C;CACA,SAAS,IAAI;EACT,IAAI,KAAK,SAAS,GACd,OAAO,KAAK,OAAO,EAAE;OAEpB;GACD,IAAI,UAAU;GACd,OAAO,QAAQ,SAAS,GAA8B;IAClD,QAAQ,OAAO,EAAE;IACjB,UAAU,QAAQ;GACtB;EACJ;CACJ;CACA,OAAO,QAAQ;EACX,IAAI,KAAK,SAAS,GAAG;GACjB,IAAI,WAAW,KAAK,QAChB,OAAO,KAAK;QAGZ,OAAO;EAEf,OACK;GACD,MAAM,MAAM,YAAY,MAAM,KAAK,IAAI;GACvC,IAAI,IAAI,KAAK,OAAO;GACpB,IAAI,MAAM;GACV,OAAO,KAAK,GAAG;IACX,IAAI,IAAI,OAAO,KAAK,QAChB,MAAM,IAAI,IAAI,IAAI,EAAE;IAExB,KAAK;GACT;GACA,OAAO;EACX;CACJ;AACJ;AACA,SAAS,YAAY,MAAM,MAAM;CAC7B,MAAM,QAAQ,IAAI,MAAM,IAAI;CAC5B,IAAI,UAAU;CACd,IAAI,IAAI,OAAO;CACf,OAAO,KAAK,GAAG;EAEX,IAAI,QAAQ,SAAS,GAA6B;GAC9C,MAAM,KAAK,QAAQ;GACnB,UAAU,QAAQ;EACtB;EACA,KAAK;CACT;CACA,OAAO;AACX;AACA,IAAa,OAAb,MAAkB;CACd;CACA,OAAO;CACP,YAAY,OAAO;EACf,KAAK,QAAQ;CACjB;AACJ"}
@@ -4,7 +4,7 @@ import * as tsplus_module_1 from "@fncts/io/IO/api";
4
4
  import * as tsplus_module_4 from "@fncts/base/data/Either/constructors";
5
5
  import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
6
6
  import * as tsplus_module_5 from "@fncts/io/IO/api/asyncInterrupt";
7
- //#region build/esm/Future/api.js
7
+ // build/esm/Future/api.js
8
8
  const done = done_1;
9
9
  const fulfillWith = fulfillWith_1;
10
10
  const succeed_ = succeed_1;
@@ -111,9 +111,7 @@ function interruptJoiner(future, joiner, __tsplusTrace) {
111
111
  return tsplus_module_1.succeed(() => {
112
112
  switch (future.state._tag) {
113
113
  case 2: break;
114
- default:
115
- future.state = future.state.remove(joiner);
116
- break;
114
+ default: future.state = future.state.remove(joiner);
117
115
  }
118
116
  }, __tsplusTrace);
119
117
  }
@@ -207,16 +205,13 @@ function wait(future, __tsplusTrace) {
207
205
  case 2:
208
206
  k(future.state.value);
209
207
  break;
210
- default:
211
- future.state = future.state.add(k);
212
- break;
208
+ default: future.state = future.state.add(k);
213
209
  }
214
210
  return tsplus_module_4.left(interruptJoiner(future, k, __tsplusTrace), __tsplusTrace);
215
211
  }, future.blockingOn, __tsplusTrace);
216
212
  }
217
213
  }, __tsplusTrace);
218
214
  }
219
- //#endregion
220
215
  export { done, fail, failCause, fulfill, fulfillWith, halt, interrupt, interruptAs, isDone, poll, succeedVoid_, succeed_, unsafeDone, unsafeFulfill, unsafeSucceed, wait };
221
216
 
222
217
  //# sourceMappingURL=api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":[],"sources":["../../esm/Future/api.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api/interrupt\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_4 from \"@fncts/base/data/Either/constructors\";\nimport * as tsplus_module_5 from \"@fncts/io/IO/api/asyncInterrupt\";\nexport const done = done_1;\nexport const fulfillWith = fulfillWith_1;\nexport const succeed_ = succeed_1;\nexport const unsafeFulfill = unsafeFulfill_1;\nimport { Done } from \"./State.js\";\n/**\n * Exits the future with the specified exit, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future done\n */\nfunction done_1(exit, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.fromExitNow(exit, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Fails the future with the specified error, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future fail\n */\nexport function fail(e, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.failNow(e, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Halts the future with the specified cause, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future failCause\n */\nexport function failCause(cause, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.failCauseNow(cause, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Completes the future with the result of the specified effect. If the\n * future has already been completed, the method will produce false.\n *\n * Note that `Future.fulfillWith` will be much faster, so consider using\n * that if you do not need to memoize the result of the specified effect.\n *\n * @tsplus pipeable fncts.io.Future fulfill\n */\nexport function fulfill(io, __tsplusTrace) {\n return (future) => {\n return tsplus_module_2.uninterruptibleMask((restore) => tsplus_module_1.flatMap((exit) => done_1(exit, __tsplusTrace)(future), __tsplusTrace)(tsplus_module_1.result(restore(io, __tsplusTrace), __tsplusTrace)), __tsplusTrace);\n };\n}\n/**\n * Completes the future with the specified effect. If the future has\n * already been completed, the method will produce false.\n *\n * Note that since the future is completed with an IO, the effect will\n * be evaluated each time the value of the future is retrieved through\n * combinators such as `wait`, potentially producing different results if\n * the effect produces different results on subsequent evaluations. In this\n * case te meaning of the \"exactly once\" guarantee of `Future` is that the\n * future can be completed with exactly one effect. For a version that\n * completes the future with the result of an IO see\n * `Future.fulfill`.\n *\n * @tsplus pipeable fncts.io.Future fulfillWith\n */\nfunction fulfillWith_1(io, __tsplusTrace) {\n return (future) => {\n return tsplus_module_1.succeed(() => unsafeFulfill_1(io)(future), __tsplusTrace);\n };\n}\n/**\n * Kills the future with the specified error, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future halt\n */\nexport function halt(defect, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.haltNow(defect, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Completes the future with interruption. This will interrupt all fibers\n * waiting on the value of the future as by the fiber calling this method.\n *\n * @tsplus getter fncts.io.Future interrupt\n */\nexport function interrupt(future, __tsplusTrace) {\n return tsplus_module_1.flatMap((id) => fulfillWith_1(tsplus_module_2.interruptAs(id, __tsplusTrace), __tsplusTrace)(future), __tsplusTrace)(tsplus_module_1.fiberId);\n}\n/**\n * Completes the future with interruption. This will interrupt all fibers\n * waiting on the value of the future as by the specified fiber.\n *\n * @tsplus pipeable fncts.io.Future interruptAs\n */\nexport function interruptAs(id, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_2.interruptAs(id, __tsplusTrace), __tsplusTrace)(future);\n };\n}\nfunction interruptJoiner(future, joiner, __tsplusTrace) {\n return tsplus_module_1.succeed(() => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n break;\n }\n default: {\n future.state = future.state.remove(joiner);\n break;\n }\n }\n }, __tsplusTrace);\n}\n/**\n * Checks for completion of this Future. Produces true if this future has\n * already been completed with a value or an error and false otherwise.\n *\n * @tsplus getter fncts.io.Future isDone\n */\nexport function isDone(future, __tsplusTrace) {\n void 0;\n return tsplus_module_1.succeed(() => future.state._tag === 2 /* FutureStateTag.Done */, __tsplusTrace);\n}\n/**\n * Checks for completion of this Future. Returns the result effect if this\n * future has already been completed or a `None` otherwise.\n *\n * @tsplus getter fncts.io.Future poll\n */\nexport function poll(future, __tsplusTrace) {\n return tsplus_module_1.succeed(() => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n return tsplus_module_3.just(future.state.value, __tsplusTrace);\n }\n default: {\n return tsplus_module_3.nothing(__tsplusTrace);\n }\n }\n }, __tsplusTrace);\n}\n/**\n * Completes the future with the specified value.\n *\n * @tsplus pipeable fncts.io.Future succeed\n */\nfunction succeed_1(a, __tsplusTrace) {\n return (future) => fulfillWith_1(tsplus_module_1.succeedNow(a, __tsplusTrace), __tsplusTrace)(future);\n}\n/**\n * Completes the future with the specified value.\n *\n * @tsplus pipeable fncts.io.Future succeed\n */\nexport function succeedVoid_(a, __tsplusTrace) {\n return (future) => succeed_1(a, __tsplusTrace)(future);\n}\n/**\n * Retrieves the value of the future, suspending the fiber running the action\n * until the result is available.\n *\n * @tsplus pipeable fncts.io.Future unsafeDone\n */\nexport function unsafeDone(io, __tsplusTrace) {\n return (future) => {\n unsafeFulfill_1(io)(future);\n };\n}\n/**\n * @tsplus pipeable fncts.io.Future unsafeFulfill\n */\nfunction unsafeFulfill_1(io) {\n return (future) => {\n void 0;\n switch (future.state._tag) {\n case 0 /* FutureStateTag.Link */:\n case 1 /* FutureStateTag.Empty */: {\n const pending = future.state;\n future.state = new Done(io);\n pending.complete(io);\n return true;\n }\n default: {\n return false;\n }\n }\n };\n}\n/**\n * @tsplus pipeable fncts.io.Future unsafeSucceed\n */\nexport function unsafeSucceed(a, __tsplusTrace) {\n return (future) => {\n return unsafeFulfill_1(tsplus_module_1.succeedNow(a, __tsplusTrace))(future);\n };\n}\n/**\n * Retrieves the value of the future, suspending the fiber running the action\n * until the result is available.\n *\n * @tsplus getter fncts.io.Future await\n */\nexport function wait(future, __tsplusTrace) {\n return tsplus_module_1.defer(() => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n return future.state.value;\n }\n default: {\n return tsplus_module_5.asyncInterrupt((k) => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n k(future.state.value);\n break;\n }\n default: {\n future.state = future.state.add(k);\n break;\n }\n }\n return tsplus_module_4.left(interruptJoiner(future, k, __tsplusTrace), __tsplusTrace);\n }, future.blockingOn, __tsplusTrace);\n }\n }\n }, __tsplusTrace);\n}\n//# sourceMappingURL=api.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"api.mjs","names":[],"sources":["../../esm/Future/api.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api/interrupt\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_4 from \"@fncts/base/data/Either/constructors\";\nimport * as tsplus_module_5 from \"@fncts/io/IO/api/asyncInterrupt\";\nexport const done = done_1;\nexport const fulfillWith = fulfillWith_1;\nexport const succeed_ = succeed_1;\nexport const unsafeFulfill = unsafeFulfill_1;\nimport { Done } from \"./State.js\";\n/**\n * Exits the future with the specified exit, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future done\n */\nfunction done_1(exit, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.fromExitNow(exit, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Fails the future with the specified error, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future fail\n */\nexport function fail(e, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.failNow(e, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Halts the future with the specified cause, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future failCause\n */\nexport function failCause(cause, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.failCauseNow(cause, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Completes the future with the result of the specified effect. If the\n * future has already been completed, the method will produce false.\n *\n * Note that `Future.fulfillWith` will be much faster, so consider using\n * that if you do not need to memoize the result of the specified effect.\n *\n * @tsplus pipeable fncts.io.Future fulfill\n */\nexport function fulfill(io, __tsplusTrace) {\n return (future) => {\n return tsplus_module_2.uninterruptibleMask((restore) => tsplus_module_1.flatMap((exit) => done_1(exit, __tsplusTrace)(future), __tsplusTrace)(tsplus_module_1.result(restore(io, __tsplusTrace), __tsplusTrace)), __tsplusTrace);\n };\n}\n/**\n * Completes the future with the specified effect. If the future has\n * already been completed, the method will produce false.\n *\n * Note that since the future is completed with an IO, the effect will\n * be evaluated each time the value of the future is retrieved through\n * combinators such as `wait`, potentially producing different results if\n * the effect produces different results on subsequent evaluations. In this\n * case te meaning of the \"exactly once\" guarantee of `Future` is that the\n * future can be completed with exactly one effect. For a version that\n * completes the future with the result of an IO see\n * `Future.fulfill`.\n *\n * @tsplus pipeable fncts.io.Future fulfillWith\n */\nfunction fulfillWith_1(io, __tsplusTrace) {\n return (future) => {\n return tsplus_module_1.succeed(() => unsafeFulfill_1(io)(future), __tsplusTrace);\n };\n}\n/**\n * Kills the future with the specified error, which will be propagated to all\n * fibers waiting on the value of the future.\n *\n * @tsplus pipeable fncts.io.Future halt\n */\nexport function halt(defect, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_1.haltNow(defect, __tsplusTrace), __tsplusTrace)(future);\n };\n}\n/**\n * Completes the future with interruption. This will interrupt all fibers\n * waiting on the value of the future as by the fiber calling this method.\n *\n * @tsplus getter fncts.io.Future interrupt\n */\nexport function interrupt(future, __tsplusTrace) {\n return tsplus_module_1.flatMap((id) => fulfillWith_1(tsplus_module_2.interruptAs(id, __tsplusTrace), __tsplusTrace)(future), __tsplusTrace)(tsplus_module_1.fiberId);\n}\n/**\n * Completes the future with interruption. This will interrupt all fibers\n * waiting on the value of the future as by the specified fiber.\n *\n * @tsplus pipeable fncts.io.Future interruptAs\n */\nexport function interruptAs(id, __tsplusTrace) {\n return (future) => {\n return fulfillWith_1(tsplus_module_2.interruptAs(id, __tsplusTrace), __tsplusTrace)(future);\n };\n}\nfunction interruptJoiner(future, joiner, __tsplusTrace) {\n return tsplus_module_1.succeed(() => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n break;\n }\n default: {\n future.state = future.state.remove(joiner);\n break;\n }\n }\n }, __tsplusTrace);\n}\n/**\n * Checks for completion of this Future. Produces true if this future has\n * already been completed with a value or an error and false otherwise.\n *\n * @tsplus getter fncts.io.Future isDone\n */\nexport function isDone(future, __tsplusTrace) {\n void 0;\n return tsplus_module_1.succeed(() => future.state._tag === 2 /* FutureStateTag.Done */, __tsplusTrace);\n}\n/**\n * Checks for completion of this Future. Returns the result effect if this\n * future has already been completed or a `None` otherwise.\n *\n * @tsplus getter fncts.io.Future poll\n */\nexport function poll(future, __tsplusTrace) {\n return tsplus_module_1.succeed(() => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n return tsplus_module_3.just(future.state.value, __tsplusTrace);\n }\n default: {\n return tsplus_module_3.nothing(__tsplusTrace);\n }\n }\n }, __tsplusTrace);\n}\n/**\n * Completes the future with the specified value.\n *\n * @tsplus pipeable fncts.io.Future succeed\n */\nfunction succeed_1(a, __tsplusTrace) {\n return (future) => fulfillWith_1(tsplus_module_1.succeedNow(a, __tsplusTrace), __tsplusTrace)(future);\n}\n/**\n * Completes the future with the specified value.\n *\n * @tsplus pipeable fncts.io.Future succeed\n */\nexport function succeedVoid_(a, __tsplusTrace) {\n return (future) => succeed_1(a, __tsplusTrace)(future);\n}\n/**\n * Retrieves the value of the future, suspending the fiber running the action\n * until the result is available.\n *\n * @tsplus pipeable fncts.io.Future unsafeDone\n */\nexport function unsafeDone(io, __tsplusTrace) {\n return (future) => {\n unsafeFulfill_1(io)(future);\n };\n}\n/**\n * @tsplus pipeable fncts.io.Future unsafeFulfill\n */\nfunction unsafeFulfill_1(io) {\n return (future) => {\n void 0;\n switch (future.state._tag) {\n case 0 /* FutureStateTag.Link */:\n case 1 /* FutureStateTag.Empty */: {\n const pending = future.state;\n future.state = new Done(io);\n pending.complete(io);\n return true;\n }\n default: {\n return false;\n }\n }\n };\n}\n/**\n * @tsplus pipeable fncts.io.Future unsafeSucceed\n */\nexport function unsafeSucceed(a, __tsplusTrace) {\n return (future) => {\n return unsafeFulfill_1(tsplus_module_1.succeedNow(a, __tsplusTrace))(future);\n };\n}\n/**\n * Retrieves the value of the future, suspending the fiber running the action\n * until the result is available.\n *\n * @tsplus getter fncts.io.Future await\n */\nexport function wait(future, __tsplusTrace) {\n return tsplus_module_1.defer(() => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n return future.state.value;\n }\n default: {\n return tsplus_module_5.asyncInterrupt((k) => {\n void 0;\n switch (future.state._tag) {\n case 2 /* FutureStateTag.Done */: {\n k(future.state.value);\n break;\n }\n default: {\n future.state = future.state.add(k);\n break;\n }\n }\n return tsplus_module_4.left(interruptJoiner(future, k, __tsplusTrace), __tsplusTrace);\n }, future.blockingOn, __tsplusTrace);\n }\n }\n }, __tsplusTrace);\n}\n//# sourceMappingURL=api.js.map"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as tsplus_module_1 from "@fncts/io/IO/api";
2
2
  import * as tsplus_module_2 from "@fncts/io/Future/State";
3
3
  import { Future } from "@fncts/io/Future/definition";
4
- //#region build/esm/Future/constructors.js
4
+ // build/esm/Future/constructors.js
5
5
  const makeAs = makeAs_1;
6
6
  const unsafeMake = unsafeMake_1;
7
7
  /**
@@ -28,7 +28,6 @@ function makeAs_1(fiberId, __tsplusTrace) {
28
28
  function unsafeMake_1(fiberId) {
29
29
  return new Future(tsplus_module_2._Empty, fiberId);
30
30
  }
31
- //#endregion
32
31
  export { make, makeAs, unsafeMake };
33
32
 
34
33
  //# sourceMappingURL=constructors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.mjs","names":[],"sources":["../../esm/Future/constructors.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/io/Future/State\";\nexport const makeAs = makeAs_1;\nexport const unsafeMake = unsafeMake_1;\nimport { Future } from \"@fncts/io/Future/definition\";\n/**\n * Makes a new future to be completed by the fiber creating the future.\n *\n * @tsplus static fncts.io.FutureOps make\n */\nexport function make(__tsplusTrace) {\n return tsplus_module_1.flatMap((id) => makeAs_1(id, __tsplusTrace), __tsplusTrace)(tsplus_module_1.fiberId);\n}\n/**\n * Makes a new future to be completed by the fiber with the specified id.\n *\n * @tsplus static fncts.io.FutureOps makeAs\n */\nfunction makeAs_1(fiberId, __tsplusTrace) {\n return tsplus_module_1.succeed(() => unsafeMake_1(fiberId), __tsplusTrace);\n}\n/**\n * Makes a new future to be completed by the fiber with the specified id.\n *\n * @tsplus static fncts.io.FutureOps unsafeMake\n */\nfunction unsafeMake_1(fiberId) {\n return new Future(tsplus_module_2._Empty, fiberId);\n}\n//# sourceMappingURL=constructors.js.map"],"mappings":";;;;AAEA,MAAa,SAAS;AACtB,MAAa,aAAa;;;;;;AAO1B,SAAgB,KAAK,eAAe;AAChC,QAAO,gBAAgB,SAAS,OAAO,SAAS,IAAI,cAAc,EAAE,cAAc,CAAC,gBAAgB,QAAQ;;;;;;;AAO/G,SAAS,SAAS,SAAS,eAAe;AACtC,QAAO,gBAAgB,cAAc,aAAa,QAAQ,EAAE,cAAc;;;;;;;AAO9E,SAAS,aAAa,SAAS;AAC3B,QAAO,IAAI,OAAO,gBAAgB,QAAQ,QAAQ"}
1
+ {"version":3,"file":"constructors.mjs","names":[],"sources":["../../esm/Future/constructors.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/io/Future/State\";\nexport const makeAs = makeAs_1;\nexport const unsafeMake = unsafeMake_1;\nimport { Future } from \"@fncts/io/Future/definition\";\n/**\n * Makes a new future to be completed by the fiber creating the future.\n *\n * @tsplus static fncts.io.FutureOps make\n */\nexport function make(__tsplusTrace) {\n return tsplus_module_1.flatMap((id) => makeAs_1(id, __tsplusTrace), __tsplusTrace)(tsplus_module_1.fiberId);\n}\n/**\n * Makes a new future to be completed by the fiber with the specified id.\n *\n * @tsplus static fncts.io.FutureOps makeAs\n */\nfunction makeAs_1(fiberId, __tsplusTrace) {\n return tsplus_module_1.succeed(() => unsafeMake_1(fiberId), __tsplusTrace);\n}\n/**\n * Makes a new future to be completed by the fiber with the specified id.\n *\n * @tsplus static fncts.io.FutureOps unsafeMake\n */\nfunction unsafeMake_1(fiberId) {\n return new Future(tsplus_module_2._Empty, fiberId);\n}\n//# sourceMappingURL=constructors.js.map"],"mappings":";;;;AAEA,MAAa,SAAS;AACtB,MAAa,aAAa;;;;;;AAO1B,SAAgB,KAAK,eAAe;CAChC,OAAO,gBAAgB,SAAS,OAAO,SAAS,IAAI,aAAa,GAAG,aAAa,CAAC,CAAC,gBAAgB,OAAO;AAC9G;;;;;;AAMA,SAAS,SAAS,SAAS,eAAe;CACtC,OAAO,gBAAgB,cAAc,aAAa,OAAO,GAAG,aAAa;AAC7E;;;;;;AAMA,SAAS,aAAa,SAAS;CAC3B,OAAO,IAAI,OAAO,gBAAgB,QAAQ,OAAO;AACrD"}
@@ -1,4 +1,4 @@
1
- //#region build/esm/Future/definition.js
1
+ // build/esm/Future/definition.js
2
2
  const FutureTypeId = Symbol.for("fncts.io.Future");
3
3
  const FutureVariance = Symbol.for("fncts.io.Future.Variance");
4
4
  /**
@@ -14,7 +14,6 @@ var Future = class {
14
14
  this.blockingOn = blockingOn;
15
15
  }
16
16
  };
17
- //#endregion
18
17
  export { Future, FutureTypeId, FutureVariance };
19
18
 
20
19
  //# sourceMappingURL=definition.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","names":[],"sources":["../../esm/Future/definition.js"],"sourcesContent":["export const FutureTypeId = Symbol.for(\"fncts.io.Future\");\nexport const FutureVariance = Symbol.for(\"fncts.io.Future.Variance\");\n/**\n * @tsplus type fncts.io.Future\n * @tsplus companion fncts.io.FutureOps\n */\nexport class Future {\n state;\n blockingOn;\n [FutureTypeId] = FutureTypeId;\n constructor(state, blockingOn) {\n this.state = state;\n this.blockingOn = blockingOn;\n }\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";AAAA,MAAa,eAAe,OAAO,IAAI,kBAAkB;AACzD,MAAa,iBAAiB,OAAO,IAAI,2BAA2B;;;;;AAKpE,IAAa,SAAb,MAAoB;CAChB;CACA;CACA,CAAC,gBAAgB;CACjB,YAAY,OAAO,YAAY;AAC3B,OAAK,QAAQ;AACb,OAAK,aAAa"}
1
+ {"version":3,"file":"definition.mjs","names":[],"sources":["../../esm/Future/definition.js"],"sourcesContent":["export const FutureTypeId = Symbol.for(\"fncts.io.Future\");\nexport const FutureVariance = Symbol.for(\"fncts.io.Future.Variance\");\n/**\n * @tsplus type fncts.io.Future\n * @tsplus companion fncts.io.FutureOps\n */\nexport class Future {\n state;\n blockingOn;\n [FutureTypeId] = FutureTypeId;\n constructor(state, blockingOn) {\n this.state = state;\n this.blockingOn = blockingOn;\n }\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";AAAA,MAAa,eAAe,OAAO,IAAI,iBAAiB;AACxD,MAAa,iBAAiB,OAAO,IAAI,0BAA0B;;;;;AAKnE,IAAa,SAAb,MAAoB;CAChB;CACA;CACA,CAAC,gBAAgB;CACjB,YAAY,OAAO,YAAY;EAC3B,KAAK,QAAQ;EACb,KAAK,aAAa;CACtB;AACJ"}
package/_mjs/Hub/api.mjs CHANGED
@@ -12,7 +12,7 @@ import * as tsplus_module_6 from "@fncts/io/internal/Hub";
12
12
  import { PHubInternal } from "@fncts/io/Hub/definition";
13
13
  import { BackPressure, Dropping, Sliding, makeHubInternal, subscribersHashSet, unsafeMakeHub } from "@fncts/io/Hub/internal";
14
14
  import { EnqueueTypeId, QueueTypeId } from "@fncts/io/Queue";
15
- //#region build/esm/Hub/api.js
15
+ // build/esm/Hub/api.js
16
16
  const fileName_1 = "(@fncts/io) src/Hub/api.ts";
17
17
  const mapIO = mapIO_1;
18
18
  const dimapIO = dimapIO_1;
@@ -371,7 +371,6 @@ function unsafeMakeUnbounded() {
371
371
  const scope = tsplus_module_8.unsafeMake(fileName_1 + ":487:33");
372
372
  return unsafeMakeHub(tsplus_module_6.makeUnbounded(), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Dropping());
373
373
  }
374
- //#endregion
375
374
  export { awaitShutdown, capacity, contramapIO, dimap, dimapIO, filterInput, filterInputIO, filterOutput, filterOutputIO, isShutdown, makeBounded, makeDropping, makeSliding, makeUnbounded, map, mapIO, publish, publishAll, shutdown, size, subscribe, toQueue, unsafeMakeBounded, unsafeMakeDropping, unsafeMakeSliding, unsafeMakeUnbounded };
376
375
 
377
376
  //# sourceMappingURL=api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":[],"sources":["../../esm/Hub/api.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/Hub/api.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/base/data/function/api\";\nimport * as tsplus_module_3 from \"@fncts/io/Queue/api/dimapIO\";\nimport * as tsplus_module_4 from \"@fncts/base/collection/immutable/Conc/api\";\nimport * as tsplus_module_5 from \"@fncts/io/Queue/api/filterOutputIO\";\nimport * as tsplus_module_6 from \"@fncts/io/internal/Hub\";\nimport * as tsplus_module_7 from \"@fncts/base/collection/immutable/Conc/api/empty\";\nimport * as tsplus_module_8 from \"@fncts/io/Scope/api\";\nimport * as tsplus_module_9 from \"@fncts/base/data/FiberId/constructors\";\nimport * as tsplus_module_10 from \"@fncts/io/Future/constructors\";\nexport const mapIO = mapIO_1;\nexport const dimapIO = dimapIO_1;\nexport const filterInputIO = filterInputIO_1;\nexport const filterOutputIO = filterOutputIO_1;\nimport { AtomicBoolean } from \"@fncts/base/internal/AtomicBoolean\";\nimport { concrete, PHubInternal } from \"@fncts/io/Hub/definition\";\nimport { BackPressure, Dropping, makeHubInternal, Sliding, subscribersHashSet, unsafeMakeHub, } from \"@fncts/io/Hub/internal\";\nimport { EnqueueTypeId, QueueTypeId, QueueVariance } from \"@fncts/io/Queue\";\n/**\n * Waits for the hub to be shut down.\n *\n * @tsplus getter fncts.io.Hub awaitShutdown\n */\nexport function awaitShutdown(self, __tsplusTrace) {\n void 0;\n return self.awaitShutdown;\n}\n/**\n * The maximum capacity of the hub.\n *\n * @tsplus getter fncts.io.Hub capacity\n */\nexport function capacity(self, __tsplusTrace) {\n void 0;\n return self.capacity;\n}\n/**\n * Transforms messages published to the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub contramapIO\n */\nexport function contramapIO(f, __tsplusTrace) {\n return (self) => {\n return dimapIO_1(f, tsplus_module_1.succeedNow, __tsplusTrace)(self);\n };\n}\n/**\n * Transforms messages published to and taken from the hub using the\n * specified functions.\n *\n * @tsplus pipeable fncts.io.Hub dimap\n */\nexport function dimap(f, g, __tsplusTrace) {\n return (self) => {\n return dimapIO_1((c) => tsplus_module_1.succeedNow(f(c), __tsplusTrace), (b) => tsplus_module_1.succeedNow(g(b), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Transforms messages taken from the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub mapIO\n */\nfunction mapIO_1(f, __tsplusTrace) {\n return (self) => {\n return dimapIO_1(tsplus_module_1.succeedNow, f, __tsplusTrace)(self);\n };\n}\nclass DimapIO extends PHubInternal {\n source;\n f;\n g;\n constructor(source, f, g) {\n super();\n this.source = source;\n this.f = f;\n this.g = g;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n get unsafeSize() {\n return this.source.unsafeSize;\n }\n get subscribe() {\n return tsplus_module_1.map((queue) => tsplus_module_3.mapDequeueIO(this.g, fileName_1 + \":109:73\")(queue), fileName_1 + \":109:50\")(this.source.subscribe);\n }\n publish = (c) => tsplus_module_1.flatMap((a) => this.source.publish(a), fileName_1 + \":111:43\")(this.f(c));\n publishAll = (cs) => tsplus_module_1.flatMap((as) => this.source.publishAll(as), fileName_1 + \":112:67\")(tsplus_module_1.foreach(cs, this.f, fileName_1 + \":112:47\"));\n}\n/**\n * Transforms messages published to and taken from the hub using the\n * specified effectual functions.\n *\n * @tsplus pipeable fncts.io.Hub dimapIO\n */\nfunction dimapIO_1(f, g, __tsplusTrace) {\n return (source) => {\n void 0;\n return new DimapIO(source, f, g);\n };\n}\n/**\n * Filters messages published to the hub using the specified function.\n *\n * @tsplus pipeable fncts.io.Hub filterInput\n */\nexport function filterInput(f, __tsplusTrace) {\n return (self) => {\n return filterInputIO_1((a) => tsplus_module_1.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);\n };\n}\nclass FilterInputIO extends PHubInternal {\n source;\n f;\n constructor(source, f) {\n super();\n this.source = source;\n this.f = f;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n get unsafeSize() {\n return this.source.unsafeSize;\n }\n get subscribe() {\n return this.source.subscribe;\n }\n publish = (a) => tsplus_module_1.flatMap((b) => (b ? this.source.publish(a) : tsplus_module_1.succeedNow(false, fileName_1 + \":167:94\")), fileName_1 + \":167:43\")(this.f(a));\n publishAll = (as) => tsplus_module_1.flatMap((as) => (tsplus_module_4.isNonEmpty(as) ? this.source.publishAll(as) : tsplus_module_1.succeedNow(false, fileName_1 + \":169:102\")), fileName_1 + \":169:34\")(tsplus_module_1.filter(as, this.f, fileName_1 + \":169:14\"));\n}\n/**\n * Filters messages published to the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub filterInputIO\n */\nfunction filterInputIO_1(f, __tsplusTrace) {\n return (source) => {\n void 0;\n return new FilterInputIO(source, f);\n };\n}\n/**\n * Filters messages taken from the hub using the specified function.\n *\n * @tsplus pipeable fncts.io.Hub filterOutput\n */\nexport function filterOutput(f, __tsplusTrace) {\n return (self) => {\n return filterOutputIO_1((b) => tsplus_module_1.succeedNow(f(b), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Filters messages taken from the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub filterOutputIO\n */\nfunction filterOutputIO_1(f, __tsplusTrace) {\n return (source) => {\n void 0;\n return new FilterOutputIO(source, f);\n };\n}\nclass FilterOutputIO extends PHubInternal {\n source;\n f;\n constructor(source, f) {\n super();\n this.source = source;\n this.f = f;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n get unsafeSize() {\n return this.source.unsafeSize;\n }\n get subscribe() {\n return tsplus_module_1.map((queue) => tsplus_module_5.filterOutputDequeueIO(this.f, fileName_1 + \":230:69\")(queue), fileName_1 + \":230:37\")(this.source.subscribe);\n }\n publish = (a) => this.source.publish(a);\n publishAll = (as) => this.source.publishAll(as);\n}\n/**\n * Checks whether the hub is shut down.\n *\n * @tsplus getter fncts.io.Hub isShutdown\n */\nexport function isShutdown(self, __tsplusTrace) {\n void 0;\n return self.isShutdown;\n}\n/**\n * Creates a bounded hub with the back pressure strategy. The hub will retain\n * messages until they have been taken by all subscribers, applying back\n * pressure to publishers if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps makeBounded\n */\nexport function makeBounded(requestedCapacity, __tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new BackPressure()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeBounded(requestedCapacity), __tsplusTrace));\n}\n/**\n * Creates a bounded hub with the dropping strategy. The hub will drop new\n * messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps makeDropping\n */\nexport function makeDropping(requestedCapacity, __tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new Dropping()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeBounded(requestedCapacity), __tsplusTrace));\n}\n/**\n * Creates a bounded hub with the sliding strategy. The hub will add new\n * messages and drop old messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps makeSliding\n */\nexport function makeSliding(requestedCapacity, __tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new Sliding()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeBounded(requestedCapacity), __tsplusTrace));\n}\n/**\n * Creates an unbounded hub.\n *\n * @tsplus static fncts.io.HubOps makeUnbounded\n */\nexport function makeUnbounded(__tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new Dropping()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeUnbounded(), __tsplusTrace));\n}\n/**\n * Transforms messages taken from the hub using the specified function.\n *\n * @tsplus pipeable fncts.io.Hub map\n */\nexport function map(f, __tsplusTrace) {\n return (self) => {\n return mapIO_1((b) => tsplus_module_1.succeedNow(f(b), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Publishes a message to the hub, returning whether the message was\n * published to the hub.\n *\n * @tsplus pipeable fncts.io.Hub publish\n */\nexport function publish(a, __tsplusTrace) {\n return (self) => {\n void 0;\n return self.publish(a);\n };\n}\n/**\n * Publishes all of the specified messages to the hub, returning whether\n * they were published to the hub.\n *\n * @tsplus pipeable fncts.io.Hub publishAll\n */\nexport function publishAll(as, __tsplusTrace) {\n return (self) => {\n void 0;\n return self.publishAll(as);\n };\n}\n/**\n * Shuts down the hub.\n *\n * @tsplus getter fncts.io.Hub shutdown\n */\nexport function shutdown(self, __tsplusTrace) {\n void 0;\n return self.shutdown;\n}\n/**\n * The current number of messages in the hub.\n *\n * @tsplus getter fncts.io.Hub size\n */\nexport function size(self, __tsplusTrace) {\n void 0;\n return self.size;\n}\n/**\n * Subscribes to receive messages from the hub. The resulting subscription\n * can be evaluated multiple times within the scope of the managed to take a\n * message from the hub each time.\n *\n * @tsplus getter fncts.io.Hub subscribe\n */\nexport function subscribe(self, __tsplusTrace) {\n void 0;\n return self.subscribe;\n}\nclass ToQueue {\n source;\n [QueueTypeId] = QueueTypeId;\n [EnqueueTypeId] = EnqueueTypeId;\n awaitShutdown;\n capacity;\n isShutdown;\n shutdown;\n size;\n constructor(source) {\n this.source = source;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n offer = (a) => this.source.publish(a);\n offerAll = (as) => this.source.publishAll(as);\n takeUpTo = () => tsplus_module_1.succeedNow(tsplus_module_7.empty(), fileName_1 + \":401:64\");\n}\n/**\n * Views the hub as a queue that can only be written to.\n *\n * @tsplus getter fncts.io.Hub toQueue\n */\nexport function toQueue(source, __tsplusTrace) {\n void 0;\n return new ToQueue(source);\n}\n/**\n * Creates a bounded hub with the back pressure strategy. The hub will retain\n * messages until they have been taken by all subscribers, applying back\n * pressure to publishers if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeBounded\n */\nexport function unsafeMakeBounded(requestedCapacity) {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":427:33\");\n return unsafeMakeHub(tsplus_module_6.makeBounded(requestedCapacity), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new BackPressure());\n}\n/**\n * Creates a bounded hub with the dropping strategy. The hub will drop new\n * messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeDropping\n */\nexport function unsafeMakeDropping(requestedCapacity) {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":448:33\");\n return unsafeMakeHub(tsplus_module_6.makeBounded(requestedCapacity), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Dropping());\n}\n/**\n * Creates a bounded hub with the sliding strategy. The hub will add new\n * messages and drop old messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeSliding\n */\nexport function unsafeMakeSliding(requestedCapacity) {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":469:33\");\n return unsafeMakeHub(tsplus_module_6.makeBounded(requestedCapacity), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Sliding());\n}\n/**\n * Creates an unbounded hub.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeUnbounded\n */\nexport function unsafeMakeUnbounded() {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":487:33\");\n return unsafeMakeHub(tsplus_module_6.makeUnbounded(), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Dropping());\n}\n//# sourceMappingURL=api.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"api.mjs","names":[],"sources":["../../esm/Hub/api.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/Hub/api.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/base/data/function/api\";\nimport * as tsplus_module_3 from \"@fncts/io/Queue/api/dimapIO\";\nimport * as tsplus_module_4 from \"@fncts/base/collection/immutable/Conc/api\";\nimport * as tsplus_module_5 from \"@fncts/io/Queue/api/filterOutputIO\";\nimport * as tsplus_module_6 from \"@fncts/io/internal/Hub\";\nimport * as tsplus_module_7 from \"@fncts/base/collection/immutable/Conc/api/empty\";\nimport * as tsplus_module_8 from \"@fncts/io/Scope/api\";\nimport * as tsplus_module_9 from \"@fncts/base/data/FiberId/constructors\";\nimport * as tsplus_module_10 from \"@fncts/io/Future/constructors\";\nexport const mapIO = mapIO_1;\nexport const dimapIO = dimapIO_1;\nexport const filterInputIO = filterInputIO_1;\nexport const filterOutputIO = filterOutputIO_1;\nimport { AtomicBoolean } from \"@fncts/base/internal/AtomicBoolean\";\nimport { concrete, PHubInternal } from \"@fncts/io/Hub/definition\";\nimport { BackPressure, Dropping, makeHubInternal, Sliding, subscribersHashSet, unsafeMakeHub, } from \"@fncts/io/Hub/internal\";\nimport { EnqueueTypeId, QueueTypeId, QueueVariance } from \"@fncts/io/Queue\";\n/**\n * Waits for the hub to be shut down.\n *\n * @tsplus getter fncts.io.Hub awaitShutdown\n */\nexport function awaitShutdown(self, __tsplusTrace) {\n void 0;\n return self.awaitShutdown;\n}\n/**\n * The maximum capacity of the hub.\n *\n * @tsplus getter fncts.io.Hub capacity\n */\nexport function capacity(self, __tsplusTrace) {\n void 0;\n return self.capacity;\n}\n/**\n * Transforms messages published to the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub contramapIO\n */\nexport function contramapIO(f, __tsplusTrace) {\n return (self) => {\n return dimapIO_1(f, tsplus_module_1.succeedNow, __tsplusTrace)(self);\n };\n}\n/**\n * Transforms messages published to and taken from the hub using the\n * specified functions.\n *\n * @tsplus pipeable fncts.io.Hub dimap\n */\nexport function dimap(f, g, __tsplusTrace) {\n return (self) => {\n return dimapIO_1((c) => tsplus_module_1.succeedNow(f(c), __tsplusTrace), (b) => tsplus_module_1.succeedNow(g(b), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Transforms messages taken from the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub mapIO\n */\nfunction mapIO_1(f, __tsplusTrace) {\n return (self) => {\n return dimapIO_1(tsplus_module_1.succeedNow, f, __tsplusTrace)(self);\n };\n}\nclass DimapIO extends PHubInternal {\n source;\n f;\n g;\n constructor(source, f, g) {\n super();\n this.source = source;\n this.f = f;\n this.g = g;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n get unsafeSize() {\n return this.source.unsafeSize;\n }\n get subscribe() {\n return tsplus_module_1.map((queue) => tsplus_module_3.mapDequeueIO(this.g, fileName_1 + \":109:73\")(queue), fileName_1 + \":109:50\")(this.source.subscribe);\n }\n publish = (c) => tsplus_module_1.flatMap((a) => this.source.publish(a), fileName_1 + \":111:43\")(this.f(c));\n publishAll = (cs) => tsplus_module_1.flatMap((as) => this.source.publishAll(as), fileName_1 + \":112:67\")(tsplus_module_1.foreach(cs, this.f, fileName_1 + \":112:47\"));\n}\n/**\n * Transforms messages published to and taken from the hub using the\n * specified effectual functions.\n *\n * @tsplus pipeable fncts.io.Hub dimapIO\n */\nfunction dimapIO_1(f, g, __tsplusTrace) {\n return (source) => {\n void 0;\n return new DimapIO(source, f, g);\n };\n}\n/**\n * Filters messages published to the hub using the specified function.\n *\n * @tsplus pipeable fncts.io.Hub filterInput\n */\nexport function filterInput(f, __tsplusTrace) {\n return (self) => {\n return filterInputIO_1((a) => tsplus_module_1.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);\n };\n}\nclass FilterInputIO extends PHubInternal {\n source;\n f;\n constructor(source, f) {\n super();\n this.source = source;\n this.f = f;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n get unsafeSize() {\n return this.source.unsafeSize;\n }\n get subscribe() {\n return this.source.subscribe;\n }\n publish = (a) => tsplus_module_1.flatMap((b) => (b ? this.source.publish(a) : tsplus_module_1.succeedNow(false, fileName_1 + \":167:94\")), fileName_1 + \":167:43\")(this.f(a));\n publishAll = (as) => tsplus_module_1.flatMap((as) => (tsplus_module_4.isNonEmpty(as) ? this.source.publishAll(as) : tsplus_module_1.succeedNow(false, fileName_1 + \":169:102\")), fileName_1 + \":169:34\")(tsplus_module_1.filter(as, this.f, fileName_1 + \":169:14\"));\n}\n/**\n * Filters messages published to the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub filterInputIO\n */\nfunction filterInputIO_1(f, __tsplusTrace) {\n return (source) => {\n void 0;\n return new FilterInputIO(source, f);\n };\n}\n/**\n * Filters messages taken from the hub using the specified function.\n *\n * @tsplus pipeable fncts.io.Hub filterOutput\n */\nexport function filterOutput(f, __tsplusTrace) {\n return (self) => {\n return filterOutputIO_1((b) => tsplus_module_1.succeedNow(f(b), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Filters messages taken from the hub using the specified effectual\n * function.\n *\n * @tsplus pipeable fncts.io.Hub filterOutputIO\n */\nfunction filterOutputIO_1(f, __tsplusTrace) {\n return (source) => {\n void 0;\n return new FilterOutputIO(source, f);\n };\n}\nclass FilterOutputIO extends PHubInternal {\n source;\n f;\n constructor(source, f) {\n super();\n this.source = source;\n this.f = f;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n get unsafeSize() {\n return this.source.unsafeSize;\n }\n get subscribe() {\n return tsplus_module_1.map((queue) => tsplus_module_5.filterOutputDequeueIO(this.f, fileName_1 + \":230:69\")(queue), fileName_1 + \":230:37\")(this.source.subscribe);\n }\n publish = (a) => this.source.publish(a);\n publishAll = (as) => this.source.publishAll(as);\n}\n/**\n * Checks whether the hub is shut down.\n *\n * @tsplus getter fncts.io.Hub isShutdown\n */\nexport function isShutdown(self, __tsplusTrace) {\n void 0;\n return self.isShutdown;\n}\n/**\n * Creates a bounded hub with the back pressure strategy. The hub will retain\n * messages until they have been taken by all subscribers, applying back\n * pressure to publishers if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps makeBounded\n */\nexport function makeBounded(requestedCapacity, __tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new BackPressure()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeBounded(requestedCapacity), __tsplusTrace));\n}\n/**\n * Creates a bounded hub with the dropping strategy. The hub will drop new\n * messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps makeDropping\n */\nexport function makeDropping(requestedCapacity, __tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new Dropping()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeBounded(requestedCapacity), __tsplusTrace));\n}\n/**\n * Creates a bounded hub with the sliding strategy. The hub will add new\n * messages and drop old messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps makeSliding\n */\nexport function makeSliding(requestedCapacity, __tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new Sliding()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeBounded(requestedCapacity), __tsplusTrace));\n}\n/**\n * Creates an unbounded hub.\n *\n * @tsplus static fncts.io.HubOps makeUnbounded\n */\nexport function makeUnbounded(__tsplusTrace) {\n return tsplus_module_1.flatMap((hub) => makeHubInternal(hub, new Dropping()), __tsplusTrace)(tsplus_module_1.succeed(() => tsplus_module_6.makeUnbounded(), __tsplusTrace));\n}\n/**\n * Transforms messages taken from the hub using the specified function.\n *\n * @tsplus pipeable fncts.io.Hub map\n */\nexport function map(f, __tsplusTrace) {\n return (self) => {\n return mapIO_1((b) => tsplus_module_1.succeedNow(f(b), __tsplusTrace), __tsplusTrace)(self);\n };\n}\n/**\n * Publishes a message to the hub, returning whether the message was\n * published to the hub.\n *\n * @tsplus pipeable fncts.io.Hub publish\n */\nexport function publish(a, __tsplusTrace) {\n return (self) => {\n void 0;\n return self.publish(a);\n };\n}\n/**\n * Publishes all of the specified messages to the hub, returning whether\n * they were published to the hub.\n *\n * @tsplus pipeable fncts.io.Hub publishAll\n */\nexport function publishAll(as, __tsplusTrace) {\n return (self) => {\n void 0;\n return self.publishAll(as);\n };\n}\n/**\n * Shuts down the hub.\n *\n * @tsplus getter fncts.io.Hub shutdown\n */\nexport function shutdown(self, __tsplusTrace) {\n void 0;\n return self.shutdown;\n}\n/**\n * The current number of messages in the hub.\n *\n * @tsplus getter fncts.io.Hub size\n */\nexport function size(self, __tsplusTrace) {\n void 0;\n return self.size;\n}\n/**\n * Subscribes to receive messages from the hub. The resulting subscription\n * can be evaluated multiple times within the scope of the managed to take a\n * message from the hub each time.\n *\n * @tsplus getter fncts.io.Hub subscribe\n */\nexport function subscribe(self, __tsplusTrace) {\n void 0;\n return self.subscribe;\n}\nclass ToQueue {\n source;\n [QueueTypeId] = QueueTypeId;\n [EnqueueTypeId] = EnqueueTypeId;\n awaitShutdown;\n capacity;\n isShutdown;\n shutdown;\n size;\n constructor(source) {\n this.source = source;\n this.awaitShutdown = this.source.awaitShutdown;\n this.capacity = this.source.capacity;\n this.isShutdown = this.source.isShutdown;\n this.shutdown = this.source.shutdown;\n this.size = this.source.size;\n }\n offer = (a) => this.source.publish(a);\n offerAll = (as) => this.source.publishAll(as);\n takeUpTo = () => tsplus_module_1.succeedNow(tsplus_module_7.empty(), fileName_1 + \":401:64\");\n}\n/**\n * Views the hub as a queue that can only be written to.\n *\n * @tsplus getter fncts.io.Hub toQueue\n */\nexport function toQueue(source, __tsplusTrace) {\n void 0;\n return new ToQueue(source);\n}\n/**\n * Creates a bounded hub with the back pressure strategy. The hub will retain\n * messages until they have been taken by all subscribers, applying back\n * pressure to publishers if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeBounded\n */\nexport function unsafeMakeBounded(requestedCapacity) {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":427:33\");\n return unsafeMakeHub(tsplus_module_6.makeBounded(requestedCapacity), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new BackPressure());\n}\n/**\n * Creates a bounded hub with the dropping strategy. The hub will drop new\n * messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeDropping\n */\nexport function unsafeMakeDropping(requestedCapacity) {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":448:33\");\n return unsafeMakeHub(tsplus_module_6.makeBounded(requestedCapacity), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Dropping());\n}\n/**\n * Creates a bounded hub with the sliding strategy. The hub will add new\n * messages and drop old messages if the hub is at capacity.\n *\n * For best performance use capacities that are powers of two.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeSliding\n */\nexport function unsafeMakeSliding(requestedCapacity) {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":469:33\");\n return unsafeMakeHub(tsplus_module_6.makeBounded(requestedCapacity), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Sliding());\n}\n/**\n * Creates an unbounded hub.\n *\n * @tsplus static fncts.io.HubOps unsafeMakeUnbounded\n */\nexport function unsafeMakeUnbounded() {\n const scope = tsplus_module_8.unsafeMake(fileName_1 + \":487:33\");\n return unsafeMakeHub(tsplus_module_6.makeUnbounded(), subscribersHashSet(), scope, tsplus_module_10.unsafeMake(tsplus_module_9.none), new AtomicBoolean(false), new Dropping());\n}\n//# sourceMappingURL=api.js.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EnqueueTypeId, QueueTypeId } from "@fncts/io/Queue/definition";
2
- //#region build/esm/Hub/definition.js
2
+ // build/esm/Hub/definition.js
3
3
  const HubVariance = Symbol.for("fncts.io.Hub.Variance");
4
4
  const HubTypeId = Symbol.for("fncts.io.Hub");
5
5
  const Hub = {};
@@ -21,7 +21,6 @@ var PHubInternal = class {
21
21
  * @tsplus macro remove
22
22
  */
23
23
  function concrete(_) {}
24
- //#endregion
25
24
  export { Hub, HubTypeId, HubVariance, PHubInternal, concrete };
26
25
 
27
26
  //# sourceMappingURL=definition.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","names":[],"sources":["../../esm/Hub/definition.js"],"sourcesContent":["import { EnqueueTypeId, QueueTypeId, QueueVariance } from \"@fncts/io/Queue/definition\";\nexport const HubVariance = Symbol.for(\"fncts.io.Hub.Variance\");\nexport const HubTypeId = Symbol.for(\"fncts.io.Hub\");\nexport const Hub = {};\nexport class PHubInternal {\n [QueueTypeId] = QueueTypeId;\n [EnqueueTypeId] = EnqueueTypeId;\n [HubTypeId] = HubTypeId;\n unsafeOffer(_) {\n throw new Error(\"Cannot unsafely publish to a Hub\");\n }\n offer(a, __tsplusTrace) {\n return this.publish(a);\n }\n offerAll(as, __tsplusTrace) {\n return this.publishAll(as);\n }\n}\n/**\n * @tsplus macro remove\n */\nexport function concrete(_) {\n //\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";;AACA,MAAa,cAAc,OAAO,IAAI,wBAAwB;AAC9D,MAAa,YAAY,OAAO,IAAI,eAAe;AACnD,MAAa,MAAM,EAAE;AACrB,IAAa,eAAb,MAA0B;CACtB,CAAC,eAAe;CAChB,CAAC,iBAAiB;CAClB,CAAC,aAAa;CACd,YAAY,GAAG;AACX,QAAM,IAAI,MAAM,mCAAmC;;CAEvD,MAAM,GAAG,eAAe;AACpB,SAAO,KAAK,QAAQ,EAAE;;CAE1B,SAAS,IAAI,eAAe;AACxB,SAAO,KAAK,WAAW,GAAG;;;;;;AAMlC,SAAgB,SAAS,GAAG"}
1
+ {"version":3,"file":"definition.mjs","names":[],"sources":["../../esm/Hub/definition.js"],"sourcesContent":["import { EnqueueTypeId, QueueTypeId, QueueVariance } from \"@fncts/io/Queue/definition\";\nexport const HubVariance = Symbol.for(\"fncts.io.Hub.Variance\");\nexport const HubTypeId = Symbol.for(\"fncts.io.Hub\");\nexport const Hub = {};\nexport class PHubInternal {\n [QueueTypeId] = QueueTypeId;\n [EnqueueTypeId] = EnqueueTypeId;\n [HubTypeId] = HubTypeId;\n unsafeOffer(_) {\n throw new Error(\"Cannot unsafely publish to a Hub\");\n }\n offer(a, __tsplusTrace) {\n return this.publish(a);\n }\n offerAll(as, __tsplusTrace) {\n return this.publishAll(as);\n }\n}\n/**\n * @tsplus macro remove\n */\nexport function concrete(_) {\n //\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";;AACA,MAAa,cAAc,OAAO,IAAI,uBAAuB;AAC7D,MAAa,YAAY,OAAO,IAAI,cAAc;AAClD,MAAa,MAAM,CAAC;AACpB,IAAa,eAAb,MAA0B;CACtB,CAAC,eAAe;CAChB,CAAC,iBAAiB;CAClB,CAAC,aAAa;CACd,YAAY,GAAG;EACX,MAAM,IAAI,MAAM,kCAAkC;CACtD;CACA,MAAM,GAAG,eAAe;EACpB,OAAO,KAAK,QAAQ,CAAC;CACzB;CACA,SAAS,IAAI,eAAe;EACxB,OAAO,KAAK,WAAW,EAAE;CAC7B;AACJ;;;;AAIA,SAAgB,SAAS,GAAG,CAE5B"}
@@ -18,7 +18,7 @@ import * as tsplus_module_9 from "@fncts/io/internal/Hub";
18
18
  import { PHubInternal } from "@fncts/io/Hub/definition";
19
19
  import { QueueInternal } from "@fncts/io/Queue";
20
20
  import { HashedPair } from "@fncts/io/internal/HashedPair";
21
- //#region build/esm/Hub/internal.js
21
+ // build/esm/Hub/internal.js
22
22
  const fileName_1 = "(@fncts/io) src/Hub/internal.ts";
23
23
  /**
24
24
  * A `Strategy<A>` describes the protocol for how publishers and subscribers
@@ -333,7 +333,6 @@ function unsafeMakeHub(hub, subscribers, scope, shutdownHook, shutdownFlag, stra
333
333
  function makeHubInternal(hub, strategy) {
334
334
  return tsplus_module_5.flatMap((scope) => tsplus_module_5.map((future) => unsafeMakeHub(hub, subscribersHashSet(), scope, future, new AtomicBoolean(false), strategy), fileName_1 + ":524:21")(tsplus_module_4.make(fileName_1 + ":524:33")), fileName_1 + ":523:21")(tsplus_module_13.make);
335
335
  }
336
- //#endregion
337
336
  export { BackPressure, Dropping, Sliding, Strategy, makeHubInternal, makeSubscription, subscribersHashSet, unsafeMakeHub, unsafeMakeSubscription };
338
337
 
339
338
  //# sourceMappingURL=internal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.mjs","names":[],"sources":["../../esm/Hub/internal.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/Hub/internal.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/internal/MutableQueue\";\nimport * as tsplus_module_2 from \"@fncts/base/collection/immutable/Conc/api\";\nimport * as tsplus_module_3 from \"@fncts/io/Future/api\";\nimport * as tsplus_module_4 from \"@fncts/io/Future/constructors\";\nimport * as tsplus_module_5 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_6 from \"@fncts/io/IO/api/interrupt\";\nimport * as tsplus_module_7 from \"@fncts/io/IO/api/foreachConcurrent\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_9 from \"@fncts/io/internal/Hub\";\nimport * as tsplus_module_10 from \"@fncts/base/collection/immutable/Conc/api/empty\";\nimport * as tsplus_module_11 from \"@fncts/base/data/Exit/constructors\";\nimport * as tsplus_module_12 from \"@fncts/io/Queue/api/operations\";\nimport * as tsplus_module_13 from \"@fncts/io/Scope/api\";\nimport * as tsplus_module_14 from \"@fncts/io/IO/api/acquireRelease\";\nimport * as tsplus_module_15 from \"@fncts/base/collection/immutable/Conc/constructors\";\nimport { HashSet } from \"@fncts/base/collection/mutable/HashSet\";\nimport { AtomicBoolean } from \"@fncts/base/internal/AtomicBoolean\";\nimport { PHubInternal } from \"@fncts/io/Hub/definition\";\nimport { HashedPair } from \"@fncts/io/internal/HashedPair\";\nimport { QueueInternal } from \"@fncts/io/Queue\";\n/**\n * A `Strategy<A>` describes the protocol for how publishers and subscribers\n * will communicate with each other through the hub.\n */\nexport class Strategy {\n /**\n * Describes how subscribers waiting for additional values from the hub\n * should take those values and signal to publishers that they are no\n * longer waiting for additional values.\n */\n unsafeCompletePollers(hub, subscribers, subscription, pollers) {\n let keepPolling = true;\n const nullPoller = null;\n const empty = null;\n while (keepPolling && !subscription.isEmpty()) {\n const poller = pollers.dequeue(nullPoller);\n if (poller === nullPoller) {\n const subPollerPair = new HashedPair(subscription, pollers);\n subscribers.remove(subPollerPair);\n if (!pollers.isEmpty) {\n subscribers.add(subPollerPair);\n }\n keepPolling = false;\n }\n else {\n const pollResult = subscription.poll(empty);\n if (pollResult == null) {\n pollers.enqueueAll(tsplus_module_2.prepend(poller)(tsplus_module_1.unsafeDequeueAll(pollers)));\n }\n else {\n tsplus_module_3.unsafeSucceed(pollResult, fileName_1 + \":74:31\")(poller);\n this.unsafeOnHubEmptySpace(hub, subscribers);\n }\n }\n }\n }\n /**\n * Describes how publishers should signal to subscribers waiting for\n * additional values from the hub that new values are available.\n */\n unsafeCompleteSubscribers(hub, subscribers) {\n subscribers.forEach(({ first: subscription, second: pollers }) => {\n this.unsafeCompletePollers(hub, subscribers, subscription, pollers);\n });\n }\n}\n/**\n * A strategy that applies back pressure to publishers when the hub is at\n * capacity. This guarantees that all subscribers will receive all messages\n * published to the hub while they are subscribed. However, it creates the\n * risk that a slow subscriber will slow down the rate at which messages\n * are published and received by other subscribers.\n */\nexport class BackPressure extends Strategy {\n publishers = tsplus_module_1.unbounded();\n handleSurplus(hub, subscribers, as, isShutdown) {\n return tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n const future = tsplus_module_4.unsafeMake(fiberId);\n return tsplus_module_6.onInterrupt(() => tsplus_module_5.succeed(() => this.unsafeRemove(future), fileName_1 + \":121:40\"), fileName_1 + \":121:23\")(tsplus_module_5.defer(() => {\n this.unsafeOffer(as, future);\n this.unsafeOnHubEmptySpace(hub, subscribers);\n this.unsafeCompleteSubscribers(hub, subscribers);\n return isShutdown.get ? tsplus_module_6.interrupt : tsplus_module_3.wait(future, fileName_1 + \":120:56\");\n }, fileName_1 + \":115:24\"));\n }, fileName_1 + \":112:15\"), fileName_1 + \":111:30\")(tsplus_module_5.fiberId);\n }\n get shutdown() {\n const self = this;\n return tsplus_module_5.flatMap(fiberId => tsplus_module_5.flatMap(publishers => tsplus_module_5.map(() => void 0, fileName_1 + \":131:8\")(tsplus_module_7.foreachConcurrentDiscard(publishers, ([_, future, last]) => (last ? tsplus_module_3.interruptAs(fiberId, fileName_1 + \":131:97\")(future) : tsplus_module_5.unit), fileName_1 + \":131:47\")), fileName_1 + \":130:27\")(tsplus_module_5.succeed(() => tsplus_module_1.unsafeDequeueAll(self.publishers), fileName_1 + \":130:38\")), fileName_1 + \":129:27\")(tsplus_module_5.fiberId);\n }\n unsafeOnHubEmptySpace(hub, subscribers) {\n const empty = null;\n let keepPolling = true;\n while (keepPolling && !hub.isFull()) {\n const publisher = this.publishers.dequeue(empty);\n if (publisher === null) {\n keepPolling = false;\n }\n else {\n const published = hub.publish(publisher[0]);\n if (published && publisher[2]) {\n tsplus_module_3.unsafeSucceed(true, fileName_1 + \":151:37\")(publisher[1]);\n }\n else if (!published) {\n this.publishers.enqueueAll(tsplus_module_2.prepend(publisher)(tsplus_module_1.unsafeDequeueAll(this.publishers)));\n }\n this.unsafeCompleteSubscribers(hub, subscribers);\n }\n }\n }\n unsafeOffer(as, future) {\n const it = as[Symbol.iterator]();\n let curr = it.next();\n if (!curr.done) {\n let next;\n while ((next = it.next()) && !next.done) {\n this.publishers.enqueue([curr.value, future, false]);\n curr = next;\n }\n this.publishers.enqueue([curr.value, future, true]);\n }\n }\n unsafeRemove(future) {\n this.publishers.enqueueAll(tsplus_module_2.filter(([_, a]) => a !== future)(tsplus_module_1.unsafeDequeueAll(this.publishers)));\n }\n}\n/**\n * A strategy that drops new messages when the hub is at capacity. This\n * guarantees that a slow subscriber will not slow down the rate at which\n * messages are published. However, it creates the risk that a slow\n * subscriber will slow down the rate at which messages are received by\n * other subscribers and that subscribers may not receive all messages\n * published to the hub while they are subscribed.\n */\nexport class Dropping extends Strategy {\n handleSurplus(_hub, _subscribers, _as, _isShutdown) {\n return tsplus_module_5.succeedNow(false, fileName_1 + \":194:25\");\n }\n shutdown = tsplus_module_5.unit;\n unsafeOnHubEmptySpace(_hub, _subscribers) {\n //\n }\n}\n/**\n * A strategy that adds new messages and drops old messages when the hub is\n * at capacity. This guarantees that a slow subscriber will not slow down\n * the rate at which messages are published and received by other\n * subscribers. However, it creates the risk that a slow subscriber will\n * not receive some messages published to the hub while it is subscribed.\n */\nexport class Sliding extends Strategy {\n unsafeSlidingPublish(hub, as) {\n const it = as[Symbol.iterator]();\n let next = it.next();\n if (!next.done && hub.capacity > 0) {\n let a = next.value;\n let loop = true;\n while (loop) {\n hub.slide();\n const pub = hub.publish(a);\n if (pub && (next = it.next()) && !next.done) {\n a = next.value;\n }\n else if (pub) {\n loop = false;\n }\n }\n }\n }\n handleSurplus(hub, subscribers, as, _isShutdown) {\n return tsplus_module_5.succeed(() => {\n this.unsafeSlidingPublish(hub, as);\n this.unsafeCompleteSubscribers(hub, subscribers);\n return true;\n }, fileName_1 + \":240:22\");\n }\n shutdown = tsplus_module_5.unit;\n unsafeOnHubEmptySpace(_hub, _subscribers) {\n //\n }\n}\nclass UnsafeSubscription extends QueueInternal {\n hub;\n subscribers;\n subscription;\n pollers;\n shutdownHook;\n shutdownFlag;\n strategy;\n constructor(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {\n super();\n this.hub = hub;\n this.subscribers = subscribers;\n this.subscription = subscription;\n this.pollers = pollers;\n this.shutdownHook = shutdownHook;\n this.shutdownFlag = shutdownFlag;\n this.strategy = strategy;\n }\n get awaitShutdown() {\n return tsplus_module_3.wait(this.shutdownHook, fileName_1 + \":271:29\");\n }\n get capacity() {\n return this.hub.capacity;\n }\n get isShutdown() {\n return tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + \":279:22\");\n }\n get shutdown() {\n return tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n this.shutdownFlag.set(true);\n return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + \":288:44\")(this.shutdownHook), fileName_1 + \":288:18\")(tsplus_module_5.zipRight(tsplus_module_5.succeed(() => this.subscription.unsubscribe(), fileName_1 + \":287:31\"), fileName_1 + \":287:20\")(tsplus_module_7.foreachConcurrent(tsplus_module_1.unsafeDequeueAll(this.pollers), (fiber) => tsplus_module_3.interruptAs(fiberId, fileName_1 + \":286:96\")(fiber), fileName_1 + \":286:36\")));\n }, fileName_1 + \":284:15\"), fileName_1 + \":283:30\")(tsplus_module_5.fiberId);\n }\n get unsafeSize() {\n if (this.shutdownFlag.get) {\n return tsplus_module_8.nothing(fileName_1 + \":295:21\");\n }\n return tsplus_module_8.just(this.subscription.size(), fileName_1 + \":297:16\");\n }\n size = tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n return tsplus_module_5.succeed(() => this.subscription.size(), fileName_1 + \":305:22\");\n }, fileName_1 + \":300:31\");\n unsafeOffer(_) {\n return false;\n }\n offer = (_) => tsplus_module_5.succeedNow(false, fileName_1 + \":312:65\");\n offerAll = (_) => tsplus_module_5.succeedNow(false, fileName_1 + \":314:78\");\n take = tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const empty = null;\n const message = this.pollers.isEmpty ? this.subscription.poll(empty) : empty;\n if (message == null) {\n const future = tsplus_module_4.unsafeMake(fiberId);\n return tsplus_module_6.onInterrupt(() => tsplus_module_5.succeed(() => {\n tsplus_module_1.unsafeRemove(future)(this.pollers);\n }, fileName_1 + \":338:21\"), fileName_1 + \":337:23\")(tsplus_module_5.defer(() => {\n this.pollers.enqueue(future);\n this.subscribers.add(new HashedPair(this.subscription, this.pollers));\n this.strategy.unsafeCompletePollers(this.hub, this.subscribers, this.subscription, this.pollers);\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n else {\n return tsplus_module_3.wait(future, fileName_1 + \":335:26\");\n }\n }, fileName_1 + \":328:24\"));\n }\n else {\n this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(message, fileName_1 + \":344:29\");\n }\n }, fileName_1 + \":317:13\"), fileName_1 + \":316:49\")(tsplus_module_5.fiberId);\n takeAll = tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollAll(this.subscription) : tsplus_module_10.empty();\n this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(as, fileName_1 + \":358:25\");\n }, fileName_1 + \":349:48\");\n takeUpTo = (n) => {\n return tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollN(n)(this.subscription) : tsplus_module_10.empty();\n this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(as, fileName_1 + \":370:27\");\n }, fileName_1 + \":362:20\");\n };\n}\n/**\n * Creates a subscription with the specified strategy.\n */\nexport function makeSubscription(hub, subscribers, strategy) {\n return tsplus_module_5.map((future) => {\n return unsafeMakeSubscription(hub, subscribers, hub.subscribe(), tsplus_module_1.unbounded(), future, new AtomicBoolean(false), strategy);\n }, fileName_1 + \":383:40\")(tsplus_module_4.make(fileName_1 + \":383:21\"));\n}\n/**\n * Unsafely creates a subscription with the specified strategy.\n */\nexport function unsafeMakeSubscription(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {\n return new UnsafeSubscription(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy);\n}\nexport function subscribersHashSet() {\n return HashSet.empty();\n}\nclass UnsafeHub extends PHubInternal {\n hub;\n subscribers;\n scope;\n shutdownHook;\n shutdownFlag;\n strategy;\n constructor(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy) {\n super();\n this.hub = hub;\n this.subscribers = subscribers;\n this.scope = scope;\n this.shutdownHook = shutdownHook;\n this.shutdownFlag = shutdownFlag;\n this.strategy = strategy;\n }\n get awaitShutdown() {\n return tsplus_module_3.wait(this.shutdownHook, fileName_1 + \":430:29\");\n }\n get capacity() {\n return this.hub.capacity;\n }\n get isShutdown() {\n return tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + \":438:22\");\n }\n shutdown = tsplus_module_6.uninterruptible(tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n this.shutdownFlag.set(true);\n return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + \":447:42\")(this.shutdownHook), fileName_1 + \":447:16\")(tsplus_module_5.zipRight(this.strategy.shutdown, fileName_1 + \":446:18\")(this.scope\n .close(() => tsplus_module_11.interrupt(fiberId, fileName_1 + \":445:30\"))));\n }, fileName_1 + \":442:13\"), fileName_1 + \":441:32\")(tsplus_module_5.fiberId), fileName_1 + \":449:4\");\n get unsafeSize() {\n if (this.shutdownFlag.get) {\n return tsplus_module_8.nothing(fileName_1 + \":453:21\");\n }\n return tsplus_module_8.just(this.hub.size(), fileName_1 + \":455:16\");\n }\n size = tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n return tsplus_module_5.succeed(() => this.hub.size(), fileName_1 + \":463:22\");\n }, fileName_1 + \":458:18\");\n get subscribe() {\n return tsplus_module_14.acquireRelease(() => tsplus_module_5.tap((dequeue) => tsplus_module_13.addFinalizer(() => tsplus_module_12.shutdown(dequeue, fileName_1 + \":469:40\"), fileName_1 + \":469:32\")(this.scope), fileName_1 + \":468:70\")(makeSubscription(this.hub, this.subscribers, this.strategy)), (dequeue) => tsplus_module_12.shutdown(dequeue, fileName_1 + \":471:27\"), fileName_1 + \":467:29\");\n }\n publish = (a) => tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n if (this.hub.publish(a)) {\n this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(true, fileName_1 + \":483:29\");\n }\n return this.strategy.handleSurplus(this.hub, this.subscribers, tsplus_module_15.single(a), this.shutdownFlag);\n }, fileName_1 + \":476:13\");\n publishAll = (as) => tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const surplus = this.hub.publishAll(as);\n this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);\n if (tsplus_module_2.isEmpty(surplus)) {\n return tsplus_module_5.succeedNow(true, fileName_1 + \":500:29\");\n }\n return this.strategy.handleSurplus(this.hub, this.subscribers, surplus, this.shutdownFlag);\n }, fileName_1 + \":490:13\");\n}\n/**\n * Unsafely creates a hub with the specified strategy.\n */\nexport function unsafeMakeHub(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy) {\n return new UnsafeHub(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy).unsafeCoerce();\n}\nexport function makeHubInternal(hub, strategy) {\n return tsplus_module_5.flatMap(scope => tsplus_module_5.map(future => unsafeMakeHub(hub, subscribersHashSet(), scope, future, new AtomicBoolean(false), strategy), fileName_1 + \":524:21\")(tsplus_module_4.make(fileName_1 + \":524:33\")), fileName_1 + \":523:21\")(tsplus_module_13.make);\n}\n//# sourceMappingURL=internal.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"internal.mjs","names":[],"sources":["../../esm/Hub/internal.js"],"sourcesContent":["const fileName_1 = \"(@fncts/io) src/Hub/internal.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/internal/MutableQueue\";\nimport * as tsplus_module_2 from \"@fncts/base/collection/immutable/Conc/api\";\nimport * as tsplus_module_3 from \"@fncts/io/Future/api\";\nimport * as tsplus_module_4 from \"@fncts/io/Future/constructors\";\nimport * as tsplus_module_5 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_6 from \"@fncts/io/IO/api/interrupt\";\nimport * as tsplus_module_7 from \"@fncts/io/IO/api/foreachConcurrent\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_9 from \"@fncts/io/internal/Hub\";\nimport * as tsplus_module_10 from \"@fncts/base/collection/immutable/Conc/api/empty\";\nimport * as tsplus_module_11 from \"@fncts/base/data/Exit/constructors\";\nimport * as tsplus_module_12 from \"@fncts/io/Queue/api/operations\";\nimport * as tsplus_module_13 from \"@fncts/io/Scope/api\";\nimport * as tsplus_module_14 from \"@fncts/io/IO/api/acquireRelease\";\nimport * as tsplus_module_15 from \"@fncts/base/collection/immutable/Conc/constructors\";\nimport { HashSet } from \"@fncts/base/collection/mutable/HashSet\";\nimport { AtomicBoolean } from \"@fncts/base/internal/AtomicBoolean\";\nimport { PHubInternal } from \"@fncts/io/Hub/definition\";\nimport { HashedPair } from \"@fncts/io/internal/HashedPair\";\nimport { QueueInternal } from \"@fncts/io/Queue\";\n/**\n * A `Strategy<A>` describes the protocol for how publishers and subscribers\n * will communicate with each other through the hub.\n */\nexport class Strategy {\n /**\n * Describes how subscribers waiting for additional values from the hub\n * should take those values and signal to publishers that they are no\n * longer waiting for additional values.\n */\n unsafeCompletePollers(hub, subscribers, subscription, pollers) {\n let keepPolling = true;\n const nullPoller = null;\n const empty = null;\n while (keepPolling && !subscription.isEmpty()) {\n const poller = pollers.dequeue(nullPoller);\n if (poller === nullPoller) {\n const subPollerPair = new HashedPair(subscription, pollers);\n subscribers.remove(subPollerPair);\n if (!pollers.isEmpty) {\n subscribers.add(subPollerPair);\n }\n keepPolling = false;\n }\n else {\n const pollResult = subscription.poll(empty);\n if (pollResult == null) {\n pollers.enqueueAll(tsplus_module_2.prepend(poller)(tsplus_module_1.unsafeDequeueAll(pollers)));\n }\n else {\n tsplus_module_3.unsafeSucceed(pollResult, fileName_1 + \":74:31\")(poller);\n this.unsafeOnHubEmptySpace(hub, subscribers);\n }\n }\n }\n }\n /**\n * Describes how publishers should signal to subscribers waiting for\n * additional values from the hub that new values are available.\n */\n unsafeCompleteSubscribers(hub, subscribers) {\n subscribers.forEach(({ first: subscription, second: pollers }) => {\n this.unsafeCompletePollers(hub, subscribers, subscription, pollers);\n });\n }\n}\n/**\n * A strategy that applies back pressure to publishers when the hub is at\n * capacity. This guarantees that all subscribers will receive all messages\n * published to the hub while they are subscribed. However, it creates the\n * risk that a slow subscriber will slow down the rate at which messages\n * are published and received by other subscribers.\n */\nexport class BackPressure extends Strategy {\n publishers = tsplus_module_1.unbounded();\n handleSurplus(hub, subscribers, as, isShutdown) {\n return tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n const future = tsplus_module_4.unsafeMake(fiberId);\n return tsplus_module_6.onInterrupt(() => tsplus_module_5.succeed(() => this.unsafeRemove(future), fileName_1 + \":121:40\"), fileName_1 + \":121:23\")(tsplus_module_5.defer(() => {\n this.unsafeOffer(as, future);\n this.unsafeOnHubEmptySpace(hub, subscribers);\n this.unsafeCompleteSubscribers(hub, subscribers);\n return isShutdown.get ? tsplus_module_6.interrupt : tsplus_module_3.wait(future, fileName_1 + \":120:56\");\n }, fileName_1 + \":115:24\"));\n }, fileName_1 + \":112:15\"), fileName_1 + \":111:30\")(tsplus_module_5.fiberId);\n }\n get shutdown() {\n const self = this;\n return tsplus_module_5.flatMap(fiberId => tsplus_module_5.flatMap(publishers => tsplus_module_5.map(() => void 0, fileName_1 + \":131:8\")(tsplus_module_7.foreachConcurrentDiscard(publishers, ([_, future, last]) => (last ? tsplus_module_3.interruptAs(fiberId, fileName_1 + \":131:97\")(future) : tsplus_module_5.unit), fileName_1 + \":131:47\")), fileName_1 + \":130:27\")(tsplus_module_5.succeed(() => tsplus_module_1.unsafeDequeueAll(self.publishers), fileName_1 + \":130:38\")), fileName_1 + \":129:27\")(tsplus_module_5.fiberId);\n }\n unsafeOnHubEmptySpace(hub, subscribers) {\n const empty = null;\n let keepPolling = true;\n while (keepPolling && !hub.isFull()) {\n const publisher = this.publishers.dequeue(empty);\n if (publisher === null) {\n keepPolling = false;\n }\n else {\n const published = hub.publish(publisher[0]);\n if (published && publisher[2]) {\n tsplus_module_3.unsafeSucceed(true, fileName_1 + \":151:37\")(publisher[1]);\n }\n else if (!published) {\n this.publishers.enqueueAll(tsplus_module_2.prepend(publisher)(tsplus_module_1.unsafeDequeueAll(this.publishers)));\n }\n this.unsafeCompleteSubscribers(hub, subscribers);\n }\n }\n }\n unsafeOffer(as, future) {\n const it = as[Symbol.iterator]();\n let curr = it.next();\n if (!curr.done) {\n let next;\n while ((next = it.next()) && !next.done) {\n this.publishers.enqueue([curr.value, future, false]);\n curr = next;\n }\n this.publishers.enqueue([curr.value, future, true]);\n }\n }\n unsafeRemove(future) {\n this.publishers.enqueueAll(tsplus_module_2.filter(([_, a]) => a !== future)(tsplus_module_1.unsafeDequeueAll(this.publishers)));\n }\n}\n/**\n * A strategy that drops new messages when the hub is at capacity. This\n * guarantees that a slow subscriber will not slow down the rate at which\n * messages are published. However, it creates the risk that a slow\n * subscriber will slow down the rate at which messages are received by\n * other subscribers and that subscribers may not receive all messages\n * published to the hub while they are subscribed.\n */\nexport class Dropping extends Strategy {\n handleSurplus(_hub, _subscribers, _as, _isShutdown) {\n return tsplus_module_5.succeedNow(false, fileName_1 + \":194:25\");\n }\n shutdown = tsplus_module_5.unit;\n unsafeOnHubEmptySpace(_hub, _subscribers) {\n //\n }\n}\n/**\n * A strategy that adds new messages and drops old messages when the hub is\n * at capacity. This guarantees that a slow subscriber will not slow down\n * the rate at which messages are published and received by other\n * subscribers. However, it creates the risk that a slow subscriber will\n * not receive some messages published to the hub while it is subscribed.\n */\nexport class Sliding extends Strategy {\n unsafeSlidingPublish(hub, as) {\n const it = as[Symbol.iterator]();\n let next = it.next();\n if (!next.done && hub.capacity > 0) {\n let a = next.value;\n let loop = true;\n while (loop) {\n hub.slide();\n const pub = hub.publish(a);\n if (pub && (next = it.next()) && !next.done) {\n a = next.value;\n }\n else if (pub) {\n loop = false;\n }\n }\n }\n }\n handleSurplus(hub, subscribers, as, _isShutdown) {\n return tsplus_module_5.succeed(() => {\n this.unsafeSlidingPublish(hub, as);\n this.unsafeCompleteSubscribers(hub, subscribers);\n return true;\n }, fileName_1 + \":240:22\");\n }\n shutdown = tsplus_module_5.unit;\n unsafeOnHubEmptySpace(_hub, _subscribers) {\n //\n }\n}\nclass UnsafeSubscription extends QueueInternal {\n hub;\n subscribers;\n subscription;\n pollers;\n shutdownHook;\n shutdownFlag;\n strategy;\n constructor(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {\n super();\n this.hub = hub;\n this.subscribers = subscribers;\n this.subscription = subscription;\n this.pollers = pollers;\n this.shutdownHook = shutdownHook;\n this.shutdownFlag = shutdownFlag;\n this.strategy = strategy;\n }\n get awaitShutdown() {\n return tsplus_module_3.wait(this.shutdownHook, fileName_1 + \":271:29\");\n }\n get capacity() {\n return this.hub.capacity;\n }\n get isShutdown() {\n return tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + \":279:22\");\n }\n get shutdown() {\n return tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n this.shutdownFlag.set(true);\n return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + \":288:44\")(this.shutdownHook), fileName_1 + \":288:18\")(tsplus_module_5.zipRight(tsplus_module_5.succeed(() => this.subscription.unsubscribe(), fileName_1 + \":287:31\"), fileName_1 + \":287:20\")(tsplus_module_7.foreachConcurrent(tsplus_module_1.unsafeDequeueAll(this.pollers), (fiber) => tsplus_module_3.interruptAs(fiberId, fileName_1 + \":286:96\")(fiber), fileName_1 + \":286:36\")));\n }, fileName_1 + \":284:15\"), fileName_1 + \":283:30\")(tsplus_module_5.fiberId);\n }\n get unsafeSize() {\n if (this.shutdownFlag.get) {\n return tsplus_module_8.nothing(fileName_1 + \":295:21\");\n }\n return tsplus_module_8.just(this.subscription.size(), fileName_1 + \":297:16\");\n }\n size = tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n return tsplus_module_5.succeed(() => this.subscription.size(), fileName_1 + \":305:22\");\n }, fileName_1 + \":300:31\");\n unsafeOffer(_) {\n return false;\n }\n offer = (_) => tsplus_module_5.succeedNow(false, fileName_1 + \":312:65\");\n offerAll = (_) => tsplus_module_5.succeedNow(false, fileName_1 + \":314:78\");\n take = tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const empty = null;\n const message = this.pollers.isEmpty ? this.subscription.poll(empty) : empty;\n if (message == null) {\n const future = tsplus_module_4.unsafeMake(fiberId);\n return tsplus_module_6.onInterrupt(() => tsplus_module_5.succeed(() => {\n tsplus_module_1.unsafeRemove(future)(this.pollers);\n }, fileName_1 + \":338:21\"), fileName_1 + \":337:23\")(tsplus_module_5.defer(() => {\n this.pollers.enqueue(future);\n this.subscribers.add(new HashedPair(this.subscription, this.pollers));\n this.strategy.unsafeCompletePollers(this.hub, this.subscribers, this.subscription, this.pollers);\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n else {\n return tsplus_module_3.wait(future, fileName_1 + \":335:26\");\n }\n }, fileName_1 + \":328:24\"));\n }\n else {\n this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(message, fileName_1 + \":344:29\");\n }\n }, fileName_1 + \":317:13\"), fileName_1 + \":316:49\")(tsplus_module_5.fiberId);\n takeAll = tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollAll(this.subscription) : tsplus_module_10.empty();\n this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(as, fileName_1 + \":358:25\");\n }, fileName_1 + \":349:48\");\n takeUpTo = (n) => {\n return tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollN(n)(this.subscription) : tsplus_module_10.empty();\n this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(as, fileName_1 + \":370:27\");\n }, fileName_1 + \":362:20\");\n };\n}\n/**\n * Creates a subscription with the specified strategy.\n */\nexport function makeSubscription(hub, subscribers, strategy) {\n return tsplus_module_5.map((future) => {\n return unsafeMakeSubscription(hub, subscribers, hub.subscribe(), tsplus_module_1.unbounded(), future, new AtomicBoolean(false), strategy);\n }, fileName_1 + \":383:40\")(tsplus_module_4.make(fileName_1 + \":383:21\"));\n}\n/**\n * Unsafely creates a subscription with the specified strategy.\n */\nexport function unsafeMakeSubscription(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {\n return new UnsafeSubscription(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy);\n}\nexport function subscribersHashSet() {\n return HashSet.empty();\n}\nclass UnsafeHub extends PHubInternal {\n hub;\n subscribers;\n scope;\n shutdownHook;\n shutdownFlag;\n strategy;\n constructor(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy) {\n super();\n this.hub = hub;\n this.subscribers = subscribers;\n this.scope = scope;\n this.shutdownHook = shutdownHook;\n this.shutdownFlag = shutdownFlag;\n this.strategy = strategy;\n }\n get awaitShutdown() {\n return tsplus_module_3.wait(this.shutdownHook, fileName_1 + \":430:29\");\n }\n get capacity() {\n return this.hub.capacity;\n }\n get isShutdown() {\n return tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + \":438:22\");\n }\n shutdown = tsplus_module_6.uninterruptible(tsplus_module_5.flatMap((fiberId) => tsplus_module_5.defer(() => {\n this.shutdownFlag.set(true);\n return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + \":447:42\")(this.shutdownHook), fileName_1 + \":447:16\")(tsplus_module_5.zipRight(this.strategy.shutdown, fileName_1 + \":446:18\")(this.scope\n .close(() => tsplus_module_11.interrupt(fiberId, fileName_1 + \":445:30\"))));\n }, fileName_1 + \":442:13\"), fileName_1 + \":441:32\")(tsplus_module_5.fiberId), fileName_1 + \":449:4\");\n get unsafeSize() {\n if (this.shutdownFlag.get) {\n return tsplus_module_8.nothing(fileName_1 + \":453:21\");\n }\n return tsplus_module_8.just(this.hub.size(), fileName_1 + \":455:16\");\n }\n size = tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n return tsplus_module_5.succeed(() => this.hub.size(), fileName_1 + \":463:22\");\n }, fileName_1 + \":458:18\");\n get subscribe() {\n return tsplus_module_14.acquireRelease(() => tsplus_module_5.tap((dequeue) => tsplus_module_13.addFinalizer(() => tsplus_module_12.shutdown(dequeue, fileName_1 + \":469:40\"), fileName_1 + \":469:32\")(this.scope), fileName_1 + \":468:70\")(makeSubscription(this.hub, this.subscribers, this.strategy)), (dequeue) => tsplus_module_12.shutdown(dequeue, fileName_1 + \":471:27\"), fileName_1 + \":467:29\");\n }\n publish = (a) => tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n if (this.hub.publish(a)) {\n this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);\n return tsplus_module_5.succeedNow(true, fileName_1 + \":483:29\");\n }\n return this.strategy.handleSurplus(this.hub, this.subscribers, tsplus_module_15.single(a), this.shutdownFlag);\n }, fileName_1 + \":476:13\");\n publishAll = (as) => tsplus_module_5.defer(() => {\n if (this.shutdownFlag.get) {\n return tsplus_module_6.interrupt;\n }\n const surplus = this.hub.publishAll(as);\n this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);\n if (tsplus_module_2.isEmpty(surplus)) {\n return tsplus_module_5.succeedNow(true, fileName_1 + \":500:29\");\n }\n return this.strategy.handleSurplus(this.hub, this.subscribers, surplus, this.shutdownFlag);\n }, fileName_1 + \":490:13\");\n}\n/**\n * Unsafely creates a hub with the specified strategy.\n */\nexport function unsafeMakeHub(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy) {\n return new UnsafeHub(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy).unsafeCoerce();\n}\nexport function makeHubInternal(hub, strategy) {\n return tsplus_module_5.flatMap(scope => tsplus_module_5.map(future => unsafeMakeHub(hub, subscribersHashSet(), scope, future, new AtomicBoolean(false), strategy), fileName_1 + \":524:21\")(tsplus_module_4.make(fileName_1 + \":524:33\")), fileName_1 + \":523:21\")(tsplus_module_13.make);\n}\n//# sourceMappingURL=internal.js.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as tsplus_module_1 from "@fncts/io/IO/api/acquireReleaseExit";
2
- //#region build/esm/IO/api/acquireRelease.js
2
+ // build/esm/IO/api/acquireRelease.js
3
3
  /**
4
4
  * @tsplus static fncts.io.IOOps acquireRelease
5
5
  * @tsplus fluent fncts.io.IO acquireRelease
@@ -7,7 +7,6 @@ import * as tsplus_module_1 from "@fncts/io/IO/api/acquireReleaseExit";
7
7
  function acquireRelease(acquire, release, __tsplusTrace) {
8
8
  return tsplus_module_1.acquireReleaseExit(acquire, (a, _) => release(a), __tsplusTrace);
9
9
  }
10
- //#endregion
11
10
  export { acquireRelease };
12
11
 
13
12
  //# sourceMappingURL=acquireRelease.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acquireRelease.mjs","names":[],"sources":["../../../esm/IO/api/acquireRelease.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/acquireReleaseExit\";\n/**\n * @tsplus static fncts.io.IOOps acquireRelease\n * @tsplus fluent fncts.io.IO acquireRelease\n */\nexport function acquireRelease(acquire, release, __tsplusTrace) {\n return tsplus_module_1.acquireReleaseExit(acquire, (a, _) => release(a), __tsplusTrace);\n}\n//# sourceMappingURL=acquireRelease.js.map"],"mappings":";;;;;;AAKA,SAAgB,eAAe,SAAS,SAAS,eAAe;AAC5D,QAAO,gBAAgB,mBAAmB,UAAU,GAAG,MAAM,QAAQ,EAAE,EAAE,cAAc"}
1
+ {"version":3,"file":"acquireRelease.mjs","names":[],"sources":["../../../esm/IO/api/acquireRelease.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/acquireReleaseExit\";\n/**\n * @tsplus static fncts.io.IOOps acquireRelease\n * @tsplus fluent fncts.io.IO acquireRelease\n */\nexport function acquireRelease(acquire, release, __tsplusTrace) {\n return tsplus_module_1.acquireReleaseExit(acquire, (a, _) => release(a), __tsplusTrace);\n}\n//# sourceMappingURL=acquireRelease.js.map"],"mappings":";;;;;;AAKA,SAAgB,eAAe,SAAS,SAAS,eAAe;CAC5D,OAAO,gBAAgB,mBAAmB,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,aAAa;AAC1F"}
@@ -1,7 +1,7 @@
1
1
  import * as tsplus_module_3 from "@fncts/io/IO/api/interrupt";
2
2
  import * as tsplus_module_2 from "@fncts/io/IO/api";
3
3
  import * as tsplus_module_1 from "@fncts/io/IO/api/addFinalizerExit";
4
- //#region build/esm/IO/api/acquireReleaseExit.js
4
+ // build/esm/IO/api/acquireReleaseExit.js
5
5
  /**
6
6
  * @tsplus static fncts.io.IOOps acquireReleaseExit
7
7
  * @tsplus fluent fncts.io.IO acquireReleaseExit
@@ -9,7 +9,6 @@ import * as tsplus_module_1 from "@fncts/io/IO/api/addFinalizerExit";
9
9
  function acquireReleaseExit(acquire, release, __tsplusTrace) {
10
10
  return tsplus_module_3.uninterruptible(tsplus_module_2.tap((a) => tsplus_module_1.addFinalizerExit((exit) => release(a, exit), __tsplusTrace), __tsplusTrace)(tsplus_module_2.defer(acquire, __tsplusTrace)), __tsplusTrace);
11
11
  }
12
- //#endregion
13
12
  export { acquireReleaseExit };
14
13
 
15
14
  //# sourceMappingURL=acquireReleaseExit.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acquireReleaseExit.mjs","names":[],"sources":["../../../esm/IO/api/acquireReleaseExit.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/addFinalizerExit\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_3 from \"@fncts/io/IO/api/interrupt\";\n/**\n * @tsplus static fncts.io.IOOps acquireReleaseExit\n * @tsplus fluent fncts.io.IO acquireReleaseExit\n */\nexport function acquireReleaseExit(acquire, release, __tsplusTrace) {\n return tsplus_module_3.uninterruptible(tsplus_module_2.tap((a) => tsplus_module_1.addFinalizerExit((exit) => release(a, exit), __tsplusTrace), __tsplusTrace)(tsplus_module_2.defer(acquire, __tsplusTrace)), __tsplusTrace);\n}\n//# sourceMappingURL=acquireReleaseExit.js.map"],"mappings":";;;;;;;;AAOA,SAAgB,mBAAmB,SAAS,SAAS,eAAe;AAChE,QAAO,gBAAgB,gBAAgB,gBAAgB,KAAK,MAAM,gBAAgB,kBAAkB,SAAS,QAAQ,GAAG,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,gBAAgB,MAAM,SAAS,cAAc,CAAC,EAAE,cAAc"}
1
+ {"version":3,"file":"acquireReleaseExit.mjs","names":[],"sources":["../../../esm/IO/api/acquireReleaseExit.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/addFinalizerExit\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_3 from \"@fncts/io/IO/api/interrupt\";\n/**\n * @tsplus static fncts.io.IOOps acquireReleaseExit\n * @tsplus fluent fncts.io.IO acquireReleaseExit\n */\nexport function acquireReleaseExit(acquire, release, __tsplusTrace) {\n return tsplus_module_3.uninterruptible(tsplus_module_2.tap((a) => tsplus_module_1.addFinalizerExit((exit) => release(a, exit), __tsplusTrace), __tsplusTrace)(tsplus_module_2.defer(acquire, __tsplusTrace)), __tsplusTrace);\n}\n//# sourceMappingURL=acquireReleaseExit.js.map"],"mappings":";;;;;;;;AAOA,SAAgB,mBAAmB,SAAS,SAAS,eAAe;CAChE,OAAO,gBAAgB,gBAAgB,gBAAgB,KAAK,MAAM,gBAAgB,kBAAkB,SAAS,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,gBAAgB,MAAM,SAAS,aAAa,CAAC,GAAG,aAAa;AAC/N"}
@@ -1,12 +1,11 @@
1
1
  import * as tsplus_module_1 from "@fncts/io/IO/api/acquireReleaseInterruptibleExit";
2
- //#region build/esm/IO/api/acquireReleaseInterruptible.js
2
+ // build/esm/IO/api/acquireReleaseInterruptible.js
3
3
  /**
4
4
  * @tsplus static fncts.io.IOOps acquireReleaseInterruptible
5
5
  */
6
6
  function acquireReleaseInterruptible(acquire, release, __tsplusTrace) {
7
7
  return tsplus_module_1.acquireReleaseInterruptibleExit(acquire, () => release, __tsplusTrace);
8
8
  }
9
- //#endregion
10
9
  export { acquireReleaseInterruptible };
11
10
 
12
11
  //# sourceMappingURL=acquireReleaseInterruptible.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acquireReleaseInterruptible.mjs","names":[],"sources":["../../../esm/IO/api/acquireReleaseInterruptible.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/acquireReleaseInterruptibleExit\";\n/**\n * @tsplus static fncts.io.IOOps acquireReleaseInterruptible\n */\nexport function acquireReleaseInterruptible(acquire, release, __tsplusTrace) {\n return tsplus_module_1.acquireReleaseInterruptibleExit(acquire, () => release, __tsplusTrace);\n}\n//# sourceMappingURL=acquireReleaseInterruptible.js.map"],"mappings":";;;;;AAIA,SAAgB,4BAA4B,SAAS,SAAS,eAAe;AACzE,QAAO,gBAAgB,gCAAgC,eAAe,SAAS,cAAc"}
1
+ {"version":3,"file":"acquireReleaseInterruptible.mjs","names":[],"sources":["../../../esm/IO/api/acquireReleaseInterruptible.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/acquireReleaseInterruptibleExit\";\n/**\n * @tsplus static fncts.io.IOOps acquireReleaseInterruptible\n */\nexport function acquireReleaseInterruptible(acquire, release, __tsplusTrace) {\n return tsplus_module_1.acquireReleaseInterruptibleExit(acquire, () => release, __tsplusTrace);\n}\n//# sourceMappingURL=acquireReleaseInterruptible.js.map"],"mappings":";;;;;AAIA,SAAgB,4BAA4B,SAAS,SAAS,eAAe;CACzE,OAAO,gBAAgB,gCAAgC,eAAe,SAAS,aAAa;AAChG"}
@@ -1,14 +1,13 @@
1
1
  import * as tsplus_module_3 from "@fncts/io/IO/api/interrupt";
2
2
  import * as tsplus_module_2 from "@fncts/io/IO/api";
3
3
  import * as tsplus_module_1 from "@fncts/io/IO/api/addFinalizerExit";
4
- //#region build/esm/IO/api/acquireReleaseInterruptibleExit.js
4
+ // build/esm/IO/api/acquireReleaseInterruptibleExit.js
5
5
  /**
6
6
  * @tsplus static fncts.io.IOOps acquireReleaseInterruptibleExit
7
7
  */
8
8
  function acquireReleaseInterruptibleExit(acquire, release, __tsplusTrace) {
9
9
  return tsplus_module_3.ensuring(tsplus_module_1.addFinalizerExit(release, __tsplusTrace), __tsplusTrace)(tsplus_module_2.defer(acquire, __tsplusTrace));
10
10
  }
11
- //#endregion
12
11
  export { acquireReleaseInterruptibleExit };
13
12
 
14
13
  //# sourceMappingURL=acquireReleaseInterruptibleExit.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acquireReleaseInterruptibleExit.mjs","names":[],"sources":["../../../esm/IO/api/acquireReleaseInterruptibleExit.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/addFinalizerExit\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_3 from \"@fncts/io/IO/api/interrupt\";\n/**\n * @tsplus static fncts.io.IOOps acquireReleaseInterruptibleExit\n */\nexport function acquireReleaseInterruptibleExit(acquire, release, __tsplusTrace) {\n return tsplus_module_3.ensuring(tsplus_module_1.addFinalizerExit(release, __tsplusTrace), __tsplusTrace)(tsplus_module_2.defer(acquire, __tsplusTrace));\n}\n//# sourceMappingURL=acquireReleaseInterruptibleExit.js.map"],"mappings":";;;;;;;AAMA,SAAgB,gCAAgC,SAAS,SAAS,eAAe;AAC7E,QAAO,gBAAgB,SAAS,gBAAgB,iBAAiB,SAAS,cAAc,EAAE,cAAc,CAAC,gBAAgB,MAAM,SAAS,cAAc,CAAC"}
1
+ {"version":3,"file":"acquireReleaseInterruptibleExit.mjs","names":[],"sources":["../../../esm/IO/api/acquireReleaseInterruptibleExit.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/io/IO/api/addFinalizerExit\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_3 from \"@fncts/io/IO/api/interrupt\";\n/**\n * @tsplus static fncts.io.IOOps acquireReleaseInterruptibleExit\n */\nexport function acquireReleaseInterruptibleExit(acquire, release, __tsplusTrace) {\n return tsplus_module_3.ensuring(tsplus_module_1.addFinalizerExit(release, __tsplusTrace), __tsplusTrace)(tsplus_module_2.defer(acquire, __tsplusTrace));\n}\n//# sourceMappingURL=acquireReleaseInterruptibleExit.js.map"],"mappings":";;;;;;;AAMA,SAAgB,gCAAgC,SAAS,SAAS,eAAe;CAC7E,OAAO,gBAAgB,SAAS,gBAAgB,iBAAiB,SAAS,aAAa,GAAG,aAAa,CAAC,CAAC,gBAAgB,MAAM,SAAS,aAAa,CAAC;AAC1J"}
@@ -1,12 +1,11 @@
1
1
  import * as tsplus_module_1 from "@fncts/io/IO/api/addFinalizerExit";
2
- //#region build/esm/IO/api/addFinalizer.js
2
+ // build/esm/IO/api/addFinalizer.js
3
3
  /**
4
4
  * @tsplus static fncts.io.IOOps addFinalizer
5
5
  */
6
6
  function addFinalizer(finalizer, __tsplusTrace) {
7
7
  return tsplus_module_1.addFinalizerExit(() => finalizer(), __tsplusTrace);
8
8
  }
9
- //#endregion
10
9
  export { addFinalizer };
11
10
 
12
11
  //# sourceMappingURL=addFinalizer.mjs.map