@fncts/io 0.0.32 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (827) hide show
  1. package/Fiber/FiberRuntime.d.ts +3 -3
  2. package/IO/api.d.ts +4 -3
  3. package/IO/definition.d.ts +34 -24
  4. package/IO/runtime.d.ts +11 -16
  5. package/STM/definition.d.ts +1 -1
  6. package/Schedule/api.d.ts +1 -1
  7. package/Stream/api.d.ts +89 -1
  8. package/_cjs/Cached/api.cjs.map +1 -1
  9. package/_cjs/Cached/definition.cjs.map +1 -1
  10. package/_cjs/Cached/internal.cjs.map +1 -1
  11. package/_cjs/Cached.cjs.map +1 -1
  12. package/_cjs/CancellerState.cjs.map +1 -1
  13. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  14. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
  15. package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
  16. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  17. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  18. package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
  19. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
  20. package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
  21. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  22. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
  23. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  24. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  25. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  26. package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
  27. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  28. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  29. package/_cjs/Channel/api/mergeWith.cjs +4 -4
  30. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  31. package/_cjs/Channel/api/run.cjs.map +1 -1
  32. package/_cjs/Channel/api/runCollect.cjs.map +1 -1
  33. package/_cjs/Channel/api/runDrain.cjs.map +1 -1
  34. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  35. package/_cjs/Channel/api/toPull.cjs +2 -2
  36. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  37. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  38. package/_cjs/Channel/api.cjs +6 -6
  39. package/_cjs/Channel/api.cjs.map +1 -1
  40. package/_cjs/Channel/core-api.cjs.map +1 -1
  41. package/_cjs/Channel/definition.cjs.map +1 -1
  42. package/_cjs/Channel/internal/AsyncInputConsumer.cjs.map +1 -1
  43. package/_cjs/Channel/internal/AsyncInputProducer.cjs.map +1 -1
  44. package/_cjs/Channel/internal/ChannelExecutor.cjs +10 -10
  45. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  46. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  47. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  48. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  49. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +3 -3
  50. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  51. package/_cjs/Channel.cjs.map +1 -1
  52. package/_cjs/Clock/api.cjs.map +1 -1
  53. package/_cjs/Clock/definition.cjs.map +1 -1
  54. package/_cjs/Clock/live.cjs +1 -1
  55. package/_cjs/Clock/live.cjs.map +1 -1
  56. package/_cjs/Clock.cjs.map +1 -1
  57. package/_cjs/Console/api.cjs.map +1 -1
  58. package/_cjs/Console/definition.cjs.map +1 -1
  59. package/_cjs/Console/live.cjs.map +1 -1
  60. package/_cjs/Console.cjs.map +1 -1
  61. package/_cjs/CountdownLatch.cjs.map +1 -1
  62. package/_cjs/Differ/api.cjs.map +1 -1
  63. package/_cjs/Differ/definition.cjs.map +1 -1
  64. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  65. package/_cjs/Fiber/FiberRuntime.cjs +79 -48
  66. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  67. package/_cjs/Fiber/api/await.cjs.map +1 -1
  68. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  69. package/_cjs/Fiber/api/children.cjs.map +1 -1
  70. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  71. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  72. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  73. package/_cjs/Fiber/api/id.cjs.map +1 -1
  74. package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
  75. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  76. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  77. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  78. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  79. package/_cjs/Fiber/api/join.cjs.map +1 -1
  80. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  81. package/_cjs/Fiber/api/location.cjs.map +1 -1
  82. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  83. package/_cjs/Fiber/api/mapIO.cjs +1 -1
  84. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  85. package/_cjs/Fiber/api/poll.cjs.map +1 -1
  86. package/_cjs/Fiber/api/zipWith.cjs +1 -1
  87. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  88. package/_cjs/Fiber/constructors.cjs +5 -5
  89. package/_cjs/Fiber/constructors.cjs.map +1 -1
  90. package/_cjs/Fiber/definition.cjs.map +1 -1
  91. package/_cjs/Fiber.cjs.map +1 -1
  92. package/_cjs/FiberDescriptor.cjs.map +1 -1
  93. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  94. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  95. package/_cjs/FiberRef/api.cjs.map +1 -1
  96. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  97. package/_cjs/FiberRef/definition.cjs.map +1 -1
  98. package/_cjs/FiberRef/operations.cjs.map +1 -1
  99. package/_cjs/FiberRef/unsafe.cjs +3 -2
  100. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  101. package/_cjs/FiberRef.cjs.map +1 -1
  102. package/_cjs/FiberRefs/api.cjs.map +1 -1
  103. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  104. package/_cjs/FiberRefs.cjs.map +1 -1
  105. package/_cjs/FiberScope/constructors.cjs.map +1 -1
  106. package/_cjs/FiberScope/definition.cjs.map +1 -1
  107. package/_cjs/FiberScope.cjs.map +1 -1
  108. package/_cjs/FiberStatus/constructors.cjs.map +1 -1
  109. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  110. package/_cjs/FiberStatus.cjs.map +1 -1
  111. package/_cjs/Future/api.cjs +4 -4
  112. package/_cjs/Future/api.cjs.map +1 -1
  113. package/_cjs/Future/constructors.cjs.map +1 -1
  114. package/_cjs/Future/definition.cjs.map +1 -1
  115. package/_cjs/Future.cjs.map +1 -1
  116. package/_cjs/Hub/api.cjs.map +1 -1
  117. package/_cjs/Hub/definition.cjs.map +1 -1
  118. package/_cjs/Hub/internal.cjs +1 -1
  119. package/_cjs/Hub/internal.cjs.map +1 -1
  120. package/_cjs/Hub.cjs.map +1 -1
  121. package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
  122. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  123. package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
  124. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  125. package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
  126. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  127. package/_cjs/IO/api/asyncIO.cjs +1 -1
  128. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  129. package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
  130. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  131. package/_cjs/IO/api/blocking.cjs.map +1 -1
  132. package/_cjs/IO/api/bracket.cjs.map +1 -1
  133. package/_cjs/IO/api/bracketExit.cjs +1 -1
  134. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  135. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  136. package/_cjs/IO/api/concurrency.cjs +3 -3
  137. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  138. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  139. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  140. package/_cjs/IO/api/daemonChildren.cjs +1 -1
  141. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  142. package/_cjs/IO/api/delay.cjs.map +1 -1
  143. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  144. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  145. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  146. package/_cjs/IO/api/environment.cjs.map +1 -1
  147. package/_cjs/IO/api/foreachConcurrent.cjs +1 -1
  148. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  149. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  150. package/_cjs/IO/api/fork.cjs +2 -1
  151. package/_cjs/IO/api/fork.cjs.map +1 -1
  152. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  153. package/_cjs/IO/api/forkDaemon.cjs.map +1 -1
  154. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  155. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  156. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  157. package/_cjs/IO/api/interrupt.cjs +4 -4
  158. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  159. package/_cjs/IO/api/memoize.cjs.map +1 -1
  160. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  161. package/_cjs/IO/api/once.cjs.map +1 -1
  162. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  163. package/_cjs/IO/api/provideScope.cjs.map +1 -1
  164. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  165. package/_cjs/IO/api/race.cjs +1 -1
  166. package/_cjs/IO/api/race.cjs.map +1 -1
  167. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  168. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  169. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  170. package/_cjs/IO/api/repeat.cjs +2 -2
  171. package/_cjs/IO/api/repeat.cjs.map +1 -1
  172. package/_cjs/IO/api/retry.cjs.map +1 -1
  173. package/_cjs/IO/api/schedule.cjs.map +1 -1
  174. package/_cjs/IO/api/scope.cjs.map +1 -1
  175. package/_cjs/IO/api/scopeWith.cjs.map +1 -1
  176. package/_cjs/IO/api/scoped.cjs.map +1 -1
  177. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  178. package/_cjs/IO/api/sleep.cjs.map +1 -1
  179. package/_cjs/IO/api/stateful.cjs.map +1 -1
  180. package/_cjs/IO/api/supervised.cjs.map +1 -1
  181. package/_cjs/IO/api/timeout.cjs +1 -1
  182. package/_cjs/IO/api/timeout.cjs.map +1 -1
  183. package/_cjs/IO/api/transplant.cjs +1 -1
  184. package/_cjs/IO/api/transplant.cjs.map +1 -1
  185. package/_cjs/IO/api/whenFiberRef.cjs.map +1 -1
  186. package/_cjs/IO/api/whenRef.cjs.map +1 -1
  187. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  188. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  189. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  190. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  191. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  192. package/_cjs/IO/api/zipConcurrent.cjs +1 -1
  193. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  194. package/_cjs/IO/api.cjs +34 -33
  195. package/_cjs/IO/api.cjs.map +1 -1
  196. package/_cjs/IO/definition.cjs +17 -31
  197. package/_cjs/IO/definition.cjs.map +1 -1
  198. package/_cjs/IO/runtime.cjs +54 -41
  199. package/_cjs/IO/runtime.cjs.map +1 -1
  200. package/_cjs/IO.cjs.map +1 -1
  201. package/_cjs/IOEnv/definition.cjs.map +1 -1
  202. package/_cjs/IOEnv/live.cjs.map +1 -1
  203. package/_cjs/IOEnv/services.cjs.map +1 -1
  204. package/_cjs/IOEnv.cjs.map +1 -1
  205. package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
  206. package/_cjs/InterruptStatus/definition.cjs.map +1 -1
  207. package/_cjs/InterruptStatus.cjs.map +1 -1
  208. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  209. package/_cjs/Layer/api.cjs.map +1 -1
  210. package/_cjs/Layer/definition.cjs.map +1 -1
  211. package/_cjs/Layer.cjs.map +1 -1
  212. package/_cjs/LogLevel.cjs.map +1 -1
  213. package/_cjs/LogSpan.cjs.map +1 -1
  214. package/_cjs/Logger/api.cjs +3 -2
  215. package/_cjs/Logger/api.cjs.map +1 -1
  216. package/_cjs/Logger/constructors.cjs.map +1 -1
  217. package/_cjs/Logger/definition.cjs.map +1 -1
  218. package/_cjs/Logger.cjs.map +1 -1
  219. package/_cjs/MVar/api.cjs +11 -11
  220. package/_cjs/MVar/api.cjs.map +1 -1
  221. package/_cjs/MVar/definition.cjs.map +1 -1
  222. package/_cjs/MVar.cjs.map +1 -1
  223. package/_cjs/Push/api.cjs +3 -3
  224. package/_cjs/Push/api.cjs.map +1 -1
  225. package/_cjs/Push/definition.cjs.map +1 -1
  226. package/_cjs/Push/internal.cjs +1 -1
  227. package/_cjs/Push/internal.cjs.map +1 -1
  228. package/_cjs/Push.cjs.map +1 -1
  229. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  230. package/_cjs/Queue/api/filterInputIO.cjs +2 -2
  231. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  232. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  233. package/_cjs/Queue/api/operations.cjs.map +1 -1
  234. package/_cjs/Queue/api/poll.cjs.map +1 -1
  235. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  236. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  237. package/_cjs/Queue/api.cjs.map +1 -1
  238. package/_cjs/Queue/constructors.cjs.map +1 -1
  239. package/_cjs/Queue/definition.cjs.map +1 -1
  240. package/_cjs/Queue/internal.cjs.map +1 -1
  241. package/_cjs/Queue/strategy.cjs.map +1 -1
  242. package/_cjs/Queue.cjs.map +1 -1
  243. package/_cjs/Random/api.cjs.map +1 -1
  244. package/_cjs/Random/definition.cjs.map +1 -1
  245. package/_cjs/Random/live.cjs.map +1 -1
  246. package/_cjs/Random.cjs.map +1 -1
  247. package/_cjs/Ref/Atomic.cjs.map +1 -1
  248. package/_cjs/Ref/Derived.cjs +4 -4
  249. package/_cjs/Ref/Derived.cjs.map +1 -1
  250. package/_cjs/Ref/DerivedAll.cjs +5 -5
  251. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  252. package/_cjs/Ref/Synchronized/api.cjs +3 -3
  253. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  254. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  255. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  256. package/_cjs/Ref/Synchronized.cjs.map +1 -1
  257. package/_cjs/Ref/api/collect.cjs +1 -1
  258. package/_cjs/Ref/api/collect.cjs.map +1 -1
  259. package/_cjs/Ref/api/dimap.cjs +3 -3
  260. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  261. package/_cjs/Ref/api/filter.cjs +2 -2
  262. package/_cjs/Ref/api/filter.cjs.map +1 -1
  263. package/_cjs/Ref/api/get.cjs.map +1 -1
  264. package/_cjs/Ref/api/match.cjs.map +1 -1
  265. package/_cjs/Ref/api/matchAll.cjs.map +1 -1
  266. package/_cjs/Ref/api/modify.cjs.map +1 -1
  267. package/_cjs/Ref/api/set.cjs.map +1 -1
  268. package/_cjs/Ref/api.cjs +3 -1
  269. package/_cjs/Ref/api.cjs.map +1 -1
  270. package/_cjs/Ref/constructors.cjs.map +1 -1
  271. package/_cjs/Ref/definition.cjs.map +1 -1
  272. package/_cjs/Ref.cjs.map +1 -1
  273. package/_cjs/RefSubject/Atomic.cjs +6 -6
  274. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  275. package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
  276. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  277. package/_cjs/RefSubject/api.cjs.map +1 -1
  278. package/_cjs/RefSubject/definition.cjs.map +1 -1
  279. package/_cjs/RefSubject.cjs.map +1 -1
  280. package/_cjs/Reloadable/api.cjs.map +1 -1
  281. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  282. package/_cjs/Reloadable/definition.cjs.map +1 -1
  283. package/_cjs/Reloadable.cjs.map +1 -1
  284. package/_cjs/RuntimeFlag.cjs.map +1 -1
  285. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  286. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  287. package/_cjs/RuntimeFlags.cjs.map +1 -1
  288. package/_cjs/STM/api/atomically.cjs.map +1 -1
  289. package/_cjs/STM/api/core-api.cjs.map +1 -1
  290. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  291. package/_cjs/STM/api.cjs +5 -5
  292. package/_cjs/STM/api.cjs.map +1 -1
  293. package/_cjs/STM/definition.cjs +1 -1
  294. package/_cjs/STM/definition.cjs.map +1 -1
  295. package/_cjs/STM/driver.cjs.map +1 -1
  296. package/_cjs/STM/internal/CommitState.cjs +5 -4
  297. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  298. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  299. package/_cjs/STM/internal/Journal.cjs +8 -8
  300. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  301. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  302. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  303. package/_cjs/STM.cjs.map +1 -1
  304. package/_cjs/Schedule/Decision.cjs.map +1 -1
  305. package/_cjs/Schedule/Driver.cjs.map +1 -1
  306. package/_cjs/Schedule/api/driver.cjs +3 -3
  307. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  308. package/_cjs/Schedule/api.cjs +9 -9
  309. package/_cjs/Schedule/api.cjs.map +1 -1
  310. package/_cjs/Schedule/definition.cjs.map +1 -1
  311. package/_cjs/Schedule.cjs.map +1 -1
  312. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  313. package/_cjs/Scope/Finalizer.cjs.map +1 -1
  314. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
  315. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  316. package/_cjs/Scope/ReleaseMap/api.cjs +3 -3
  317. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  318. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  319. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  320. package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
  321. package/_cjs/Scope/api.cjs.map +1 -1
  322. package/_cjs/Scope/definition.cjs.map +1 -1
  323. package/_cjs/Scope.cjs.map +1 -1
  324. package/_cjs/ScopedRef/api.cjs +1 -1
  325. package/_cjs/ScopedRef/api.cjs.map +1 -1
  326. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  327. package/_cjs/ScopedRef.cjs.map +1 -1
  328. package/_cjs/Semaphore.cjs +2 -2
  329. package/_cjs/Semaphore.cjs.map +1 -1
  330. package/_cjs/Sink/api.cjs +6 -6
  331. package/_cjs/Sink/api.cjs.map +1 -1
  332. package/_cjs/Sink/definition.cjs.map +1 -1
  333. package/_cjs/Sink.cjs.map +1 -1
  334. package/_cjs/State/api.cjs.map +1 -1
  335. package/_cjs/State/definition.cjs.map +1 -1
  336. package/_cjs/State/internal.cjs.map +1 -1
  337. package/_cjs/State.cjs.map +1 -1
  338. package/_cjs/Stream/api/zipAllWith.cjs +8 -8
  339. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  340. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  341. package/_cjs/Stream/api/zipWithChunks.cjs +6 -6
  342. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  343. package/_cjs/Stream/api.cjs +370 -130
  344. package/_cjs/Stream/api.cjs.map +1 -1
  345. package/_cjs/Stream/definition.cjs.map +1 -1
  346. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  347. package/_cjs/Stream/internal/Handoff.cjs +2 -2
  348. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  349. package/_cjs/Stream/internal/Pull.cjs +2 -2
  350. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  351. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  352. package/_cjs/Stream/internal/Take.cjs +6 -6
  353. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  354. package/_cjs/Stream/internal/util.cjs +3 -2
  355. package/_cjs/Stream/internal/util.cjs.map +1 -1
  356. package/_cjs/Stream.cjs.map +1 -1
  357. package/_cjs/Subject/Atomic.cjs.map +1 -1
  358. package/_cjs/Subject/api.cjs.map +1 -1
  359. package/_cjs/Subject/definition.cjs.map +1 -1
  360. package/_cjs/Subject.cjs.map +1 -1
  361. package/_cjs/SubscriptionRef.cjs.map +1 -1
  362. package/_cjs/Supervisor/api.cjs.map +1 -1
  363. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  364. package/_cjs/Supervisor/definition.cjs.map +1 -1
  365. package/_cjs/Supervisor.cjs.map +1 -1
  366. package/_cjs/SupervisorPatch.cjs.map +1 -1
  367. package/_cjs/TExit/constructors.cjs.map +1 -1
  368. package/_cjs/TExit/definition.cjs.map +1 -1
  369. package/_cjs/TExit.cjs.map +1 -1
  370. package/_cjs/TFuture/api.cjs +3 -3
  371. package/_cjs/TFuture/api.cjs.map +1 -1
  372. package/_cjs/TFuture/constructors.cjs +1 -1
  373. package/_cjs/TFuture/constructors.cjs.map +1 -1
  374. package/_cjs/TFuture/definition.cjs.map +1 -1
  375. package/_cjs/TFuture.cjs.map +1 -1
  376. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  377. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  378. package/_cjs/TReentrantLock.cjs.map +1 -1
  379. package/_cjs/TRef/api.cjs.map +1 -1
  380. package/_cjs/TRef/constructors.cjs.map +1 -1
  381. package/_cjs/TRef/definition.cjs +9 -9
  382. package/_cjs/TRef/definition.cjs.map +1 -1
  383. package/_cjs/TRef.cjs.map +1 -1
  384. package/_cjs/TSemaphore/api.cjs.map +1 -1
  385. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  386. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  387. package/_cjs/TSemaphore.cjs.map +1 -1
  388. package/_cjs/TxnId.cjs.map +1 -1
  389. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  390. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  391. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  392. package/_cjs/collection/immutable/Conc/findIO.cjs +3 -3
  393. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  394. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  395. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  396. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  397. package/_cjs/data/Exit/foreachIO.cjs +1 -1
  398. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  399. package/_cjs/global.cjs.map +1 -1
  400. package/_cjs/index.cjs.map +1 -1
  401. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  402. package/_cjs/internal/HashedPair.cjs.map +1 -1
  403. package/_cjs/internal/Hub.cjs.map +1 -1
  404. package/_cjs/internal/IsFatal.cjs.map +1 -1
  405. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  406. package/_cjs/internal/Scheduler.cjs.map +1 -1
  407. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  408. package/_mjs/Cached/api.mjs.map +1 -1
  409. package/_mjs/Cached/definition.mjs.map +1 -1
  410. package/_mjs/Cached/internal.mjs.map +1 -1
  411. package/_mjs/Cached.mjs.map +1 -1
  412. package/_mjs/CancellerState.mjs.map +1 -1
  413. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  414. package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -1
  415. package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
  416. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  417. package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
  418. package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
  419. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -1
  420. package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
  421. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  422. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
  423. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  424. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  425. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  426. package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
  427. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  428. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  429. package/_mjs/Channel/api/mergeWith.mjs +4 -4
  430. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  431. package/_mjs/Channel/api/run.mjs.map +1 -1
  432. package/_mjs/Channel/api/runCollect.mjs.map +1 -1
  433. package/_mjs/Channel/api/runDrain.mjs.map +1 -1
  434. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  435. package/_mjs/Channel/api/toPull.mjs +2 -2
  436. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  437. package/_mjs/Channel/api/zipConcurrent.mjs.map +1 -1
  438. package/_mjs/Channel/api.mjs +6 -6
  439. package/_mjs/Channel/api.mjs.map +1 -1
  440. package/_mjs/Channel/core-api.mjs.map +1 -1
  441. package/_mjs/Channel/definition.mjs.map +1 -1
  442. package/_mjs/Channel/internal/AsyncInputConsumer.mjs.map +1 -1
  443. package/_mjs/Channel/internal/AsyncInputProducer.mjs.map +1 -1
  444. package/_mjs/Channel/internal/ChannelExecutor.mjs +10 -10
  445. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  446. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  447. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  448. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  449. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +3 -3
  450. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  451. package/_mjs/Channel.mjs.map +1 -1
  452. package/_mjs/Clock/api.mjs.map +1 -1
  453. package/_mjs/Clock/definition.mjs.map +1 -1
  454. package/_mjs/Clock/live.mjs +1 -1
  455. package/_mjs/Clock/live.mjs.map +1 -1
  456. package/_mjs/Clock.mjs.map +1 -1
  457. package/_mjs/Console/api.mjs.map +1 -1
  458. package/_mjs/Console/definition.mjs.map +1 -1
  459. package/_mjs/Console/live.mjs.map +1 -1
  460. package/_mjs/Console.mjs.map +1 -1
  461. package/_mjs/CountdownLatch.mjs.map +1 -1
  462. package/_mjs/Differ/api.mjs.map +1 -1
  463. package/_mjs/Differ/definition.mjs.map +1 -1
  464. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  465. package/_mjs/Fiber/FiberRuntime.mjs +79 -48
  466. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  467. package/_mjs/Fiber/api/await.mjs.map +1 -1
  468. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  469. package/_mjs/Fiber/api/children.mjs.map +1 -1
  470. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  471. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  472. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  473. package/_mjs/Fiber/api/id.mjs.map +1 -1
  474. package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
  475. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  476. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  477. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  478. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  479. package/_mjs/Fiber/api/join.mjs.map +1 -1
  480. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  481. package/_mjs/Fiber/api/location.mjs.map +1 -1
  482. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  483. package/_mjs/Fiber/api/mapIO.mjs +1 -1
  484. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  485. package/_mjs/Fiber/api/poll.mjs.map +1 -1
  486. package/_mjs/Fiber/api/zipWith.mjs +1 -1
  487. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  488. package/_mjs/Fiber/constructors.mjs +5 -5
  489. package/_mjs/Fiber/constructors.mjs.map +1 -1
  490. package/_mjs/Fiber/definition.mjs.map +1 -1
  491. package/_mjs/Fiber.mjs.map +1 -1
  492. package/_mjs/FiberDescriptor.mjs.map +1 -1
  493. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  494. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  495. package/_mjs/FiberRef/api.mjs.map +1 -1
  496. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  497. package/_mjs/FiberRef/definition.mjs.map +1 -1
  498. package/_mjs/FiberRef/operations.mjs.map +1 -1
  499. package/_mjs/FiberRef/unsafe.mjs +3 -2
  500. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  501. package/_mjs/FiberRef.mjs.map +1 -1
  502. package/_mjs/FiberRefs/api.mjs.map +1 -1
  503. package/_mjs/FiberRefs/definition.mjs.map +1 -1
  504. package/_mjs/FiberRefs.mjs.map +1 -1
  505. package/_mjs/FiberScope/constructors.mjs.map +1 -1
  506. package/_mjs/FiberScope/definition.mjs.map +1 -1
  507. package/_mjs/FiberScope.mjs.map +1 -1
  508. package/_mjs/FiberStatus/constructors.mjs.map +1 -1
  509. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  510. package/_mjs/FiberStatus.mjs.map +1 -1
  511. package/_mjs/Future/api.mjs +4 -4
  512. package/_mjs/Future/api.mjs.map +1 -1
  513. package/_mjs/Future/constructors.mjs.map +1 -1
  514. package/_mjs/Future/definition.mjs.map +1 -1
  515. package/_mjs/Future.mjs.map +1 -1
  516. package/_mjs/Hub/api.mjs.map +1 -1
  517. package/_mjs/Hub/definition.mjs.map +1 -1
  518. package/_mjs/Hub/internal.mjs +1 -1
  519. package/_mjs/Hub/internal.mjs.map +1 -1
  520. package/_mjs/Hub.mjs.map +1 -1
  521. package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
  522. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  523. package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -1
  524. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  525. package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
  526. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  527. package/_mjs/IO/api/asyncIO.mjs +1 -1
  528. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  529. package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
  530. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  531. package/_mjs/IO/api/blocking.mjs.map +1 -1
  532. package/_mjs/IO/api/bracket.mjs.map +1 -1
  533. package/_mjs/IO/api/bracketExit.mjs +1 -1
  534. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  535. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  536. package/_mjs/IO/api/concurrency.mjs +3 -3
  537. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  538. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  539. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  540. package/_mjs/IO/api/daemonChildren.mjs +1 -1
  541. package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
  542. package/_mjs/IO/api/delay.mjs.map +1 -1
  543. package/_mjs/IO/api/descriptor.mjs.map +1 -1
  544. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  545. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  546. package/_mjs/IO/api/environment.mjs.map +1 -1
  547. package/_mjs/IO/api/foreachConcurrent.mjs +1 -1
  548. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  549. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  550. package/_mjs/IO/api/fork.mjs +2 -1
  551. package/_mjs/IO/api/fork.mjs.map +1 -1
  552. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  553. package/_mjs/IO/api/forkDaemon.mjs.map +1 -1
  554. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  555. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  556. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  557. package/_mjs/IO/api/interrupt.mjs +4 -4
  558. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  559. package/_mjs/IO/api/memoize.mjs.map +1 -1
  560. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  561. package/_mjs/IO/api/once.mjs.map +1 -1
  562. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  563. package/_mjs/IO/api/provideScope.mjs.map +1 -1
  564. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  565. package/_mjs/IO/api/race.mjs +1 -1
  566. package/_mjs/IO/api/race.mjs.map +1 -1
  567. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  568. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  569. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  570. package/_mjs/IO/api/repeat.mjs +2 -2
  571. package/_mjs/IO/api/repeat.mjs.map +1 -1
  572. package/_mjs/IO/api/retry.mjs.map +1 -1
  573. package/_mjs/IO/api/schedule.mjs.map +1 -1
  574. package/_mjs/IO/api/scope.mjs.map +1 -1
  575. package/_mjs/IO/api/scopeWith.mjs.map +1 -1
  576. package/_mjs/IO/api/scoped.mjs.map +1 -1
  577. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  578. package/_mjs/IO/api/sleep.mjs.map +1 -1
  579. package/_mjs/IO/api/stateful.mjs.map +1 -1
  580. package/_mjs/IO/api/supervised.mjs.map +1 -1
  581. package/_mjs/IO/api/timeout.mjs +1 -1
  582. package/_mjs/IO/api/timeout.mjs.map +1 -1
  583. package/_mjs/IO/api/transplant.mjs +1 -1
  584. package/_mjs/IO/api/transplant.mjs.map +1 -1
  585. package/_mjs/IO/api/whenFiberRef.mjs.map +1 -1
  586. package/_mjs/IO/api/whenRef.mjs.map +1 -1
  587. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  588. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  589. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  590. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  591. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  592. package/_mjs/IO/api/zipConcurrent.mjs +1 -1
  593. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  594. package/_mjs/IO/api.mjs +33 -31
  595. package/_mjs/IO/api.mjs.map +1 -1
  596. package/_mjs/IO/definition.mjs +16 -27
  597. package/_mjs/IO/definition.mjs.map +1 -1
  598. package/_mjs/IO/runtime.mjs +50 -36
  599. package/_mjs/IO/runtime.mjs.map +1 -1
  600. package/_mjs/IO.mjs.map +1 -1
  601. package/_mjs/IOEnv/definition.mjs.map +1 -1
  602. package/_mjs/IOEnv/live.mjs.map +1 -1
  603. package/_mjs/IOEnv/services.mjs.map +1 -1
  604. package/_mjs/IOEnv.mjs.map +1 -1
  605. package/_mjs/InterruptStatus/constructors.mjs.map +1 -1
  606. package/_mjs/InterruptStatus/definition.mjs.map +1 -1
  607. package/_mjs/InterruptStatus.mjs.map +1 -1
  608. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  609. package/_mjs/Layer/api.mjs.map +1 -1
  610. package/_mjs/Layer/definition.mjs.map +1 -1
  611. package/_mjs/Layer.mjs.map +1 -1
  612. package/_mjs/LogLevel.mjs.map +1 -1
  613. package/_mjs/LogSpan.mjs.map +1 -1
  614. package/_mjs/Logger/api.mjs +3 -2
  615. package/_mjs/Logger/api.mjs.map +1 -1
  616. package/_mjs/Logger/constructors.mjs.map +1 -1
  617. package/_mjs/Logger/definition.mjs.map +1 -1
  618. package/_mjs/Logger.mjs.map +1 -1
  619. package/_mjs/MVar/api.mjs +11 -11
  620. package/_mjs/MVar/api.mjs.map +1 -1
  621. package/_mjs/MVar/definition.mjs.map +1 -1
  622. package/_mjs/MVar.mjs.map +1 -1
  623. package/_mjs/Push/api.mjs +3 -3
  624. package/_mjs/Push/api.mjs.map +1 -1
  625. package/_mjs/Push/definition.mjs.map +1 -1
  626. package/_mjs/Push/internal.mjs +1 -1
  627. package/_mjs/Push/internal.mjs.map +1 -1
  628. package/_mjs/Push.mjs.map +1 -1
  629. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  630. package/_mjs/Queue/api/filterInputIO.mjs +2 -2
  631. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  632. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  633. package/_mjs/Queue/api/operations.mjs.map +1 -1
  634. package/_mjs/Queue/api/poll.mjs.map +1 -1
  635. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  636. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  637. package/_mjs/Queue/api.mjs.map +1 -1
  638. package/_mjs/Queue/constructors.mjs.map +1 -1
  639. package/_mjs/Queue/definition.mjs.map +1 -1
  640. package/_mjs/Queue/internal.mjs.map +1 -1
  641. package/_mjs/Queue/strategy.mjs.map +1 -1
  642. package/_mjs/Queue.mjs.map +1 -1
  643. package/_mjs/Random/api.mjs.map +1 -1
  644. package/_mjs/Random/definition.mjs.map +1 -1
  645. package/_mjs/Random/live.mjs.map +1 -1
  646. package/_mjs/Random.mjs.map +1 -1
  647. package/_mjs/Ref/Atomic.mjs.map +1 -1
  648. package/_mjs/Ref/Derived.mjs +4 -4
  649. package/_mjs/Ref/Derived.mjs.map +1 -1
  650. package/_mjs/Ref/DerivedAll.mjs +5 -5
  651. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  652. package/_mjs/Ref/Synchronized/api.mjs +3 -3
  653. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  654. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  655. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  656. package/_mjs/Ref/Synchronized.mjs.map +1 -1
  657. package/_mjs/Ref/api/collect.mjs +1 -1
  658. package/_mjs/Ref/api/collect.mjs.map +1 -1
  659. package/_mjs/Ref/api/dimap.mjs +3 -3
  660. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  661. package/_mjs/Ref/api/filter.mjs +2 -2
  662. package/_mjs/Ref/api/filter.mjs.map +1 -1
  663. package/_mjs/Ref/api/get.mjs.map +1 -1
  664. package/_mjs/Ref/api/match.mjs.map +1 -1
  665. package/_mjs/Ref/api/matchAll.mjs.map +1 -1
  666. package/_mjs/Ref/api/modify.mjs.map +1 -1
  667. package/_mjs/Ref/api/set.mjs.map +1 -1
  668. package/_mjs/Ref/api.mjs +2 -1
  669. package/_mjs/Ref/api.mjs.map +1 -1
  670. package/_mjs/Ref/constructors.mjs.map +1 -1
  671. package/_mjs/Ref/definition.mjs.map +1 -1
  672. package/_mjs/Ref.mjs.map +1 -1
  673. package/_mjs/RefSubject/Atomic.mjs +6 -6
  674. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  675. package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -1
  676. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  677. package/_mjs/RefSubject/api.mjs.map +1 -1
  678. package/_mjs/RefSubject/definition.mjs.map +1 -1
  679. package/_mjs/RefSubject.mjs.map +1 -1
  680. package/_mjs/Reloadable/api.mjs.map +1 -1
  681. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  682. package/_mjs/Reloadable/definition.mjs.map +1 -1
  683. package/_mjs/Reloadable.mjs.map +1 -1
  684. package/_mjs/RuntimeFlag.mjs.map +1 -1
  685. package/_mjs/RuntimeFlags/Patch.mjs.map +1 -1
  686. package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
  687. package/_mjs/RuntimeFlags.mjs.map +1 -1
  688. package/_mjs/STM/api/atomically.mjs.map +1 -1
  689. package/_mjs/STM/api/core-api.mjs.map +1 -1
  690. package/_mjs/STM/api/core-constructors.mjs.map +1 -1
  691. package/_mjs/STM/api.mjs +5 -5
  692. package/_mjs/STM/api.mjs.map +1 -1
  693. package/_mjs/STM/definition.mjs +1 -1
  694. package/_mjs/STM/definition.mjs.map +1 -1
  695. package/_mjs/STM/driver.mjs.map +1 -1
  696. package/_mjs/STM/internal/CommitState.mjs +5 -4
  697. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  698. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  699. package/_mjs/STM/internal/Journal.mjs +8 -8
  700. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  701. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  702. package/_mjs/STM/internal/Versioned.mjs.map +1 -1
  703. package/_mjs/STM.mjs.map +1 -1
  704. package/_mjs/Schedule/Decision.mjs.map +1 -1
  705. package/_mjs/Schedule/Driver.mjs.map +1 -1
  706. package/_mjs/Schedule/api/driver.mjs +3 -3
  707. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  708. package/_mjs/Schedule/api.mjs +9 -9
  709. package/_mjs/Schedule/api.mjs.map +1 -1
  710. package/_mjs/Schedule/definition.mjs.map +1 -1
  711. package/_mjs/Schedule.mjs.map +1 -1
  712. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
  713. package/_mjs/Scope/Finalizer.mjs.map +1 -1
  714. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
  715. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  716. package/_mjs/Scope/ReleaseMap/api.mjs +3 -3
  717. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  718. package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
  719. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  720. package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
  721. package/_mjs/Scope/api.mjs.map +1 -1
  722. package/_mjs/Scope/definition.mjs.map +1 -1
  723. package/_mjs/Scope.mjs.map +1 -1
  724. package/_mjs/ScopedRef/api.mjs +1 -1
  725. package/_mjs/ScopedRef/api.mjs.map +1 -1
  726. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  727. package/_mjs/ScopedRef.mjs.map +1 -1
  728. package/_mjs/Semaphore.mjs +2 -2
  729. package/_mjs/Semaphore.mjs.map +1 -1
  730. package/_mjs/Sink/api.mjs +6 -6
  731. package/_mjs/Sink/api.mjs.map +1 -1
  732. package/_mjs/Sink/definition.mjs.map +1 -1
  733. package/_mjs/Sink.mjs.map +1 -1
  734. package/_mjs/State/api.mjs.map +1 -1
  735. package/_mjs/State/definition.mjs.map +1 -1
  736. package/_mjs/State/internal.mjs.map +1 -1
  737. package/_mjs/State.mjs.map +1 -1
  738. package/_mjs/Stream/api/zipAllWith.mjs +8 -8
  739. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  740. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  741. package/_mjs/Stream/api/zipWithChunks.mjs +6 -6
  742. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  743. package/_mjs/Stream/api.mjs +281 -58
  744. package/_mjs/Stream/api.mjs.map +1 -1
  745. package/_mjs/Stream/definition.mjs.map +1 -1
  746. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  747. package/_mjs/Stream/internal/Handoff.mjs +2 -2
  748. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  749. package/_mjs/Stream/internal/Pull.mjs +2 -2
  750. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  751. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  752. package/_mjs/Stream/internal/Take.mjs +6 -6
  753. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  754. package/_mjs/Stream/internal/util.mjs +3 -2
  755. package/_mjs/Stream/internal/util.mjs.map +1 -1
  756. package/_mjs/Stream.mjs.map +1 -1
  757. package/_mjs/Subject/Atomic.mjs.map +1 -1
  758. package/_mjs/Subject/api.mjs.map +1 -1
  759. package/_mjs/Subject/definition.mjs.map +1 -1
  760. package/_mjs/Subject.mjs.map +1 -1
  761. package/_mjs/SubscriptionRef.mjs.map +1 -1
  762. package/_mjs/Supervisor/api.mjs.map +1 -1
  763. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  764. package/_mjs/Supervisor/definition.mjs.map +1 -1
  765. package/_mjs/Supervisor.mjs.map +1 -1
  766. package/_mjs/SupervisorPatch.mjs.map +1 -1
  767. package/_mjs/TExit/constructors.mjs.map +1 -1
  768. package/_mjs/TExit/definition.mjs.map +1 -1
  769. package/_mjs/TExit.mjs.map +1 -1
  770. package/_mjs/TFuture/api.mjs +3 -3
  771. package/_mjs/TFuture/api.mjs.map +1 -1
  772. package/_mjs/TFuture/constructors.mjs +1 -1
  773. package/_mjs/TFuture/constructors.mjs.map +1 -1
  774. package/_mjs/TFuture/definition.mjs.map +1 -1
  775. package/_mjs/TFuture.mjs.map +1 -1
  776. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  777. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  778. package/_mjs/TReentrantLock.mjs.map +1 -1
  779. package/_mjs/TRef/api.mjs.map +1 -1
  780. package/_mjs/TRef/constructors.mjs.map +1 -1
  781. package/_mjs/TRef/definition.mjs +9 -9
  782. package/_mjs/TRef/definition.mjs.map +1 -1
  783. package/_mjs/TRef.mjs.map +1 -1
  784. package/_mjs/TSemaphore/api.mjs.map +1 -1
  785. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  786. package/_mjs/TSemaphore/definition.mjs.map +1 -1
  787. package/_mjs/TSemaphore.mjs.map +1 -1
  788. package/_mjs/TxnId.mjs.map +1 -1
  789. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  790. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  791. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  792. package/_mjs/collection/immutable/Conc/findIO.mjs +3 -3
  793. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  794. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  795. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  796. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  797. package/_mjs/data/Exit/foreachIO.mjs +1 -1
  798. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  799. package/_mjs/global.mjs.map +1 -1
  800. package/_mjs/index.mjs.map +1 -1
  801. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  802. package/_mjs/internal/HashedPair.mjs.map +1 -1
  803. package/_mjs/internal/Hub.mjs.map +1 -1
  804. package/_mjs/internal/IsFatal.mjs.map +1 -1
  805. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  806. package/_mjs/internal/Scheduler.mjs.map +1 -1
  807. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  808. package/_src/Fiber/FiberRuntime.ts +42 -19
  809. package/_src/Fiber/api/collectAll.ts +1 -1
  810. package/_src/Fiber/api/zipWith.ts +2 -2
  811. package/_src/IO/api/asyncIO.ts +1 -1
  812. package/_src/IO/api/bracketExit.ts +1 -1
  813. package/_src/IO/api/foreachConcurrent.ts +1 -1
  814. package/_src/IO/api/interrupt.ts +2 -2
  815. package/_src/IO/api/race.ts +2 -2
  816. package/_src/IO/api/zipConcurrent.ts +2 -2
  817. package/_src/IO/api.ts +5 -4
  818. package/_src/IO/definition.ts +35 -28
  819. package/_src/IO/runtime.ts +41 -34
  820. package/_src/RefSubject/Atomic.ts +4 -4
  821. package/_src/STM/definition.ts +1 -1
  822. package/_src/Schedule/api.ts +1 -1
  823. package/_src/Stream/api.ts +258 -8
  824. package/package.json +3 -3
  825. package/IOSpec.d.ts +0 -22
  826. package/Latch.d.ts +0 -3
  827. package/runTests.d.ts +0 -1
@@ -51,18 +51,21 @@ import * as tsplus_module_49 from "@fncts/io/Fiber/api/poll";
51
51
  import * as tsplus_module_50 from "@fncts/io/IO/api/environment";
52
52
  import * as tsplus_module_51 from "@fncts/io/collection/immutable/Conc/findIO";
53
53
  import * as tsplus_module_52 from "@fncts/base/data/Exit/definition";
54
- import * as tsplus_module_53 from "@fncts/io/Stream/internal/Pull";
55
- import * as tsplus_module_54 from "@fncts/io/Queue/api/takeBetween";
56
- import * as tsplus_module_55 from "@fncts/io/Channel/api/interruptWhen";
57
- import * as tsplus_module_56 from "@fncts/io/Channel/api/mapOutConcurrentIO";
58
- import * as tsplus_module_57 from "@fncts/io/Channel/api/mergeMap";
59
- import * as tsplus_module_58 from "@fncts/io/Channel/internal/MergeDecision";
60
- import * as tsplus_module_59 from "@fncts/io/Channel/api/mergeWith";
61
- import * as tsplus_module_60 from "@fncts/io/Layer/MemoMap";
62
- import * as tsplus_module_61 from "@fncts/io/Layer/api";
63
- import * as tsplus_module_62 from "@fncts/io/Channel/api/runDrain";
64
- import * as tsplus_module_63 from "@fncts/base/data/exceptions";
65
- import * as tsplus_module_64 from "@fncts/io/Channel/api/toPull";
54
+ import * as tsplus_module_53 from "@fncts/base/collection/immutable/Conc/definition";
55
+ import * as tsplus_module_54 from "@fncts/io/Stream/internal/Pull";
56
+ import * as tsplus_module_55 from "@fncts/io/Queue/api/takeBetween";
57
+ import * as tsplus_module_56 from "@fncts/io/Channel/api/interruptWhen";
58
+ import * as tsplus_module_57 from "@fncts/io/Channel/api/mapOutConcurrentIO";
59
+ import * as tsplus_module_58 from "@fncts/io/Channel/api/mergeMap";
60
+ import * as tsplus_module_59 from "@fncts/io/Channel/internal/MergeDecision";
61
+ import * as tsplus_module_60 from "@fncts/io/Channel/api/mergeWith";
62
+ import * as tsplus_module_61 from "@fncts/io/Layer/MemoMap";
63
+ import * as tsplus_module_62 from "@fncts/io/Layer/api";
64
+ import * as tsplus_module_63 from "@fncts/io/Channel/api/runDrain";
65
+ import * as tsplus_module_64 from "@fncts/base/data/Maybe/definition";
66
+ import * as tsplus_module_65 from "@fncts/base/data/exceptions";
67
+ import * as tsplus_module_66 from "@fncts/io/IO/api/interrupt";
68
+ import * as tsplus_module_67 from "@fncts/io/Channel/api/toPull";
66
69
  export const aggregateAsyncWithin = aggregateAsyncWithin_1;
67
70
  export const aggregateAsyncWithinEither = aggregateAsyncWithinEither_1;
68
71
  export const zipRight = zipRight_1;
@@ -76,11 +79,14 @@ export const flatMap = flatMap_1;
76
79
  export const chunks = chunks_1;
77
80
  export const concat = concat_1;
78
81
  export const crossWith = crossWith_1;
82
+ export const defer = defer_1;
79
83
  export const distributedWithDynamic = distributedWithDynamic_1;
84
+ export const drain = drain_1;
80
85
  export const drop = drop_1;
81
86
  export const dropWhile = dropWhile_1;
82
87
  export const ensuring = ensuring_1;
83
88
  export const environment = environment_1;
89
+ export const execute = execute_1;
84
90
  export const failNow = failNow_1;
85
91
  export const failCauseNow = failCauseNow_1;
86
92
  export const filterMap = filterMap_1;
@@ -106,6 +112,7 @@ export const mapChunks = mapChunks_1;
106
112
  export const mapConcatChunk = mapConcatChunk_1;
107
113
  export const mapError = mapError_1;
108
114
  export const mapIO = mapIO_1;
115
+ export const merge = merge_1;
109
116
  export const mergeMap = mergeMap_1;
110
117
  export const mergeEither = mergeEither_1;
111
118
  export const mergeWith = mergeWith_1;
@@ -125,6 +132,8 @@ export const runScoped = runScoped_1;
125
132
  export const scanIO = scanIO_1;
126
133
  export const scanReduceIO = scanReduceIO_1;
127
134
  export const succeedNow = succeedNow_1;
135
+ export const tap = tap_1;
136
+ export const tapError = tapError_1;
128
137
  export const throttleEnforceIO = throttleEnforceIO_1;
129
138
  export const toHub = toHub_1;
130
139
  export const toPull = toPull_1;
@@ -136,7 +145,7 @@ export const unfoldIO = unfoldIO_1;
136
145
  export const unfoldChunk = unfoldChunk_1;
137
146
  export const unwrap = unwrap_1;
138
147
  export const unwrapScoped = unwrapScoped_1;
139
- import { constVoid, identity, tuple } from "@fncts/base/data/function";
148
+ import { identity, tuple } from "@fncts/base/data/function";
140
149
  import { DEFAULT_CHUNK_SIZE, Stream } from "./definition.mjs";
141
150
  import { Handoff } from "./internal/Handoff.mjs";
142
151
  import { ScheduleEnd, UpstreamEnd } from "./internal/SinkEndReason.mjs";
@@ -174,7 +183,7 @@ export function aggregateAsync(sink, __tsplusTrace) {
174
183
  */
175
184
  function aggregateAsyncWithin_1(sink, schedule, __tsplusTrace) {
176
185
  return stream => {
177
- return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
186
+ return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(__tsplusTrace), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
178
187
  };
179
188
  }
180
189
  /**
@@ -227,15 +236,15 @@ function aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace) {
227
236
  function handleSide(leftovers, b, c, __tsplusTrace) {
228
237
  return tsplus_module_10.unwrap(() => tsplus_module_1.zipRight(tsplus_module_1.map(reason => tsplus_module_21.matchSinkEndReason({
229
238
  ScheduleEnd: () => tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(consumed_ => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => {
230
- const toWrite = tsplus_module_20.match(() => tsplus_module_19.make(tsplus_module_18.right(b)), c => tsplus_module_19.make(tsplus_module_18.right(b), tsplus_module_18.left(c)))(c);
239
+ const toWrite = tsplus_module_20.match(() => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace)), c => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace), tsplus_module_18.left(c, __tsplusTrace)))(c);
231
240
  return consumed_ ? tsplus_module_11.zipRight(scheduledAggregator(sinkFiber, scheduleFiber))(tsplus_module_10.write(() => toWrite)) : scheduledAggregator(sinkFiber, scheduleFiber);
232
- }, __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace))),
233
- UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b))) : tsplus_module_10.unit, __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)))
241
+ }, __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b, __tsplusTrace), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace))),
242
+ UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace))) : tsplus_module_10.unit, __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)))
234
243
  })(reason), __tsplusTrace)(tsplus_module_14.get(sinkEndReason, __tsplusTrace)), __tsplusTrace)(tsplus_module_13.set(tsplus_module_12.flatten(leftovers), __tsplusTrace)(sinkLeftovers)));
235
244
  }
236
- return tsplus_module_10.unwrap(() => tsplus_module_26.raceWith(() => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_23.interrupt(scheduleFiber)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_25.failureOrCause(cause)), c => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)));
245
+ return tsplus_module_10.unwrap(() => tsplus_module_26.raceWith(() => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_23.interrupt(scheduleFiber)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_25.failureOrCause(cause)), c => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)));
237
246
  };
238
- return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
247
+ return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
239
248
  }, __tsplusTrace)(fromIO_1(deps, __tsplusTrace));
240
249
  };
241
250
  }
@@ -282,7 +291,11 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
282
291
  return ensuring_1(canceler, __tsplusTrace)(new Stream(loop));
283
292
  }, stream => unwrap_1(tsplus_module_1.as(() => stream, __tsplusTrace)(tsplus_module_28.shutdown(output, __tsplusTrace)), __tsplusTrace))(eitherStream), __tsplusTrace)(tsplus_module_1.succeed(() => register((k, cb) => {
284
293
  const effect = tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k));
285
- return runtime.unsafeRunAsyncWith(effect, cb || constVoid, __tsplusTrace);
294
+ const fiber = runtime.makeFiber(effect, __tsplusTrace);
295
+ if (cb) {
296
+ fiber.addObserver(cb);
297
+ }
298
+ fiber.start(effect);
286
299
  }), __tsplusTrace)), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), queue => tsplus_module_28.shutdown(queue, __tsplusTrace), __tsplusTrace)), __tsplusTrace);
287
300
  }
288
301
  /**
@@ -294,7 +307,7 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
294
307
  * @tsplus static fncts.io.StreamOps asyncMaybe
295
308
  */
296
309
  function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
297
- return asyncInterrupt_1(k => tsplus_module_20.match(() => tsplus_module_18.left(tsplus_module_1.unit), tsplus_module_18.right)(register(k)), outputBuffer, __tsplusTrace);
310
+ return asyncInterrupt_1(k => tsplus_module_20.match(() => tsplus_module_18.left(tsplus_module_1.unit, __tsplusTrace), tsplus_module_18.right)(register(k)), outputBuffer, __tsplusTrace);
298
311
  }
299
312
  /**
300
313
  * @tsplus static fncts.io.StreamOps async
@@ -302,7 +315,7 @@ function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
302
315
  export function async(register, outputBuffer = 16, __tsplusTrace) {
303
316
  return asyncMaybe_1(cb => {
304
317
  register(cb);
305
- return tsplus_module_3.nothing();
318
+ return tsplus_module_3.nothing(__tsplusTrace);
306
319
  }, outputBuffer, __tsplusTrace);
307
320
  }
308
321
  /**
@@ -312,7 +325,14 @@ export function asyncIO(register, outputBuffer = 16, __tsplusTrace) {
312
325
  return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(() => {
313
326
  const loop = tsplus_module_10.unwrap(() => tsplus_module_1.matchCauseIO(cause => tsplus_module_1.as(() => tsplus_module_4.match(maybeError => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow)(maybeError), tsplus_module_11.failCauseNow)(tsplus_module_25.failureOrCause(cause)), __tsplusTrace)(tsplus_module_28.shutdown(output, __tsplusTrace)), as => tsplus_module_1.succeed(() => tsplus_module_11.zipRight(loop)(tsplus_module_10.writeNow(as)), __tsplusTrace), __tsplusTrace)(tsplus_module_1.flatMap(take => tsplus_module_27.done(take), __tsplusTrace)(tsplus_module_28.take(output, __tsplusTrace))));
314
327
  return loop;
315
- }, __tsplusTrace)(register((k, cb) => runtime.unsafeRunAsyncWith(tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k)), cb || constVoid, __tsplusTrace))), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace))));
328
+ }, __tsplusTrace)(register((k, cb) => {
329
+ const io = tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k));
330
+ const fiber = runtime.makeFiber(io, __tsplusTrace);
331
+ if (cb) {
332
+ fiber.addObserver(cb);
333
+ }
334
+ fiber.start(io);
335
+ })), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace))));
316
336
  }
317
337
  /**
318
338
  * Returns a stream whose failure and success channels have been mapped by
@@ -518,7 +538,7 @@ export function chunksWith(f, __tsplusTrace) {
518
538
  }
519
539
  function changesWithWriter(f, last, __tsplusTrace) {
520
540
  return tsplus_module_10.readWithCause(chunk => {
521
- const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match(() => [tsplus_module_3.just(o1), tsplus_module_12.append(o1)(os)], o => f(o, o1) ? [tsplus_module_3.just(o1), os] : [tsplus_module_3.just(o1), tsplus_module_12.append(o1)(os)])(maybeLast))(chunk);
541
+ const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match(() => [tsplus_module_3.just(o1, __tsplusTrace), tsplus_module_12.append(o1)(os)], o => f(o, o1) ? [tsplus_module_3.just(o1, __tsplusTrace), os] : [tsplus_module_3.just(o1, __tsplusTrace), tsplus_module_12.append(o1)(os)])(maybeLast))(chunk);
522
542
  return tsplus_module_11.zipRight(changesWithWriter(f, newLast, __tsplusTrace))(tsplus_module_10.writeNow(newChunk));
523
543
  }, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
524
544
  }
@@ -531,7 +551,7 @@ function changesWithWriter(f, last, __tsplusTrace) {
531
551
  */
532
552
  export function changesWith(f, __tsplusTrace) {
533
553
  return stream => {
534
- return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(), __tsplusTrace))(stream.channel));
554
+ return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace))(stream.channel));
535
555
  };
536
556
  }
537
557
  /**
@@ -567,7 +587,7 @@ function collectWhileIOLoop(iterator, pf, __tsplusTrace) {
567
587
  }
568
588
  }
569
589
  function combineProducer(handoff, latch, __tsplusTrace) {
570
- return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.succeed(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause)))(handoff)), () => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.fail(tsplus_module_3.nothing()))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
590
+ return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.succeed(value, __tsplusTrace))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause), __tsplusTrace))(handoff)), () => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
571
591
  }
572
592
  /**
573
593
  * Combines the elements from this stream and the specified stream by repeatedly applying the
@@ -705,7 +725,7 @@ export function debounce(duration, __tsplusTrace) {
705
725
  /**
706
726
  * @tsplus static fncts.io.StreamOps defer
707
727
  */
708
- export function defer(self) {
728
+ function defer_1(self) {
709
729
  return new Stream(tsplus_module_10.defer(() => self().channel));
710
730
  }
711
731
  function defaultIfEmptyWriter(fb, __tsplusTrace) {
@@ -750,17 +770,17 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
750
770
  return self => {
751
771
  const offer = queuesRef => a => tsplus_module_1.flatMap(shouldProcess => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(ids => tsplus_module_12.isNonEmpty(ids) ? tsplus_module_15.update(map => tsplus_module_45.removeMany(ids)(map), __tsplusTrace)(queuesRef) : tsplus_module_1.unit, __tsplusTrace)(tsplus_module_1.foldLeft(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
752
772
  if (shouldProcess(id)) {
753
- return tsplus_module_1.matchCauseIO(c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append(id)(b), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(tsplus_module_41.succeed(a), __tsplusTrace)(queue));
773
+ return tsplus_module_1.matchCauseIO(c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append(id)(b), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(tsplus_module_41.succeed(a, __tsplusTrace), __tsplusTrace)(queue));
754
774
  } else {
755
775
  return tsplus_module_1.succeedNow(b, __tsplusTrace);
756
776
  }
757
777
  }, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace)), __tsplusTrace)(decide(a));
758
778
  return tsplus_module_1.flatMap(queuesRef => tsplus_module_1.map(add => add, __tsplusTrace)(tsplus_module_1.flatMap(queuesLock => tsplus_module_1.flatMap(newQueue => {
759
- const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
779
+ const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit, __tsplusTrace) : tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
760
780
  const id = Symbol();
761
781
  return tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef));
762
782
  }, __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace)(newQueue)), __tsplusTrace));
763
- return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
783
+ return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause), __tsplusTrace)), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
764
784
  }, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_46.makeSemaphore(1, __tsplusTrace))), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_45.empty(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_45.values(qs), q => tsplus_module_28.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)), __tsplusTrace));
765
785
  };
766
786
  }
@@ -770,7 +790,7 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
770
790
  *
771
791
  * @tsplus getter fncts.io.Stream drain
772
792
  */
773
- export function drain(fa, __tsplusTrace) {
793
+ function drain_1(fa, __tsplusTrace) {
774
794
  return new Stream(tsplus_module_10.drain(fa.channel));
775
795
  }
776
796
  function dropLoop(r, __tsplusTrace) {
@@ -823,12 +843,12 @@ export function dropUntil(p, __tsplusTrace) {
823
843
  * @tsplus getter fncts.io.Stream either
824
844
  */
825
845
  export function either(stream, __tsplusTrace) {
826
- return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
846
+ return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e, __tsplusTrace), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
827
847
  }
828
848
  /**
829
849
  * @tsplus static fncts.io.StreamOps empty
830
850
  */
831
- const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1228:70");
851
+ const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1234:70");
832
852
  export const empty = empty_1;
833
853
  function endWhenWriter(fiber, __tsplusTrace) {
834
854
  return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(endWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
@@ -887,6 +907,14 @@ export function environmentWithIO(f, __tsplusTrace) {
887
907
  export function environmentWithStream(f, __tsplusTrace) {
888
908
  return flatMap_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
889
909
  }
910
+ /**
911
+ * Creates a stream that executes the specified effect but emits no elements.
912
+ *
913
+ * @tsplus static fncts.io.StreamOps execute
914
+ */
915
+ function execute_1(io, __tsplusTrace) {
916
+ return drain_1(fromIO_1(io, __tsplusTrace), __tsplusTrace);
917
+ }
890
918
  /**
891
919
  * Halt a stream with the specified error
892
920
  *
@@ -1006,7 +1034,7 @@ function flattenExitOption_1(stream, __tsplusTrace) {
1006
1034
  const processChunk = (chunk, cont) => {
1007
1035
  const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_52.isSuccess(_))(chunk);
1008
1036
  const next = tsplus_module_20.match(() => cont, exit => tsplus_module_36.match(cause => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_25.flipCauseOption(cause)), () => tsplus_module_11.endNow(undefined))(exit))(tsplus_module_12.head(rest));
1009
- return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(exit))(toEmit)));
1037
+ return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(__tsplusTrace), tsplus_module_3.just)(exit))(toEmit)));
1010
1038
  };
1011
1039
  const process = tsplus_module_10.readWithCause(chunk => processChunk(chunk, process), tsplus_module_11.failCauseNow, _ => tsplus_module_11.endNow(undefined));
1012
1040
  return new Stream(tsplus_module_10.pipeTo(process)(stream.channel));
@@ -1060,6 +1088,59 @@ function fromChunk_1(c, __tsplusTrace) {
1060
1088
  function scoped_1(stream, __tsplusTrace) {
1061
1089
  return new Stream(tsplus_module_10.scoped(() => tsplus_module_1.map(tsplus_module_19.single, __tsplusTrace)(stream())));
1062
1090
  }
1091
+ /**
1092
+ * Emits a sliding window of n elements.
1093
+ *
1094
+ * @tsplus pipeable fncts.io.Stream sliding
1095
+ */
1096
+ export function sliding(chunkSize, stepSize, __tsplusTrace) {
1097
+ return self => {
1098
+ return defer_1(() => {
1099
+ function slidingChunk(chunk, input) {
1100
+ const updatedChunk = tsplus_module_12.concat(input)(chunk);
1101
+ const length = updatedChunk.length;
1102
+ if (length >= chunkSize) {
1103
+ const array = new Array((length - chunkSize) / stepSize + 1);
1104
+ let arrayIndex = 0;
1105
+ let chunkIndex = 0;
1106
+ while (chunkIndex + chunkSize <= length) {
1107
+ array[arrayIndex] = tsplus_module_12.slice(chunkIndex, chunkIndex + chunkSize)(updatedChunk);
1108
+ arrayIndex += 1;
1109
+ chunkIndex += stepSize;
1110
+ }
1111
+ return [tsplus_module_12.drop(chunkIndex)(updatedChunk), tsplus_module_53.fromArray(array)];
1112
+ } else {
1113
+ return [updatedChunk, tsplus_module_7.empty()];
1114
+ }
1115
+ }
1116
+ function sliding(chunk, written) {
1117
+ return tsplus_module_10.readWithCause(input => {
1118
+ const [updatedChunk, out] = slidingChunk(chunk, input);
1119
+ if (tsplus_module_12.isEmpty(out)) {
1120
+ return sliding(updatedChunk, written);
1121
+ } else {
1122
+ return tsplus_module_11.zipRight(sliding(updatedChunk, true))(tsplus_module_10.writeNow(out));
1123
+ }
1124
+ }, err => {
1125
+ const index = written && chunkSize > stepSize ? chunkSize - stepSize : 0;
1126
+ if (index >= chunk.length) {
1127
+ return tsplus_module_11.failCauseNow(err);
1128
+ } else {
1129
+ return tsplus_module_11.zipRight(tsplus_module_11.failCauseNow(err))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
1130
+ }
1131
+ }, done => {
1132
+ const index = written && chunkSize > stepSize ? chunkSize - stepSize : 0;
1133
+ if (index >= chunk.length) {
1134
+ return tsplus_module_11.succeedNow(done);
1135
+ } else {
1136
+ return tsplus_module_11.zipRight(tsplus_module_11.succeedNow(done))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
1137
+ }
1138
+ });
1139
+ }
1140
+ return new Stream(tsplus_module_10.pipeTo(sliding(tsplus_module_7.empty(), false))(self.channel));
1141
+ });
1142
+ };
1143
+ }
1063
1144
  /**
1064
1145
  * Creates a stream from an effect producing a value of type `A`
1065
1146
  *
@@ -1120,7 +1201,7 @@ export function fromIterableSingle(iterable, __tsplusTrace) {
1120
1201
  return flatMap_1(iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
1121
1202
  const value = iterator.next();
1122
1203
  if (value.done) {
1123
- return tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace);
1204
+ return tsplus_module_1.failNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace);
1124
1205
  } else {
1125
1206
  return tsplus_module_1.succeedNow(value.value, __tsplusTrace);
1126
1207
  }
@@ -1140,11 +1221,11 @@ function fromPull_1(scopedPull, __tsplusTrace) {
1140
1221
  function fromQueue_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1141
1222
  return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
1142
1223
  if (down && tsplus_module_25.interrupted(c)) {
1143
- return tsplus_module_53.end;
1224
+ return tsplus_module_54.end;
1144
1225
  } else {
1145
- return tsplus_module_53.failCause(c);
1226
+ return tsplus_module_54.failCause(c);
1146
1227
  }
1147
- }, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_54.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
1228
+ }, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_55.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
1148
1229
  }
1149
1230
  /**
1150
1231
  * @tsplus static fncts.io.StreamOps fromQueueWithShutdown
@@ -1286,7 +1367,7 @@ export function intersperse(stream, middle, __tsplusTrace) {
1286
1367
  */
1287
1368
  export function interruptWhen(io, __tsplusTrace) {
1288
1369
  return stream => {
1289
- return new Stream(tsplus_module_55.interruptWhen(io)(stream.channel));
1370
+ return new Stream(tsplus_module_56.interruptWhen(io)(stream.channel));
1290
1371
  };
1291
1372
  }
1292
1373
  /**
@@ -1294,7 +1375,7 @@ export function interruptWhen(io, __tsplusTrace) {
1294
1375
  */
1295
1376
  export function interruptWhenFuture(future, __tsplusTrace) {
1296
1377
  return fa => {
1297
- return new Stream(tsplus_module_55.interruptWhenFuture(future)(fa.channel));
1378
+ return new Stream(tsplus_module_56.interruptWhenFuture(future)(fa.channel));
1298
1379
  };
1299
1380
  }
1300
1381
  /**
@@ -1459,7 +1540,7 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
1459
1540
  */
1460
1541
  export function mapIOConcurrently(n, f, __tsplusTrace) {
1461
1542
  return stream => {
1462
- return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_56.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
1543
+ return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_57.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
1463
1544
  };
1464
1545
  }
1465
1546
  /**
@@ -1467,7 +1548,75 @@ export function mapIOConcurrently(n, f, __tsplusTrace) {
1467
1548
  */
1468
1549
  export function mapIOConcurrentlyUnordered(n, f) {
1469
1550
  return self => {
1470
- return pipeThroughChannelOrFail_1(tsplus_module_57.mergeMap(inp => fromIO_1(f(inp), fileName_1 + ":2216:41").channel, n, 16)(tsplus_module_10.concatMap(chunk => tsplus_module_10.writeChunk(chunk))(tsplus_module_10.id())))(self);
1551
+ return pipeThroughChannelOrFail_1(tsplus_module_58.mergeMap(inp => fromIO_1(f(inp), fileName_1 + ":2290:41").channel, n, 16)(tsplus_module_10.concatMap(chunk => tsplus_module_10.writeChunk(chunk))(tsplus_module_10.id())))(self);
1552
+ };
1553
+ }
1554
+ /**
1555
+ * Merges this stream and the specified stream together.
1556
+ *
1557
+ * New produced stream will terminate when both specified stream terminate if
1558
+ * no termination strategy is specified.
1559
+ *
1560
+ * @tsplus pipeable fncts.io.Stream merge
1561
+ */
1562
+ function merge_1(that, strategy = "Both", __tsplusTrace) {
1563
+ return self => {
1564
+ return mergeWith_1(that, identity, identity, strategy, __tsplusTrace)(self);
1565
+ };
1566
+ }
1567
+ /**
1568
+ * Merges this stream and the specified stream together. New produced stream
1569
+ * will terminate when either stream terminates.
1570
+ *
1571
+ * @tsplus pipeable fncts.io.Stream mergeHaltEither
1572
+ */
1573
+ export function mergeHaltEither(that, __tsplusTrace) {
1574
+ return self => {
1575
+ return merge_1(that, "Either", __tsplusTrace)(self);
1576
+ };
1577
+ }
1578
+ /**
1579
+ * Merges this stream and the specified stream together. New produced stream
1580
+ * will terminate when this stream terminates.
1581
+ *
1582
+ * @tsplus pipeable fncts.io.Stream mergeHaltLeft
1583
+ */
1584
+ export function mergeHaltLeft(that, __tsplusTrace) {
1585
+ return self => {
1586
+ return merge_1(that, "Left", __tsplusTrace)(self);
1587
+ };
1588
+ }
1589
+ /**
1590
+ * Merges this stream and the specified stream together. New produced stream
1591
+ * will terminate when the specified stream terminates.
1592
+ *
1593
+ * @tsplus pipeable fncts.io.Stream mergeHaltRight
1594
+ */
1595
+ export function mergeHaltRight(that, __tsplusTrace) {
1596
+ return self => {
1597
+ return merge_1(that, "Right", __tsplusTrace)(self);
1598
+ };
1599
+ }
1600
+ /**
1601
+ * Merges this stream and the specified stream together, discarding the values
1602
+ * from the right stream.
1603
+ *
1604
+ * @tsplus pipeable fncts.io.Stream mergeLeft
1605
+ */
1606
+ export function mergeLeft(that, __tsplusTrace) {
1607
+ return self => {
1608
+ return merge_1(drain_1(that, __tsplusTrace))(self);
1609
+ };
1610
+ }
1611
+ /**
1612
+ * Merges this stream and the specified stream together, discarding the values
1613
+ * from the left stream.
1614
+ *
1615
+ * @tsplus pipeable fncts.io.Stream mergeRight
1616
+ */
1617
+ export function mergeRight(that, __tsplusTrace) {
1618
+ return self => {
1619
+ return merge_1(that)(drain_1(self, __tsplusTrace));
1471
1620
  };
1472
1621
  }
1473
1622
  /**
@@ -1480,7 +1629,7 @@ export function mapIOConcurrentlyUnordered(n, f) {
1480
1629
  */
1481
1630
  function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
1482
1631
  return ma => {
1483
- return new Stream(tsplus_module_57.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1632
+ return new Stream(tsplus_module_58.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1484
1633
  };
1485
1634
  }
1486
1635
  /**
@@ -1504,14 +1653,14 @@ function mergeEither_1(fb, __tsplusTrace) {
1504
1653
  };
1505
1654
  }
1506
1655
  function mergeWithHandler(terminate, __tsplusTrace) {
1507
- return exit => terminate || !tsplus_module_52.isSuccess(exit) ? tsplus_module_58.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_58.wait(tsplus_module_1.fromExitNow);
1656
+ return exit => terminate || !tsplus_module_52.isSuccess(exit) ? tsplus_module_59.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_59.wait(tsplus_module_1.fromExitNow);
1508
1657
  }
1509
1658
  /**
1510
1659
  * @tsplus pipeable fncts.io.Stream mergeWith
1511
1660
  */
1512
1661
  function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
1513
1662
  return sa => {
1514
- return new Stream(tsplus_module_59.mergeWith(map_1(r, __tsplusTrace)(sb).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace))(map_1(l, __tsplusTrace)(sa).channel));
1663
+ return new Stream(tsplus_module_60.mergeWith(map_1(r, __tsplusTrace)(sb).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace))(map_1(l, __tsplusTrace)(sa).channel));
1515
1664
  };
1516
1665
  }
1517
1666
  /**
@@ -1568,7 +1717,7 @@ export function orElseFail(e, __tsplusTrace) {
1568
1717
  * See also Stream#catchAll.
1569
1718
  */
1570
1719
  export function orElseOptional(stream, that, __tsplusTrace) {
1571
- return catchAll_1(maybeError => tsplus_module_20.match(() => that(), e => failNow_1(tsplus_module_3.just(e), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
1720
+ return catchAll_1(maybeError => tsplus_module_20.match(() => that(), e => failNow_1(tsplus_module_3.just(e, __tsplusTrace), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
1572
1721
  }
1573
1722
  /**
1574
1723
  * Succeeds with the specified value if this one fails with a typed error.
@@ -1612,7 +1761,7 @@ function provideEnvironment_1(r, __tsplusTrace) {
1612
1761
  */
1613
1762
  function provideLayer_1(layer, __tsplusTrace) {
1614
1763
  return self => {
1615
- return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_60.build(layer, __tsplusTrace))));
1764
+ return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_61.build(layer, __tsplusTrace))));
1616
1765
  };
1617
1766
  }
1618
1767
  /**
@@ -1621,7 +1770,7 @@ function provideLayer_1(layer, __tsplusTrace) {
1621
1770
  export function provideSomeLayer(layer, __tsplusTrace) {
1622
1771
  return self => {
1623
1772
  // @ts-expect-error
1624
- return provideLayer_1(tsplus_module_61.and(layer, __tsplusTrace)(tsplus_module_61.environment(__tsplusTrace)), __tsplusTrace)(self);
1773
+ return provideLayer_1(tsplus_module_62.and(layer, __tsplusTrace)(tsplus_module_62.environment(__tsplusTrace)), __tsplusTrace)(self);
1625
1774
  };
1626
1775
  }
1627
1776
  class Rechunker {
@@ -1726,7 +1875,7 @@ export function repeatIOChunk(fa, __tsplusTrace) {
1726
1875
  * @tsplus static fncts.io.StreamOps repeatIOChunkMaybe
1727
1876
  */
1728
1877
  function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
1729
- return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(chunk => tsplus_module_3.just(tuple(chunk, undefined)), __tsplusTrace)(fa)), __tsplusTrace);
1878
+ return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(chunk => tsplus_module_3.just(tuple(chunk, undefined), __tsplusTrace), __tsplusTrace)(fa)), __tsplusTrace);
1730
1879
  }
1731
1880
  /**
1732
1881
  * Runs the sink on the stream to produce either the sink's result or an error.
@@ -1735,7 +1884,7 @@ function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
1735
1884
  */
1736
1885
  function run_1(sink, __tsplusTrace) {
1737
1886
  return stream => {
1738
- return tsplus_module_62.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
1887
+ return tsplus_module_63.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
1739
1888
  };
1740
1889
  }
1741
1890
  /**
@@ -1770,7 +1919,7 @@ function runForeachScoped_1(f, __tsplusTrace) {
1770
1919
  */
1771
1920
  export function runIntoElementsScoped_(queue, __tsplusTrace) {
1772
1921
  return stream => {
1773
- const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing())));
1922
+ const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a, __tsplusTrace)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err, __tsplusTrace), __tsplusTrace)), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)));
1774
1923
  return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(exit => tsplus_module_28.offer(exit, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
1775
1924
  };
1776
1925
  }
@@ -1796,9 +1945,9 @@ function runIntoQueueElementsScoped_1(queue) {
1796
1945
  return self => {
1797
1946
  return tsplus_module_1.defer(() => {
1798
1947
  const queue0 = queue();
1799
- const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.fromIO(() => tsplus_module_28.offerAll(tsplus_module_12.map(a => tsplus_module_41.succeed(a))(inp), fileName_1 + ":2647:57")(queue0))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.failCause(tsplus_module_25.map(e => tsplus_module_3.just(e))(cause)), fileName_1 + ":2648:47")(queue0)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.fail(tsplus_module_3.nothing()), fileName_1 + ":2649:42")(queue0)));
1800
- return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeTo(writer)(self.channel))), fileName_1 + ":2652:55");
1801
- }, fileName_1 + ":2644:20");
1948
+ const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.fromIO(() => tsplus_module_28.offerAll(tsplus_module_12.map(a => tsplus_module_41.succeed(a, fileName_1 + ":2799:85"))(inp), fileName_1 + ":2799:57")(queue0))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.failCause(tsplus_module_25.map(e => tsplus_module_3.just(e, fileName_1 + ":2800:84"))(cause), fileName_1 + ":2800:62"), fileName_1 + ":2800:47")(queue0)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.fail(tsplus_module_3.nothing(fileName_1 + ":2801:60"), fileName_1 + ":2801:52"), fileName_1 + ":2801:42")(queue0)));
1949
+ return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeTo(writer)(self.channel))), fileName_1 + ":2804:55");
1950
+ }, fileName_1 + ":2796:20");
1802
1951
  };
1803
1952
  }
1804
1953
  /**
@@ -1863,7 +2012,34 @@ export function scanReduce(f, __tsplusTrace) {
1863
2012
  */
1864
2013
  function scanReduceIO_1(f, __tsplusTrace) {
1865
2014
  return fa => {
1866
- return mapAccumIO_1(tsplus_module_3.nothing(), (s, a) => tsplus_module_20.match(() => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a)], __tsplusTrace), b => tsplus_module_1.map(b => [b, tsplus_module_3.just(b)], __tsplusTrace)(f(b, a)))(s), __tsplusTrace)(fa);
2015
+ return mapAccumIO_1(tsplus_module_3.nothing(__tsplusTrace), (s, a) => tsplus_module_20.match(() => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a, __tsplusTrace)], __tsplusTrace), b => tsplus_module_1.map(b => [b, tsplus_module_3.just(b, __tsplusTrace)], __tsplusTrace)(f(b, a)))(s), __tsplusTrace)(fa);
2016
+ };
2017
+ }
2018
+ /**
2019
+ * @tsplus pipeable fncts.io.Stream split
2020
+ */
2021
+ export function split(predicate, __tsplusTrace) {
2022
+ return self => {
2023
+ function split(leftovers, input) {
2024
+ const [chunk, remaining] = tsplus_module_12.splitWhere(predicate)(tsplus_module_12.concat(input)(leftovers));
2025
+ if (tsplus_module_12.isEmpty(chunk) || tsplus_module_12.isEmpty(remaining)) {
2026
+ return loop(tsplus_module_12.concat(tsplus_module_12.drop(1)(remaining))(chunk));
2027
+ } else {
2028
+ return tsplus_module_11.zipRight(split(tsplus_module_7.empty(), tsplus_module_12.drop(1)(remaining)))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
2029
+ }
2030
+ }
2031
+ function loop(leftovers) {
2032
+ return tsplus_module_10.readWith(input => split(leftovers, input), tsplus_module_10.failNow, _ => {
2033
+ if (tsplus_module_12.isEmpty(leftovers)) {
2034
+ return tsplus_module_10.unit;
2035
+ } else if (tsplus_module_64.isNothing(tsplus_module_12.find(predicate)(leftovers))) {
2036
+ return tsplus_module_11.zipRight(tsplus_module_10.unit)(tsplus_module_10.writeNow(tsplus_module_19.single(leftovers)));
2037
+ } else {
2038
+ return tsplus_module_11.zipRight(tsplus_module_10.unit)(split(tsplus_module_7.empty(), leftovers));
2039
+ }
2040
+ });
2041
+ }
2042
+ return new Stream(tsplus_module_10.pipeTo(loop(tsplus_module_7.empty()))(self.channel));
1867
2043
  };
1868
2044
  }
1869
2045
  /**
@@ -1904,7 +2080,7 @@ export function take(n, __tsplusTrace) {
1904
2080
  return empty_1;
1905
2081
  }
1906
2082
  if (!Number.isInteger(n)) {
1907
- return halt_1(() => new tsplus_module_63.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
2083
+ return halt_1(() => new tsplus_module_65.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
1908
2084
  }
1909
2085
  return new Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
1910
2086
  };
@@ -1950,11 +2126,58 @@ export function takeUntil(p, __tsplusTrace) {
1950
2126
  /**
1951
2127
  * @tsplus pipeable fncts.io.Stream tap
1952
2128
  */
1953
- export function tap(f, __tsplusTrace) {
2129
+ function tap_1(f, __tsplusTrace) {
1954
2130
  return ma => {
1955
2131
  return mapIO_1(a => tsplus_module_1.as(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(ma);
1956
2132
  };
1957
2133
  }
2134
+ /**
2135
+ * Returns a stream that effectfully "peeks" at the failure and adds an effect
2136
+ * to consumption of every element of the stream
2137
+ *
2138
+ * @tsplus pipeable fncts.io.Stream tapBoth
2139
+ */
2140
+ export function tapBoth(f, g, __tsplusTrace) {
2141
+ return self => {
2142
+ return tap_1(g, __tsplusTrace)(tapError_1(f, __tsplusTrace)(self));
2143
+ };
2144
+ }
2145
+ /**
2146
+ * Returns a stream that effectfully "peeks" at the failure of the stream.
2147
+ *
2148
+ * @tsplus pipeable fncts.io.Stream tapError
2149
+ */
2150
+ function tapError_1(f, __tsplusTrace) {
2151
+ return self => {
2152
+ return catchAll_1(e => fromIO_1(f(e), __tsplusTrace), __tsplusTrace)(self);
2153
+ };
2154
+ }
2155
+ /**
2156
+ * Returns a stream that effectfully "peeks" at the cause of failure of the
2157
+ * stream.
2158
+ *
2159
+ * @tsplus pipeable fncts.io.Stream tapErrorCause
2160
+ */
2161
+ export function tapErrorCause(f, __tsplusTrace) {
2162
+ return self => {
2163
+ return catchAllCause_1(e => fromIO_1(tsplus_module_1.zipRight(tsplus_module_1.refailCause(e, __tsplusTrace), __tsplusTrace)(f(e)), __tsplusTrace), __tsplusTrace)(self);
2164
+ };
2165
+ }
2166
+ /**
2167
+ * Sends all elements emitted by this stream to the specified sink in addition
2168
+ * to emitting them.
2169
+ *
2170
+ * @tsplus pipeable fncts.io.Stream tapSink
2171
+ */
2172
+ export function tapSink(sink, __tsplusTrace) {
2173
+ return self => {
2174
+ return flatMap_1(([queue, future]) => {
2175
+ const right = flattenTake_1(fromQueue_1(queue, 1, __tsplusTrace), __tsplusTrace);
2176
+ const loop = tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(loop)(tsplus_module_11.zipRight(tsplus_module_10.writeNow(chunk))(tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.chunk(chunk), __tsplusTrace)(queue)))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.failCause(cause), __tsplusTrace)(queue)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.end, __tsplusTrace)(queue)));
2177
+ return merge_1(execute_1(tsplus_module_66.ensuring(tsplus_module_37.succeed_(undefined, __tsplusTrace)(future), __tsplusTrace)(run_1(sink, __tsplusTrace)(right)), __tsplusTrace), "Both", __tsplusTrace)(new Stream(tsplus_module_10.ensuring(tsplus_module_1.zipRight(tsplus_module_37.wait(future, __tsplusTrace), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_28.offer(tsplus_module_27.end, __tsplusTrace)(queue), __tsplusTrace)))(tsplus_module_10.pipeTo(loop)(self.channel))));
2178
+ }, __tsplusTrace)(fromIO_1(tsplus_module_1.zip(tsplus_module_38.make(__tsplusTrace), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace));
2179
+ };
2180
+ }
1958
2181
  /**
1959
2182
  * Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
1960
2183
  * algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate
@@ -2010,7 +2233,7 @@ function toHub_1(capacity, __tsplusTrace) {
2010
2233
  * @tsplus getter fncts.io.Stream toPull
2011
2234
  */
2012
2235
  function toPull_1(stream, __tsplusTrace) {
2013
- return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(tsplus_module_64.toPull(stream.channel));
2236
+ return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(tsplus_module_67.toPull(stream.channel));
2014
2237
  }
2015
2238
  /**
2016
2239
  * Converts the stream to a managed queue of chunks. After the managed queue is used,