@fncts/io 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1089) hide show
  1. package/Cached/api.d.ts +2 -2
  2. package/Channel/ChildExecutorDecision/api.d.ts +2 -2
  3. package/Channel/UpstreamPullRequest/api.d.ts +2 -2
  4. package/Channel/api/interruptWhen.d.ts +5 -5
  5. package/Channel/api/mapOutIOC.d.ts +3 -3
  6. package/Channel/api/mergeAll.d.ts +2 -2
  7. package/Channel/api/mergeAllUnboundedWith.d.ts +2 -2
  8. package/Channel/api/mergeAllWith.d.ts +2 -2
  9. package/Channel/api/mergeMap.d.ts +2 -2
  10. package/Channel/api/mergeWith.d.ts +2 -2
  11. package/Channel/api/zipC.d.ts +6 -6
  12. package/Channel/api.d.ts +64 -64
  13. package/Channel/core-api.d.ts +11 -11
  14. package/Channel/definition.d.ts +35 -21
  15. package/Fiber/api/evalOn.d.ts +3 -3
  16. package/Fiber/api/evalOnIO.d.ts +3 -3
  17. package/Fiber/api/interruptAs.d.ts +3 -3
  18. package/Fiber/api/interruptAsFork.d.ts +3 -3
  19. package/Fiber/api/mapFiber.d.ts +2 -2
  20. package/Fiber/api/mapIO.d.ts +5 -5
  21. package/Fiber/api/zipWith.d.ts +2 -2
  22. package/Fiber.d.ts +1 -0
  23. package/FiberRef/api/locallyScoped.d.ts +2 -2
  24. package/FiberRef/api/locallyScopedWith.d.ts +2 -2
  25. package/FiberRef/api.d.ts +18 -18
  26. package/FiberRefs/api.d.ts +2 -2
  27. package/FiberRefs/join.d.ts +3 -3
  28. package/Future/api.d.ts +21 -21
  29. package/Hub/constructors.d.ts +49 -0
  30. package/Hub/definition.d.ts +37 -81
  31. package/Hub/internal.d.ts +4 -11
  32. package/Hub.d.ts +1 -1
  33. package/IO/api/acquireRelease.d.ts +1 -1
  34. package/IO/api/acquireReleaseExit.d.ts +1 -1
  35. package/IO/api/bracket.d.ts +1 -1
  36. package/IO/api/bracketExit.d.ts +1 -1
  37. package/IO/api/concurrency.d.ts +2 -2
  38. package/IO/api/core-scope.d.ts +5 -5
  39. package/IO/api/ensuringChildren.d.ts +3 -3
  40. package/IO/api/environment.d.ts +11 -15
  41. package/IO/api/foreachC.d.ts +2 -2
  42. package/IO/api/foreachExec.d.ts +1 -1
  43. package/IO/api/forkIn.d.ts +3 -3
  44. package/IO/api/fulfill.d.ts +3 -3
  45. package/IO/api/interrupt.d.ts +6 -6
  46. package/IO/api/onExit.d.ts +3 -3
  47. package/IO/api/onTermination.d.ts +4 -4
  48. package/IO/api/provideLayer.d.ts +3 -3
  49. package/IO/api/provideSomeLayer.d.ts +3 -7
  50. package/IO/api/race.d.ts +2 -2
  51. package/IO/api/raceFirst.d.ts +2 -2
  52. package/IO/api/repeat.d.ts +3 -3
  53. package/IO/api/retry.d.ts +7 -7
  54. package/IO/api/schedule.d.ts +5 -5
  55. package/IO/api/scoped.d.ts +2 -2
  56. package/IO/api/supervised.d.ts +3 -3
  57. package/IO/api/timeout.d.ts +5 -5
  58. package/IO/api/withFinalizer.d.ts +3 -3
  59. package/IO/api/withFinalizerExit.d.ts +3 -3
  60. package/IO/api/withRuntimeConfig.d.ts +3 -3
  61. package/IO/api/zipC.d.ts +4 -4
  62. package/IO/api.d.ts +179 -176
  63. package/IO/definition.d.ts +15 -9
  64. package/Layer/MemoMap.d.ts +4 -4
  65. package/Layer/api.d.ts +28 -28
  66. package/LogLevel.d.ts +12 -12
  67. package/LogSpan.d.ts +2 -2
  68. package/Logger/api.d.ts +5 -5
  69. package/Queue/constructors.d.ts +2 -1
  70. package/Queue/definition.d.ts +91 -82
  71. package/Queue/internal.d.ts +7 -9
  72. package/Queue.d.ts +0 -2
  73. package/Ref/Atomic.d.ts +15 -2
  74. package/Ref/Synchronized.d.ts +72 -0
  75. package/Ref/constructors.d.ts +7 -0
  76. package/Ref/definition.d.ts +60 -58
  77. package/Ref.d.ts +1 -6
  78. package/STM/api/core-api.d.ts +10 -10
  79. package/STM/api.d.ts +61 -61
  80. package/STM/internal/Journal.d.ts +4 -4
  81. package/Schedule/Decision.d.ts +2 -2
  82. package/Schedule/api.d.ts +94 -94
  83. package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
  84. package/Scope/ReleaseMap/api.d.ts +10 -10
  85. package/Scope/api.d.ts +8 -8
  86. package/Sink/api.d.ts +68 -68
  87. package/State/api.d.ts +4 -4
  88. package/State/internal.d.ts +1 -1
  89. package/Stream/api/zipAllWith.d.ts +2 -2
  90. package/Stream/api/zipWith.d.ts +2 -2
  91. package/Stream/api/zipWithChunks.d.ts +2 -2
  92. package/Stream/api.d.ts +216 -205
  93. package/Stream/internal/DebounceState.d.ts +3 -3
  94. package/Stream/internal/Handoff.d.ts +5 -5
  95. package/Stream/internal/Pull.d.ts +2 -2
  96. package/Stream/internal/SinkEndReason.d.ts +3 -3
  97. package/Stream/internal/Take.d.ts +8 -8
  98. package/SubscriptionRef.d.ts +29 -0
  99. package/Supervisor/api.d.ts +4 -4
  100. package/SupervisorPatch.d.ts +4 -4
  101. package/TFuture/api.d.ts +7 -7
  102. package/TReentrantLock/api.d.ts +4 -4
  103. package/TRef/api.d.ts +24 -24
  104. package/TSemaphore/api.d.ts +4 -4
  105. package/TSemaphore/constructors.d.ts +6 -0
  106. package/_cjs/Cached/api.cjs +9 -9
  107. package/_cjs/Cached/api.cjs.map +1 -1
  108. package/_cjs/Channel/ChildExecutorDecision/api.cjs +19 -17
  109. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  110. package/_cjs/Channel/UpstreamPullRequest/api.cjs +16 -14
  111. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  112. package/_cjs/Channel/api/interruptWhen.cjs +14 -10
  113. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  114. package/_cjs/Channel/api/mapOutIOC.cjs +25 -25
  115. package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
  116. package/_cjs/Channel/api/mergeAll.cjs +6 -4
  117. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  118. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +6 -4
  119. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  120. package/_cjs/Channel/api/mergeAllWith.cjs +48 -52
  121. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  122. package/_cjs/Channel/api/mergeMap.cjs +6 -4
  123. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  124. package/_cjs/Channel/api/mergeWith.cjs +48 -46
  125. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  126. package/_cjs/Channel/api/run.cjs +1 -1
  127. package/_cjs/Channel/api/run.cjs.map +1 -1
  128. package/_cjs/Channel/api/runScoped.cjs +2 -2
  129. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  130. package/_cjs/Channel/api/toPull.cjs +3 -3
  131. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  132. package/_cjs/Channel/api/zipC.cjs +20 -14
  133. package/_cjs/Channel/api/zipC.cjs.map +1 -1
  134. package/_cjs/Channel/api.cjs +264 -218
  135. package/_cjs/Channel/api.cjs.map +1 -1
  136. package/_cjs/Channel/core-api.cjs +34 -24
  137. package/_cjs/Channel/core-api.cjs.map +1 -1
  138. package/_cjs/Channel/definition.cjs +1 -1
  139. package/_cjs/Channel/definition.cjs.map +1 -1
  140. package/_cjs/Channel/internal/ChannelExecutor.cjs +83 -83
  141. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  142. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +22 -24
  143. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  144. package/_cjs/Differ/api.cjs +5 -5
  145. package/_cjs/Differ/api.cjs.map +1 -1
  146. package/_cjs/Fiber/FiberContext.cjs +48 -48
  147. package/_cjs/Fiber/FiberContext.cjs.map +1 -1
  148. package/_cjs/Fiber/api/awaitAll.cjs +1 -1
  149. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  150. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  151. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  152. package/_cjs/Fiber/api/evalOn.cjs +12 -10
  153. package/_cjs/Fiber/api/evalOn.cjs.map +1 -1
  154. package/_cjs/Fiber/api/evalOnIO.cjs +6 -4
  155. package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -1
  156. package/_cjs/Fiber/api/fromIO.cjs +1 -1
  157. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  158. package/_cjs/Fiber/api/interrupt.cjs +1 -1
  159. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  160. package/_cjs/Fiber/api/interruptAll.cjs +2 -2
  161. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  162. package/_cjs/Fiber/api/interruptAs.cjs +6 -4
  163. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  164. package/_cjs/Fiber/api/interruptAsFork.cjs +6 -4
  165. package/_cjs/Fiber/api/interruptAsFork.cjs.map +1 -1
  166. package/_cjs/Fiber/api/interruptFork.cjs +1 -1
  167. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  168. package/_cjs/Fiber/api/join.cjs +1 -1
  169. package/_cjs/Fiber/api/join.cjs.map +1 -1
  170. package/_cjs/Fiber/api/joinAll.cjs +1 -1
  171. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  172. package/_cjs/Fiber/api/mapFiber.cjs +6 -4
  173. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  174. package/_cjs/Fiber/api/mapIO.cjs +14 -10
  175. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  176. package/_cjs/Fiber/api/zipWith.cjs +6 -4
  177. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  178. package/_cjs/Fiber/definition.cjs.map +1 -1
  179. package/_cjs/Fiber.cjs +13 -0
  180. package/_cjs/Fiber.cjs.map +1 -1
  181. package/_cjs/FiberRef/api/locallyScoped.cjs +6 -4
  182. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  183. package/_cjs/FiberRef/api/locallyScopedWith.cjs +5 -3
  184. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  185. package/_cjs/FiberRef/api.cjs +64 -47
  186. package/_cjs/FiberRef/api.cjs.map +1 -1
  187. package/_cjs/FiberRef/constructors.cjs +1 -1
  188. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  189. package/_cjs/FiberRef.cjs.map +1 -1
  190. package/_cjs/FiberRefs/api.cjs +15 -13
  191. package/_cjs/FiberRefs/api.cjs.map +1 -1
  192. package/_cjs/FiberRefs/join.cjs +37 -35
  193. package/_cjs/FiberRefs/join.cjs.map +1 -1
  194. package/_cjs/FiberState/definition.cjs.map +1 -1
  195. package/_cjs/Future/api.cjs +97 -79
  196. package/_cjs/Future/api.cjs.map +1 -1
  197. package/_cjs/Future/constructors.cjs +1 -1
  198. package/_cjs/Future/constructors.cjs.map +1 -1
  199. package/_cjs/Hub/constructors.cjs +93 -0
  200. package/_cjs/Hub/constructors.cjs.map +1 -0
  201. package/_cjs/Hub/definition.cjs +104 -13
  202. package/_cjs/Hub/definition.cjs.map +1 -1
  203. package/_cjs/Hub/internal.cjs +104 -129
  204. package/_cjs/Hub/internal.cjs.map +1 -1
  205. package/_cjs/Hub.cjs +4 -4
  206. package/_cjs/IO/api/acquireReleaseExit.cjs +1 -1
  207. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  208. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -1
  209. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  210. package/_cjs/IO/api/addFinalizerExit.cjs +1 -1
  211. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  212. package/_cjs/IO/api/asyncIO.cjs +4 -4
  213. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  214. package/_cjs/IO/api/bracket.cjs +3 -3
  215. package/_cjs/IO/api/bracket.cjs.map +1 -1
  216. package/_cjs/IO/api/bracketExit.cjs +3 -3
  217. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  218. package/_cjs/IO/api/clockWith.cjs +2 -2
  219. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  220. package/_cjs/IO/api/concurrency.cjs +9 -7
  221. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  222. package/_cjs/IO/api/concurrentFinalizers.cjs +1 -1
  223. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  224. package/_cjs/IO/api/consoleWith.cjs +2 -2
  225. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  226. package/_cjs/IO/api/core-scope.cjs +45 -41
  227. package/_cjs/IO/api/core-scope.cjs.map +1 -1
  228. package/_cjs/IO/api/ensuringChildren.cjs +5 -3
  229. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  230. package/_cjs/IO/api/environment.cjs +35 -35
  231. package/_cjs/IO/api/environment.cjs.map +1 -1
  232. package/_cjs/IO/api/foreachC.cjs +19 -23
  233. package/_cjs/IO/api/foreachC.cjs.map +1 -1
  234. package/_cjs/IO/api/foreachExec.cjs +3 -3
  235. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  236. package/_cjs/IO/api/forkAll.cjs +1 -1
  237. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  238. package/_cjs/IO/api/forkIn.cjs +8 -6
  239. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  240. package/_cjs/IO/api/forkScoped.cjs +1 -1
  241. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  242. package/_cjs/IO/api/fulfill.cjs +8 -6
  243. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  244. package/_cjs/IO/api/interrupt.cjs +36 -30
  245. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  246. package/_cjs/IO/api/memoize.cjs +1 -1
  247. package/_cjs/IO/api/memoize.cjs.map +1 -1
  248. package/_cjs/IO/api/onExit.cjs +6 -4
  249. package/_cjs/IO/api/onExit.cjs.map +1 -1
  250. package/_cjs/IO/api/onTermination.cjs +5 -3
  251. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  252. package/_cjs/IO/api/once.cjs +3 -5
  253. package/_cjs/IO/api/once.cjs.map +1 -1
  254. package/_cjs/IO/api/provideLayer.cjs +6 -4
  255. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  256. package/_cjs/IO/api/provideSomeLayer.cjs +5 -15
  257. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  258. package/_cjs/IO/api/race.cjs +6 -4
  259. package/_cjs/IO/api/race.cjs.map +1 -1
  260. package/_cjs/IO/api/raceFirst.cjs +6 -4
  261. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  262. package/_cjs/IO/api/randomWith.cjs +1 -1
  263. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  264. package/_cjs/IO/api/repeat.cjs +12 -12
  265. package/_cjs/IO/api/repeat.cjs.map +1 -1
  266. package/_cjs/IO/api/retry.cjs +14 -14
  267. package/_cjs/IO/api/retry.cjs.map +1 -1
  268. package/_cjs/IO/api/schedule.cjs +15 -11
  269. package/_cjs/IO/api/schedule.cjs.map +1 -1
  270. package/_cjs/IO/api/scoped.cjs +6 -6
  271. package/_cjs/IO/api/scoped.cjs.map +1 -1
  272. package/_cjs/IO/api/sequenceT.cjs +1 -1
  273. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  274. package/_cjs/IO/api/stateful.cjs.map +1 -1
  275. package/_cjs/IO/api/supervised.cjs +6 -4
  276. package/_cjs/IO/api/supervised.cjs.map +1 -1
  277. package/_cjs/IO/api/timeout.cjs +10 -6
  278. package/_cjs/IO/api/timeout.cjs.map +1 -1
  279. package/_cjs/IO/api/withChildren.cjs +1 -1
  280. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  281. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  282. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  283. package/_cjs/IO/api/withFinalizer.cjs +6 -4
  284. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  285. package/_cjs/IO/api/withFinalizerExit.cjs +6 -4
  286. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  287. package/_cjs/IO/api/withRuntimeConfig.cjs +6 -4
  288. package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -1
  289. package/_cjs/IO/api/zipC.cjs +21 -17
  290. package/_cjs/IO/api/zipC.cjs.map +1 -1
  291. package/_cjs/IO/api.cjs +634 -509
  292. package/_cjs/IO/api.cjs.map +1 -1
  293. package/_cjs/IO/definition.cjs.map +1 -1
  294. package/_cjs/IO/runtime.cjs +7 -7
  295. package/_cjs/IO/runtime.cjs.map +1 -1
  296. package/_cjs/IO.cjs.map +1 -1
  297. package/_cjs/IOEnv/definition.cjs +1 -1
  298. package/_cjs/IOEnv/definition.cjs.map +1 -1
  299. package/_cjs/IOEnv/live.cjs +1 -1
  300. package/_cjs/IOEnv/live.cjs.map +1 -1
  301. package/_cjs/Layer/MemoMap.cjs +86 -92
  302. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  303. package/_cjs/Layer/api.cjs +110 -81
  304. package/_cjs/Layer/api.cjs.map +1 -1
  305. package/_cjs/Layer/definition.cjs.map +1 -1
  306. package/_cjs/LogLevel.cjs +24 -16
  307. package/_cjs/LogLevel.cjs.map +1 -1
  308. package/_cjs/LogSpan.cjs +18 -16
  309. package/_cjs/LogSpan.cjs.map +1 -1
  310. package/_cjs/Logger/api.cjs +18 -14
  311. package/_cjs/Logger/api.cjs.map +1 -1
  312. package/_cjs/Logger/constructors.cjs +1 -1
  313. package/_cjs/Logger/constructors.cjs.map +1 -1
  314. package/_cjs/Queue/constructors.cjs +19 -5
  315. package/_cjs/Queue/constructors.cjs.map +1 -1
  316. package/_cjs/Queue/definition.cjs +191 -16
  317. package/_cjs/Queue/definition.cjs.map +1 -1
  318. package/_cjs/Queue/internal.cjs +27 -181
  319. package/_cjs/Queue/internal.cjs.map +1 -1
  320. package/_cjs/Queue/strategy.cjs +19 -19
  321. package/_cjs/Queue/strategy.cjs.map +1 -1
  322. package/_cjs/Queue.cjs +0 -26
  323. package/_cjs/Queue.cjs.map +1 -1
  324. package/_cjs/Random/live.cjs +2 -2
  325. package/_cjs/Random/live.cjs.map +1 -1
  326. package/_cjs/Ref/Atomic.cjs +47 -24
  327. package/_cjs/Ref/Atomic.cjs.map +1 -1
  328. package/_cjs/Ref/Synchronized.cjs +140 -0
  329. package/_cjs/Ref/Synchronized.cjs.map +1 -0
  330. package/_cjs/Ref/constructors.cjs +21 -2
  331. package/_cjs/Ref/constructors.cjs.map +1 -1
  332. package/_cjs/Ref/definition.cjs +105 -10
  333. package/_cjs/Ref/definition.cjs.map +1 -1
  334. package/_cjs/Ref.cjs +4 -69
  335. package/_cjs/Ref.cjs.map +1 -1
  336. package/_cjs/Reloadable/constructors.cjs +10 -10
  337. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  338. package/_cjs/RuntimeConfig.cjs +2 -2
  339. package/_cjs/RuntimeConfig.cjs.map +1 -1
  340. package/_cjs/STM/api/core-api.cjs +36 -26
  341. package/_cjs/STM/api/core-api.cjs.map +1 -1
  342. package/_cjs/STM/api.cjs +217 -163
  343. package/_cjs/STM/api.cjs.map +1 -1
  344. package/_cjs/STM/driver.cjs +3 -3
  345. package/_cjs/STM/driver.cjs.map +1 -1
  346. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  347. package/_cjs/STM/internal/Journal.cjs +33 -29
  348. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  349. package/_cjs/STM.cjs.map +1 -1
  350. package/_cjs/Schedule/Decision.cjs +16 -14
  351. package/_cjs/Schedule/Decision.cjs.map +1 -1
  352. package/_cjs/Schedule/api/driver.cjs +16 -20
  353. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  354. package/_cjs/Schedule/api.cjs +381 -290
  355. package/_cjs/Schedule/api.cjs.map +1 -1
  356. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +14 -14
  357. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  358. package/_cjs/Scope/ReleaseMap/api.cjs +68 -61
  359. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  360. package/_cjs/Scope/api.cjs +34 -27
  361. package/_cjs/Scope/api.cjs.map +1 -1
  362. package/_cjs/ScopedRef/api.cjs +9 -13
  363. package/_cjs/ScopedRef/api.cjs.map +1 -1
  364. package/_cjs/ScopedRef/definition.cjs +1 -1
  365. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  366. package/_cjs/Sink/api.cjs +307 -249
  367. package/_cjs/Sink/api.cjs.map +1 -1
  368. package/_cjs/State/api.cjs +18 -14
  369. package/_cjs/State/api.cjs.map +1 -1
  370. package/_cjs/Stream/api/zipAllWith.cjs +15 -13
  371. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  372. package/_cjs/Stream/api/zipWith.cjs +6 -4
  373. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  374. package/_cjs/Stream/api/zipWithChunks.cjs +13 -11
  375. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  376. package/_cjs/Stream/api.cjs +992 -788
  377. package/_cjs/Stream/api.cjs.map +1 -1
  378. package/_cjs/Stream/definition.cjs.map +1 -1
  379. package/_cjs/Stream/internal/DebounceState.cjs +21 -19
  380. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  381. package/_cjs/Stream/internal/Handoff.cjs +35 -33
  382. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  383. package/_cjs/Stream/internal/Pull.cjs +9 -11
  384. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  385. package/_cjs/Stream/internal/SinkEndReason.cjs +16 -14
  386. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  387. package/_cjs/Stream/internal/Take.cjs +32 -24
  388. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  389. package/_cjs/Stream/internal/util.cjs +3 -3
  390. package/_cjs/Stream/internal/util.cjs.map +1 -1
  391. package/_cjs/SubscriptionRef.cjs +68 -0
  392. package/_cjs/SubscriptionRef.cjs.map +1 -0
  393. package/_cjs/Supervisor/api.cjs +24 -20
  394. package/_cjs/Supervisor/api.cjs.map +1 -1
  395. package/_cjs/Supervisor/constructors.cjs +2 -2
  396. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  397. package/_cjs/Supervisor/definition.cjs +1 -1
  398. package/_cjs/Supervisor/definition.cjs.map +1 -1
  399. package/_cjs/SupervisorPatch.cjs +15 -11
  400. package/_cjs/SupervisorPatch.cjs.map +1 -1
  401. package/_cjs/TExit/definition.cjs.map +1 -1
  402. package/_cjs/TFuture/api.cjs +21 -15
  403. package/_cjs/TFuture/api.cjs.map +1 -1
  404. package/_cjs/TFuture/constructors.cjs +1 -1
  405. package/_cjs/TFuture/constructors.cjs.map +1 -1
  406. package/_cjs/TFuture/definition.cjs.map +1 -1
  407. package/_cjs/TReentrantLock/api.cjs +32 -28
  408. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  409. package/_cjs/TReentrantLock/definition.cjs +4 -4
  410. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  411. package/_cjs/TRef/api.cjs +233 -209
  412. package/_cjs/TRef/api.cjs.map +1 -1
  413. package/_cjs/TRef/definition.cjs +4 -4
  414. package/_cjs/TRef/definition.cjs.map +1 -1
  415. package/_cjs/TSemaphore/api.cjs +27 -23
  416. package/_cjs/TSemaphore/api.cjs.map +1 -1
  417. package/_cjs/TSemaphore/constructors.cjs +18 -3
  418. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  419. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +21 -19
  420. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  421. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +21 -19
  422. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  423. package/_cjs/collection/immutable/Conc/filterIO.cjs +16 -14
  424. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  425. package/_cjs/collection/immutable/Conc/findIO.cjs +19 -17
  426. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  427. package/_cjs/collection/immutable/Conc/mapIO.cjs +11 -9
  428. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  429. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +31 -29
  430. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  431. package/_cjs/data/Exit/foreachIO.cjs +6 -4
  432. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  433. package/_cjs/internal/Hub.cjs +13 -11
  434. package/_cjs/internal/Hub.cjs.map +1 -1
  435. package/_cjs/internal/IsFatal.cjs +18 -16
  436. package/_cjs/internal/IsFatal.cjs.map +1 -1
  437. package/_cjs/internal/MutableQueue.cjs +11 -9
  438. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  439. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  440. package/_mjs/Cached/api.mjs +6 -6
  441. package/_mjs/Cached/api.mjs.map +1 -1
  442. package/_mjs/Channel/ChildExecutorDecision/api.mjs +18 -16
  443. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  444. package/_mjs/Channel/UpstreamPullRequest/api.mjs +14 -12
  445. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  446. package/_mjs/Channel/api/interruptWhen.mjs +11 -7
  447. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  448. package/_mjs/Channel/api/mapOutIOC.mjs +24 -23
  449. package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
  450. package/_mjs/Channel/api/mergeAll.mjs +5 -3
  451. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  452. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +5 -3
  453. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  454. package/_mjs/Channel/api/mergeAllWith.mjs +45 -46
  455. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  456. package/_mjs/Channel/api/mergeMap.mjs +5 -3
  457. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  458. package/_mjs/Channel/api/mergeWith.mjs +46 -44
  459. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  460. package/_mjs/Channel/api/run.mjs +1 -1
  461. package/_mjs/Channel/api/run.mjs.map +1 -1
  462. package/_mjs/Channel/api/runScoped.mjs +2 -2
  463. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  464. package/_mjs/Channel/api/toPull.mjs +3 -3
  465. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  466. package/_mjs/Channel/api/zipC.mjs +16 -10
  467. package/_mjs/Channel/api/zipC.mjs.map +1 -1
  468. package/_mjs/Channel/api.mjs +224 -173
  469. package/_mjs/Channel/api.mjs.map +1 -1
  470. package/_mjs/Channel/core-api.mjs +28 -18
  471. package/_mjs/Channel/core-api.mjs.map +1 -1
  472. package/_mjs/Channel/definition.mjs +1 -1
  473. package/_mjs/Channel/definition.mjs.map +1 -1
  474. package/_mjs/Channel/internal/ChannelExecutor.mjs +83 -83
  475. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  476. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +22 -23
  477. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  478. package/_mjs/Differ/api.mjs +5 -5
  479. package/_mjs/Differ/api.mjs.map +1 -1
  480. package/_mjs/Fiber/FiberContext.mjs +48 -48
  481. package/_mjs/Fiber/FiberContext.mjs.map +1 -1
  482. package/_mjs/Fiber/api/awaitAll.mjs +1 -1
  483. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  484. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  485. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  486. package/_mjs/Fiber/api/evalOn.mjs +11 -9
  487. package/_mjs/Fiber/api/evalOn.mjs.map +1 -1
  488. package/_mjs/Fiber/api/evalOnIO.mjs +5 -3
  489. package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -1
  490. package/_mjs/Fiber/api/fromIO.mjs +1 -1
  491. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  492. package/_mjs/Fiber/api/interrupt.mjs +1 -1
  493. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  494. package/_mjs/Fiber/api/interruptAll.mjs +2 -2
  495. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  496. package/_mjs/Fiber/api/interruptAs.mjs +6 -4
  497. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  498. package/_mjs/Fiber/api/interruptAsFork.mjs +6 -4
  499. package/_mjs/Fiber/api/interruptAsFork.mjs.map +1 -1
  500. package/_mjs/Fiber/api/interruptFork.mjs +1 -1
  501. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  502. package/_mjs/Fiber/api/join.mjs +1 -1
  503. package/_mjs/Fiber/api/join.mjs.map +1 -1
  504. package/_mjs/Fiber/api/joinAll.mjs +1 -1
  505. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  506. package/_mjs/Fiber/api/mapFiber.mjs +5 -3
  507. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  508. package/_mjs/Fiber/api/mapIO.mjs +11 -7
  509. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  510. package/_mjs/Fiber/api/zipWith.mjs +5 -3
  511. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  512. package/_mjs/Fiber/definition.mjs.map +1 -1
  513. package/_mjs/Fiber.mjs +1 -0
  514. package/_mjs/Fiber.mjs.map +1 -1
  515. package/_mjs/FiberRef/api/locallyScoped.mjs +5 -3
  516. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  517. package/_mjs/FiberRef/api/locallyScopedWith.mjs +5 -3
  518. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  519. package/_mjs/FiberRef/api.mjs +52 -36
  520. package/_mjs/FiberRef/api.mjs.map +1 -1
  521. package/_mjs/FiberRef/constructors.mjs +1 -1
  522. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  523. package/_mjs/FiberRef.mjs.map +1 -1
  524. package/_mjs/FiberRefs/api.mjs +14 -12
  525. package/_mjs/FiberRefs/api.mjs.map +1 -1
  526. package/_mjs/FiberRefs/join.mjs +35 -33
  527. package/_mjs/FiberRefs/join.mjs.map +1 -1
  528. package/_mjs/FiberState/definition.mjs.map +1 -1
  529. package/_mjs/Future/api.mjs +84 -66
  530. package/_mjs/Future/api.mjs.map +1 -1
  531. package/_mjs/Future/constructors.mjs +1 -1
  532. package/_mjs/Future/constructors.mjs.map +1 -1
  533. package/_mjs/Hub/constructors.mjs +66 -0
  534. package/_mjs/Hub/constructors.mjs.map +1 -0
  535. package/_mjs/Hub/definition.mjs +88 -9
  536. package/_mjs/Hub/definition.mjs.map +1 -1
  537. package/_mjs/Hub/internal.mjs +105 -122
  538. package/_mjs/Hub/internal.mjs.map +1 -1
  539. package/_mjs/Hub.mjs +1 -1
  540. package/_mjs/Hub.mjs.map +1 -1
  541. package/_mjs/IO/api/acquireReleaseExit.mjs +1 -1
  542. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  543. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +1 -1
  544. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  545. package/_mjs/IO/api/addFinalizerExit.mjs +1 -1
  546. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  547. package/_mjs/IO/api/asyncIO.mjs +4 -4
  548. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  549. package/_mjs/IO/api/bracket.mjs +2 -2
  550. package/_mjs/IO/api/bracket.mjs.map +1 -1
  551. package/_mjs/IO/api/bracketExit.mjs +2 -2
  552. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  553. package/_mjs/IO/api/clockWith.mjs +2 -2
  554. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  555. package/_mjs/IO/api/concurrency.mjs +8 -6
  556. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  557. package/_mjs/IO/api/concurrentFinalizers.mjs +1 -1
  558. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  559. package/_mjs/IO/api/consoleWith.mjs +2 -2
  560. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  561. package/_mjs/IO/api/core-scope.mjs +40 -36
  562. package/_mjs/IO/api/core-scope.mjs.map +1 -1
  563. package/_mjs/IO/api/ensuringChildren.mjs +5 -3
  564. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  565. package/_mjs/IO/api/environment.mjs +29 -27
  566. package/_mjs/IO/api/environment.mjs.map +1 -1
  567. package/_mjs/IO/api/foreachC.mjs +17 -19
  568. package/_mjs/IO/api/foreachC.mjs.map +1 -1
  569. package/_mjs/IO/api/foreachExec.mjs +2 -2
  570. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  571. package/_mjs/IO/api/forkAll.mjs +1 -1
  572. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  573. package/_mjs/IO/api/forkIn.mjs +7 -5
  574. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  575. package/_mjs/IO/api/forkScoped.mjs +1 -1
  576. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  577. package/_mjs/IO/api/fulfill.mjs +7 -5
  578. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  579. package/_mjs/IO/api/interrupt.mjs +34 -28
  580. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  581. package/_mjs/IO/api/memoize.mjs +1 -1
  582. package/_mjs/IO/api/memoize.mjs.map +1 -1
  583. package/_mjs/IO/api/onExit.mjs +5 -3
  584. package/_mjs/IO/api/onExit.mjs.map +1 -1
  585. package/_mjs/IO/api/onTermination.mjs +5 -3
  586. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  587. package/_mjs/IO/api/once.mjs +3 -4
  588. package/_mjs/IO/api/once.mjs.map +1 -1
  589. package/_mjs/IO/api/provideLayer.mjs +5 -3
  590. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  591. package/_mjs/IO/api/provideSomeLayer.mjs +5 -11
  592. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  593. package/_mjs/IO/api/race.mjs +5 -3
  594. package/_mjs/IO/api/race.mjs.map +1 -1
  595. package/_mjs/IO/api/raceFirst.mjs +5 -3
  596. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  597. package/_mjs/IO/api/randomWith.mjs +1 -1
  598. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  599. package/_mjs/IO/api/repeat.mjs +8 -8
  600. package/_mjs/IO/api/repeat.mjs.map +1 -1
  601. package/_mjs/IO/api/retry.mjs +12 -12
  602. package/_mjs/IO/api/retry.mjs.map +1 -1
  603. package/_mjs/IO/api/schedule.mjs +15 -11
  604. package/_mjs/IO/api/schedule.mjs.map +1 -1
  605. package/_mjs/IO/api/scoped.mjs +3 -3
  606. package/_mjs/IO/api/scoped.mjs.map +1 -1
  607. package/_mjs/IO/api/sequenceT.mjs +1 -1
  608. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  609. package/_mjs/IO/api/stateful.mjs.map +1 -1
  610. package/_mjs/IO/api/supervised.mjs +5 -3
  611. package/_mjs/IO/api/supervised.mjs.map +1 -1
  612. package/_mjs/IO/api/timeout.mjs +10 -6
  613. package/_mjs/IO/api/timeout.mjs.map +1 -1
  614. package/_mjs/IO/api/withChildren.mjs +1 -1
  615. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  616. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  617. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  618. package/_mjs/IO/api/withFinalizer.mjs +5 -3
  619. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  620. package/_mjs/IO/api/withFinalizerExit.mjs +5 -3
  621. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  622. package/_mjs/IO/api/withRuntimeConfig.mjs +5 -3
  623. package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -1
  624. package/_mjs/IO/api/zipC.mjs +18 -14
  625. package/_mjs/IO/api/zipC.mjs.map +1 -1
  626. package/_mjs/IO/api.mjs +511 -387
  627. package/_mjs/IO/api.mjs.map +1 -1
  628. package/_mjs/IO/definition.mjs.map +1 -1
  629. package/_mjs/IO/runtime.mjs +7 -7
  630. package/_mjs/IO/runtime.mjs.map +1 -1
  631. package/_mjs/IO.mjs.map +1 -1
  632. package/_mjs/IOEnv/definition.mjs +1 -1
  633. package/_mjs/IOEnv/definition.mjs.map +1 -1
  634. package/_mjs/IOEnv/live.mjs +1 -1
  635. package/_mjs/IOEnv/live.mjs.map +1 -1
  636. package/_mjs/Layer/MemoMap.mjs +86 -87
  637. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  638. package/_mjs/Layer/api.mjs +91 -63
  639. package/_mjs/Layer/api.mjs.map +1 -1
  640. package/_mjs/Layer/definition.mjs.map +1 -1
  641. package/_mjs/LogLevel.mjs +24 -16
  642. package/_mjs/LogLevel.mjs.map +1 -1
  643. package/_mjs/LogSpan.mjs +16 -14
  644. package/_mjs/LogSpan.mjs.map +1 -1
  645. package/_mjs/Logger/api.mjs +16 -12
  646. package/_mjs/Logger/api.mjs.map +1 -1
  647. package/_mjs/Logger/constructors.mjs +1 -1
  648. package/_mjs/Logger/constructors.mjs.map +1 -1
  649. package/_mjs/Queue/constructors.mjs +16 -5
  650. package/_mjs/Queue/constructors.mjs.map +1 -1
  651. package/_mjs/Queue/definition.mjs +174 -12
  652. package/_mjs/Queue/definition.mjs.map +1 -1
  653. package/_mjs/Queue/internal.mjs +21 -170
  654. package/_mjs/Queue/internal.mjs.map +1 -1
  655. package/_mjs/Queue/strategy.mjs +20 -23
  656. package/_mjs/Queue/strategy.mjs.map +1 -1
  657. package/_mjs/Queue.mjs +1 -3
  658. package/_mjs/Queue.mjs.map +1 -1
  659. package/_mjs/Random/live.mjs +2 -2
  660. package/_mjs/Random/live.mjs.map +1 -1
  661. package/_mjs/Ref/Atomic.mjs +39 -3
  662. package/_mjs/Ref/Atomic.mjs.map +1 -1
  663. package/_mjs/Ref/Synchronized.mjs +123 -0
  664. package/_mjs/Ref/Synchronized.mjs.map +1 -0
  665. package/_mjs/Ref/constructors.mjs +15 -1
  666. package/_mjs/Ref/constructors.mjs.map +1 -1
  667. package/_mjs/Ref/definition.mjs +96 -4
  668. package/_mjs/Ref/definition.mjs.map +1 -1
  669. package/_mjs/Ref.mjs +1 -8
  670. package/_mjs/Ref.mjs.map +1 -1
  671. package/_mjs/Reloadable/constructors.mjs +10 -10
  672. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  673. package/_mjs/RuntimeConfig.mjs +2 -2
  674. package/_mjs/RuntimeConfig.mjs.map +1 -1
  675. package/_mjs/STM/api/core-api.mjs +29 -19
  676. package/_mjs/STM/api/core-api.mjs.map +1 -1
  677. package/_mjs/STM/api.mjs +180 -127
  678. package/_mjs/STM/api.mjs.map +1 -1
  679. package/_mjs/STM/driver.mjs +3 -3
  680. package/_mjs/STM/driver.mjs.map +1 -1
  681. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  682. package/_mjs/STM/internal/Journal.mjs +33 -29
  683. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  684. package/_mjs/STM.mjs.map +1 -1
  685. package/_mjs/Schedule/Decision.mjs +14 -12
  686. package/_mjs/Schedule/Decision.mjs.map +1 -1
  687. package/_mjs/Schedule/api/driver.mjs +15 -17
  688. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  689. package/_mjs/Schedule/api.mjs +326 -234
  690. package/_mjs/Schedule/api.mjs.map +1 -1
  691. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +12 -11
  692. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  693. package/_mjs/Scope/ReleaseMap/api.mjs +60 -51
  694. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  695. package/_mjs/Scope/api.mjs +28 -22
  696. package/_mjs/Scope/api.mjs.map +1 -1
  697. package/_mjs/ScopedRef/api.mjs +9 -11
  698. package/_mjs/ScopedRef/api.mjs.map +1 -1
  699. package/_mjs/ScopedRef/definition.mjs +1 -1
  700. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  701. package/_mjs/Sink/api.mjs +301 -240
  702. package/_mjs/Sink/api.mjs.map +1 -1
  703. package/_mjs/State/api.mjs +16 -12
  704. package/_mjs/State/api.mjs.map +1 -1
  705. package/_mjs/Stream/api/zipAllWith.mjs +14 -12
  706. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  707. package/_mjs/Stream/api/zipWith.mjs +5 -3
  708. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  709. package/_mjs/Stream/api/zipWithChunks.mjs +12 -10
  710. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  711. package/_mjs/Stream/api.mjs +856 -653
  712. package/_mjs/Stream/api.mjs.map +1 -1
  713. package/_mjs/Stream/definition.mjs.map +1 -1
  714. package/_mjs/Stream/internal/DebounceState.mjs +18 -16
  715. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  716. package/_mjs/Stream/internal/Handoff.mjs +35 -32
  717. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  718. package/_mjs/Stream/internal/Pull.mjs +9 -10
  719. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  720. package/_mjs/Stream/internal/SinkEndReason.mjs +14 -12
  721. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  722. package/_mjs/Stream/internal/Take.mjs +28 -20
  723. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  724. package/_mjs/Stream/internal/util.mjs +3 -3
  725. package/_mjs/Stream/internal/util.mjs.map +1 -1
  726. package/_mjs/SubscriptionRef.mjs +45 -0
  727. package/_mjs/SubscriptionRef.mjs.map +1 -0
  728. package/_mjs/Supervisor/api.mjs +22 -18
  729. package/_mjs/Supervisor/api.mjs.map +1 -1
  730. package/_mjs/Supervisor/constructors.mjs +2 -2
  731. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  732. package/_mjs/Supervisor/definition.mjs +1 -1
  733. package/_mjs/Supervisor/definition.mjs.map +1 -1
  734. package/_mjs/SupervisorPatch.mjs +15 -11
  735. package/_mjs/SupervisorPatch.mjs.map +1 -1
  736. package/_mjs/TExit/definition.mjs.map +1 -1
  737. package/_mjs/TFuture/api.mjs +17 -11
  738. package/_mjs/TFuture/api.mjs.map +1 -1
  739. package/_mjs/TFuture/constructors.mjs +1 -1
  740. package/_mjs/TFuture/constructors.mjs.map +1 -1
  741. package/_mjs/TFuture/definition.mjs.map +1 -1
  742. package/_mjs/TReentrantLock/api.mjs +32 -28
  743. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  744. package/_mjs/TReentrantLock/definition.mjs +4 -4
  745. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  746. package/_mjs/TRef/api.mjs +218 -194
  747. package/_mjs/TRef/api.mjs.map +1 -1
  748. package/_mjs/TRef/definition.mjs +4 -4
  749. package/_mjs/TRef/definition.mjs.map +1 -1
  750. package/_mjs/TSemaphore/api.mjs +23 -19
  751. package/_mjs/TSemaphore/api.mjs.map +1 -1
  752. package/_mjs/TSemaphore/constructors.mjs +12 -2
  753. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  754. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +19 -17
  755. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  756. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +19 -17
  757. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  758. package/_mjs/collection/immutable/Conc/filterIO.mjs +14 -12
  759. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  760. package/_mjs/collection/immutable/Conc/findIO.mjs +17 -15
  761. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  762. package/_mjs/collection/immutable/Conc/mapIO.mjs +10 -8
  763. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  764. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +28 -26
  765. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  766. package/_mjs/data/Exit/foreachIO.mjs +5 -3
  767. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  768. package/_mjs/internal/Hub.mjs +13 -11
  769. package/_mjs/internal/Hub.mjs.map +1 -1
  770. package/_mjs/internal/IsFatal.mjs +18 -16
  771. package/_mjs/internal/IsFatal.mjs.map +1 -1
  772. package/_mjs/internal/MutableQueue.mjs +10 -8
  773. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  774. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  775. package/_src/Cached/api.ts +2 -2
  776. package/_src/Channel/ChildExecutorDecision/api.ts +14 -17
  777. package/_src/Channel/UpstreamPullRequest/api.ts +11 -13
  778. package/_src/Channel/api/interruptWhen.ts +18 -17
  779. package/_src/Channel/api/mapOutIOC.ts +58 -58
  780. package/_src/Channel/api/mergeAll.ts +15 -16
  781. package/_src/Channel/api/mergeAllUnboundedWith.ts +15 -27
  782. package/_src/Channel/api/mergeAllWith.ts +114 -126
  783. package/_src/Channel/api/mergeMap.ts +8 -18
  784. package/_src/Channel/api/mergeWith.ts +154 -158
  785. package/_src/Channel/api/toPull.ts +1 -1
  786. package/_src/Channel/api/zipC.ts +52 -88
  787. package/_src/Channel/api.ts +345 -405
  788. package/_src/Channel/core-api.ts +75 -122
  789. package/_src/Channel/definition.ts +49 -7
  790. package/_src/Channel/internal/ChannelExecutor.ts +1 -5
  791. package/_src/Channel/internal/SingleProducerAsyncInput.ts +1 -3
  792. package/_src/Fiber/FiberContext.ts +13 -33
  793. package/_src/Fiber/api/collectAll.ts +1 -2
  794. package/_src/Fiber/api/evalOn.ts +11 -14
  795. package/_src/Fiber/api/evalOnIO.ts +10 -13
  796. package/_src/Fiber/api/interruptAll.ts +1 -2
  797. package/_src/Fiber/api/interruptAs.ts +6 -4
  798. package/_src/Fiber/api/interruptAsFork.ts +6 -4
  799. package/_src/Fiber/api/interruptFork.ts +1 -1
  800. package/_src/Fiber/api/mapFiber.ts +5 -7
  801. package/_src/Fiber/api/mapIO.ts +21 -21
  802. package/_src/Fiber/api/zipWith.ts +14 -17
  803. package/_src/Fiber/definition.ts +1 -15
  804. package/_src/Fiber.ts +1 -1
  805. package/_src/FiberRef/api/locallyScoped.ts +8 -6
  806. package/_src/FiberRef/api/locallyScopedWith.ts +5 -7
  807. package/_src/FiberRef/api.ts +50 -39
  808. package/_src/FiberRef.ts +0 -1
  809. package/_src/FiberRefs/api.ts +14 -12
  810. package/_src/FiberRefs/join.ts +37 -46
  811. package/_src/FiberState/definition.ts +1 -2
  812. package/_src/Future/api.ts +67 -53
  813. package/_src/Hub/constructors.ts +80 -0
  814. package/_src/Hub/definition.ts +95 -89
  815. package/_src/Hub/internal.ts +115 -165
  816. package/_src/Hub.ts +1 -1
  817. package/_src/IO/api/acquireRelease.ts +1 -1
  818. package/_src/IO/api/acquireReleaseExit.ts +1 -1
  819. package/_src/IO/api/bracket.ts +1 -1
  820. package/_src/IO/api/bracketExit.ts +1 -1
  821. package/_src/IO/api/clockWith.ts +0 -1
  822. package/_src/IO/api/concurrency.ts +5 -7
  823. package/_src/IO/api/consoleWith.ts +0 -2
  824. package/_src/IO/api/core-scope.ts +36 -33
  825. package/_src/IO/api/ensuringChildren.ts +8 -7
  826. package/_src/IO/api/environment.ts +24 -42
  827. package/_src/IO/api/foreachC.ts +24 -12
  828. package/_src/IO/api/foreachExec.ts +1 -1
  829. package/_src/IO/api/forkIn.ts +7 -9
  830. package/_src/IO/api/fulfill.ts +5 -3
  831. package/_src/IO/api/interrupt.ts +37 -40
  832. package/_src/IO/api/onExit.ts +8 -10
  833. package/_src/IO/api/onTermination.ts +12 -14
  834. package/_src/IO/api/provideLayer.ts +8 -10
  835. package/_src/IO/api/provideSomeLayer.ts +5 -14
  836. package/_src/IO/api/race.ts +19 -21
  837. package/_src/IO/api/raceFirst.ts +5 -7
  838. package/_src/IO/api/repeat.ts +3 -5
  839. package/_src/IO/api/retry.ts +19 -21
  840. package/_src/IO/api/schedule.ts +20 -21
  841. package/_src/IO/api/scoped.ts +2 -2
  842. package/_src/IO/api/sequenceT.ts +7 -1
  843. package/_src/IO/api/stateful.ts +0 -2
  844. package/_src/IO/api/supervised.ts +5 -7
  845. package/_src/IO/api/timeout.ts +10 -16
  846. package/_src/IO/api/withFinalizer.ts +5 -7
  847. package/_src/IO/api/withFinalizerExit.ts +6 -5
  848. package/_src/IO/api/withRuntimeConfig.ts +12 -14
  849. package/_src/IO/api/zipC.ts +57 -62
  850. package/_src/IO/api.ts +512 -539
  851. package/_src/IO/definition.ts +21 -9
  852. package/_src/IO/runtime.ts +0 -12
  853. package/_src/IO.ts +0 -1
  854. package/_src/Layer/MemoMap.ts +61 -63
  855. package/_src/Layer/api.ts +95 -104
  856. package/_src/Layer/definition.ts +0 -1
  857. package/_src/LogLevel.ts +24 -16
  858. package/_src/LogSpan.ts +16 -16
  859. package/_src/Logger/api.ts +18 -17
  860. package/_src/Logger/constructors.ts +9 -15
  861. package/_src/Queue/constructors.ts +22 -6
  862. package/_src/Queue/definition.ts +230 -81
  863. package/_src/Queue/internal.ts +9 -180
  864. package/_src/Queue/strategy.ts +9 -23
  865. package/_src/Queue.ts +1 -3
  866. package/_src/Ref/Atomic.ts +37 -4
  867. package/_src/Ref/Synchronized.ts +107 -0
  868. package/_src/Ref/constructors.ts +15 -0
  869. package/_src/Ref/definition.ts +86 -85
  870. package/_src/Ref.ts +1 -9
  871. package/_src/Reloadable/constructors.ts +2 -2
  872. package/_src/RuntimeConfig.ts +0 -2
  873. package/_src/STM/api/core-api.ts +32 -35
  874. package/_src/STM/api.ts +210 -200
  875. package/_src/STM/internal/Entry.ts +0 -10
  876. package/_src/STM/internal/Journal.ts +23 -26
  877. package/_src/STM.ts +0 -1
  878. package/_src/Schedule/Decision.ts +10 -8
  879. package/_src/Schedule/api/driver.ts +0 -4
  880. package/_src/Schedule/api.ts +419 -444
  881. package/_src/Schedule/definition.ts +0 -1
  882. package/_src/Scope/ReleaseMap/api/releaseAll.ts +23 -26
  883. package/_src/Scope/ReleaseMap/api.ts +77 -74
  884. package/_src/Scope/api.ts +16 -18
  885. package/_src/ScopedRef/api.ts +0 -3
  886. package/_src/ScopedRef/definition.ts +1 -2
  887. package/_src/Sink/api.ts +326 -357
  888. package/_src/State/api.ts +12 -8
  889. package/_src/State/internal.ts +1 -1
  890. package/_src/Stream/api/zipAllWith.ts +6 -5
  891. package/_src/Stream/api/zipWith.ts +5 -8
  892. package/_src/Stream/api/zipWithChunks.ts +6 -5
  893. package/_src/Stream/api.ts +1049 -1176
  894. package/_src/Stream/definition.ts +0 -2
  895. package/_src/Stream/internal/DebounceState.ts +16 -17
  896. package/_src/Stream/internal/Handoff.ts +31 -35
  897. package/_src/Stream/internal/Pull.ts +1 -2
  898. package/_src/Stream/internal/SinkEndReason.ts +13 -14
  899. package/_src/Stream/internal/Take.ts +21 -21
  900. package/_src/Stream/internal/util.ts +0 -2
  901. package/_src/SubscriptionRef.ts +44 -0
  902. package/_src/Supervisor/api.ts +18 -14
  903. package/_src/Supervisor/definition.ts +0 -1
  904. package/_src/SupervisorPatch.ts +10 -6
  905. package/_src/TExit/definition.ts +0 -8
  906. package/_src/TFuture/api.ts +23 -17
  907. package/_src/TFuture/definition.ts +0 -1
  908. package/_src/TReentrantLock/api.ts +14 -10
  909. package/_src/TReentrantLock/definition.ts +0 -7
  910. package/_src/TRef/api.ts +207 -209
  911. package/_src/TRef/definition.ts +0 -12
  912. package/_src/TSemaphore/api.ts +19 -18
  913. package/_src/TSemaphore/constructors.ts +7 -0
  914. package/_src/collection/immutable/Conc/dropUntilIO.ts +19 -21
  915. package/_src/collection/immutable/Conc/dropWhileIO.ts +21 -23
  916. package/_src/collection/immutable/Conc/filterIO.ts +15 -17
  917. package/_src/collection/immutable/Conc/findIO.ts +17 -19
  918. package/_src/collection/immutable/Conc/mapIO.ts +12 -10
  919. package/_src/collection/immutable/Conc/takeWhileIO.ts +27 -29
  920. package/_src/data/Exit/foreachIO.ts +8 -10
  921. package/_src/global.ts +7 -3
  922. package/_src/index.ts +3 -0
  923. package/_src/internal/Hub.ts +17 -27
  924. package/_src/internal/IsFatal.ts +14 -12
  925. package/_src/internal/MutableQueue.ts +8 -8
  926. package/_src/internal/StackTraceBuilder.ts +1 -2
  927. package/collection/immutable/Conc/dropUntilIO.d.ts +3 -3
  928. package/collection/immutable/Conc/dropWhileIO.d.ts +3 -3
  929. package/collection/immutable/Conc/filterIO.d.ts +3 -3
  930. package/collection/immutable/Conc/findIO.d.ts +2 -2
  931. package/collection/immutable/Conc/mapIO.d.ts +3 -3
  932. package/collection/immutable/Conc/takeWhileIO.d.ts +3 -3
  933. package/data/Exit/foreachIO.d.ts +3 -3
  934. package/global.d.ts +7 -3
  935. package/index.d.ts +3 -0
  936. package/internal/Hub.d.ts +2 -2
  937. package/internal/IsFatal.d.ts +3 -3
  938. package/internal/MutableQueue.d.ts +3 -3
  939. package/package.json +3 -3
  940. package/Hub/api.d.ts +0 -190
  941. package/Queue/api/dimapIO.d.ts +0 -41
  942. package/Queue/api/filterInputIO.d.ts +0 -33
  943. package/Queue/api/filterOutputIO.d.ts +0 -31
  944. package/Queue/api/operations.d.ts +0 -82
  945. package/Queue/api/poll.d.ts +0 -9
  946. package/Queue/api/takeBetween.d.ts +0 -11
  947. package/Queue/api/zipWithIO.d.ts +0 -44
  948. package/Queue/api.d.ts +0 -7
  949. package/Ref/Atomic/Atomic.d.ts +0 -18
  950. package/Ref/Atomic/api.d.ts +0 -53
  951. package/Ref/Derived.d.ts +0 -14
  952. package/Ref/DerivedAll.d.ts +0 -14
  953. package/Ref/Synchronized/api.d.ts +0 -100
  954. package/Ref/Synchronized/constructors.d.ts +0 -8
  955. package/Ref/Synchronized/definition.d.ts +0 -42
  956. package/Ref/api/collect.d.ts +0 -11
  957. package/Ref/api/dimap.d.ts +0 -56
  958. package/Ref/api/filter.d.ts +0 -20
  959. package/Ref/api/get.d.ts +0 -9
  960. package/Ref/api/match.d.ts +0 -13
  961. package/Ref/api/matchAll.d.ts +0 -11
  962. package/Ref/api/modify.d.ts +0 -79
  963. package/Ref/api/set.d.ts +0 -10
  964. package/Ref/api.d.ts +0 -23
  965. package/_cjs/Hub/api.cjs +0 -456
  966. package/_cjs/Hub/api.cjs.map +0 -1
  967. package/_cjs/Queue/api/dimapIO.cjs +0 -120
  968. package/_cjs/Queue/api/dimapIO.cjs.map +0 -1
  969. package/_cjs/Queue/api/filterInputIO.cjs +0 -84
  970. package/_cjs/Queue/api/filterInputIO.cjs.map +0 -1
  971. package/_cjs/Queue/api/filterOutputIO.cjs +0 -89
  972. package/_cjs/Queue/api/filterOutputIO.cjs.map +0 -1
  973. package/_cjs/Queue/api/operations.cjs +0 -147
  974. package/_cjs/Queue/api/operations.cjs.map +0 -1
  975. package/_cjs/Queue/api/poll.cjs +0 -27
  976. package/_cjs/Queue/api/poll.cjs.map +0 -1
  977. package/_cjs/Queue/api/takeBetween.cjs +0 -57
  978. package/_cjs/Queue/api/takeBetween.cjs.map +0 -1
  979. package/_cjs/Queue/api/zipWithIO.cjs +0 -97
  980. package/_cjs/Queue/api/zipWithIO.cjs.map +0 -1
  981. package/_cjs/Queue/api.cjs +0 -97
  982. package/_cjs/Queue/api.cjs.map +0 -1
  983. package/_cjs/Ref/Atomic/Atomic.cjs +0 -64
  984. package/_cjs/Ref/Atomic/Atomic.cjs.map +0 -1
  985. package/_cjs/Ref/Atomic/api.cjs +0 -156
  986. package/_cjs/Ref/Atomic/api.cjs.map +0 -1
  987. package/_cjs/Ref/Derived.cjs +0 -55
  988. package/_cjs/Ref/Derived.cjs.map +0 -1
  989. package/_cjs/Ref/DerivedAll.cjs +0 -55
  990. package/_cjs/Ref/DerivedAll.cjs.map +0 -1
  991. package/_cjs/Ref/Synchronized/api.cjs +0 -196
  992. package/_cjs/Ref/Synchronized/api.cjs.map +0 -1
  993. package/_cjs/Ref/Synchronized/constructors.cjs +0 -32
  994. package/_cjs/Ref/Synchronized/constructors.cjs.map +0 -1
  995. package/_cjs/Ref/Synchronized/definition.cjs +0 -88
  996. package/_cjs/Ref/Synchronized/definition.cjs.map +0 -1
  997. package/_cjs/Ref/api/collect.cjs +0 -31
  998. package/_cjs/Ref/api/collect.cjs.map +0 -1
  999. package/_cjs/Ref/api/dimap.cjs +0 -110
  1000. package/_cjs/Ref/api/dimap.cjs.map +0 -1
  1001. package/_cjs/Ref/api/filter.cjs +0 -45
  1002. package/_cjs/Ref/api/filter.cjs.map +0 -1
  1003. package/_cjs/Ref/api/get.cjs +0 -20
  1004. package/_cjs/Ref/api/get.cjs.map +0 -1
  1005. package/_cjs/Ref/api/match.cjs +0 -26
  1006. package/_cjs/Ref/api/match.cjs.map +0 -1
  1007. package/_cjs/Ref/api/matchAll.cjs +0 -24
  1008. package/_cjs/Ref/api/matchAll.cjs.map +0 -1
  1009. package/_cjs/Ref/api/modify.cjs +0 -239
  1010. package/_cjs/Ref/api/modify.cjs.map +0 -1
  1011. package/_cjs/Ref/api/set.cjs +0 -21
  1012. package/_cjs/Ref/api/set.cjs.map +0 -1
  1013. package/_cjs/Ref/api.cjs +0 -158
  1014. package/_cjs/Ref/api.cjs.map +0 -1
  1015. package/_mjs/Hub/api.mjs +0 -384
  1016. package/_mjs/Hub/api.mjs.map +0 -1
  1017. package/_mjs/Queue/api/dimapIO.mjs +0 -97
  1018. package/_mjs/Queue/api/dimapIO.mjs.map +0 -1
  1019. package/_mjs/Queue/api/filterInputIO.mjs +0 -63
  1020. package/_mjs/Queue/api/filterInputIO.mjs.map +0 -1
  1021. package/_mjs/Queue/api/filterOutputIO.mjs +0 -68
  1022. package/_mjs/Queue/api/filterOutputIO.mjs.map +0 -1
  1023. package/_mjs/Queue/api/operations.mjs +0 -122
  1024. package/_mjs/Queue/api/operations.mjs.map +0 -1
  1025. package/_mjs/Queue/api/poll.mjs +0 -14
  1026. package/_mjs/Queue/api/poll.mjs.map +0 -1
  1027. package/_mjs/Queue/api/takeBetween.mjs +0 -43
  1028. package/_mjs/Queue/api/takeBetween.mjs.map +0 -1
  1029. package/_mjs/Queue/api/zipWithIO.mjs +0 -74
  1030. package/_mjs/Queue/api/zipWithIO.mjs.map +0 -1
  1031. package/_mjs/Queue/api.mjs +0 -9
  1032. package/_mjs/Queue/api.mjs.map +0 -1
  1033. package/_mjs/Ref/Atomic/Atomic.mjs +0 -47
  1034. package/_mjs/Ref/Atomic/Atomic.mjs.map +0 -1
  1035. package/_mjs/Ref/Atomic/api.mjs +0 -127
  1036. package/_mjs/Ref/Atomic/api.mjs.map +0 -1
  1037. package/_mjs/Ref/Derived.mjs +0 -35
  1038. package/_mjs/Ref/Derived.mjs.map +0 -1
  1039. package/_mjs/Ref/DerivedAll.mjs +0 -35
  1040. package/_mjs/Ref/DerivedAll.mjs.map +0 -1
  1041. package/_mjs/Ref/Synchronized/api.mjs +0 -154
  1042. package/_mjs/Ref/Synchronized/api.mjs.map +0 -1
  1043. package/_mjs/Ref/Synchronized/constructors.mjs +0 -15
  1044. package/_mjs/Ref/Synchronized/constructors.mjs.map +0 -1
  1045. package/_mjs/Ref/Synchronized/definition.mjs +0 -66
  1046. package/_mjs/Ref/Synchronized/definition.mjs.map +0 -1
  1047. package/_mjs/Ref/api/collect.mjs +0 -17
  1048. package/_mjs/Ref/api/collect.mjs.map +0 -1
  1049. package/_mjs/Ref/api/dimap.mjs +0 -84
  1050. package/_mjs/Ref/api/dimap.mjs.map +0 -1
  1051. package/_mjs/Ref/api/filter.mjs +0 -29
  1052. package/_mjs/Ref/api/filter.mjs.map +0 -1
  1053. package/_mjs/Ref/api/get.mjs +0 -13
  1054. package/_mjs/Ref/api/get.mjs.map +0 -1
  1055. package/_mjs/Ref/api/match.mjs +0 -18
  1056. package/_mjs/Ref/api/match.mjs.map +0 -1
  1057. package/_mjs/Ref/api/matchAll.mjs +0 -16
  1058. package/_mjs/Ref/api/matchAll.mjs.map +0 -1
  1059. package/_mjs/Ref/api/modify.mjs +0 -204
  1060. package/_mjs/Ref/api/modify.mjs.map +0 -1
  1061. package/_mjs/Ref/api/set.mjs +0 -14
  1062. package/_mjs/Ref/api/set.mjs.map +0 -1
  1063. package/_mjs/Ref/api.mjs +0 -34
  1064. package/_mjs/Ref/api.mjs.map +0 -1
  1065. package/_src/Hub/api.ts +0 -461
  1066. package/_src/Queue/api/dimapIO.ts +0 -130
  1067. package/_src/Queue/api/filterInputIO.ts +0 -75
  1068. package/_src/Queue/api/filterOutputIO.ts +0 -76
  1069. package/_src/Queue/api/operations.ts +0 -139
  1070. package/_src/Queue/api/poll.ts +0 -14
  1071. package/_src/Queue/api/takeBetween.ts +0 -45
  1072. package/_src/Queue/api/zipWithIO.ts +0 -99
  1073. package/_src/Queue/api.ts +0 -9
  1074. package/_src/Ref/Atomic/Atomic.ts +0 -56
  1075. package/_src/Ref/Atomic/api.ts +0 -124
  1076. package/_src/Ref/Derived.ts +0 -71
  1077. package/_src/Ref/DerivedAll.ts +0 -75
  1078. package/_src/Ref/Synchronized/api.ts +0 -249
  1079. package/_src/Ref/Synchronized/constructors.ts +0 -12
  1080. package/_src/Ref/Synchronized/definition.ts +0 -126
  1081. package/_src/Ref/api/collect.ts +0 -19
  1082. package/_src/Ref/api/dimap.ts +0 -115
  1083. package/_src/Ref/api/filter.ts +0 -35
  1084. package/_src/Ref/api/get.ts +0 -17
  1085. package/_src/Ref/api/match.ts +0 -24
  1086. package/_src/Ref/api/matchAll.ts +0 -23
  1087. package/_src/Ref/api/modify.ts +0 -237
  1088. package/_src/Ref/api/set.ts +0 -19
  1089. package/_src/Ref/api.ts +0 -39
@@ -4,125 +4,129 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.absolve = absolve;
7
- exports.acquireReleaseExit_ = acquireReleaseExit_;
8
- exports.acquireRelease_ = acquireRelease_;
9
- exports.aggregateAsyncWithin_ = exports.aggregateAsyncWithinEither_ = void 0;
10
- exports.aggregateAsync_ = aggregateAsync_;
11
- exports.apFirst_ = apFirst_;
12
- exports.apSecond_ = void 0;
13
- exports.as_ = as_;
7
+ exports.acquireRelease = acquireRelease;
8
+ exports.acquireReleaseExit = acquireReleaseExit;
9
+ exports.aggregateAsync = aggregateAsync;
10
+ exports.aggregateAsyncWithinEither = exports.aggregateAsyncWithin = void 0;
11
+ exports.apFirst = apFirst;
12
+ exports.apSecond = void 0;
13
+ exports.as = as;
14
14
  exports.async = async;
15
15
  exports.asyncIO = asyncIO;
16
16
  exports.asyncMaybe = exports.asyncInterrupt = void 0;
17
- exports.bimap_ = bimap_;
18
- exports.broadcastDynamic_ = broadcastDynamic_;
19
- exports.broadcast_ = broadcast_;
20
- exports.broadcastedQueues_ = exports.broadcastedQueuesDynamic_ = void 0;
21
- exports.bufferChunks_ = bufferChunks_;
17
+ exports.bimap = bimap;
18
+ exports.broadcast = broadcast;
19
+ exports.broadcastDynamic = broadcastDynamic;
20
+ exports.broadcastedQueuesDynamic = exports.broadcastedQueues = void 0;
21
+ exports.buffer = buffer;
22
+ exports.bufferChunks = bufferChunks;
22
23
  exports.bufferUnbounded = bufferUnbounded;
23
- exports.buffer_ = buffer_;
24
- exports.catchAll_ = exports.catchAllCause_ = void 0;
25
- exports.catchJustCause_ = catchJustCause_;
26
- exports.catchJust_ = catchJust_;
27
- exports.changesWith_ = changesWith_;
24
+ exports.catchAllCause = exports.catchAll = void 0;
25
+ exports.catchJust = catchJust;
26
+ exports.catchJustCause = catchJustCause;
27
+ exports.changesWith = changesWith;
28
28
  exports.chunks = void 0;
29
29
  exports.chunksWith = chunksWith;
30
- exports.collectWhileIO_ = collectWhileIO_;
31
- exports.collectWhile_ = collectWhile_;
32
- exports.combineChunks_ = combineChunks_;
33
- exports.combine_ = combine_;
34
- exports.concat_ = void 0;
35
- exports.contramapEnvironment_ = contramapEnvironment_;
36
- exports.crossWith_ = void 0;
37
- exports.cross_ = cross_;
38
- exports.debounce_ = debounce_;
39
- exports.defaultIfEmpty_ = defaultIfEmpty_;
40
- exports.distributedWithDynamic_ = void 0;
41
- exports.distributedWith_ = distributedWith_;
30
+ exports.collectWhile = collectWhile;
31
+ exports.collectWhileIO = collectWhileIO;
32
+ exports.combine = combine;
33
+ exports.combineChunks = combineChunks;
34
+ exports.concat = void 0;
35
+ exports.contramapEnvironment = contramapEnvironment;
36
+ exports.cross = cross;
37
+ exports.crossWith = void 0;
38
+ exports.debounce = debounce;
39
+ exports.defaultIfEmpty = defaultIfEmpty;
40
+ exports.distributedWith = distributedWith;
41
+ exports.distributedWithDynamic = void 0;
42
42
  exports.drain = drain;
43
- exports.dropUntil_ = dropUntil_;
44
- exports.drop_ = exports.dropWhile_ = void 0;
43
+ exports.drop = void 0;
44
+ exports.dropUntil = dropUntil;
45
+ exports.dropWhile = void 0;
45
46
  exports.either = either;
46
47
  exports.empty = void 0;
47
- exports.endWhen_ = endWhen_;
48
- exports.environment = exports.ensuring_ = void 0;
48
+ exports.endWhen = endWhen;
49
+ exports.environment = exports.ensuring = void 0;
49
50
  exports.environmentWith = environmentWith;
50
51
  exports.environmentWithIO = environmentWithIO;
51
52
  exports.environmentWithStream = environmentWithStream;
52
53
  exports.fail = fail;
53
54
  exports.failCause = failCause;
54
55
  exports.failNow = exports.failCauseNow = void 0;
55
- exports.filterIO_ = filterIO_;
56
- exports.filterMapIO_ = filterMapIO_;
57
- exports.filterMap_ = void 0;
58
- exports.filter_ = filter_;
59
- exports.findIO_ = findIO_;
60
- exports.find_ = find_;
61
- exports.forever = exports.flattenTake = exports.flattenExitOption = exports.flattenChunks = exports.flatten = exports.flatMap_ = void 0;
56
+ exports.filter = filter;
57
+ exports.filterIO = filterIO;
58
+ exports.filterMap = void 0;
59
+ exports.filterMapIO = filterMapIO;
60
+ exports.find = find;
61
+ exports.findIO = findIO;
62
+ exports.forever = exports.flattenTake = exports.flattenExitOption = exports.flattenChunks = exports.flatten = exports.flatMap = void 0;
62
63
  exports.fromAsyncIterable = fromAsyncIterable;
63
- exports.fromIOMaybe = exports.fromIO = exports.fromChunkNow = exports.fromChunk = void 0;
64
+ exports.fromChunkNow = exports.fromChunk = void 0;
65
+ exports.fromHub = fromHub;
66
+ exports.fromHubScoped = fromHubScoped;
67
+ exports.fromIOMaybe = exports.fromIO = void 0;
64
68
  exports.fromIterable = fromIterable;
65
69
  exports.fromIterableSingle = fromIterableSingle;
66
- exports.halt = exports.fromQueue_ = exports.fromQueueWithShutdown = exports.fromPull = void 0;
70
+ exports.halt = exports.fromQueueWithShutdown = exports.fromQueue = exports.fromPull = void 0;
67
71
  exports.haltNow = haltNow;
68
- exports.haltWhenFuture_ = haltWhenFuture_;
69
- exports.haltWhen_ = haltWhen_;
70
- exports.interleaveWith_ = void 0;
71
- exports.interleave_ = interleave_;
72
- exports.interruptWhenFuture_ = interruptWhenFuture_;
73
- exports.interruptWhen_ = interruptWhen_;
74
- exports.intersperse_ = intersperse_;
75
- exports.mapAccum_ = exports.mapAccumIO_ = void 0;
76
- exports.mapChunksIO_ = mapChunksIO_;
77
- exports.mapChunks_ = void 0;
78
- exports.mapConcatChunkIO_ = mapConcatChunkIO_;
79
- exports.mapConcatChunk_ = void 0;
80
- exports.mapConcatIO_ = mapConcatIO_;
81
- exports.mapConcat_ = mapConcat_;
82
- exports.mapErrorCause_ = mapErrorCause_;
83
- exports.mapError_ = void 0;
84
- exports.mapIOC_ = mapIOC_;
85
- exports.map_ = exports.mapIO_ = void 0;
86
- exports.mergeEither_ = void 0;
87
- exports.mergeMapIO_ = mergeMapIO_;
88
- exports.mergeMap_ = void 0;
72
+ exports.haltWhen = haltWhen;
73
+ exports.haltWhenFuture = haltWhenFuture;
74
+ exports.interleave = interleave;
75
+ exports.interleaveWith = void 0;
76
+ exports.interruptWhen = interruptWhen;
77
+ exports.interruptWhenFuture = interruptWhenFuture;
78
+ exports.intersperse = intersperse;
79
+ exports.mapChunks = exports.mapAccumIO = exports.mapAccum = exports.map = void 0;
80
+ exports.mapChunksIO = mapChunksIO;
81
+ exports.mapConcat = mapConcat;
82
+ exports.mapConcatChunk = void 0;
83
+ exports.mapConcatChunkIO = mapConcatChunkIO;
84
+ exports.mapConcatIO = mapConcatIO;
85
+ exports.mapError = void 0;
86
+ exports.mapErrorCause = mapErrorCause;
87
+ exports.mapIO = void 0;
88
+ exports.mapIOC = mapIOC;
89
+ exports.mergeMap = exports.mergeEither = void 0;
90
+ exports.mergeMapIO = mergeMapIO;
91
+ exports.mergeWith = void 0;
89
92
  exports.mergeWithHandler = mergeWithHandler;
90
- exports.mergeWith_ = void 0;
91
- exports.onError_ = onError_;
92
- exports.orElseEither_ = orElseEither_;
93
- exports.orElseFail_ = orElseFail_;
94
- exports.orElseOptional_ = orElseOptional_;
95
- exports.orElseSucceed_ = orElseSucceed_;
96
- exports.provideLayer_ = exports.provideEnvironment_ = exports.pipeThrough_ = exports.orElse_ = void 0;
97
- exports.provideSomeLayer_ = provideSomeLayer_;
98
- exports.rechunk_ = rechunk_;
93
+ exports.onError = onError;
94
+ exports.orElse = void 0;
95
+ exports.orElseEither = orElseEither;
96
+ exports.orElseFail = orElseFail;
97
+ exports.orElseOptional = orElseOptional;
98
+ exports.orElseSucceed = orElseSucceed;
99
+ exports.provideLayer = exports.provideEnvironment = exports.pipeThrough = void 0;
100
+ exports.provideSomeLayer = provideSomeLayer;
101
+ exports.rechunk = rechunk;
99
102
  exports.repeatIO = repeatIO;
100
103
  exports.repeatIOChunk = repeatIOChunk;
101
104
  exports.repeatIOMaybe = exports.repeatIOChunkMaybe = void 0;
102
105
  exports.repeatValue = repeatValue;
106
+ exports.run = void 0;
103
107
  exports.runCollect = runCollect;
104
108
  exports.runDrain = runDrain;
105
- exports.scanReduceIO_ = exports.scanIO_ = exports.run_ = exports.runScoped_ = exports.runIntoQueueScoped_ = exports.runIntoHubScoped_ = exports.runIntoElementsScoped_ = exports.runForeachScoped_ = void 0;
106
- exports.scanReduce_ = scanReduce_;
107
- exports.scan_ = scan_;
108
- exports.scoped = void 0;
109
+ exports.runScoped = exports.runIntoQueueScoped = exports.runIntoHubScoped = exports.runIntoElementsScoped = exports.runForeachScoped = void 0;
110
+ exports.scan = scan;
111
+ exports.scanIO = void 0;
112
+ exports.scanReduce = scanReduce;
113
+ exports.scoped = exports.scanReduceIO = void 0;
109
114
  exports.succeed = succeed;
110
115
  exports.succeedNow = void 0;
111
- exports.takeUntilIO_ = takeUntilIO_;
112
- exports.takeUntil_ = takeUntil_;
113
- exports.take_ = take_;
114
- exports.tap_ = tap_;
115
- exports.throttleEnforceIO_ = void 0;
116
- exports.throttleEnforce_ = throttleEnforce_;
117
- exports.toPull = exports.toHub_ = void 0;
118
- exports.toQueueDropping_ = toQueueDropping_;
119
- exports.toQueueOfElements_ = void 0;
120
- exports.toQueueSliding_ = toQueueSliding_;
121
- exports.toQueue_ = exports.toQueueUnbounded = void 0;
116
+ exports.take = take;
117
+ exports.takeUntil = takeUntil;
118
+ exports.takeUntilIO = takeUntilIO;
119
+ exports.tap = tap;
120
+ exports.throttleEnforce = throttleEnforce;
121
+ exports.toQueue = exports.toPull = exports.toHub = exports.throttleEnforceIO = void 0;
122
+ exports.toQueueDropping = toQueueDropping;
123
+ exports.toQueueOfElements = void 0;
124
+ exports.toQueueSliding = toQueueSliding;
125
+ exports.toQueueUnbounded = void 0;
122
126
  exports.unfold = unfold;
123
127
  exports.unwrapScoped = exports.unwrap = exports.unfoldIO = exports.unfoldChunkIO = exports.unfoldChunk = void 0;
124
128
  exports.zipWithIndex_ = zipWithIndex_;
125
- exports.zipWithLatest_ = zipWithLatest_;
129
+ exports.zipWithLatest = zipWithLatest;
126
130
 
127
131
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
128
132
 
@@ -148,107 +152,97 @@ var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/requir
148
152
 
149
153
  var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api"));
150
154
 
151
- var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/api/set"));
155
+ var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runScoped"));
152
156
 
153
- var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/api/get"));
157
+ var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkScoped"));
154
158
 
155
- var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/api/modify"));
159
+ var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
156
160
 
157
- var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runScoped"));
161
+ var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
158
162
 
159
- var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkScoped"));
163
+ var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
160
164
 
161
- var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
165
+ var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/SinkEndReason"));
162
166
 
163
- var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
167
+ var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/join"));
164
168
 
165
- var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
169
+ var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
166
170
 
167
- var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/SinkEndReason"));
171
+ var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/core-scope"));
168
172
 
169
- var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/join"));
173
+ var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
170
174
 
171
- var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
175
+ var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/Take"));
172
176
 
173
- var tsplus_module_24 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/core-scope"));
177
+ var tsplus_module_24 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/runtime"));
174
178
 
175
- var tsplus_module_25 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
179
+ var tsplus_module_25 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/constructors"));
176
180
 
177
- var tsplus_module_26 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/Take"));
181
+ var tsplus_module_26 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
178
182
 
179
- var tsplus_module_27 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/operations"));
183
+ var tsplus_module_27 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/acquireReleaseExit"));
180
184
 
181
- var tsplus_module_28 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/runtime"));
185
+ var tsplus_module_28 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api/replicate"));
182
186
 
183
- var tsplus_module_29 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/constructors"));
187
+ var tsplus_module_29 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Hub/constructors"));
184
188
 
185
- var tsplus_module_30 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
189
+ var tsplus_module_30 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
186
190
 
187
- var tsplus_module_31 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/acquireReleaseExit"));
191
+ var tsplus_module_31 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/api"));
188
192
 
189
- var tsplus_module_32 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Hub/api"));
193
+ var tsplus_module_32 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/constructors"));
190
194
 
191
- var tsplus_module_33 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api/replicate"));
195
+ var tsplus_module_33 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
192
196
 
193
- var tsplus_module_34 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
197
+ var tsplus_module_34 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/Iterable/constructors"));
194
198
 
195
- var tsplus_module_35 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/api"));
199
+ var tsplus_module_35 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
196
200
 
197
- var tsplus_module_36 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/constructors"));
201
+ var tsplus_module_36 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/DebounceState"));
198
202
 
199
- var tsplus_module_37 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
203
+ var tsplus_module_37 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Clock/api"));
200
204
 
201
- var tsplus_module_38 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/Iterable/constructors"));
205
+ var tsplus_module_38 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/HashMap/api"));
202
206
 
203
- var tsplus_module_39 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
207
+ var tsplus_module_39 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/api"));
204
208
 
205
- var tsplus_module_40 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/DebounceState"));
209
+ var tsplus_module_40 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/constructors"));
206
210
 
207
- var tsplus_module_41 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Clock/api"));
211
+ var tsplus_module_41 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/STM/api"));
208
212
 
209
- var tsplus_module_42 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/HashMap/api"));
213
+ var tsplus_module_42 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/api"));
210
214
 
211
- var tsplus_module_43 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/api"));
215
+ var tsplus_module_43 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Predicate/api"));
212
216
 
213
- var tsplus_module_44 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/constructors"));
217
+ var tsplus_module_44 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/poll"));
214
218
 
215
- var tsplus_module_45 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/STM/api"));
219
+ var tsplus_module_45 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/environment"));
216
220
 
217
- var tsplus_module_46 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/api"));
221
+ var tsplus_module_46 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/collection/immutable/Conc/findIO"));
218
222
 
219
- var tsplus_module_47 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Predicate/api"));
223
+ var tsplus_module_47 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/definition"));
220
224
 
221
- var tsplus_module_48 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/poll"));
225
+ var tsplus_module_48 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/Pull"));
222
226
 
223
- var tsplus_module_49 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/environment"));
227
+ var tsplus_module_49 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/interruptWhen"));
224
228
 
225
- var tsplus_module_50 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/collection/immutable/Conc/findIO"));
229
+ var tsplus_module_50 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mapOutIOC"));
226
230
 
227
- var tsplus_module_51 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/definition"));
231
+ var tsplus_module_51 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeMap"));
228
232
 
229
- var tsplus_module_52 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/Pull"));
233
+ var tsplus_module_52 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/internal/MergeDecision"));
230
234
 
231
- var tsplus_module_53 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/takeBetween"));
235
+ var tsplus_module_53 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeWith"));
232
236
 
233
- var tsplus_module_54 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/interruptWhen"));
237
+ var tsplus_module_54 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/MemoMap"));
234
238
 
235
- var tsplus_module_55 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mapOutIOC"));
239
+ var tsplus_module_55 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/api"));
236
240
 
237
- var tsplus_module_56 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeMap"));
241
+ var tsplus_module_56 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runDrain"));
238
242
 
239
- var tsplus_module_57 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/internal/MergeDecision"));
243
+ var tsplus_module_57 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/exceptions"));
240
244
 
241
- var tsplus_module_58 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeWith"));
242
-
243
- var tsplus_module_59 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/MemoMap"));
244
-
245
- var tsplus_module_60 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/api"));
246
-
247
- var tsplus_module_61 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runDrain"));
248
-
249
- var tsplus_module_62 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/exceptions"));
250
-
251
- var tsplus_module_63 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/toPull"));
245
+ var tsplus_module_58 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/toPull"));
252
246
 
253
247
  var _function = /*#__PURE__*/require("@fncts/base/data/function");
254
248
 
@@ -263,48 +257,48 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
263
257
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
264
258
 
265
259
  const fileName_1 = "(@fncts/io) src/Stream/api.ts";
266
- const aggregateAsyncWithin_ = aggregateAsyncWithin_1;
267
- exports.aggregateAsyncWithin_ = aggregateAsyncWithin_;
268
- const aggregateAsyncWithinEither_ = aggregateAsyncWithinEither_1;
269
- exports.aggregateAsyncWithinEither_ = aggregateAsyncWithinEither_;
270
- const apSecond_ = apSecond_1;
271
- exports.apSecond_ = apSecond_;
260
+ const aggregateAsyncWithin = aggregateAsyncWithin_1;
261
+ exports.aggregateAsyncWithin = aggregateAsyncWithin;
262
+ const aggregateAsyncWithinEither = aggregateAsyncWithinEither_1;
263
+ exports.aggregateAsyncWithinEither = aggregateAsyncWithinEither;
264
+ const apSecond = apSecond_1;
265
+ exports.apSecond = apSecond;
272
266
  const asyncInterrupt = asyncInterrupt_1;
273
267
  exports.asyncInterrupt = asyncInterrupt;
274
268
  const asyncMaybe = asyncMaybe_1;
275
269
  exports.asyncMaybe = asyncMaybe;
276
- const broadcastedQueues_ = broadcastedQueues_1;
277
- exports.broadcastedQueues_ = broadcastedQueues_;
278
- const broadcastedQueuesDynamic_ = broadcastedQueuesDynamic_1;
279
- exports.broadcastedQueuesDynamic_ = broadcastedQueuesDynamic_;
280
- const catchAll_ = catchAll_1;
281
- exports.catchAll_ = catchAll_;
282
- const catchAllCause_ = catchAllCause_1;
283
- exports.catchAllCause_ = catchAllCause_;
284
- const flatMap_ = flatMap_1;
285
- exports.flatMap_ = flatMap_;
270
+ const broadcastedQueues = broadcastedQueues_1;
271
+ exports.broadcastedQueues = broadcastedQueues;
272
+ const broadcastedQueuesDynamic = broadcastedQueuesDynamic_1;
273
+ exports.broadcastedQueuesDynamic = broadcastedQueuesDynamic;
274
+ const catchAll = catchAll_1;
275
+ exports.catchAll = catchAll;
276
+ const catchAllCause = catchAllCause_1;
277
+ exports.catchAllCause = catchAllCause;
278
+ const flatMap = flatMap_1;
279
+ exports.flatMap = flatMap;
286
280
  const chunks = chunks_1;
287
281
  exports.chunks = chunks;
288
- const concat_ = concat_1;
289
- exports.concat_ = concat_;
290
- const crossWith_ = crossWith_1;
291
- exports.crossWith_ = crossWith_;
292
- const distributedWithDynamic_ = distributedWithDynamic_1;
293
- exports.distributedWithDynamic_ = distributedWithDynamic_;
294
- const drop_ = drop_1;
295
- exports.drop_ = drop_;
296
- const dropWhile_ = dropWhile_1;
297
- exports.dropWhile_ = dropWhile_;
298
- const ensuring_ = ensuring_1;
299
- exports.ensuring_ = ensuring_;
282
+ const concat = concat_1;
283
+ exports.concat = concat;
284
+ const crossWith = crossWith_1;
285
+ exports.crossWith = crossWith;
286
+ const distributedWithDynamic = distributedWithDynamic_1;
287
+ exports.distributedWithDynamic = distributedWithDynamic;
288
+ const drop = drop_1;
289
+ exports.drop = drop;
290
+ const dropWhile = dropWhile_1;
291
+ exports.dropWhile = dropWhile;
292
+ const ensuring = ensuring_1;
293
+ exports.ensuring = ensuring;
300
294
  const environment = environment_1;
301
295
  exports.environment = environment;
302
296
  const failNow = failNow_1;
303
297
  exports.failNow = failNow;
304
298
  const failCauseNow = failCauseNow_1;
305
299
  exports.failCauseNow = failCauseNow;
306
- const filterMap_ = filterMap_1;
307
- exports.filterMap_ = filterMap_;
300
+ const filterMap = filterMap_1;
301
+ exports.filterMap = filterMap;
308
302
  const flatten = flatten_1;
309
303
  exports.flatten = flatten;
310
304
  const flattenExitOption = flattenExitOption_1;
@@ -327,74 +321,74 @@ const fromIOMaybe = fromIOMaybe_1;
327
321
  exports.fromIOMaybe = fromIOMaybe;
328
322
  const fromPull = fromPull_1;
329
323
  exports.fromPull = fromPull;
330
- const fromQueue_ = fromQueue_1;
331
- exports.fromQueue_ = fromQueue_;
324
+ const fromQueue = fromQueue_1;
325
+ exports.fromQueue = fromQueue;
332
326
  const fromQueueWithShutdown = fromQueueWithShutdown_1;
333
327
  exports.fromQueueWithShutdown = fromQueueWithShutdown;
334
328
  const halt = halt_1;
335
329
  exports.halt = halt;
336
- const interleaveWith_ = interleaveWith_1;
337
- exports.interleaveWith_ = interleaveWith_;
338
- const map_ = map_1;
339
- exports.map_ = map_;
340
- const mapAccum_ = mapAccum_1;
341
- exports.mapAccum_ = mapAccum_;
342
- const mapAccumIO_ = mapAccumIO_1;
343
- exports.mapAccumIO_ = mapAccumIO_;
344
- const mapChunks_ = mapChunks_1;
345
- exports.mapChunks_ = mapChunks_;
346
- const mapConcatChunk_ = mapConcatChunk_1;
347
- exports.mapConcatChunk_ = mapConcatChunk_;
348
- const mapError_ = mapError_1;
349
- exports.mapError_ = mapError_;
350
- const mapIO_ = mapIO_1;
351
- exports.mapIO_ = mapIO_;
352
- const mergeMap_ = mergeMap_1;
353
- exports.mergeMap_ = mergeMap_;
354
- const mergeEither_ = mergeEither_1;
355
- exports.mergeEither_ = mergeEither_;
356
- const mergeWith_ = mergeWith_1;
357
- exports.mergeWith_ = mergeWith_;
358
- const orElse_ = orElse_1;
359
- exports.orElse_ = orElse_;
360
- const pipeThrough_ = pipeThrough_1;
361
- exports.pipeThrough_ = pipeThrough_;
362
- const provideEnvironment_ = provideEnvironment_1;
363
- exports.provideEnvironment_ = provideEnvironment_;
364
- const provideLayer_ = provideLayer_1;
365
- exports.provideLayer_ = provideLayer_;
330
+ const interleaveWith = interleaveWith_1;
331
+ exports.interleaveWith = interleaveWith;
332
+ const map = map_1;
333
+ exports.map = map;
334
+ const mapAccum = mapAccum_1;
335
+ exports.mapAccum = mapAccum;
336
+ const mapAccumIO = mapAccumIO_1;
337
+ exports.mapAccumIO = mapAccumIO;
338
+ const mapChunks = mapChunks_1;
339
+ exports.mapChunks = mapChunks;
340
+ const mapConcatChunk = mapConcatChunk_1;
341
+ exports.mapConcatChunk = mapConcatChunk;
342
+ const mapError = mapError_1;
343
+ exports.mapError = mapError;
344
+ const mapIO = mapIO_1;
345
+ exports.mapIO = mapIO;
346
+ const mergeMap = mergeMap_1;
347
+ exports.mergeMap = mergeMap;
348
+ const mergeEither = mergeEither_1;
349
+ exports.mergeEither = mergeEither;
350
+ const mergeWith = mergeWith_1;
351
+ exports.mergeWith = mergeWith;
352
+ const orElse = orElse_1;
353
+ exports.orElse = orElse;
354
+ const pipeThrough = pipeThrough_1;
355
+ exports.pipeThrough = pipeThrough;
356
+ const provideEnvironment = provideEnvironment_1;
357
+ exports.provideEnvironment = provideEnvironment;
358
+ const provideLayer = provideLayer_1;
359
+ exports.provideLayer = provideLayer;
366
360
  const repeatIOMaybe = repeatIOMaybe_1;
367
361
  exports.repeatIOMaybe = repeatIOMaybe;
368
362
  const repeatIOChunkMaybe = repeatIOChunkMaybe_1;
369
363
  exports.repeatIOChunkMaybe = repeatIOChunkMaybe;
370
- const run_ = run_1;
371
- exports.run_ = run_;
372
- const runForeachScoped_ = runForeachScoped_1;
373
- exports.runForeachScoped_ = runForeachScoped_;
374
- const runIntoElementsScoped_ = runIntoElementsScoped_1;
375
- exports.runIntoElementsScoped_ = runIntoElementsScoped_;
376
- const runIntoQueueScoped_ = runIntoQueueScoped_1;
377
- exports.runIntoQueueScoped_ = runIntoQueueScoped_;
378
- const runIntoHubScoped_ = runIntoHubScoped_1;
379
- exports.runIntoHubScoped_ = runIntoHubScoped_;
380
- const runScoped_ = runScoped_1;
381
- exports.runScoped_ = runScoped_;
382
- const scanIO_ = scanIO_1;
383
- exports.scanIO_ = scanIO_;
384
- const scanReduceIO_ = scanReduceIO_1;
385
- exports.scanReduceIO_ = scanReduceIO_;
364
+ const run = run_1;
365
+ exports.run = run;
366
+ const runForeachScoped = runForeachScoped_1;
367
+ exports.runForeachScoped = runForeachScoped;
368
+ const runIntoElementsScoped = runIntoElementsScoped_1;
369
+ exports.runIntoElementsScoped = runIntoElementsScoped;
370
+ const runIntoQueueScoped = runIntoQueueScoped_1;
371
+ exports.runIntoQueueScoped = runIntoQueueScoped;
372
+ const runIntoHubScoped = runIntoHubScoped_1;
373
+ exports.runIntoHubScoped = runIntoHubScoped;
374
+ const runScoped = runScoped_1;
375
+ exports.runScoped = runScoped;
376
+ const scanIO = scanIO_1;
377
+ exports.scanIO = scanIO;
378
+ const scanReduceIO = scanReduceIO_1;
379
+ exports.scanReduceIO = scanReduceIO;
386
380
  const succeedNow = succeedNow_1;
387
381
  exports.succeedNow = succeedNow;
388
- const throttleEnforceIO_ = throttleEnforceIO_1;
389
- exports.throttleEnforceIO_ = throttleEnforceIO_;
390
- const toHub_ = toHub_1;
391
- exports.toHub_ = toHub_;
382
+ const throttleEnforceIO = throttleEnforceIO_1;
383
+ exports.throttleEnforceIO = throttleEnforceIO;
384
+ const toHub = toHub_1;
385
+ exports.toHub = toHub;
392
386
  const toPull = toPull_1;
393
387
  exports.toPull = toPull;
394
- const toQueue_ = toQueue_1;
395
- exports.toQueue_ = toQueue_;
396
- const toQueueOfElements_ = toQueueOfElements_1;
397
- exports.toQueueOfElements_ = toQueueOfElements_;
388
+ const toQueue = toQueue_1;
389
+ exports.toQueue = toQueue;
390
+ const toQueueOfElements = toQueueOfElements_1;
391
+ exports.toQueueOfElements = toQueueOfElements;
398
392
  const toQueueUnbounded = toQueueUnbounded_1;
399
393
  exports.toQueueUnbounded = toQueueUnbounded;
400
394
  const unfoldChunkIO = unfoldChunkIO_1;
@@ -414,7 +408,7 @@ exports.unwrapScoped = unwrapScoped;
414
408
  * @tsplus getter fncts.io.Stream absolve
415
409
  */
416
410
  function absolve(self, __tsplusTrace) {
417
- return mapIO_1(self, either => tsplus_module_1.fromEither(() => either, __tsplusTrace), __tsplusTrace);
411
+ return mapIO_1(either => tsplus_module_1.fromEither(() => either, __tsplusTrace), __tsplusTrace)(self);
418
412
  }
419
413
  /**
420
414
  * Aggregates elements of this stream using the provided sink for as long
@@ -428,22 +422,26 @@ function absolve(self, __tsplusTrace) {
428
422
  * Any sink can be used here, but see `Sink.foldWeightedM` and `Sink.foldUntilM` for
429
423
  * sinks that cover the common usecases.
430
424
  *
431
- * @tsplus fluent fncts.io.Stream aggregateAsync
425
+ * @tsplus pipeable fncts.io.Stream aggregateAsync
432
426
  */
433
427
 
434
428
 
435
- function aggregateAsync_(stream, sink, __tsplusTrace) {
436
- return aggregateAsyncWithin_1(stream, sink, tsplus_module_2.forever, __tsplusTrace);
429
+ function aggregateAsync(sink, __tsplusTrace) {
430
+ return stream => {
431
+ return aggregateAsyncWithin_1(sink, tsplus_module_2.forever, __tsplusTrace)(stream);
432
+ };
437
433
  }
438
434
  /**
439
435
  * Like `aggregateAsyncWithinEither`, but only returns the `Right` results.
440
436
  *
441
- * @tsplus fluent fncts.io.Stream aggregateAsyncWithin
437
+ * @tsplus pipeable fncts.io.Stream aggregateAsyncWithin
442
438
  */
443
439
 
444
440
 
445
- function aggregateAsyncWithin_1(stream, sink, schedule, __tsplusTrace) {
446
- return filterMap_1(aggregateAsyncWithinEither_1(stream, sink, schedule, __tsplusTrace), cb => tsplus_module_4.match_(cb, () => tsplus_module_3.nothing(), tsplus_module_3.just), __tsplusTrace);
441
+ function aggregateAsyncWithin_1(sink, schedule, __tsplusTrace) {
442
+ return stream => {
443
+ return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
444
+ };
447
445
  }
448
446
  /**
449
447
  * Aggregates elements using the provided sink until it completes, or until the
@@ -457,96 +455,104 @@ function aggregateAsyncWithin_1(stream, sink, schedule, __tsplusTrace) {
457
455
  * Aggregated elements will be fed into the schedule to determine the delays between
458
456
  * pulls.
459
457
  *
460
- * @tsplus fluent fncts.io.Stream aggregateAsyncWithinEither
461
- */
462
-
463
-
464
- function aggregateAsyncWithinEither_1(stream, sink, schedule, __tsplusTrace) {
465
- const deps = tsplus_module_9.sequenceT(tsplus_module_5.make(), tsplus_module_6.make(() => new _SinkEndReason2.ScheduleEnd(), __tsplusTrace), tsplus_module_6.make(() => tsplus_module_7.empty(), __tsplusTrace), tsplus_module_8.driver(schedule, __tsplusTrace), tsplus_module_6.make(() => false, __tsplusTrace));
466
- return flatMap_1(fromIO_1(deps, __tsplusTrace), ([handoff, sinkEndReason, sinkLeftovers, scheduleDriver, consumed]) => {
467
- const handoffProducer = tsplus_module_10.readWithCause(_in => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_5.emit(_in))), handoffProducer), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_5.halt(cause))), _ => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_5.end(new _SinkEndReason2.UpstreamEnd()))));
468
- const handoffConsumer = tsplus_module_10.unwrap(() => tsplus_module_1.flatMap_(tsplus_module_15.getAndSet_(sinkLeftovers, tsplus_module_7.empty(), __tsplusTrace), leftovers => {
469
- if (tsplus_module_12.isNonEmpty(leftovers)) {
470
- return tsplus_module_1.apSecond_(tsplus_module_13.set_(consumed, true, __tsplusTrace), tsplus_module_1.succeedNow(tsplus_module_11.apSecond_(tsplus_module_10.writeNow(leftovers), handoffConsumer), __tsplusTrace), __tsplusTrace);
471
- } else {
472
- return tsplus_module_1.map_(tsplus_module_5.take(handoff), signal => tsplus_module_5.matchSignal_(signal, {
473
- Emit: ({
474
- els
475
- }) => tsplus_module_11.apSecond_(tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_13.set_(consumed, true, __tsplusTrace)), tsplus_module_10.writeNow(els)), handoffConsumer),
476
- Halt: ({
477
- error
478
- }) => tsplus_module_11.failCause(() => error),
479
- End: ({
480
- reason
481
- }) => {
482
- if (reason._tag === "ScheduleEnd"
483
- /* SinkEndReasonTag.ScheduleEnd */
484
- ) {
485
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_14.get(consumed, __tsplusTrace), p => p ? tsplus_module_10.fromIO(() => tsplus_module_13.set_(sinkEndReason, new _SinkEndReason2.ScheduleEnd(), __tsplusTrace)) : tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_13.set_(sinkEndReason, new _SinkEndReason2.ScheduleEnd(), __tsplusTrace)), handoffConsumer), __tsplusTrace));
486
- } else {
487
- return tsplus_module_10.fromIO(() => tsplus_module_13.set_(sinkEndReason, reason, __tsplusTrace));
458
+ * @tsplus pipeable fncts.io.Stream aggregateAsyncWithinEither
459
+ */
460
+
461
+
462
+ function aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace) {
463
+ return stream => {
464
+ const deps = tsplus_module_9.sequenceT(tsplus_module_5.make(), tsplus_module_6.make(() => new _SinkEndReason2.ScheduleEnd(), __tsplusTrace), tsplus_module_6.make(() => tsplus_module_7.empty(), __tsplusTrace), tsplus_module_8.driver(schedule, __tsplusTrace), tsplus_module_6.make(() => false, __tsplusTrace));
465
+ return flatMap_1(([handoff, sinkEndReason, sinkLeftovers, scheduleDriver, consumed]) => {
466
+ const handoffProducer = tsplus_module_10.readWithCause(_in => tsplus_module_11.apSecond(handoffProducer)(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.emit(_in))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff)), _ => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.end(new _SinkEndReason2.UpstreamEnd()))(handoff)));
467
+ const handoffConsumer = tsplus_module_10.unwrap(() => tsplus_module_1.flatMap(leftovers => {
468
+ if (tsplus_module_12.isNonEmpty(leftovers)) {
469
+ return tsplus_module_1.apSecond(tsplus_module_1.succeedNow(tsplus_module_11.apSecond(handoffConsumer)(tsplus_module_10.writeNow(leftovers)), __tsplusTrace), __tsplusTrace)(consumed.set(true, __tsplusTrace));
470
+ } else {
471
+ return tsplus_module_1.map(signal => tsplus_module_5.matchSignal({
472
+ Emit: ({
473
+ els
474
+ }) => tsplus_module_11.apSecond(handoffConsumer)(tsplus_module_11.apSecond(tsplus_module_10.writeNow(els))(tsplus_module_10.fromIO(() => consumed.set(true, __tsplusTrace)))),
475
+ Halt: ({
476
+ error
477
+ }) => tsplus_module_11.failCause(() => error),
478
+ End: ({
479
+ reason
480
+ }) => {
481
+ if (reason._tag === "ScheduleEnd"
482
+ /* SinkEndReasonTag.ScheduleEnd */
483
+ ) {
484
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.fromIO(() => sinkEndReason.set(new _SinkEndReason2.ScheduleEnd(), __tsplusTrace)) : tsplus_module_11.apSecond(handoffConsumer)(tsplus_module_10.fromIO(() => sinkEndReason.set(new _SinkEndReason2.ScheduleEnd(), __tsplusTrace))), __tsplusTrace)(consumed.get));
485
+ } else {
486
+ return tsplus_module_10.fromIO(() => sinkEndReason.set(reason, __tsplusTrace));
487
+ }
488
488
  }
489
- }
490
- }), __tsplusTrace);
491
- }
492
- }, __tsplusTrace));
493
-
494
- function timeout(lastB, __tsplusTrace) {
495
- return scheduleDriver.next(lastB, __tsplusTrace);
496
- }
489
+ })(signal), __tsplusTrace)(tsplus_module_5.take(handoff));
490
+ }
491
+ }, __tsplusTrace)(sinkLeftovers.getAndSet(tsplus_module_7.empty(), __tsplusTrace)));
497
492
 
498
- const scheduledAggregator = (sinkFiber, scheduleFiber) => {
499
- const forkSink = tsplus_module_1.apSecond_(tsplus_module_13.set_(consumed, false, __tsplusTrace), tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail_(handoffConsumer, sink.channel))), __tsplusTrace), __tsplusTrace);
500
-
501
- function handleSide(leftovers, b, c, __tsplusTrace) {
502
- return tsplus_module_10.unwrap(() => tsplus_module_1.apSecond_(tsplus_module_13.set_(sinkLeftovers, tsplus_module_12.flatten(leftovers), __tsplusTrace), tsplus_module_1.map_(tsplus_module_14.get(sinkEndReason, __tsplusTrace), reason => tsplus_module_21.matchSinkEndReason_(reason, {
503
- ScheduleEnd: () => tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap_(tsplus_module_14.get(consumed, __tsplusTrace), consumed_ => tsplus_module_1.flatMap_(forkSink, sinkFiber => tsplus_module_1.map_(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b), __tsplusTrace), __tsplusTrace), scheduleFiber => {
504
- const toWrite = tsplus_module_20.match_(c, () => tsplus_module_19.make(tsplus_module_18.right(b)), c => tsplus_module_19.make(tsplus_module_18.right(b), tsplus_module_18.left(c)));
505
- return consumed_ ? tsplus_module_11.apSecond_(tsplus_module_10.write(() => toWrite), scheduledAggregator(sinkFiber, scheduleFiber)) : scheduledAggregator(sinkFiber, scheduleFiber);
506
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace)),
507
- UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_14.get(consumed, __tsplusTrace), p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b))) : tsplus_module_10.unit, __tsplusTrace))
508
- }), __tsplusTrace), __tsplusTrace));
493
+ function timeout(lastB, __tsplusTrace) {
494
+ return scheduleDriver.next(lastB, __tsplusTrace);
509
495
  }
510
496
 
511
- return tsplus_module_10.unwrap(() => tsplus_module_24.raceWith_(tsplus_module_22.join(sinkFiber, __tsplusTrace), () => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.apSecond_(tsplus_module_23.interrupt(scheduleFiber, __tsplusTrace), tsplus_module_1.map_(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace), ([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace), __tsplusTrace), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO_(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace), cause => tsplus_module_4.match_(tsplus_module_25.failureOrCause(cause), () => tsplus_module_1.apSecond_(tsplus_module_24.forkDaemon(tsplus_module_5.offer(handoff, tsplus_module_5.end(new _SinkEndReason2.ScheduleEnd())), __tsplusTrace), tsplus_module_1.map_(tsplus_module_22.join(sinkFiber, __tsplusTrace), ([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace), __tsplusTrace), cause => tsplus_module_1.apSecond_(tsplus_module_24.forkDaemon(tsplus_module_5.offer(handoff, tsplus_module_5.halt(cause)), __tsplusTrace), tsplus_module_1.map_(tsplus_module_22.join(sinkFiber, __tsplusTrace), ([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace), __tsplusTrace)), c => tsplus_module_1.apSecond_(tsplus_module_24.forkDaemon(tsplus_module_5.offer(handoff, tsplus_module_5.end(new _SinkEndReason2.ScheduleEnd())), __tsplusTrace), tsplus_module_1.map_(tsplus_module_22.join(sinkFiber, __tsplusTrace), ([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace));
512
- };
497
+ const scheduledAggregator = (sinkFiber, scheduleFiber) => {
498
+ const forkSink = tsplus_module_1.apSecond(tsplus_module_14.forkScoped(tsplus_module_13.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace), __tsplusTrace)(consumed.set(false, __tsplusTrace));
499
+
500
+ function handleSide(leftovers, b, c, __tsplusTrace) {
501
+ return tsplus_module_10.unwrap(() => tsplus_module_1.apSecond(tsplus_module_1.map(reason => tsplus_module_18.matchSinkEndReason({
502
+ ScheduleEnd: () => tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(consumed_ => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => {
503
+ const toWrite = tsplus_module_17.match(() => tsplus_module_16.make(tsplus_module_15.right(b)), c => tsplus_module_16.make(tsplus_module_15.right(b), tsplus_module_15.left(c)))(c);
504
+ return consumed_ ? tsplus_module_11.apSecond(scheduledAggregator(sinkFiber, scheduleFiber))(tsplus_module_10.write(() => toWrite)) : scheduledAggregator(sinkFiber, scheduleFiber);
505
+ }, __tsplusTrace)(tsplus_module_14.forkScoped(timeout(tsplus_module_3.just(b), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(consumed.get)),
506
+ UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_16.make(tsplus_module_15.right(b))) : tsplus_module_10.unit, __tsplusTrace)(consumed.get))
507
+ })(reason), __tsplusTrace)(sinkEndReason.get), __tsplusTrace)(sinkLeftovers.set(tsplus_module_12.flatten(leftovers), __tsplusTrace)));
508
+ }
509
+
510
+ return tsplus_module_10.unwrap(() => tsplus_module_21.raceWith(() => tsplus_module_19.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.apSecond(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_20.interrupt(scheduleFiber, __tsplusTrace)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.apSecond(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_19.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_21.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new _SinkEndReason2.ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.apSecond(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_19.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_21.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_22.failureOrCause(cause)), c => tsplus_module_1.apSecond(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c), __tsplusTrace), __tsplusTrace)(tsplus_module_19.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_21.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new _SinkEndReason2.ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_19.join(sinkFiber, __tsplusTrace)));
511
+ };
513
512
 
514
- return unwrapScoped_1(tsplus_module_1.flatMap_(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(stream.channel, handoffProducer)), __tsplusTrace), () => tsplus_module_1.flatMap_(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail_(handoffConsumer, sink.channel))), __tsplusTrace), sinkFiber => tsplus_module_1.map_(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace), scheduleFiber => new _definition2.Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace);
515
- }, __tsplusTrace);
513
+ return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new _definition2.Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_14.forkScoped(timeout(tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_14.forkScoped(tsplus_module_13.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_14.forkScoped(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
514
+ }, __tsplusTrace)(fromIO_1(deps, __tsplusTrace));
515
+ };
516
516
  }
517
517
  /**
518
518
  * Composes this stream with the specified stream to create a cartesian product of elements,
519
519
  * but keeps only elements from this stream.
520
520
  * The `that` stream would be run multiple times, for every element in the `this` stream.
521
521
  *
522
- * @tsplus fluent fncts.io.Stream apFirst
522
+ * @tsplus pipeable fncts.io.Stream apFirst
523
523
  */
524
524
 
525
525
 
526
- function apFirst_(stream, that, __tsplusTrace) {
527
- return crossWith_1(stream, that, (a, _) => a, __tsplusTrace);
526
+ function apFirst(that, __tsplusTrace) {
527
+ return stream => {
528
+ return crossWith_1(that, (a, _) => a, __tsplusTrace)(stream);
529
+ };
528
530
  }
529
531
  /**
530
532
  * Composes this stream with the specified stream to create a cartesian product of elements,
531
533
  * but keeps only elements from the other stream.
532
534
  * The `that` stream would be run multiple times, for every element in the `this` stream.
533
535
  *
534
- * @tsplus fluent fncts.io.Stream apSecond
536
+ * @tsplus pipeable fncts.io.Stream apSecond
535
537
  */
536
538
 
537
539
 
538
- function apSecond_1(stream, that, __tsplusTrace) {
539
- return crossWith_1(stream, that, (_, b) => b, __tsplusTrace);
540
+ function apSecond_1(that, __tsplusTrace) {
541
+ return stream => {
542
+ return crossWith_1(that, (_, b) => b, __tsplusTrace)(stream);
543
+ };
540
544
  }
541
545
  /**
542
546
  * Maps the success values of this stream to the specified constant value.
543
547
  *
544
- * @tsplus fluent fncts.io.Stream as
548
+ * @tsplus pipeable fncts.io.Stream as
545
549
  */
546
550
 
547
551
 
548
- function as_(stream, b, __tsplusTrace) {
549
- return map_1(stream, () => b(), __tsplusTrace);
552
+ function as(b, __tsplusTrace) {
553
+ return stream => {
554
+ return map_1(() => b(), __tsplusTrace)(stream);
555
+ };
550
556
  }
551
557
  /**
552
558
  * @tsplus static fncts.io.StreamOps asyncInterrupt
@@ -554,13 +560,13 @@ function as_(stream, b, __tsplusTrace) {
554
560
 
555
561
 
556
562
  function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
557
- return unwrapScoped_1(tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(outputBuffer, __tsplusTrace), queue => tsplus_module_27.shutdown(queue, __tsplusTrace), __tsplusTrace), output => tsplus_module_1.flatMap_(tsplus_module_28.runtime(__tsplusTrace), runtime => tsplus_module_1.map_(tsplus_module_1.succeed(() => register((k, cb) => {
558
- const effect = tsplus_module_1.flatMap_(tsplus_module_26.fromPull(k), a => tsplus_module_27.offer_(output, a, __tsplusTrace), __tsplusTrace);
563
+ return unwrapScoped_1(tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(eitherStream => tsplus_module_4.match(canceler => {
564
+ const loop = tsplus_module_10.unwrap(() => tsplus_module_1.match(maybeError => tsplus_module_17.match(() => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow)(maybeError), as => tsplus_module_11.apSecond(loop)(tsplus_module_10.writeNow(as)), __tsplusTrace)(tsplus_module_1.flatMap(take => tsplus_module_23.done(take), __tsplusTrace)(output.take)));
565
+ return ensuring_1(canceler, __tsplusTrace)(new _definition2.Stream(loop));
566
+ }, stream => unwrap_1(tsplus_module_1.as(() => stream, __tsplusTrace)(output.shutdown), __tsplusTrace))(eitherStream), __tsplusTrace)(tsplus_module_1.succeed(() => register((k, cb) => {
567
+ const effect = tsplus_module_1.flatMap(a => output.offer(a, __tsplusTrace), __tsplusTrace)(tsplus_module_23.fromPull(k));
559
568
  return runtime.unsafeRunAsyncWith(effect, cb || _function.constVoid, __tsplusTrace);
560
- }), __tsplusTrace), eitherStream => tsplus_module_4.match_(eitherStream, canceler => {
561
- const loop = tsplus_module_10.unwrap(() => tsplus_module_1.match_(tsplus_module_1.flatMap_(tsplus_module_27.take(output, __tsplusTrace), take => tsplus_module_26.done(take), __tsplusTrace), maybeError => tsplus_module_20.match_(maybeError, () => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow), as => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(as), loop), __tsplusTrace));
562
- return ensuring_1(new _definition2.Stream(loop), canceler, __tsplusTrace);
563
- }, stream => unwrap_1(tsplus_module_1.as_(tsplus_module_27.shutdown(output, __tsplusTrace), () => stream, __tsplusTrace), __tsplusTrace)), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace);
569
+ }), __tsplusTrace)), __tsplusTrace)(tsplus_module_24.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeBounded(outputBuffer, __tsplusTrace), queue => queue.shutdown, __tsplusTrace)), __tsplusTrace);
564
570
  }
565
571
  /**
566
572
  * Creates a stream from an asynchronous callback that can be called multiple times.
@@ -573,7 +579,7 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
573
579
 
574
580
 
575
581
  function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
576
- return asyncInterrupt_1(k => tsplus_module_20.match_(register(k), () => tsplus_module_18.left(tsplus_module_1.unit), tsplus_module_18.right), outputBuffer, __tsplusTrace);
582
+ return asyncInterrupt_1(k => tsplus_module_17.match(() => tsplus_module_15.left(tsplus_module_1.unit), tsplus_module_15.right)(register(k)), outputBuffer, __tsplusTrace);
577
583
  }
578
584
  /**
579
585
  * @tsplus static fncts.io.StreamOps async
@@ -592,19 +598,21 @@ function async(register, outputBuffer = 16, __tsplusTrace) {
592
598
 
593
599
 
594
600
  function asyncIO(register, outputBuffer = 16, __tsplusTrace) {
595
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(outputBuffer, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace), output => tsplus_module_1.flatMap_(tsplus_module_28.runtime(__tsplusTrace), runtime => tsplus_module_1.map_(register((k, cb) => runtime.unsafeRunAsyncWith(tsplus_module_1.flatMap_(tsplus_module_26.fromPull(k), a => tsplus_module_27.offer_(output, a, __tsplusTrace), __tsplusTrace), cb || _function.constVoid, __tsplusTrace)), () => {
596
- const loop = tsplus_module_10.unwrap(() => tsplus_module_1.matchCauseIO_(tsplus_module_1.flatMap_(tsplus_module_27.take(output, __tsplusTrace), take => tsplus_module_26.done(take), __tsplusTrace), cause => tsplus_module_1.as_(tsplus_module_27.shutdown(output, __tsplusTrace), () => tsplus_module_4.match_(tsplus_module_25.failureOrCause(cause), maybeError => tsplus_module_20.match_(maybeError, () => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow), tsplus_module_11.failCauseNow), __tsplusTrace), as => tsplus_module_1.succeed(() => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(as), loop), __tsplusTrace), __tsplusTrace));
601
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(() => {
602
+ const loop = tsplus_module_10.unwrap(() => tsplus_module_1.matchCauseIO(cause => tsplus_module_1.as(() => tsplus_module_4.match(maybeError => tsplus_module_17.match(() => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow)(maybeError), tsplus_module_11.failCauseNow)(tsplus_module_22.failureOrCause(cause)), __tsplusTrace)(output.shutdown), as => tsplus_module_1.succeed(() => tsplus_module_11.apSecond(loop)(tsplus_module_10.writeNow(as)), __tsplusTrace), __tsplusTrace)(tsplus_module_1.flatMap(take => tsplus_module_23.done(take), __tsplusTrace)(output.take)));
597
603
  return loop;
598
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace)));
604
+ }, __tsplusTrace)(register((k, cb) => runtime.unsafeRunAsyncWith(tsplus_module_1.flatMap(a => output.offer(a, __tsplusTrace), __tsplusTrace)(tsplus_module_23.fromPull(k)), cb || _function.constVoid, __tsplusTrace))), __tsplusTrace)(tsplus_module_24.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeBounded(outputBuffer, __tsplusTrace), _ => _.shutdown, __tsplusTrace))));
599
605
  }
600
606
  /**
601
607
  * Returns a stream whose failure and success channels have been mapped by
602
608
  * the specified pair of functions, `f` and `g`.
609
+ *
610
+ * @tsplus pipeable fncts.io.Stream bimap
603
611
  */
604
612
 
605
613
 
606
- function bimap_(stream, f, g, __tsplusTrace) {
607
- return map_1(mapError_1(stream, f, __tsplusTrace), g, __tsplusTrace);
614
+ function bimap(f, g, __tsplusTrace) {
615
+ return stream => map_1(g, __tsplusTrace)(mapError_1(f, __tsplusTrace)(stream));
608
616
  }
609
617
  /**
610
618
  * Creates a stream from a single value that will get cleaned up after the
@@ -614,8 +622,8 @@ function bimap_(stream, f, g, __tsplusTrace) {
614
622
  */
615
623
 
616
624
 
617
- function acquireRelease_(acquire, release, __tsplusTrace) {
618
- return scoped_1(tsplus_module_30.acquireRelease(() => acquire, release, __tsplusTrace), __tsplusTrace);
625
+ function acquireRelease(acquire, release, __tsplusTrace) {
626
+ return scoped_1(() => tsplus_module_26.acquireRelease(() => acquire, release, __tsplusTrace), __tsplusTrace);
619
627
  }
620
628
  /**
621
629
  * Creates a stream from a single value that will get cleaned up after the
@@ -625,32 +633,36 @@ function acquireRelease_(acquire, release, __tsplusTrace) {
625
633
  */
626
634
 
627
635
 
628
- function acquireReleaseExit_(acquire, release, __tsplusTrace) {
629
- return scoped_1(tsplus_module_31.acquireReleaseExit(() => acquire, release, __tsplusTrace), __tsplusTrace);
636
+ function acquireReleaseExit(acquire, release, __tsplusTrace) {
637
+ return scoped_1(() => tsplus_module_27.acquireReleaseExit(() => acquire, release, __tsplusTrace), __tsplusTrace);
630
638
  }
631
639
  /**
632
640
  * Fan out the stream, producing a list of streams that have the same elements as this stream.
633
641
  * The driver stream will only ever advance of the `maximumLag` chunks before the
634
642
  * slowest downstream stream.
635
643
  *
636
- * @tsplus fluent fncts.io.Stream broadcast
644
+ * @tsplus pipeable fncts.io.Stream broadcast
637
645
  */
638
646
 
639
647
 
640
- function broadcast_(stream, n, maximumLag, __tsplusTrace) {
641
- return tsplus_module_1.map_(broadcastedQueues_1(stream, n, maximumLag, __tsplusTrace), c => tsplus_module_12.map_(c, hub => flattenTake_1(fromQueueWithShutdown_1(hub), __tsplusTrace)), __tsplusTrace);
648
+ function broadcast(n, maximumLag, __tsplusTrace) {
649
+ return stream => {
650
+ return tsplus_module_1.map(c => tsplus_module_12.map(hub => flattenTake_1(fromQueueWithShutdown_1(hub), __tsplusTrace))(c), __tsplusTrace)(broadcastedQueues_1(n, maximumLag, __tsplusTrace)(stream));
651
+ };
642
652
  }
643
653
  /**
644
654
  * Fan out the stream, producing a dynamic number of streams that have the same elements as this stream.
645
655
  * The driver stream will only ever advance of the `maximumLag` chunks before the
646
656
  * slowest downstream stream.
647
657
  *
648
- * @tsplus fluent fncts.io.Stream broadcastDynamic
658
+ * @tsplus pipeable fncts.io.Stream broadcastDynamic
649
659
  */
650
660
 
651
661
 
652
- function broadcastDynamic_(stream, maximumLag, __tsplusTrace) {
653
- return tsplus_module_1.map_(broadcastedQueuesDynamic_1(stream, maximumLag, __tsplusTrace), scoped => flattenTake_1(flatMap_1(scoped_1(scoped, __tsplusTrace), fromQueue_1, __tsplusTrace), __tsplusTrace), __tsplusTrace);
662
+ function broadcastDynamic(maximumLag, __tsplusTrace) {
663
+ return stream => {
664
+ return tsplus_module_1.map(scoped => flattenTake_1(flatMap_1(fromQueue_1, __tsplusTrace)(scoped_1(() => scoped, __tsplusTrace)), __tsplusTrace), __tsplusTrace)(broadcastedQueuesDynamic_1(maximumLag, __tsplusTrace)(stream));
665
+ };
654
666
  }
655
667
  /**
656
668
  * Converts the stream to a managed list of queues. Every value will be replicated to every queue with the
@@ -658,12 +670,14 @@ function broadcastDynamic_(stream, maximumLag, __tsplusTrace) {
658
670
  *
659
671
  * Queues can unsubscribe from upstream by shutting down.
660
672
  *
661
- * @tsplus fluent fncts.io.Stream broadcastedQueues
673
+ * @tsplus pipeable fncts.io.Stream broadcastedQueues
662
674
  */
663
675
 
664
676
 
665
- function broadcastedQueues_1(stream, n, maximumLag, __tsplusTrace) {
666
- return tsplus_module_1.flatMap_(tsplus_module_32.makeBounded(maximumLag, __tsplusTrace), hub => tsplus_module_1.flatMap_(tsplus_module_1.sequenceIterable(tsplus_module_33.replicate(n, tsplus_module_32.subscribe(hub, __tsplusTrace)), __tsplusTrace), queues => tsplus_module_1.map_(tsplus_module_1.fork(runIntoHubScoped_1(stream, hub, __tsplusTrace), __tsplusTrace), () => queues, __tsplusTrace), __tsplusTrace), __tsplusTrace);
677
+ function broadcastedQueues_1(n, maximumLag, __tsplusTrace) {
678
+ return stream => {
679
+ return tsplus_module_1.flatMap(hub => tsplus_module_1.flatMap(queues => tsplus_module_1.map(() => queues, __tsplusTrace)(tsplus_module_1.fork(runIntoHubScoped_1(hub, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.sequenceIterable(tsplus_module_28.replicate(n, hub.subscribe), __tsplusTrace)), __tsplusTrace)(tsplus_module_29.makeBounded(maximumLag, __tsplusTrace));
680
+ };
667
681
  }
668
682
  /**
669
683
  * Converts the stream to a managed dynamic amount of queues. Every chunk will be replicated to every queue with the
@@ -671,39 +685,45 @@ function broadcastedQueues_1(stream, n, maximumLag, __tsplusTrace) {
671
685
  *
672
686
  * Queues can unsubscribe from upstream by shutting down.
673
687
  *
674
- * @tsplus fluent fncts.io.Stream broadcastedQueuesDynamic
688
+ * @tsplus pipeable fncts.io.Stream broadcastedQueuesDynamic
675
689
  */
676
690
 
677
691
 
678
- function broadcastedQueuesDynamic_1(stream, maximumLag, __tsplusTrace) {
679
- return tsplus_module_1.map_(toHub_1(stream, maximumLag, __tsplusTrace), hub => tsplus_module_32.subscribe(hub, __tsplusTrace), __tsplusTrace);
692
+ function broadcastedQueuesDynamic_1(maximumLag, __tsplusTrace) {
693
+ return stream => {
694
+ return tsplus_module_1.map(hub => hub.subscribe, __tsplusTrace)(toHub_1(maximumLag, __tsplusTrace)(stream));
695
+ };
680
696
  }
681
697
  /**
682
698
  * Allows a faster producer to progress independently of a slower consumer by buffering
683
699
  * up to `capacity` elements in a queue.
684
700
  *
685
- * @tsplus fluent fncts.io.Stream buffer
701
+ * @tsplus pipeable fncts.io.Stream buffer
686
702
  */
687
703
 
688
704
 
689
- function buffer_(stream, capacity, __tsplusTrace) {
690
- const queue = toQueueOfElements_1(stream, capacity, __tsplusTrace);
691
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(queue, queue => {
692
- const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)), exit => tsplus_module_34.match_(exit, cause => tsplus_module_20.match_(tsplus_module_25.flipCauseOption(cause), () => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow), value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(value)), process)));
693
- return process;
694
- }, __tsplusTrace)));
705
+ function buffer(capacity, __tsplusTrace) {
706
+ return stream => {
707
+ const queue = toQueueOfElements_1(capacity, __tsplusTrace)(stream);
708
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(queue => {
709
+ const process = tsplus_module_11.flatMap(exit => tsplus_module_30.match(cause => tsplus_module_17.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_22.flipCauseOption(cause)), value => tsplus_module_11.apSecond(process)(tsplus_module_10.writeNow(tsplus_module_16.single(value))))(exit))(tsplus_module_10.fromIO(() => queue.take));
710
+ return process;
711
+ }, __tsplusTrace)(queue)));
712
+ };
695
713
  }
696
714
  /**
697
- * @tsplus fluent fncts.io.Stream bufferChunks
715
+ * @tsplus pipeable fncts.io.Stream bufferChunks
698
716
  */
699
717
 
700
718
 
701
- function bufferChunks_(stream, capacity, __tsplusTrace) {
702
- const queue = toQueue_1(stream, capacity, __tsplusTrace);
703
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(queue, queue => {
704
- const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)), take => tsplus_module_26.match_(take, tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(value), process)));
705
- return process;
706
- }, __tsplusTrace)));
719
+ function bufferChunks(capacity, __tsplusTrace) {
720
+ return stream => {
721
+ const queue = toQueue_1(capacity, __tsplusTrace)(stream);
722
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(queue => {
723
+ const process = tsplus_module_11.flatMap(take => tsplus_module_23.match(tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond(process)(tsplus_module_10.writeNow(value)))(take))(tsplus_module_10.fromIO(() => queue.take));
724
+ return process;
725
+ }, __tsplusTrace)(queue)));
726
+ };
707
727
  }
708
728
  /**
709
729
  * Allows a faster producer to progress independently of a slower consumer by buffering
@@ -715,79 +735,89 @@ function bufferChunks_(stream, capacity, __tsplusTrace) {
715
735
 
716
736
  function bufferUnbounded(stream, __tsplusTrace) {
717
737
  const queue = toQueueUnbounded_1(stream, __tsplusTrace);
718
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(queue, queue => {
719
- const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)), take => tsplus_module_26.match_(take, tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(value), process)));
738
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(queue => {
739
+ const process = tsplus_module_11.flatMap(take => tsplus_module_23.match(tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond(process)(tsplus_module_10.writeNow(value)))(take))(tsplus_module_10.fromIO(() => queue.take));
720
740
  return process;
721
- }, __tsplusTrace)));
741
+ }, __tsplusTrace)(queue)));
722
742
  }
723
743
 
724
744
  function bufferSignalProducer(queue, ref, __tsplusTrace) {
725
- const terminate = take => tsplus_module_10.fromIO(() => tsplus_module_1.flatMap_(tsplus_module_14.get(ref, __tsplusTrace), latch => tsplus_module_1.flatMap_(tsplus_module_35.wait(latch, __tsplusTrace), () => tsplus_module_1.flatMap_(tsplus_module_36.make(__tsplusTrace), p => tsplus_module_1.flatMap_(tsplus_module_27.offer_(queue, (0, _function.tuple)(take, p), __tsplusTrace), () => tsplus_module_1.flatMap_(tsplus_module_13.set_(ref, p, __tsplusTrace), () => tsplus_module_1.map_(tsplus_module_35.wait(p, __tsplusTrace), () => void 0, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace));
745
+ const terminate = take => tsplus_module_10.fromIO(() => tsplus_module_1.flatMap(latch => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(p => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(tsplus_module_31.wait(p, __tsplusTrace)), __tsplusTrace)(ref.set(p, __tsplusTrace)), __tsplusTrace)(queue.offer((0, _function.tuple)(take, p), __tsplusTrace)), __tsplusTrace)(tsplus_module_32.make(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.wait(latch, __tsplusTrace)), __tsplusTrace)(ref.get));
726
746
 
727
- return tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_1.flatMap_(tsplus_module_36.make(__tsplusTrace), p => tsplus_module_1.flatMap_(tsplus_module_27.offer_(queue, (0, _function.tuple)(tsplus_module_26.chunk(inp), p), __tsplusTrace), added => tsplus_module_1.map_(tsplus_module_1.when_(tsplus_module_13.set_(ref, p, __tsplusTrace), () => added, __tsplusTrace), () => void 0, __tsplusTrace), __tsplusTrace), __tsplusTrace)), bufferSignalProducer(queue, ref, __tsplusTrace)), e => terminate(tsplus_module_26.fail(e)), () => terminate(tsplus_module_26.end));
747
+ return tsplus_module_10.readWith(inp => tsplus_module_11.apSecond(bufferSignalProducer(queue, ref, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_1.flatMap(p => tsplus_module_1.flatMap(added => tsplus_module_1.map(() => void 0, __tsplusTrace)(tsplus_module_1.when(() => added, __tsplusTrace)(ref.set(p, __tsplusTrace))), __tsplusTrace)(queue.offer((0, _function.tuple)(tsplus_module_23.chunk(inp), p), __tsplusTrace)), __tsplusTrace)(tsplus_module_32.make(__tsplusTrace)))), e => terminate(tsplus_module_23.fail(e)), () => terminate(tsplus_module_23.end));
728
748
  }
729
749
 
730
750
  function bufferSignalConsumer(queue, __tsplusTrace) {
731
- const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)), ([take, promise]) => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_35.succeed_(promise, undefined, __tsplusTrace)), tsplus_module_26.match_(take, tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(value), process))));
751
+ const process = tsplus_module_11.flatMap(([take, promise]) => tsplus_module_11.apSecond(tsplus_module_23.match(tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond(process)(tsplus_module_10.writeNow(value)))(take))(tsplus_module_10.fromIO(() => tsplus_module_31.succeed_(undefined, __tsplusTrace)(promise))))(tsplus_module_10.fromIO(() => queue.take));
732
752
  return process;
733
753
  }
734
754
  /**
735
755
  * Switches over to the stream produced by the provided function in case this one
736
756
  * fails with a typed error.
737
757
  *
738
- * @tsplus fluent fncts.io.Stream catchAll
758
+ * @tsplus pipeable fncts.io.Stream catchAll
739
759
  */
740
760
 
741
761
 
742
- function catchAll_1(stream, f, __tsplusTrace) {
743
- return catchAllCause_1(stream, cause => tsplus_module_4.match_(tsplus_module_25.failureOrCause(cause), f, failCauseNow_1), __tsplusTrace);
762
+ function catchAll_1(f, __tsplusTrace) {
763
+ return stream => {
764
+ return catchAllCause_1(cause => tsplus_module_4.match(f, failCauseNow_1)(tsplus_module_22.failureOrCause(cause)), __tsplusTrace)(stream);
765
+ };
744
766
  }
745
767
  /**
746
768
  * Switches over to the stream produced by the provided function in case this one
747
769
  * fails. Allows recovery from all causes of failure, including interruption if the
748
770
  * stream is uninterruptible.
749
771
  *
750
- * @tsplus fluent fncts.io.Stream catchAllCause
772
+ * @tsplus pipeable fncts.io.Stream catchAllCause
751
773
  */
752
774
 
753
775
 
754
- function catchAllCause_1(stream, f, __tsplusTrace) {
755
- const channel = tsplus_module_10.catchAllCause_(stream.channel, cause => f(cause).channel);
756
- return new _definition2.Stream(channel);
776
+ function catchAllCause_1(f, __tsplusTrace) {
777
+ return stream => {
778
+ const channel = tsplus_module_10.catchAllCause(cause => f(cause).channel)(stream.channel);
779
+ return new _definition2.Stream(channel);
780
+ };
757
781
  }
758
782
  /**
759
783
  * Switches over to the stream produced by the provided function in case this one
760
784
  * fails with some typed error.
761
785
  *
762
- * @tsplus fluent fncts.io.Stream catchJust
786
+ * @tsplus pipeable fncts.io.Stream catchJust
763
787
  */
764
788
 
765
789
 
766
- function catchJust_(stream, pf, __tsplusTrace) {
767
- return catchAll_1(stream, e => tsplus_module_37.getOrElse_(pf(e), () => failNow_1(e, __tsplusTrace)), __tsplusTrace);
790
+ function catchJust(pf, __tsplusTrace) {
791
+ return stream => {
792
+ return catchAll_1(e => tsplus_module_33.getOrElse(() => failNow_1(e, __tsplusTrace))(pf(e)), __tsplusTrace)(stream);
793
+ };
768
794
  }
769
795
  /**
770
796
  * Switches over to the stream produced by the provided function in case this one
771
797
  * fails with some errors. Allows recovery from all causes of failure, including interruption if the
772
798
  * stream is uninterruptible.
773
799
  *
774
- * @tsplus fluent fncts.io.Stream catchJustCause
800
+ * @tsplus pipeable fncts.io.Stream catchJustCause
775
801
  */
776
802
 
777
803
 
778
- function catchJustCause_(stream, pf, __tsplusTrace) {
779
- return catchAllCause_1(stream, cause => tsplus_module_37.getOrElse_(pf(cause), () => failCauseNow_1(cause, __tsplusTrace)), __tsplusTrace);
804
+ function catchJustCause(pf, __tsplusTrace) {
805
+ return stream => {
806
+ return catchAllCause_1(cause => tsplus_module_33.getOrElse(() => failCauseNow_1(cause, __tsplusTrace))(pf(cause)), __tsplusTrace)(stream);
807
+ };
780
808
  }
781
809
  /**
782
810
  * Returns a stream made of the concatenation in strict order of all the streams
783
811
  * produced by passing each element of this stream to `f`
784
812
  *
785
- * @tsplus fluent fncts.io.Stream flatMap
813
+ * @tsplus pipeable fncts.io.Stream flatMap
786
814
  */
787
815
 
788
816
 
789
- function flatMap_1(stream, f, __tsplusTrace) {
790
- return new _definition2.Stream(tsplus_module_10.concatMap_(stream.channel, as => tsplus_module_12.foldLeft_(tsplus_module_12.map_(as, a => f(a).channel), tsplus_module_10.unit, (s, a) => tsplus_module_11.flatMap_(s, () => a))));
817
+ function flatMap_1(f, __tsplusTrace) {
818
+ return stream => {
819
+ return new _definition2.Stream(tsplus_module_10.concatMap(as => tsplus_module_12.foldLeft(tsplus_module_10.unit, (s, a) => tsplus_module_11.flatMap(() => a)(s))(tsplus_module_12.map(a => f(a).channel)(as)))(stream.channel));
820
+ };
791
821
  }
792
822
  /**
793
823
  * Exposes the underlying chunks of the stream as a stream of chunks of elements
@@ -797,24 +827,26 @@ function flatMap_1(stream, f, __tsplusTrace) {
797
827
 
798
828
 
799
829
  function chunks_1(stream, __tsplusTrace) {
800
- return mapChunks_1(stream, tsplus_module_19.single, __tsplusTrace);
830
+ return mapChunks_1(tsplus_module_16.single, __tsplusTrace)(stream);
801
831
  }
802
832
  /**
803
833
  * Performs the specified stream transformation with the chunk structure of
804
834
  * the stream exposed.
805
835
  *
806
- * @tsplus fluent fncts.io.Stream chunksWith
836
+ * @tsplus pipeable fncts.io.Stream chunksWith
807
837
  */
808
838
 
809
839
 
810
- function chunksWith(self, f, __tsplusTrace) {
811
- return flattenChunks_1(f(chunks_1(self, __tsplusTrace)), __tsplusTrace);
840
+ function chunksWith(f, __tsplusTrace) {
841
+ return self => {
842
+ return flattenChunks_1(f(chunks_1(self, __tsplusTrace)), __tsplusTrace);
843
+ };
812
844
  }
813
845
 
814
846
  function changesWithWriter(f, last, __tsplusTrace) {
815
847
  return tsplus_module_10.readWithCause(chunk => {
816
- const [newLast, newChunk] = tsplus_module_12.foldLeft_(chunk, [last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match_(maybeLast, () => [tsplus_module_3.just(o1), tsplus_module_12.append_(os, o1)], o => f(o, o1) ? [tsplus_module_3.just(o1), os] : [tsplus_module_3.just(o1), tsplus_module_12.append_(os, o1)]));
817
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(newChunk), changesWithWriter(f, newLast, __tsplusTrace));
848
+ const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_17.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);
849
+ return tsplus_module_11.apSecond(changesWithWriter(f, newLast, __tsplusTrace))(tsplus_module_10.writeNow(newChunk));
818
850
  }, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
819
851
  }
820
852
  /**
@@ -822,39 +854,43 @@ function changesWithWriter(f, last, __tsplusTrace) {
822
854
  * previous element emitted, using the specified function to determine
823
855
  * whether two elements are equal.
824
856
  *
825
- * @tsplus fluent fncts.io.Stream changesWith
857
+ * @tsplus pipeable fncts.io.Stream changesWith
826
858
  */
827
859
 
828
860
 
829
- function changesWith_(stream, f, __tsplusTrace) {
830
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, changesWithWriter(f, tsplus_module_3.nothing(), __tsplusTrace)));
861
+ function changesWith(f, __tsplusTrace) {
862
+ return stream => {
863
+ return new _definition2.Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(), __tsplusTrace))(stream.channel));
864
+ };
831
865
  }
832
866
  /**
833
867
  * Transforms all elements of the stream for as long as the specified partial function is defined.
834
868
  *
835
- * @tsplus fluent fncts.io.Stream collectWhile
869
+ * @tsplus pipeable fncts.io.Stream collectWhile
836
870
  */
837
871
 
838
872
 
839
- function collectWhile_(stream, pf, __tsplusTrace) {
840
- const loop = tsplus_module_10.readWith(inp => {
841
- const mapped = tsplus_module_12.collectWhile_(inp, pf);
873
+ function collectWhile(pf, __tsplusTrace) {
874
+ return stream => {
875
+ const loop = tsplus_module_10.readWith(inp => {
876
+ const mapped = tsplus_module_12.collectWhile(pf)(inp);
842
877
 
843
- if (mapped.length === inp.length) {
844
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(mapped), loop);
845
- } else {
846
- return tsplus_module_10.writeNow(mapped);
847
- }
848
- }, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
849
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
878
+ if (mapped.length === inp.length) {
879
+ return tsplus_module_11.apSecond(loop)(tsplus_module_10.writeNow(mapped));
880
+ } else {
881
+ return tsplus_module_10.writeNow(mapped);
882
+ }
883
+ }, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
884
+ return new _definition2.Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
885
+ };
850
886
  }
851
887
  /**
852
888
  * Effectfully transforms all elements of the stream for as long as the specified partial function is defined.
853
889
  */
854
890
 
855
891
 
856
- function collectWhileIO_(stream, pf, __tsplusTrace) {
857
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, collectWhileIOLoop(tsplus_module_38.empty()[Symbol.iterator](), pf, __tsplusTrace)));
892
+ function collectWhileIO(stream, pf, __tsplusTrace) {
893
+ return new _definition2.Stream(tsplus_module_10.pipeTo(collectWhileIOLoop(tsplus_module_34.empty()[Symbol.iterator](), pf, __tsplusTrace))(stream.channel));
858
894
  }
859
895
 
860
896
  function collectWhileIOLoop(iterator, pf, __tsplusTrace) {
@@ -863,12 +899,12 @@ function collectWhileIOLoop(iterator, pf, __tsplusTrace) {
863
899
  if (next.done) {
864
900
  return tsplus_module_10.readWithCause(elem => collectWhileIOLoop(elem[Symbol.iterator](), pf, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
865
901
  } else {
866
- return tsplus_module_10.unwrap(() => tsplus_module_20.match_(pf(next.value), () => tsplus_module_1.succeedNow(tsplus_module_10.unit, __tsplusTrace), b => tsplus_module_1.map_(b, b => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(b)), collectWhileIOLoop(iterator, pf, __tsplusTrace)), __tsplusTrace)));
902
+ return tsplus_module_10.unwrap(() => tsplus_module_17.match(() => tsplus_module_1.succeedNow(tsplus_module_10.unit, __tsplusTrace), b => tsplus_module_1.map(b => tsplus_module_11.apSecond(collectWhileIOLoop(iterator, pf, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_16.single(b))), __tsplusTrace)(b))(pf(next.value)));
867
903
  }
868
904
  }
869
905
 
870
906
  function combineProducer(handoff, latch, __tsplusTrace) {
871
- return tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)), tsplus_module_10.readWithCause(value => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_39.succeed(value))), combineProducer(handoff, latch, __tsplusTrace)), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_39.failCause(tsplus_module_25.map_(cause, tsplus_module_3.just)))), () => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_39.fail(tsplus_module_3.nothing()))), combineProducer(handoff, latch, __tsplusTrace))));
907
+ return tsplus_module_11.apSecond(tsplus_module_10.readWithCause(value => tsplus_module_11.apSecond(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_35.succeed(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_35.failCause(tsplus_module_22.map(tsplus_module_3.just)(cause)))(handoff)), () => tsplus_module_11.apSecond(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_35.fail(tsplus_module_3.nothing()))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
872
908
  }
873
909
  /**
874
910
  * Combines the elements from this stream and the specified stream by repeatedly applying the
@@ -878,20 +914,22 @@ function combineProducer(handoff, latch, __tsplusTrace) {
878
914
  *
879
915
  * Where possible, prefer `Stream#combineChunks` for a more efficient implementation.
880
916
  *
881
- * @tsplus fluent fncts.io.Stream combine
917
+ * @tsplus pipeable fncts.io.Stream combine
882
918
  */
883
919
 
884
920
 
885
- function combine_(stream, that, s, f, __tsplusTrace) {
886
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_5.make(), left => tsplus_module_1.flatMap_(tsplus_module_5.make(), right => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchL => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchR => tsplus_module_1.flatMap_(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(stream.channel, tsplus_module_10.writeChunk), combineProducer(left, latchL, __tsplusTrace))), __tsplusTrace), () => tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(that.channel, tsplus_module_10.writeChunk), combineProducer(right, latchR, __tsplusTrace))), __tsplusTrace), () => (0, _function.tuple)(left, right, latchL, latchR), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), ([left, right, latchL, latchR]) => {
887
- const pullLeft = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchL, undefined), tsplus_module_5.take(left), __tsplusTrace), tsplus_module_1.fromExitNow, __tsplusTrace);
888
- const pullRight = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchR, undefined), tsplus_module_5.take(right), __tsplusTrace), tsplus_module_1.fromExitNow, __tsplusTrace);
889
- return unfoldIO_1(s, s => tsplus_module_1.flatMap_(f(s, pullLeft, pullRight), exit => tsplus_module_1.optional(tsplus_module_1.fromExitNow(exit, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace).channel;
890
- }, __tsplusTrace)));
921
+ function combine(that, s, f, __tsplusTrace) {
922
+ return stream => {
923
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(([left, right, latchL, latchR]) => {
924
+ const pullLeft = tsplus_module_1.flatMap(tsplus_module_1.fromExitNow, __tsplusTrace)(tsplus_module_1.apSecond(tsplus_module_5.take(left), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchL)));
925
+ const pullRight = tsplus_module_1.flatMap(tsplus_module_1.fromExitNow, __tsplusTrace)(tsplus_module_1.apSecond(tsplus_module_5.take(right), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchR)));
926
+ return unfoldIO_1(s, s => tsplus_module_1.flatMap(exit => tsplus_module_1.optional(tsplus_module_1.fromExitNow(exit, __tsplusTrace), __tsplusTrace), __tsplusTrace)(f(s, pullLeft, pullRight)), __tsplusTrace).channel;
927
+ }, __tsplusTrace)(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => tsplus_module_1.flatMap(latchL => tsplus_module_1.flatMap(latchR => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => (0, _function.tuple)(left, right, latchL, latchR), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(combineProducer(right, latchR, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(that.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(combineProducer(left, latchL, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()))));
928
+ };
891
929
  }
892
930
 
893
931
  function combineChunksProducer(handoff, latch, __tsplusTrace) {
894
- return tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)), tsplus_module_10.readWithCause(chunk => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_26.chunk(chunk))), combineChunksProducer(handoff, latch, __tsplusTrace)), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_26.failCause(cause))), () => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_26.end)), combineChunksProducer(handoff, latch, __tsplusTrace))));
932
+ return tsplus_module_11.apSecond(tsplus_module_10.readWithCause(chunk => tsplus_module_11.apSecond(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_23.chunk(chunk))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_23.failCause(cause))(handoff)), () => tsplus_module_11.apSecond(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_23.end)(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
895
933
  }
896
934
  /**
897
935
  * Combines the chunks from this stream and the specified stream by repeatedly applying the
@@ -899,142 +937,158 @@ function combineChunksProducer(handoff, latch, __tsplusTrace) {
899
937
  * it to the destination stream. `f` can maintain some internal state to control
900
938
  * the combining process, with the initial state being specified by `s`.
901
939
  *
902
- * @tsplus fluent fncts.io.Stream combineChunks
940
+ * @tsplus pipeable fncts.io.Stream combineChunks
903
941
  */
904
942
 
905
943
 
906
- function combineChunks_(stream, that, s, f, __tsplusTrace) {
907
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_5.make(), left => tsplus_module_1.flatMap_(tsplus_module_5.make(), right => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchL => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchR => tsplus_module_1.flatMap_(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(stream.channel, combineChunksProducer(left, latchL, __tsplusTrace))), __tsplusTrace), () => tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(that.channel, combineChunksProducer(right, latchR, __tsplusTrace))), __tsplusTrace), () => (0, _function.tuple)(left, right, latchL, latchR), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), ([left, right, latchL, latchR]) => {
908
- const pullLeft = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchL, undefined), tsplus_module_5.take(left), __tsplusTrace), take => tsplus_module_26.done(take), __tsplusTrace);
909
- const pullRight = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchR, undefined), tsplus_module_5.take(right), __tsplusTrace), take => tsplus_module_26.done(take), __tsplusTrace);
910
- return unfoldChunkIO_1(s, s => tsplus_module_1.flatMap_(f(s, pullLeft, pullRight), exit => tsplus_module_1.optional(tsplus_module_1.fromExit(() => exit, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace).channel;
911
- }, __tsplusTrace)));
944
+ function combineChunks(that, s, f, __tsplusTrace) {
945
+ return stream => {
946
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(([left, right, latchL, latchR]) => {
947
+ const pullLeft = tsplus_module_1.flatMap(take => tsplus_module_23.done(take), __tsplusTrace)(tsplus_module_1.apSecond(tsplus_module_5.take(left), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchL)));
948
+ const pullRight = tsplus_module_1.flatMap(take => tsplus_module_23.done(take), __tsplusTrace)(tsplus_module_1.apSecond(tsplus_module_5.take(right), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchR)));
949
+ return unfoldChunkIO_1(s, s => tsplus_module_1.flatMap(exit => tsplus_module_1.optional(tsplus_module_1.fromExit(() => exit, __tsplusTrace), __tsplusTrace), __tsplusTrace)(f(s, pullLeft, pullRight)), __tsplusTrace).channel;
950
+ }, __tsplusTrace)(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => tsplus_module_1.flatMap(latchL => tsplus_module_1.flatMap(latchR => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => (0, _function.tuple)(left, right, latchL, latchR), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(combineChunksProducer(right, latchR, __tsplusTrace))(that.channel)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(combineChunksProducer(left, latchL, __tsplusTrace))(stream.channel)), __tsplusTrace)), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()))));
951
+ };
912
952
  }
913
953
  /**
914
954
  * Concatenates the specified stream with this stream, resulting in a stream
915
955
  * that emits the elements from this stream and then the elements from the specified stream.
916
956
  *
917
- * @tsplus fluent fncts.io.Stream concat
957
+ * @tsplus pipeable fncts.io.Stream concat
918
958
  */
919
959
 
920
960
 
921
- function concat_1(stream, that, __tsplusTrace) {
922
- return new _definition2.Stream(tsplus_module_11.apSecond_(stream.channel, that.channel));
961
+ function concat_1(that, __tsplusTrace) {
962
+ return stream => {
963
+ return new _definition2.Stream(tsplus_module_11.apSecond(that.channel)(stream.channel));
964
+ };
923
965
  }
924
966
  /**
925
967
  * Composes this stream with the specified stream to create a cartesian product of elements.
926
968
  * The `that` stream would be run multiple times, for every element in the `this` stream.
927
969
  *
928
- * @tsplus fluent fncts.io.Stream cross
970
+ * @tsplus pipeable fncts.io.Stream cross
929
971
  */
930
972
 
931
973
 
932
- function cross_(stream, that, __tsplusTrace) {
933
- return new _definition2.Stream(tsplus_module_10.concatMap_(stream.channel, as => tsplus_module_10.mapOut_(that.channel, bs => tsplus_module_12.flatMap_(as, a => tsplus_module_12.map_(bs, b => (0, _function.tuple)(a, b))))));
974
+ function cross(that, __tsplusTrace) {
975
+ return stream => {
976
+ return new _definition2.Stream(tsplus_module_10.concatMap(as => tsplus_module_10.mapOut(bs => tsplus_module_12.flatMap(a => tsplus_module_12.map(b => (0, _function.tuple)(a, b))(bs))(as))(that.channel))(stream.channel));
977
+ };
934
978
  }
935
979
  /**
936
980
  * Composes this stream with the specified stream to create a cartesian product of elements
937
981
  * with a specified function.
938
982
  * The `fb` stream would be run multiple times, for every element in the `fa` stream.
939
983
  *
940
- * @tsplus fluent fncts.io.Stream crossWith
984
+ * @tsplus pipeable fncts.io.Stream crossWith
941
985
  */
942
986
 
943
987
 
944
- function crossWith_1(fa, fb, f, __tsplusTrace) {
945
- return flatMap_1(fa, a => map_1(fb, b => f(a, b), __tsplusTrace), __tsplusTrace);
988
+ function crossWith_1(fb, f, __tsplusTrace) {
989
+ return fa => {
990
+ return flatMap_1(a => map_1(b => f(a, b), __tsplusTrace)(fb), __tsplusTrace)(fa);
991
+ };
946
992
  }
947
993
  /**
948
994
  * Provides some of the environment required to run this effect,
949
995
  * leaving the remainder `R0`.
950
996
  *
951
- * @tsplus fluent fncts.io.Stream contramapEnvironment
997
+ * @tsplus pipeable fncts.io.Stream contramapEnvironment
952
998
  */
953
999
 
954
1000
 
955
- function contramapEnvironment_(ra, f, __tsplusTrace) {
956
- return flatMap_1(environment_1(__tsplusTrace), r0 => provideEnvironment_1(ra, f(r0), __tsplusTrace), __tsplusTrace);
1001
+ function contramapEnvironment(f, __tsplusTrace) {
1002
+ return ra => {
1003
+ return flatMap_1(r0 => provideEnvironment_1(f(r0), __tsplusTrace)(ra), __tsplusTrace)(environment_1(__tsplusTrace));
1004
+ };
957
1005
  }
958
1006
  /**
959
- * @tsplus fluent fncts.io.Stream debounce
1007
+ * @tsplus pipeable fncts.io.Stream debounce
960
1008
  */
961
1009
 
962
1010
 
963
- function debounce_(stream, duration, __tsplusTrace) {
964
- return unwrap_1(tsplus_module_24.transplant(grafter => tsplus_module_1.map_(tsplus_module_5.make(), handoff => {
965
- function enqueue(last, __tsplusTrace) {
966
- return tsplus_module_1.map_(grafter(tsplus_module_1.fork(tsplus_module_1.as_(tsplus_module_41.sleep(duration, __tsplusTrace), () => last, __tsplusTrace), __tsplusTrace)), f => consumer(tsplus_module_40.previous(f), __tsplusTrace), __tsplusTrace);
967
- }
1011
+ function debounce(duration, __tsplusTrace) {
1012
+ return stream => {
1013
+ return unwrap_1(tsplus_module_21.transplant(grafter => tsplus_module_1.map(handoff => {
1014
+ function enqueue(last, __tsplusTrace) {
1015
+ return tsplus_module_1.map(f => consumer(tsplus_module_36.previous(f), __tsplusTrace), __tsplusTrace)(grafter(tsplus_module_1.fork(tsplus_module_1.as(() => last, __tsplusTrace)(tsplus_module_37.sleep(duration, __tsplusTrace)), __tsplusTrace)));
1016
+ }
968
1017
 
969
- const producer = tsplus_module_10.readWithCause(inp => tsplus_module_20.match_(tsplus_module_12.last(inp), () => producer, last => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_5.emit(tsplus_module_19.single(last)))), producer)), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_5.halt(cause))), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_5.end(new _SinkEndReason2.UpstreamEnd()))));
970
-
971
- function consumer(state, __tsplusTrace) {
972
- return tsplus_module_10.unwrap(() => tsplus_module_40.match_(state, {
973
- NotStarted: () => tsplus_module_1.map_(tsplus_module_5.take(handoff), signal => tsplus_module_5.matchSignal_(signal, {
974
- Emit: ({
975
- els
976
- }) => tsplus_module_10.unwrap(() => enqueue(els, __tsplusTrace)),
977
- Halt: ({
978
- error
979
- }) => tsplus_module_11.failCauseNow(error),
980
- End: () => tsplus_module_10.unit
981
- }), __tsplusTrace),
982
- Current: ({
983
- fiber
984
- }) => tsplus_module_1.map_(tsplus_module_22.join(fiber, __tsplusTrace), signal => tsplus_module_5.matchSignal_(signal, {
985
- Emit: ({
986
- els
987
- }) => tsplus_module_10.unwrap(() => enqueue(els, __tsplusTrace)),
988
- Halt: ({
989
- error
990
- }) => tsplus_module_11.failCauseNow(error),
991
- End: () => tsplus_module_10.unit
992
- }), __tsplusTrace),
993
- Previous: ({
994
- fiber
995
- }) => tsplus_module_24.raceWith_(tsplus_module_22.join(fiber, __tsplusTrace), () => tsplus_module_5.take(handoff), (ex, current) => tsplus_module_34.match_(ex, cause => tsplus_module_1.as_(tsplus_module_23.interrupt(current, __tsplusTrace), () => tsplus_module_11.failCauseNow(cause), __tsplusTrace), chunk => tsplus_module_1.succeedNow(tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), consumer(tsplus_module_40.current(current), __tsplusTrace)), __tsplusTrace)), (ex, previous) => tsplus_module_34.match_(ex, cause => tsplus_module_1.as_(tsplus_module_23.interrupt(previous, __tsplusTrace), () => tsplus_module_11.failCauseNow(cause), __tsplusTrace), signal => tsplus_module_5.matchSignal_(signal, {
996
- Emit: ({
997
- els
998
- }) => tsplus_module_1.apSecond_(tsplus_module_23.interrupt(previous, __tsplusTrace), enqueue(els, __tsplusTrace), __tsplusTrace),
999
- Halt: ({
1000
- error
1001
- }) => tsplus_module_1.as_(tsplus_module_23.interrupt(previous, __tsplusTrace), () => tsplus_module_11.failCauseNow(error), __tsplusTrace),
1002
- End: () => tsplus_module_1.map_(tsplus_module_22.join(previous, __tsplusTrace), chunk => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), tsplus_module_10.unit), __tsplusTrace)
1003
- })), __tsplusTrace)
1004
- }));
1005
- }
1018
+ const producer = tsplus_module_10.readWithCause(inp => tsplus_module_17.match(() => producer, last => tsplus_module_11.apSecond(producer)(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.emit(tsplus_module_16.single(last)))(handoff))))(tsplus_module_12.last(inp)), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff)), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.end(new _SinkEndReason2.UpstreamEnd()))(handoff)));
1019
+
1020
+ function consumer(state, __tsplusTrace) {
1021
+ return tsplus_module_10.unwrap(() => tsplus_module_36.match({
1022
+ NotStarted: () => tsplus_module_1.map(signal => tsplus_module_5.matchSignal({
1023
+ Emit: ({
1024
+ els
1025
+ }) => tsplus_module_10.unwrap(() => enqueue(els, __tsplusTrace)),
1026
+ Halt: ({
1027
+ error
1028
+ }) => tsplus_module_11.failCauseNow(error),
1029
+ End: () => tsplus_module_10.unit
1030
+ })(signal), __tsplusTrace)(tsplus_module_5.take(handoff)),
1031
+ Current: ({
1032
+ fiber
1033
+ }) => tsplus_module_1.map(signal => tsplus_module_5.matchSignal({
1034
+ Emit: ({
1035
+ els
1036
+ }) => tsplus_module_10.unwrap(() => enqueue(els, __tsplusTrace)),
1037
+ Halt: ({
1038
+ error
1039
+ }) => tsplus_module_11.failCauseNow(error),
1040
+ End: () => tsplus_module_10.unit
1041
+ })(signal), __tsplusTrace)(tsplus_module_19.join(fiber, __tsplusTrace)),
1042
+ Previous: ({
1043
+ fiber
1044
+ }) => tsplus_module_21.raceWith(() => tsplus_module_5.take(handoff), (ex, current) => tsplus_module_30.match(cause => tsplus_module_1.as(() => tsplus_module_11.failCauseNow(cause), __tsplusTrace)(tsplus_module_20.interrupt(current, __tsplusTrace)), chunk => tsplus_module_1.succeedNow(tsplus_module_11.apSecond(consumer(tsplus_module_36.current(current), __tsplusTrace))(tsplus_module_10.writeNow(chunk)), __tsplusTrace))(ex), (ex, previous) => tsplus_module_30.match(cause => tsplus_module_1.as(() => tsplus_module_11.failCauseNow(cause), __tsplusTrace)(tsplus_module_20.interrupt(previous, __tsplusTrace)), signal => tsplus_module_5.matchSignal({
1045
+ Emit: ({
1046
+ els
1047
+ }) => tsplus_module_1.apSecond(enqueue(els, __tsplusTrace), __tsplusTrace)(tsplus_module_20.interrupt(previous, __tsplusTrace)),
1048
+ Halt: ({
1049
+ error
1050
+ }) => tsplus_module_1.as(() => tsplus_module_11.failCauseNow(error), __tsplusTrace)(tsplus_module_20.interrupt(previous, __tsplusTrace)),
1051
+ End: () => tsplus_module_1.map(chunk => tsplus_module_11.apSecond(tsplus_module_10.unit)(tsplus_module_10.writeNow(chunk)), __tsplusTrace)(tsplus_module_19.join(previous, __tsplusTrace))
1052
+ })(signal))(ex), __tsplusTrace)(tsplus_module_19.join(fiber, __tsplusTrace))
1053
+ })(state));
1054
+ }
1006
1055
 
1007
- return apSecond_1(scoped_1(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(stream.channel, producer)), __tsplusTrace), __tsplusTrace), new _definition2.Stream(consumer(tsplus_module_40.notStarted, __tsplusTrace)), __tsplusTrace);
1008
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1056
+ return apSecond_1(new _definition2.Stream(consumer(tsplus_module_36.notStarted, __tsplusTrace)), __tsplusTrace)(scoped_1(() => tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(producer)(stream.channel)), __tsplusTrace), __tsplusTrace));
1057
+ }, __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace), __tsplusTrace);
1058
+ };
1009
1059
  }
1010
1060
 
1011
1061
  function defaultIfEmptyWriter(fb, __tsplusTrace) {
1012
- return tsplus_module_10.readWith(i => tsplus_module_12.isEmpty(i) ? defaultIfEmptyWriter(fb, __tsplusTrace) : tsplus_module_11.apSecond_(tsplus_module_10.writeNow(i), tsplus_module_10.id()), tsplus_module_10.failNow, () => fb.channel);
1062
+ return tsplus_module_10.readWith(i => tsplus_module_12.isEmpty(i) ? defaultIfEmptyWriter(fb, __tsplusTrace) : tsplus_module_11.apSecond(tsplus_module_10.id())(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => fb.channel);
1013
1063
  }
1014
1064
  /**
1015
1065
  * Switches to the provided stream in case this one is empty.
1016
1066
  *
1017
- * @tsplus fluent fncts.io.Stream defaultIfEmpty
1067
+ * @tsplus pipeable fncts.io.Stream defaultIfEmpty
1018
1068
  */
1019
1069
 
1020
1070
 
1021
- function defaultIfEmpty_(fa, fb, __tsplusTrace) {
1022
- return new _definition2.Stream(tsplus_module_10.pipeTo_(fa.channel, defaultIfEmptyWriter(fb, __tsplusTrace)));
1071
+ function defaultIfEmpty(fb, __tsplusTrace) {
1072
+ return fa => {
1073
+ return new _definition2.Stream(tsplus_module_10.pipeTo(defaultIfEmptyWriter(fb, __tsplusTrace))(fa.channel));
1074
+ };
1023
1075
  }
1024
1076
  /**
1025
1077
  * More powerful version of `broadcast`. Allows to provide a function that determines what
1026
1078
  * queues should receive which elements. The decide function will receive the indices of the queues
1027
1079
  * in the resulting list.
1028
1080
  *
1029
- * @tsplus fluent fncts.io.Stream distributedWith
1081
+ * @tsplus pipeable fncts.io.Stream distributedWith
1030
1082
  */
1031
1083
 
1032
1084
 
1033
- function distributedWith_(self, n, maximumLag, decide, __tsplusTrace) {
1034
- return tsplus_module_1.flatMap_(tsplus_module_36.make(__tsplusTrace), p => tsplus_module_1.flatMap_(distributedWithDynamic_1(self, maximumLag, a => tsplus_module_1.flatMap_(tsplus_module_35.wait(p, __tsplusTrace), f => f(a), __tsplusTrace), () => tsplus_module_1.unit, __tsplusTrace), next => tsplus_module_1.flatMap_(tsplus_module_1.sequenceIterable(tsplus_module_12.map_(tsplus_module_19.range(0, n), id => tsplus_module_1.map_(next, ([key, queue]) => [[key, id], queue], __tsplusTrace)), __tsplusTrace), entries => {
1035
- const [mappings, queues] = tsplus_module_12.foldRight_(entries, [tsplus_module_42.makeDefault(), tsplus_module_7.empty()], ([mapping, queue], [mappings, queues]) => [tsplus_module_42.set_(mappings, mapping[0], mapping[1]), tsplus_module_12.append_(queues, queue)]);
1036
- return tsplus_module_1.as_(tsplus_module_35.succeed_(p, a => tsplus_module_1.map_(decide(a), f => key => f(tsplus_module_37.toUndefined(tsplus_module_42.get_(mappings, key))), __tsplusTrace), __tsplusTrace), () => queues, __tsplusTrace);
1037
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1085
+ function distributedWith(n, maximumLag, decide, __tsplusTrace) {
1086
+ return self => {
1087
+ return tsplus_module_1.flatMap(p => tsplus_module_1.flatMap(next => tsplus_module_1.flatMap(entries => {
1088
+ const [mappings, queues] = tsplus_module_12.foldRight([tsplus_module_38.makeDefault(), tsplus_module_7.empty()], ([mapping, queue], [mappings, queues]) => [tsplus_module_38.set(mapping[0], mapping[1])(mappings), tsplus_module_12.append(queue)(queues)])(entries);
1089
+ return tsplus_module_1.as(() => queues, __tsplusTrace)(tsplus_module_31.succeed_(a => tsplus_module_1.map(f => key => f(tsplus_module_33.toUndefined(tsplus_module_38.get(key)(mappings))), __tsplusTrace)(decide(a)), __tsplusTrace)(p));
1090
+ }, __tsplusTrace)(tsplus_module_1.sequenceIterable(tsplus_module_12.map(id => tsplus_module_1.map(([key, queue]) => [[key, id], queue], __tsplusTrace)(next))(tsplus_module_16.range(0, n)), __tsplusTrace)), __tsplusTrace)(distributedWithDynamic_1(maximumLag, a => tsplus_module_1.flatMap(f => f(a), __tsplusTrace)(tsplus_module_31.wait(p, __tsplusTrace)), () => tsplus_module_1.unit, __tsplusTrace)(self)), __tsplusTrace)(tsplus_module_32.make(__tsplusTrace));
1091
+ };
1038
1092
  }
1039
1093
  /**
1040
1094
  * More powerful version of `ZStream#distributedWith`. This returns a function that will produce
@@ -1044,27 +1098,29 @@ function distributedWith_(self, n, maximumLag, decide, __tsplusTrace) {
1044
1098
  * Downstream users can also shutdown queues manually. In this case the driver will
1045
1099
  * continue but no longer backpressure on them.
1046
1100
  *
1047
- * @tsplus fluent fncts.io.Stream distributedWithDynamic
1101
+ * @tsplus pipeable fncts.io.Stream distributedWithDynamic
1048
1102
  */
1049
1103
 
1050
1104
 
1051
- function distributedWithDynamic_1(self, maximumLag, decide, done = () => tsplus_module_1.unit, __tsplusTrace) {
1052
- const offer = queuesRef => a => tsplus_module_1.flatMap_(decide(a), shouldProcess => tsplus_module_1.flatMap_(tsplus_module_14.get(queuesRef, __tsplusTrace), queues => tsplus_module_1.flatMap_(tsplus_module_1.foldLeft_(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
1053
- if (shouldProcess(id)) {
1054
- return tsplus_module_1.matchCauseIO_(tsplus_module_27.offer_(queue, tsplus_module_39.succeed(a), __tsplusTrace), c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append_(b, id), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace);
1055
- } else {
1056
- return tsplus_module_1.succeedNow(b, __tsplusTrace);
1057
- }
1058
- }, __tsplusTrace), ids => tsplus_module_12.isNonEmpty(ids) ? tsplus_module_15.update_(queuesRef, map => tsplus_module_42.removeMany_(map, ids), __tsplusTrace) : tsplus_module_1.unit, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1105
+ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module_1.unit, __tsplusTrace) {
1106
+ return self => {
1107
+ const offer = queuesRef => a => tsplus_module_1.flatMap(shouldProcess => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(ids => tsplus_module_12.isNonEmpty(ids) ? queuesRef.update(map => tsplus_module_38.removeMany(ids)(map), __tsplusTrace) : tsplus_module_1.unit, __tsplusTrace)(tsplus_module_1.foldLeft(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
1108
+ if (shouldProcess(id)) {
1109
+ return tsplus_module_1.matchCauseIO(c => tsplus_module_22.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)(queue.offer(tsplus_module_35.succeed(a), __tsplusTrace));
1110
+ } else {
1111
+ return tsplus_module_1.succeedNow(b, __tsplusTrace);
1112
+ }
1113
+ }, __tsplusTrace)), __tsplusTrace)(queuesRef.get), __tsplusTrace)(decide(a));
1059
1114
 
1060
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_42.makeDefault(), __tsplusTrace), ref => tsplus_module_1.flatMap_(tsplus_module_14.get(ref, __tsplusTrace), qs => tsplus_module_1.foreach_(tsplus_module_42.values(qs), q => tsplus_module_27.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), queuesRef => tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_45.atomically(tsplus_module_44.make(1, __tsplusTrace), __tsplusTrace), queuesLock => tsplus_module_1.flatMap_(tsplus_module_6.make(() => tsplus_module_1.flatMap_(tsplus_module_29.makeBounded(maximumLag, __tsplusTrace), queue => tsplus_module_1.flatMap_(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace), id => tsplus_module_1.map_(tsplus_module_15.update_(queuesRef, map => tsplus_module_42.set_(map, id, queue), __tsplusTrace), () => (0, _function.tuple)(id, queue), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), newQueue => {
1061
- const finalize = endTake => tsplus_module_43.withPermit(queuesLock, __tsplusTrace)(tsplus_module_1.asUnit(tsplus_module_1.flatMap_(tsplus_module_13.set_(newQueue, tsplus_module_1.flatMap_(tsplus_module_29.makeBounded(1, __tsplusTrace), queue => tsplus_module_1.flatMap_(tsplus_module_27.offer_(queue, endTake, __tsplusTrace), () => {
1062
- const id = Symbol();
1063
- return tsplus_module_1.map_(tsplus_module_15.update_(queuesRef, map => tsplus_module_42.set_(map, id, queue), __tsplusTrace), () => (0, _function.tuple)(id, queue), __tsplusTrace);
1064
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace), () => tsplus_module_1.flatMap_(tsplus_module_1.map_(tsplus_module_14.get(queuesRef, __tsplusTrace), map => tsplus_module_42.values(map), __tsplusTrace), queues => tsplus_module_1.flatMap_(tsplus_module_1.foreach_(queues, queue => tsplus_module_1.catchJustCause_(tsplus_module_27.offer_(queue, endTake, __tsplusTrace), c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace), () => tsplus_module_1.map_(done(endTake), () => void 0, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace));
1115
+ return tsplus_module_1.flatMap(queuesRef => tsplus_module_1.map(add => add, __tsplusTrace)(tsplus_module_1.flatMap(queuesLock => tsplus_module_1.flatMap(newQueue => {
1116
+ const finalize = endTake => tsplus_module_39.withPermit(queuesLock, __tsplusTrace)(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_22.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace)(queue.offer(endTake, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_38.values(map), __tsplusTrace)(queuesRef.get)), __tsplusTrace)(newQueue.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
1117
+ const id = Symbol();
1118
+ return tsplus_module_1.map(() => (0, _function.tuple)(id, queue), __tsplusTrace)(queuesRef.update(map => tsplus_module_38.set(id, queue)(map), __tsplusTrace));
1119
+ }, __tsplusTrace)(queue.offer(endTake, __tsplusTrace)), __tsplusTrace)(tsplus_module_25.makeBounded(1, __tsplusTrace)), __tsplusTrace)), __tsplusTrace));
1065
1120
 
1066
- return tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_1.matchCauseIO_(runForeachScoped_1(self, offer(queuesRef), __tsplusTrace), cause => finalize(tsplus_module_39.failCause(tsplus_module_25.map_(cause, tsplus_module_3.just))), () => finalize(tsplus_module_39.fail(tsplus_module_3.nothing())), __tsplusTrace), __tsplusTrace), () => tsplus_module_43.withPermit(queuesLock, __tsplusTrace)(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace);
1067
- }, __tsplusTrace), __tsplusTrace), add => add, __tsplusTrace), __tsplusTrace);
1121
+ return tsplus_module_1.map(() => tsplus_module_39.withPermit(queuesLock, __tsplusTrace)(tsplus_module_1.flatten(newQueue.get, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_35.failCause(tsplus_module_22.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_35.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
1122
+ }, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => (0, _function.tuple)(id, queue), __tsplusTrace)(queuesRef.update(map => tsplus_module_38.set(id, queue)(map), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_25.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_41.atomically(tsplus_module_40.make(1, __tsplusTrace), __tsplusTrace))), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_38.makeDefault(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_38.values(qs), q => q.shutdown, __tsplusTrace), __tsplusTrace)(ref.get), __tsplusTrace));
1123
+ };
1068
1124
  }
1069
1125
  /**
1070
1126
  * Converts this stream to a stream that executes its effects but emits no
@@ -1080,43 +1136,49 @@ function drain(fa, __tsplusTrace) {
1080
1136
 
1081
1137
  function dropLoop(r, __tsplusTrace) {
1082
1138
  return tsplus_module_10.readWith(inp => {
1083
- const dropped = tsplus_module_12.drop_(inp, r);
1139
+ const dropped = tsplus_module_12.drop(r)(inp);
1084
1140
  const leftover = Math.max(0, r - inp.length);
1085
1141
  const more = tsplus_module_12.isEmpty(inp) || leftover > 0;
1086
- return more ? dropLoop(leftover, __tsplusTrace) : tsplus_module_11.apSecond_(tsplus_module_10.write(() => dropped), tsplus_module_10.id());
1142
+ return more ? dropLoop(leftover, __tsplusTrace) : tsplus_module_11.apSecond(tsplus_module_10.id())(tsplus_module_10.write(() => dropped));
1087
1143
  }, tsplus_module_10.failNow, () => tsplus_module_10.unit);
1088
1144
  }
1089
1145
  /**
1090
1146
  * Drops the specified number of elements from this stream.
1091
1147
  *
1092
- * @tsplus fluent fncts.io.Stream drop
1148
+ * @tsplus pipeable fncts.io.Stream drop
1093
1149
  */
1094
1150
 
1095
1151
 
1096
- function drop_1(stream, n, __tsplusTrace) {
1097
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, dropLoop(n, __tsplusTrace)));
1152
+ function drop_1(n, __tsplusTrace) {
1153
+ return stream => {
1154
+ return new _definition2.Stream(tsplus_module_10.pipeTo(dropLoop(n, __tsplusTrace))(stream.channel));
1155
+ };
1098
1156
  }
1099
1157
  /**
1100
1158
  * Drops all elements of the stream for as long as the specified predicate
1101
1159
  * evaluates to `true`.
1102
1160
  *
1103
- * @tsplus fluent fncts.io.Stream dropWhile
1161
+ * @tsplus pipeable fncts.io.Stream dropWhile
1104
1162
  */
1105
1163
 
1106
1164
 
1107
- function dropWhile_1(stream, p, __tsplusTrace) {
1108
- return pipeThrough_1(stream, tsplus_module_46.makeDropWhile(p, __tsplusTrace), __tsplusTrace);
1165
+ function dropWhile_1(p, __tsplusTrace) {
1166
+ return stream => {
1167
+ return pipeThrough_1(tsplus_module_42.makeDropWhile(p, __tsplusTrace), __tsplusTrace)(stream);
1168
+ };
1109
1169
  }
1110
1170
  /**
1111
1171
  * Drops all elements of the stream until the specified predicate evaluates
1112
1172
  * to `true`.
1113
1173
  *
1114
- * @tsplus fluent fncts.io.Stream dropUntil
1174
+ * @tsplus pipeable fncts.io.Stream dropUntil
1115
1175
  */
1116
1176
 
1117
1177
 
1118
- function dropUntil_(stream, p, __tsplusTrace) {
1119
- return drop_1(dropWhile_1(stream, tsplus_module_47.invert(p), __tsplusTrace), 1, __tsplusTrace);
1178
+ function dropUntil(p, __tsplusTrace) {
1179
+ return stream => {
1180
+ return drop_1(1, __tsplusTrace)(dropWhile_1(tsplus_module_43.invert(p), __tsplusTrace)(stream));
1181
+ };
1120
1182
  }
1121
1183
  /**
1122
1184
  * Returns a stream whose failures and successes have been lifted into an
@@ -1130,19 +1192,19 @@ function dropUntil_(stream, p, __tsplusTrace) {
1130
1192
 
1131
1193
 
1132
1194
  function either(stream, __tsplusTrace) {
1133
- return catchAll_1(map_1(stream, tsplus_module_18.right, __tsplusTrace), e => succeedNow_1(tsplus_module_18.left(e), __tsplusTrace), __tsplusTrace);
1195
+ return catchAll_1(e => succeedNow_1(tsplus_module_15.left(e), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_15.right, __tsplusTrace)(stream));
1134
1196
  }
1135
1197
  /**
1136
1198
  * @tsplus static fncts.io.StreamOps empty
1137
1199
  */
1138
1200
 
1139
1201
 
1140
- const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1267:70");
1202
+ const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1219:70");
1141
1203
  const empty = empty_1;
1142
1204
  exports.empty = empty;
1143
1205
 
1144
1206
  function endWhenWriter(fiber, __tsplusTrace) {
1145
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_48.poll(fiber, __tsplusTrace), maybeExit => tsplus_module_20.match_(maybeExit, () => tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(inp), endWhenWriter(fiber, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_34.match_(exit, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)), __tsplusTrace));
1207
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_17.match(() => tsplus_module_10.readWith(inp => tsplus_module_11.apSecond(endWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_30.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_44.poll(fiber, __tsplusTrace)));
1146
1208
  }
1147
1209
  /**
1148
1210
  * Halts the evaluation of this stream when the provided IO completes. The given IO
@@ -1153,20 +1215,24 @@ function endWhenWriter(fiber, __tsplusTrace) {
1153
1215
  *
1154
1216
  * If the IO completes with a failure, the stream will emit that failure.
1155
1217
  *
1156
- * @tsplus fluent fncts.io.Stream endWhen
1218
+ * @tsplus pipeable fncts.io.Stream endWhen
1157
1219
  */
1158
1220
 
1159
1221
 
1160
- function endWhen_(stream, io, __tsplusTrace) {
1161
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(tsplus_module_17.forkScoped(io, __tsplusTrace), fiber => tsplus_module_10.pipeTo_(stream.channel, endWhenWriter(fiber, __tsplusTrace)), __tsplusTrace)));
1222
+ function endWhen(io, __tsplusTrace) {
1223
+ return stream => {
1224
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(fiber => tsplus_module_10.pipeTo(endWhenWriter(fiber, __tsplusTrace))(stream.channel), __tsplusTrace)(tsplus_module_14.forkScoped(io, __tsplusTrace))));
1225
+ };
1162
1226
  }
1163
1227
  /**
1164
- * @tsplus fluent fncts.io.Stream ensuring
1228
+ * @tsplus pipeable fncts.io.Stream ensuring
1165
1229
  */
1166
1230
 
1167
1231
 
1168
- function ensuring_1(self, finalizer, __tsplusTrace) {
1169
- return new _definition2.Stream(tsplus_module_10.ensuring_(self.channel, finalizer));
1232
+ function ensuring_1(finalizer, __tsplusTrace) {
1233
+ return self => {
1234
+ return new _definition2.Stream(tsplus_module_10.ensuring(finalizer)(self.channel));
1235
+ };
1170
1236
  }
1171
1237
  /**
1172
1238
  * @tsplus static fncts.io.StreamOps environment
@@ -1174,7 +1240,7 @@ function ensuring_1(self, finalizer, __tsplusTrace) {
1174
1240
 
1175
1241
 
1176
1242
  function environment_1(__tsplusTrace) {
1177
- return fromIO_1(tsplus_module_49.environment(__tsplusTrace), __tsplusTrace);
1243
+ return fromIO_1(tsplus_module_45.environment(__tsplusTrace), __tsplusTrace);
1178
1244
  }
1179
1245
  /**
1180
1246
  * Accesses the environment of the stream.
@@ -1184,7 +1250,7 @@ function environment_1(__tsplusTrace) {
1184
1250
 
1185
1251
 
1186
1252
  function environmentWith(f, __tsplusTrace) {
1187
- return map_1(environment_1(__tsplusTrace), f, __tsplusTrace);
1253
+ return map_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
1188
1254
  }
1189
1255
  /**
1190
1256
  * Accesses the environment of the stream in the context of an effect.
@@ -1194,7 +1260,7 @@ function environmentWith(f, __tsplusTrace) {
1194
1260
 
1195
1261
 
1196
1262
  function environmentWithIO(f, __tsplusTrace) {
1197
- return mapIO_1(environment_1(__tsplusTrace), f, __tsplusTrace);
1263
+ return mapIO_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
1198
1264
  }
1199
1265
  /**
1200
1266
  * Accesses the environment of the stream in the context of a stream.
@@ -1204,7 +1270,7 @@ function environmentWithIO(f, __tsplusTrace) {
1204
1270
 
1205
1271
 
1206
1272
  function environmentWithStream(f, __tsplusTrace) {
1207
- return flatMap_1(environment_1(__tsplusTrace), f, __tsplusTrace);
1273
+ return flatMap_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
1208
1274
  }
1209
1275
  /**
1210
1276
  * Halt a stream with the specified error
@@ -1247,16 +1313,20 @@ function failCause(cause, __tsplusTrace) {
1247
1313
  return fromIO_1(tsplus_module_1.failCause(cause, __tsplusTrace), __tsplusTrace);
1248
1314
  }
1249
1315
 
1250
- function filter_(fa, predicate, __tsplusTrace) {
1251
- return mapChunks_1(fa, chunk => tsplus_module_12.filter_(chunk, predicate), __tsplusTrace);
1316
+ function filter(predicate, __tsplusTrace) {
1317
+ return fa => {
1318
+ return mapChunks_1(chunk => tsplus_module_12.filter(predicate)(chunk), __tsplusTrace)(fa);
1319
+ };
1252
1320
  }
1253
1321
  /**
1254
- * @tsplus fluent fncts.io.Stream filterIO
1322
+ * @tsplus pipeable fncts.io.Stream filterIO
1255
1323
  */
1256
1324
 
1257
1325
 
1258
- function filterIO_(fa, f, __tsplusTrace) {
1259
- return new _definition2.Stream(tsplus_module_10.pipeTo_(fa.channel, filterIOLoop(tsplus_module_38.empty()[Symbol.iterator](), f, __tsplusTrace)));
1326
+ function filterIO(f, __tsplusTrace) {
1327
+ return fa => {
1328
+ return new _definition2.Stream(tsplus_module_10.pipeTo(filterIOLoop(tsplus_module_34.empty()[Symbol.iterator](), f, __tsplusTrace))(fa.channel));
1329
+ };
1260
1330
  }
1261
1331
 
1262
1332
  function filterIOLoop(iterator, f, __tsplusTrace) {
@@ -1265,24 +1335,28 @@ function filterIOLoop(iterator, f, __tsplusTrace) {
1265
1335
  if (next.done) {
1266
1336
  return tsplus_module_10.readWithCause(elem => filterIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
1267
1337
  } else {
1268
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(f(next.value), b => b ? tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(next.value)), filterIOLoop(iterator, f, __tsplusTrace)) : filterIOLoop(iterator, f, __tsplusTrace), __tsplusTrace));
1338
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => b ? tsplus_module_11.apSecond(filterIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_16.single(next.value))) : filterIOLoop(iterator, f, __tsplusTrace), __tsplusTrace)(f(next.value)));
1269
1339
  }
1270
1340
  }
1271
1341
  /**
1272
- * @tsplus fluent fncts.io.Stream filterMap
1342
+ * @tsplus pipeable fncts.io.Stream filterMap
1273
1343
  */
1274
1344
 
1275
1345
 
1276
- function filterMap_1(fa, f, __tsplusTrace) {
1277
- return mapChunks_1(fa, chunk => tsplus_module_12.filterMap_(chunk, f), __tsplusTrace);
1346
+ function filterMap_1(f, __tsplusTrace) {
1347
+ return fa => {
1348
+ return mapChunks_1(chunk => tsplus_module_12.filterMap(f)(chunk), __tsplusTrace)(fa);
1349
+ };
1278
1350
  }
1279
1351
  /**
1280
- * @tsplus fluent fncts.io.Stream filterMapIO
1352
+ * @tsplus pipeable fncts.io.Stream filterMapIO
1281
1353
  */
1282
1354
 
1283
1355
 
1284
- function filterMapIO_(fa, f, __tsplusTrace) {
1285
- return new _definition2.Stream(tsplus_module_10.pipeTo_(fa.channel, filterMapIOLoop(tsplus_module_38.empty()[Symbol.iterator](), f, __tsplusTrace)));
1356
+ function filterMapIO(f, __tsplusTrace) {
1357
+ return fa => {
1358
+ return new _definition2.Stream(tsplus_module_10.pipeTo(filterMapIOLoop(tsplus_module_34.empty()[Symbol.iterator](), f, __tsplusTrace))(fa.channel));
1359
+ };
1286
1360
  }
1287
1361
 
1288
1362
  function filterMapIOLoop(iterator, f, __tsplusTrace) {
@@ -1291,30 +1365,34 @@ function filterMapIOLoop(iterator, f, __tsplusTrace) {
1291
1365
  if (next.done) {
1292
1366
  return tsplus_module_10.readWithCause(elem => filterMapIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
1293
1367
  } else {
1294
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(f(next.value), b => tsplus_module_20.match_(b, () => filterMapIOLoop(iterator, f, __tsplusTrace), b => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(b)), filterMapIOLoop(iterator, f, __tsplusTrace))), __tsplusTrace));
1368
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => tsplus_module_17.match(() => filterMapIOLoop(iterator, f, __tsplusTrace), b => tsplus_module_11.apSecond(filterMapIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_16.single(b))))(b), __tsplusTrace)(f(next.value)));
1295
1369
  }
1296
1370
  }
1297
1371
  /**
1298
1372
  * Finds the first element emitted by this stream that satisfies the provided predicate.
1299
1373
  *
1300
- * @tsplus fluent fncts.io.Stream find
1374
+ * @tsplus pipeable fncts.io.Stream find
1301
1375
  */
1302
1376
 
1303
1377
 
1304
- function find_(stream, p, __tsplusTrace) {
1305
- const loop = tsplus_module_10.readWith(inp => tsplus_module_20.match_(tsplus_module_12.find_(inp, p), () => loop, a => tsplus_module_10.writeNow(tsplus_module_19.single(a))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1306
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
1378
+ function find(p, __tsplusTrace) {
1379
+ return stream => {
1380
+ const loop = tsplus_module_10.readWith(inp => tsplus_module_17.match(() => loop, a => tsplus_module_10.writeNow(tsplus_module_16.single(a)))(tsplus_module_12.find(p)(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1381
+ return new _definition2.Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
1382
+ };
1307
1383
  }
1308
1384
  /**
1309
1385
  * Finds the first element emitted by this stream that satisfies the provided effectful predicate.
1310
1386
  *
1311
- * @tsplus fluent fncts.io.Stream findIO
1387
+ * @tsplus pipeable fncts.io.Stream findIO
1312
1388
  */
1313
1389
 
1314
1390
 
1315
- function findIO_(stream, f, __tsplusTrace) {
1316
- const loop = tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_50.findIO_(inp, f, __tsplusTrace), maybeA => tsplus_module_20.match_(maybeA, () => loop, a => tsplus_module_10.writeNow(tsplus_module_19.single(a))), __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1317
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
1391
+ function findIO(f, __tsplusTrace) {
1392
+ return stream => {
1393
+ const loop = tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeA => tsplus_module_17.match(() => loop, a => tsplus_module_10.writeNow(tsplus_module_16.single(a)))(maybeA), __tsplusTrace)(tsplus_module_46.findIO(f, __tsplusTrace)(inp))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1394
+ return new _definition2.Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
1395
+ };
1318
1396
  }
1319
1397
  /**
1320
1398
  * Flattens this stream-of-streams into a stream made of the concatenation in
@@ -1325,7 +1403,7 @@ function findIO_(stream, f, __tsplusTrace) {
1325
1403
 
1326
1404
 
1327
1405
  function flatten_1(self, __tsplusTrace) {
1328
- return flatMap_1(self, _function.identity, __tsplusTrace);
1406
+ return flatMap_1(_function.identity, __tsplusTrace)(self);
1329
1407
  }
1330
1408
  /**
1331
1409
  * Unwraps `Exit` values that also signify end-of-stream by failing with `None`.
@@ -1338,13 +1416,13 @@ function flatten_1(self, __tsplusTrace) {
1338
1416
 
1339
1417
  function flattenExitOption_1(stream, __tsplusTrace) {
1340
1418
  const processChunk = (chunk, cont) => {
1341
- const [toEmit, rest] = tsplus_module_12.splitWhere_(chunk, _ => !tsplus_module_51.isSuccess(_));
1342
- const next = tsplus_module_20.match_(tsplus_module_12.head(rest), () => cont, exit => tsplus_module_34.match_(exit, cause => tsplus_module_20.match_(tsplus_module_25.flipCauseOption(cause), () => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow), () => tsplus_module_11.endNow(undefined)));
1343
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_12.filterMap_(toEmit, exit => tsplus_module_34.match_(exit, () => tsplus_module_3.nothing(), tsplus_module_3.just))), next);
1419
+ const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_47.isSuccess(_))(chunk);
1420
+ const next = tsplus_module_17.match(() => cont, exit => tsplus_module_30.match(cause => tsplus_module_17.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_22.flipCauseOption(cause)), () => tsplus_module_11.endNow(undefined))(exit))(tsplus_module_12.head(rest));
1421
+ return tsplus_module_11.apSecond(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_30.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(exit))(toEmit)));
1344
1422
  };
1345
1423
 
1346
1424
  const process = tsplus_module_10.readWithCause(chunk => processChunk(chunk, process), tsplus_module_11.failCauseNow, _ => tsplus_module_11.endNow(undefined));
1347
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, process));
1425
+ return new _definition2.Stream(tsplus_module_10.pipeTo(process)(stream.channel));
1348
1426
  }
1349
1427
  /**
1350
1428
  * Unwraps `Exit` values and flatten chunks that also signify end-of-stream by failing with `None`.
@@ -1354,7 +1432,7 @@ function flattenExitOption_1(stream, __tsplusTrace) {
1354
1432
 
1355
1433
 
1356
1434
  function flattenTake_1(stream, __tsplusTrace) {
1357
- return flattenChunks_1(flattenExitOption_1(map_1(stream, take => take.exit, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1435
+ return flattenChunks_1(flattenExitOption_1(map_1(take => take.exit, __tsplusTrace)(stream), __tsplusTrace), __tsplusTrace);
1358
1436
  }
1359
1437
  /**
1360
1438
  * Submerges the chunks carried by this stream into the stream's structure, while
@@ -1365,7 +1443,7 @@ function flattenTake_1(stream, __tsplusTrace) {
1365
1443
 
1366
1444
 
1367
1445
  function flattenChunks_1(stream, __tsplusTrace) {
1368
- return new _definition2.Stream(tsplus_module_10.mapOut_(stream.channel, c => tsplus_module_12.flatten(c)));
1446
+ return new _definition2.Stream(tsplus_module_10.mapOut(c => tsplus_module_12.flatten(c))(stream.channel));
1369
1447
  }
1370
1448
  /**
1371
1449
  * Repeats this stream forever.
@@ -1405,7 +1483,7 @@ function fromChunk_1(c, __tsplusTrace) {
1405
1483
 
1406
1484
 
1407
1485
  function scoped_1(stream, __tsplusTrace) {
1408
- return new _definition2.Stream(tsplus_module_10.scoped(() => tsplus_module_1.map_(stream, tsplus_module_19.single, __tsplusTrace)));
1486
+ return new _definition2.Stream(tsplus_module_10.scoped(() => tsplus_module_1.map(tsplus_module_16.single, __tsplusTrace)(stream())));
1409
1487
  }
1410
1488
  /**
1411
1489
  * Creates a stream from an effect producing a value of type `A`
@@ -1415,7 +1493,7 @@ function scoped_1(stream, __tsplusTrace) {
1415
1493
 
1416
1494
 
1417
1495
  function fromIO_1(fa, __tsplusTrace) {
1418
- return fromIOMaybe_1(tsplus_module_1.mapError_(fa, tsplus_module_3.just, __tsplusTrace), __tsplusTrace);
1496
+ return fromIOMaybe_1(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(fa), __tsplusTrace);
1419
1497
  }
1420
1498
  /**
1421
1499
  * Creates a stream from an effect producing a value of type `A` or an empty Stream
@@ -1425,12 +1503,12 @@ function fromIO_1(fa, __tsplusTrace) {
1425
1503
 
1426
1504
 
1427
1505
  function fromIOMaybe_1(fa, __tsplusTrace) {
1428
- return new _definition2.Stream(tsplus_module_10.unwrap(() => tsplus_module_1.match_(fa, maybeError => tsplus_module_20.match_(maybeError, () => tsplus_module_10.unit, tsplus_module_10.failNow), a => tsplus_module_10.writeNow(tsplus_module_19.single(a)), __tsplusTrace)));
1506
+ return new _definition2.Stream(tsplus_module_10.unwrap(() => tsplus_module_1.match(maybeError => tsplus_module_17.match(() => tsplus_module_10.unit, tsplus_module_10.failNow)(maybeError), a => tsplus_module_10.writeNow(tsplus_module_16.single(a)), __tsplusTrace)(fa)));
1429
1507
  }
1430
1508
 
1431
1509
  function fromAsyncIterableLoop(iterator, __tsplusTrace) {
1432
1510
  return tsplus_module_10.unwrap(() => tsplus_module_1.async(k => {
1433
- iterator.next().then(result => result.done ? k(tsplus_module_1.succeedNow(tsplus_module_11.end(() => undefined), __tsplusTrace)) : k(tsplus_module_1.succeedNow(tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(result.value)), fromAsyncIterableLoop(iterator, __tsplusTrace)), __tsplusTrace)));
1511
+ iterator.next().then(result => result.done ? k(tsplus_module_1.succeedNow(tsplus_module_11.end(() => undefined), __tsplusTrace)) : k(tsplus_module_1.succeedNow(tsplus_module_11.apSecond(fromAsyncIterableLoop(iterator, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_16.single(result.value))), __tsplusTrace)));
1434
1512
  }));
1435
1513
  }
1436
1514
  /**
@@ -1456,7 +1534,7 @@ function fromIterable(iterable, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE,
1456
1534
  }
1457
1535
 
1458
1536
  if (maxChunkSize === 1) {
1459
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(result.value)), loop(iterator));
1537
+ return tsplus_module_11.apSecond(loop(iterator))(tsplus_module_10.writeNow(tsplus_module_16.single(result.value)));
1460
1538
  } else {
1461
1539
  const out = Array(maxChunkSize);
1462
1540
  out[0] = result.value;
@@ -1467,7 +1545,7 @@ function fromIterable(iterable, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE,
1467
1545
  count++;
1468
1546
  }
1469
1547
 
1470
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.from(out)), loop(iterator));
1548
+ return tsplus_module_11.apSecond(loop(iterator))(tsplus_module_10.writeNow(tsplus_module_16.from(out)));
1471
1549
  }
1472
1550
  }, __tsplusTrace));
1473
1551
 
@@ -1480,7 +1558,7 @@ function fromIterable(iterable, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE,
1480
1558
 
1481
1559
 
1482
1560
  function fromIterableSingle(iterable, __tsplusTrace) {
1483
- return flatMap_1(fromIO_1(tsplus_module_1.succeed(() => iterable[Symbol.iterator](), __tsplusTrace), __tsplusTrace), iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
1561
+ return flatMap_1(iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
1484
1562
  const value = iterator.next();
1485
1563
 
1486
1564
  if (value.done) {
@@ -1488,7 +1566,7 @@ function fromIterableSingle(iterable, __tsplusTrace) {
1488
1566
  } else {
1489
1567
  return tsplus_module_1.succeedNow(value.value, __tsplusTrace);
1490
1568
  }
1491
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1569
+ }, __tsplusTrace), __tsplusTrace), __tsplusTrace)(fromIO_1(tsplus_module_1.succeed(() => iterable[Symbol.iterator](), __tsplusTrace), __tsplusTrace));
1492
1570
  }
1493
1571
  /**
1494
1572
  * @tsplus static fncts.io.StreamOps fromPull
@@ -1496,7 +1574,7 @@ function fromIterableSingle(iterable, __tsplusTrace) {
1496
1574
 
1497
1575
 
1498
1576
  function fromPull_1(scopedPull, __tsplusTrace) {
1499
- return unwrapScoped_1(tsplus_module_1.map_(scopedPull, pull => repeatIOChunkMaybe_1(pull, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1577
+ return unwrapScoped_1(tsplus_module_1.map(pull => repeatIOChunkMaybe_1(pull, __tsplusTrace), __tsplusTrace)(scopedPull), __tsplusTrace);
1500
1578
  }
1501
1579
  /**
1502
1580
  * Creates a stream from a `Queue` of values
@@ -1506,13 +1584,13 @@ function fromPull_1(scopedPull, __tsplusTrace) {
1506
1584
 
1507
1585
 
1508
1586
  function fromQueue_1(queue, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1509
- return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause_(tsplus_module_1.map_(tsplus_module_53.takeBetween_(queue, 1, maxChunkSize, __tsplusTrace), tsplus_module_19.from, __tsplusTrace), c => tsplus_module_1.flatMap_(tsplus_module_27.isShutdown(queue, __tsplusTrace), down => {
1510
- if (down && tsplus_module_25.interrupted(c)) {
1511
- return tsplus_module_52.end;
1587
+ return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
1588
+ if (down && tsplus_module_22.interrupted(c)) {
1589
+ return tsplus_module_48.end;
1512
1590
  } else {
1513
- return tsplus_module_52.failCause(c);
1591
+ return tsplus_module_48.failCause(c);
1514
1592
  }
1515
- }, __tsplusTrace), __tsplusTrace), __tsplusTrace);
1593
+ }, __tsplusTrace)(queue.isShutdown), __tsplusTrace)(tsplus_module_1.map(tsplus_module_16.from, __tsplusTrace)(queue.takeBetween(1, maxChunkSize, __tsplusTrace))), __tsplusTrace);
1516
1594
  }
1517
1595
  /**
1518
1596
  * @tsplus static fncts.io.StreamOps fromQueueWithShutdown
@@ -1520,7 +1598,23 @@ function fromQueue_1(queue, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE, __ts
1520
1598
 
1521
1599
 
1522
1600
  function fromQueueWithShutdown_1(queue, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1523
- return ensuring_1(fromQueue_1(queue, maxChunkSize, __tsplusTrace), tsplus_module_27.shutdown(queue, __tsplusTrace), __tsplusTrace);
1601
+ return ensuring_1(queue.shutdown, __tsplusTrace)(fromQueue_1(queue, maxChunkSize, __tsplusTrace));
1602
+ }
1603
+ /**
1604
+ * @tsplus static fncts.io.StreamOps fromHub
1605
+ */
1606
+
1607
+
1608
+ function fromHub(hub, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1609
+ return flatMap_1(queue => fromQueueWithShutdown_1(queue, maxChunkSize, __tsplusTrace), __tsplusTrace)(scoped_1(() => hub().subscribe, __tsplusTrace));
1610
+ }
1611
+ /**
1612
+ * @tsplus static fncts.io.StreamOps fromHubScoped
1613
+ */
1614
+
1615
+
1616
+ function fromHubScoped(hub, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1617
+ return tsplus_module_1.defer(() => tsplus_module_1.map(queue => fromQueueWithShutdown_1(queue, maxChunkSize, __tsplusTrace), __tsplusTrace)(hub().subscribe), __tsplusTrace);
1524
1618
  }
1525
1619
  /**
1526
1620
  * Halt a stream with the specified exception
@@ -1544,7 +1638,7 @@ function halt_1(u, __tsplusTrace) {
1544
1638
  }
1545
1639
 
1546
1640
  function haltWhenWriter(fiber, __tsplusTrace) {
1547
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_48.poll(fiber, __tsplusTrace), maybeExit => tsplus_module_20.match_(maybeExit, () => tsplus_module_10.readWith(i => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(i), haltWhenWriter(fiber, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_34.match_(exit, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)), __tsplusTrace));
1641
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_17.match(() => tsplus_module_10.readWith(i => tsplus_module_11.apSecond(haltWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_30.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_44.poll(fiber, __tsplusTrace)));
1548
1642
  }
1549
1643
  /**
1550
1644
  * Halts the evaluation of this stream when the provided IO completes. The
@@ -1556,40 +1650,46 @@ function haltWhenWriter(fiber, __tsplusTrace) {
1556
1650
  *
1557
1651
  * If the IO completes with a failure, the stream will emit that failure.
1558
1652
  *
1559
- * @tsplus fluent fncts.io.Stream haltWhen
1653
+ * @tsplus pipeable fncts.io.Stream haltWhen
1560
1654
  */
1561
1655
 
1562
1656
 
1563
- function haltWhen_(fa, io, __tsplusTrace) {
1564
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(tsplus_module_17.forkScoped(io, __tsplusTrace), fiber => tsplus_module_10.pipeTo_(fa.channel, haltWhenWriter(fiber, __tsplusTrace)), __tsplusTrace)));
1657
+ function haltWhen(io, __tsplusTrace) {
1658
+ return fa => {
1659
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(fiber => tsplus_module_10.pipeTo(haltWhenWriter(fiber, __tsplusTrace))(fa.channel), __tsplusTrace)(tsplus_module_14.forkScoped(io, __tsplusTrace))));
1660
+ };
1565
1661
  }
1566
1662
 
1567
1663
  function haltWhenFutureWriter(future, __tsplusTrace) {
1568
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_35.poll(future, __tsplusTrace), maybeIO => tsplus_module_20.match_(maybeIO, () => tsplus_module_10.readWith(i => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(i), haltWhenFutureWriter(future, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit), io => tsplus_module_10.unwrap(() => tsplus_module_1.match_(io, tsplus_module_10.failNow, () => tsplus_module_10.unit, __tsplusTrace))), __tsplusTrace));
1664
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeIO => tsplus_module_17.match(() => tsplus_module_10.readWith(i => tsplus_module_11.apSecond(haltWhenFutureWriter(future, __tsplusTrace))(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => tsplus_module_10.unit), io => tsplus_module_10.unwrap(() => tsplus_module_1.match(tsplus_module_10.failNow, () => tsplus_module_10.unit, __tsplusTrace)(io)))(maybeIO), __tsplusTrace)(tsplus_module_31.poll(future, __tsplusTrace)));
1569
1665
  }
1570
1666
  /**
1571
1667
  * Halts the evaluation of this stream when the provided promise resolves.
1572
1668
  *
1573
1669
  * If the promise completes with a failure, the stream will emit that failure.
1574
1670
  *
1575
- * @tsplus fluent fncts.io.Stream haltWhen
1671
+ * @tsplus pipeable fncts.io.Stream haltWhen
1576
1672
  */
1577
1673
 
1578
1674
 
1579
- function haltWhenFuture_(fa, future, __tsplusTrace) {
1580
- return new _definition2.Stream(tsplus_module_10.pipeTo_(fa.channel, haltWhenFutureWriter(future, __tsplusTrace)));
1675
+ function haltWhenFuture(future, __tsplusTrace) {
1676
+ return fa => {
1677
+ return new _definition2.Stream(tsplus_module_10.pipeTo(haltWhenFutureWriter(future, __tsplusTrace))(fa.channel));
1678
+ };
1581
1679
  }
1582
1680
  /**
1583
- * @tsplus fluent fncts.io.Stream interleave
1681
+ * @tsplus pipeable fncts.io.Stream interleave
1584
1682
  */
1585
1683
 
1586
1684
 
1587
- function interleave_(sa, sb, __tsplusTrace) {
1588
- return interleaveWith_1(sa, sb, forever_1(fromChunk_1(() => tsplus_module_19.make(true, false), __tsplusTrace), __tsplusTrace), __tsplusTrace);
1685
+ function interleave(sb, __tsplusTrace) {
1686
+ return sa => {
1687
+ return interleaveWith_1(sb, forever_1(fromChunk_1(() => tsplus_module_16.make(true, false), __tsplusTrace), __tsplusTrace), __tsplusTrace)(sa);
1688
+ };
1589
1689
  }
1590
1690
 
1591
1691
  function interleaveWithProducer(handoff, __tsplusTrace) {
1592
- return tsplus_module_10.readWithCause(value => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_26.single(value))), interleaveWithProducer(handoff, __tsplusTrace)), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_26.failCause(cause))), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(handoff, tsplus_module_26.end)));
1692
+ return tsplus_module_10.readWithCause(value => tsplus_module_11.apSecond(interleaveWithProducer(handoff, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_23.single(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_23.failCause(cause))(handoff)), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_23.end)(handoff)));
1593
1693
  }
1594
1694
  /**
1595
1695
  * Combines this stream and the specified stream deterministically using the
@@ -1599,33 +1699,35 @@ function interleaveWithProducer(handoff, __tsplusTrace) {
1599
1699
  * `b`. If either this stream or the specified stream are exhausted further
1600
1700
  * requests for values from that stream will be ignored.
1601
1701
  *
1602
- * @tsplus fluent fncts.io.Stream interleaveWith
1702
+ * @tsplus pipeable fncts.io.Stream interleaveWith
1603
1703
  */
1604
1704
 
1605
1705
 
1606
- function interleaveWith_1(sa, sb, b, __tsplusTrace) {
1607
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_5.make(), left => tsplus_module_1.flatMap_(tsplus_module_5.make(), right => tsplus_module_1.flatMap_(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(sa.channel, tsplus_module_10.writeChunk), interleaveWithProducer(left, __tsplusTrace))), __tsplusTrace), () => tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(sb.channel, tsplus_module_10.writeChunk), interleaveWithProducer(right, __tsplusTrace))), __tsplusTrace), () => (0, _function.tuple)(left, right), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), ([left, right]) => {
1608
- const process = (leftDone, rightDone) => tsplus_module_10.readWithCause(b => {
1609
- if (b && !leftDone) {
1610
- return tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_5.take(left)), take => tsplus_module_26.match_(take, rightDone ? tsplus_module_10.unit : process(true, rightDone), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), process(leftDone, rightDone))));
1611
- }
1706
+ function interleaveWith_1(sb, b, __tsplusTrace) {
1707
+ return sa => {
1708
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(([left, right]) => {
1709
+ const process = (leftDone, rightDone) => tsplus_module_10.readWithCause(b => {
1710
+ if (b && !leftDone) {
1711
+ return tsplus_module_11.flatMap(take => tsplus_module_23.match(rightDone ? tsplus_module_10.unit : process(true, rightDone), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.apSecond(process(leftDone, rightDone))(tsplus_module_10.writeNow(chunk)))(take))(tsplus_module_10.fromIO(() => tsplus_module_5.take(left)));
1712
+ }
1612
1713
 
1613
- if (!b && !rightDone) {
1614
- return tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_5.take(right)), take => tsplus_module_26.match_(take, leftDone ? tsplus_module_10.unit : process(leftDone, true), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), process(leftDone, rightDone))));
1615
- }
1714
+ if (!b && !rightDone) {
1715
+ return tsplus_module_11.flatMap(take => tsplus_module_23.match(leftDone ? tsplus_module_10.unit : process(leftDone, true), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.apSecond(process(leftDone, rightDone))(tsplus_module_10.writeNow(chunk)))(take))(tsplus_module_10.fromIO(() => tsplus_module_5.take(right)));
1716
+ }
1616
1717
 
1617
- return process(leftDone, rightDone);
1618
- }, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
1718
+ return process(leftDone, rightDone);
1719
+ }, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
1619
1720
 
1620
- return tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(b.channel, tsplus_module_10.writeChunk), process(false, false));
1621
- }, __tsplusTrace)));
1721
+ return tsplus_module_10.pipeTo(process(false, false))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(b.channel));
1722
+ }, __tsplusTrace)(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => (0, _function.tuple)(left, right), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(interleaveWithProducer(right, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(sb.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fork(tsplus_module_13.runScoped(tsplus_module_10.pipeTo(interleaveWithProducer(left, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(sa.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()))));
1723
+ };
1622
1724
  }
1623
1725
 
1624
1726
  function intersperseWriter(middle, isFirst, __tsplusTrace) {
1625
1727
  return tsplus_module_10.readWith(inp => {
1626
1728
  const builder = tsplus_module_12.builder();
1627
1729
  let flagResult = isFirst;
1628
- tsplus_module_12.forEach_(inp, a => {
1730
+ tsplus_module_12.forEach(a => {
1629
1731
  if (flagResult) {
1630
1732
  flagResult = false;
1631
1733
  builder.append(a);
@@ -1633,8 +1735,8 @@ function intersperseWriter(middle, isFirst, __tsplusTrace) {
1633
1735
  builder.append(middle);
1634
1736
  builder.append(a);
1635
1737
  }
1636
- });
1637
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(builder.result()), intersperseWriter(middle, flagResult, __tsplusTrace));
1738
+ })(inp);
1739
+ return tsplus_module_11.apSecond(intersperseWriter(middle, flagResult, __tsplusTrace))(tsplus_module_10.writeNow(builder.result()));
1638
1740
  }, tsplus_module_10.failNow, () => tsplus_module_10.unit);
1639
1741
  }
1640
1742
  /**
@@ -1642,8 +1744,8 @@ function intersperseWriter(middle, isFirst, __tsplusTrace) {
1642
1744
  */
1643
1745
 
1644
1746
 
1645
- function intersperse_(stream, middle, __tsplusTrace) {
1646
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, intersperseWriter(middle, true, __tsplusTrace)));
1747
+ function intersperse(stream, middle, __tsplusTrace) {
1748
+ return new _definition2.Stream(tsplus_module_10.pipeTo(intersperseWriter(middle, true, __tsplusTrace))(stream.channel));
1647
1749
  }
1648
1750
  /**
1649
1751
  * Interrupts the evaluation of this stream when the provided IO completes. The given
@@ -1653,47 +1755,55 @@ function intersperse_(stream, middle, __tsplusTrace) {
1653
1755
  * If the IO completes with a failure before the stream completes, the returned stream
1654
1756
  * will emit that failure.
1655
1757
  *
1656
- * @tsplus fluent fncts.io.Stream interruptWhen
1758
+ * @tsplus pipeable fncts.io.Stream interruptWhen
1657
1759
  */
1658
1760
 
1659
1761
 
1660
- function interruptWhen_(stream, io, __tsplusTrace) {
1661
- return new _definition2.Stream(tsplus_module_54.interruptWhen_(stream.channel, io));
1762
+ function interruptWhen(io, __tsplusTrace) {
1763
+ return stream => {
1764
+ return new _definition2.Stream(tsplus_module_49.interruptWhen(io)(stream.channel));
1765
+ };
1662
1766
  }
1663
1767
  /**
1664
- * @tsplus fluent fncts.io.Stream interruptWhen
1768
+ * @tsplus pipeable fncts.io.Stream interruptWhen
1665
1769
  */
1666
1770
 
1667
1771
 
1668
- function interruptWhenFuture_(fa, future, __tsplusTrace) {
1669
- return new _definition2.Stream(tsplus_module_54.interruptWhenFuture_(fa.channel, future));
1772
+ function interruptWhenFuture(future, __tsplusTrace) {
1773
+ return fa => {
1774
+ return new _definition2.Stream(tsplus_module_49.interruptWhenFuture(future)(fa.channel));
1775
+ };
1670
1776
  }
1671
1777
  /**
1672
1778
  * Transforms the elements of this stream using the supplied function.
1673
1779
  *
1674
- * @tsplus fluent fncts.io.Stream map
1780
+ * @tsplus pipeable fncts.io.Stream map
1675
1781
  */
1676
1782
 
1677
1783
 
1678
- function map_1(stream, f, __tsplusTrace) {
1679
- return new _definition2.Stream(tsplus_module_10.mapOut_(stream.channel, as => tsplus_module_12.map_(as, f)));
1784
+ function map_1(f, __tsplusTrace) {
1785
+ return stream => {
1786
+ return new _definition2.Stream(tsplus_module_10.mapOut(as => tsplus_module_12.map(f)(as))(stream.channel));
1787
+ };
1680
1788
  }
1681
1789
 
1682
1790
  function mapAccumAccumulator(currS, f, __tsplusTrace) {
1683
1791
  return tsplus_module_10.readWith(inp => {
1684
- const [nextS, bs] = tsplus_module_12.mapAccum_(inp, currS, f);
1685
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(bs), mapAccumAccumulator(nextS, f, __tsplusTrace));
1792
+ const [nextS, bs] = tsplus_module_12.mapAccum(currS, f)(inp);
1793
+ return tsplus_module_11.apSecond(mapAccumAccumulator(nextS, f, __tsplusTrace))(tsplus_module_10.writeNow(bs));
1686
1794
  }, tsplus_module_10.failNow, () => tsplus_module_10.unit);
1687
1795
  }
1688
1796
  /**
1689
1797
  * Statefully maps over the elements of this stream to produce new elements.
1690
1798
  *
1691
- * @tsplus fluent fncts.io.Stream mapAccum
1799
+ * @tsplus pipeable fncts.io.Stream mapAccum
1692
1800
  */
1693
1801
 
1694
1802
 
1695
- function mapAccum_1(stream, s, f, __tsplusTrace) {
1696
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, mapAccumAccumulator(s, f, __tsplusTrace)));
1803
+ function mapAccum_1(s, f, __tsplusTrace) {
1804
+ return stream => {
1805
+ return new _definition2.Stream(tsplus_module_10.pipeTo(mapAccumAccumulator(s, f, __tsplusTrace))(stream.channel));
1806
+ };
1697
1807
  }
1698
1808
 
1699
1809
  function mapAccumIOAccumulator(s, f, __tsplusTrace) {
@@ -1704,116 +1814,136 @@ function mapAccumIOAccumulator(s, f, __tsplusTrace) {
1704
1814
  outputChunk.append(b);
1705
1815
  }, __tsplusTrace);
1706
1816
 
1707
- return tsplus_module_1.match_(tsplus_module_1.foldLeft_(inp, s, (s1, a) => tsplus_module_1.flatMap_(f(s1, a), ([b, s2]) => tsplus_module_1.as_(emit(b), () => s2, __tsplusTrace), __tsplusTrace), __tsplusTrace), e => {
1817
+ return tsplus_module_1.match(e => {
1708
1818
  const partialResult = outputChunk.result();
1709
- return tsplus_module_12.isNonEmpty(partialResult) ? tsplus_module_11.apSecond_(tsplus_module_10.writeNow(partialResult), tsplus_module_10.failNow(e)) : tsplus_module_10.failNow(e);
1710
- }, s => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(outputChunk.result()), mapAccumIOAccumulator(s, f, __tsplusTrace)), __tsplusTrace);
1819
+ return tsplus_module_12.isNonEmpty(partialResult) ? tsplus_module_11.apSecond(tsplus_module_10.failNow(e))(tsplus_module_10.writeNow(partialResult)) : tsplus_module_10.failNow(e);
1820
+ }, s => tsplus_module_11.apSecond(mapAccumIOAccumulator(s, f, __tsplusTrace))(tsplus_module_10.writeNow(outputChunk.result())), __tsplusTrace)(tsplus_module_1.foldLeft(inp, s, (s1, a) => tsplus_module_1.flatMap(([b, s2]) => tsplus_module_1.as(() => s2, __tsplusTrace)(emit(b)), __tsplusTrace)(f(s1, a)), __tsplusTrace));
1711
1821
  }, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1712
1822
  }
1713
1823
  /**
1714
1824
  * Statefully and effectfully maps over the elements of this stream to produce
1715
1825
  * new elements.
1716
1826
  *
1717
- * @tsplus fluent fncts.io.Stream mapAccumIO
1827
+ * @tsplus pipeable fncts.io.Stream mapAccumIO
1718
1828
  */
1719
1829
 
1720
1830
 
1721
- function mapAccumIO_1(stream, s, f, __tsplusTrace) {
1722
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, mapAccumIOAccumulator(s, f, __tsplusTrace)));
1831
+ function mapAccumIO_1(s, f, __tsplusTrace) {
1832
+ return stream => {
1833
+ return new _definition2.Stream(tsplus_module_10.pipeTo(mapAccumIOAccumulator(s, f, __tsplusTrace))(stream.channel));
1834
+ };
1723
1835
  }
1724
1836
  /**
1725
1837
  * Transforms the chunks emitted by this stream.
1726
1838
  *
1727
- * @tsplus fluent fncts.io.Stream mapChunks
1839
+ * @tsplus pipeable fncts.io.Stream mapChunks
1728
1840
  */
1729
1841
 
1730
1842
 
1731
- function mapChunks_1(stream, f, __tsplusTrace) {
1732
- return new _definition2.Stream(tsplus_module_10.mapOut_(stream.channel, f));
1843
+ function mapChunks_1(f, __tsplusTrace) {
1844
+ return stream => {
1845
+ return new _definition2.Stream(tsplus_module_10.mapOut(f)(stream.channel));
1846
+ };
1733
1847
  }
1734
1848
  /**
1735
1849
  * Effectfully transforms the chunks emitted by this stream.
1736
1850
  *
1737
- * @tsplus fluent fncts.io.Stream mapChunksIO
1851
+ * @tsplus pipeable fncts.io.Stream mapChunksIO
1738
1852
  */
1739
1853
 
1740
1854
 
1741
- function mapChunksIO_(stream, f, __tsplusTrace) {
1742
- return new _definition2.Stream(tsplus_module_10.mapOutIO_(stream.channel, f));
1855
+ function mapChunksIO(f, __tsplusTrace) {
1856
+ return stream => {
1857
+ return new _definition2.Stream(tsplus_module_10.mapOutIO_(f)(stream.channel));
1858
+ };
1743
1859
  }
1744
1860
  /**
1745
1861
  * Maps each element to an iterable, and flattens the iterables into the
1746
1862
  * output of this stream.
1747
1863
  *
1748
- * @tsplus fluent fncts.io.Stream mapConcat
1864
+ * @tsplus pipeable fncts.io.Stream mapConcat
1749
1865
  */
1750
1866
 
1751
1867
 
1752
- function mapConcat_(stream, f, __tsplusTrace) {
1753
- return mapConcatChunk_1(stream, a => tsplus_module_19.from(f(a)), __tsplusTrace);
1868
+ function mapConcat(f, __tsplusTrace) {
1869
+ return stream => {
1870
+ return mapConcatChunk_1(a => tsplus_module_16.from(f(a)), __tsplusTrace)(stream);
1871
+ };
1754
1872
  }
1755
1873
  /**
1756
1874
  * Maps each element to a chunk, and flattens the chunks into the output of
1757
1875
  * this stream.
1758
1876
  *
1759
- * @tsplus fluent fncts.io.Stream mapConcatChunk
1877
+ * @tsplus pipeable fncts.io.Stream mapConcatChunk
1760
1878
  */
1761
1879
 
1762
1880
 
1763
- function mapConcatChunk_1(stream, f, __tsplusTrace) {
1764
- return mapChunks_1(stream, c => tsplus_module_12.flatMap_(c, f), __tsplusTrace);
1881
+ function mapConcatChunk_1(f, __tsplusTrace) {
1882
+ return stream => {
1883
+ return mapChunks_1(c => tsplus_module_12.flatMap(f)(c), __tsplusTrace)(stream);
1884
+ };
1765
1885
  }
1766
1886
  /**
1767
1887
  * Effectfully maps each element to a chunk, and flattens the chunks into
1768
1888
  * the output of this stream.
1769
1889
  *
1770
- * @tsplus fluent fncts.io.Stream mapConcatChunkIO
1890
+ * @tsplus pipeable fncts.io.Stream mapConcatChunkIO
1771
1891
  */
1772
1892
 
1773
1893
 
1774
- function mapConcatChunkIO_(stream, f, __tsplusTrace) {
1775
- return mapConcatChunk_1(mapIO_1(stream, f, __tsplusTrace), _function.identity, __tsplusTrace);
1894
+ function mapConcatChunkIO(f, __tsplusTrace) {
1895
+ return stream => {
1896
+ return mapConcatChunk_1(_function.identity, __tsplusTrace)(mapIO_1(f, __tsplusTrace)(stream));
1897
+ };
1776
1898
  }
1777
1899
  /**
1778
1900
  * Effectfully maps each element to an iterable, and flattens the iterables into
1779
1901
  * the output of this stream.
1780
1902
  *
1781
- * @tsplus fluent fncts.io.Stream mapConcatIO
1903
+ * @tsplus pipeable fncts.io.Stream mapConcatIO
1782
1904
  */
1783
1905
 
1784
1906
 
1785
- function mapConcatIO_(stream, f, __tsplusTrace) {
1786
- return mapConcatChunk_1(mapIO_1(stream, a => tsplus_module_1.map_(f(a), tsplus_module_19.from, __tsplusTrace), __tsplusTrace), _function.identity, __tsplusTrace);
1907
+ function mapConcatIO(f, __tsplusTrace) {
1908
+ return stream => {
1909
+ return mapConcatChunk_1(_function.identity, __tsplusTrace)(mapIO_1(a => tsplus_module_1.map(tsplus_module_16.from, __tsplusTrace)(f(a)), __tsplusTrace)(stream));
1910
+ };
1787
1911
  }
1788
1912
  /**
1789
1913
  * Transforms the errors emitted by this stream using `f`.
1790
1914
  *
1791
- * @tsplus fluent fncts.io.Stream mapError
1915
+ * @tsplus pipeable fncts.io.Stream mapError
1792
1916
  */
1793
1917
 
1794
1918
 
1795
- function mapError_1(stream, f, __tsplusTrace) {
1796
- return new _definition2.Stream(tsplus_module_10.mapError_(stream.channel, f));
1919
+ function mapError_1(f, __tsplusTrace) {
1920
+ return stream => {
1921
+ return new _definition2.Stream(tsplus_module_10.mapError(f)(stream.channel));
1922
+ };
1797
1923
  }
1798
1924
  /**
1799
1925
  * Transforms the full causes of failures emitted by this stream.
1800
1926
  *
1801
- * @tsplus fluent fncts.io.Stream mapErrorCause
1927
+ * @tsplus pipeable fncts.io.Stream mapErrorCause
1802
1928
  */
1803
1929
 
1804
1930
 
1805
- function mapErrorCause_(fa, f, __tsplusTrace) {
1806
- return new _definition2.Stream(tsplus_module_10.mapErrorCause_(fa.channel, f));
1931
+ function mapErrorCause(f, __tsplusTrace) {
1932
+ return fa => {
1933
+ return new _definition2.Stream(tsplus_module_10.mapErrorCause(f)(fa.channel));
1934
+ };
1807
1935
  }
1808
1936
  /**
1809
1937
  * Maps over elements of the stream with the specified effectful function.
1810
1938
  *
1811
- * @tsplus fluent fncts.io.Stream mapIO
1939
+ * @tsplus pipeable fncts.io.Stream mapIO
1812
1940
  */
1813
1941
 
1814
1942
 
1815
- function mapIO_1(stream, f, __tsplusTrace) {
1816
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, mapIOLoop(tsplus_module_38.empty()[Symbol.iterator](), f, __tsplusTrace)));
1943
+ function mapIO_1(f, __tsplusTrace) {
1944
+ return stream => {
1945
+ return new _definition2.Stream(tsplus_module_10.pipeTo(mapIOLoop(tsplus_module_34.empty()[Symbol.iterator](), f, __tsplusTrace))(stream.channel));
1946
+ };
1817
1947
  }
1818
1948
 
1819
1949
  function mapIOLoop(iterator, f, __tsplusTrace) {
@@ -1822,7 +1952,7 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
1822
1952
  if (next.done) {
1823
1953
  return tsplus_module_10.readWithCause(elem => mapIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
1824
1954
  } else {
1825
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(f(next.value), b => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(b)), mapIOLoop(iterator, f, __tsplusTrace)), __tsplusTrace));
1955
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => tsplus_module_11.apSecond(mapIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_16.single(b))), __tsplusTrace)(f(next.value)));
1826
1956
  }
1827
1957
  }
1828
1958
  /**
@@ -1832,12 +1962,14 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
1832
1962
  *
1833
1963
  * @note This combinator destroys the chunking structure. It's recommended to use chunkN afterwards.
1834
1964
  *
1835
- * @tsplus fluent fncts.io.Stream mapIOC
1965
+ * @tsplus pipeable fncts.io.Stream mapIOC
1836
1966
  */
1837
1967
 
1838
1968
 
1839
- function mapIOC_(stream, n, f, __tsplusTrace) {
1840
- return new _definition2.Stream(tsplus_module_10.mapOut_(tsplus_module_55.mapOutIOC_(tsplus_module_10.concatMap_(stream.channel, tsplus_module_10.writeChunk), n, f), tsplus_module_19.single));
1969
+ function mapIOC(n, f, __tsplusTrace) {
1970
+ return stream => {
1971
+ return new _definition2.Stream(tsplus_module_10.mapOut(tsplus_module_16.single)(tsplus_module_50.mapOutIOC(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
1972
+ };
1841
1973
  }
1842
1974
  /**
1843
1975
  * Maps each element of this stream to another stream and returns the
@@ -1845,92 +1977,108 @@ function mapIOC_(stream, n, f, __tsplusTrace) {
1845
1977
  * concurrently. Up to `bufferSize` elements of the produced streams may be
1846
1978
  * buffered in memory by this operator.
1847
1979
  *
1848
- * @tsplus fluent fncts.io.Stream mergeMap
1980
+ * @tsplus pipeable fncts.io.Stream mergeMap
1849
1981
  */
1850
1982
 
1851
1983
 
1852
- function mergeMap_1(ma, f, n, bufferSize = 16, __tsplusTrace) {
1853
- return new _definition2.Stream(tsplus_module_56.mergeMap_(tsplus_module_10.concatMap_(ma.channel, tsplus_module_10.writeChunk), a => f(a).channel, n, bufferSize));
1984
+ function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
1985
+ return ma => {
1986
+ return new _definition2.Stream(tsplus_module_51.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1987
+ };
1854
1988
  }
1855
1989
  /**
1856
1990
  * Maps over elements of the stream with the specified effectful function,
1857
1991
  * executing up to `n` invocations of `f` concurrently. The element order
1858
1992
  * is not enforced by this combinator, and elements may be reordered.
1859
1993
  *
1860
- * @tsplus fluent fncts.io.Stream mergeMapIO
1994
+ * @tsplus pipeable fncts.io.Stream mergeMapIO
1861
1995
  */
1862
1996
 
1863
1997
 
1864
- function mergeMapIO_(stream, f, n, bufferSize = 16, __tsplusTrace) {
1865
- return mergeMap_1(stream, a => fromIO_1(f(a), __tsplusTrace), n, bufferSize, __tsplusTrace);
1998
+ function mergeMapIO(f, n, bufferSize = 16, __tsplusTrace) {
1999
+ return stream => {
2000
+ return mergeMap_1(a => fromIO_1(f(a), __tsplusTrace), n, bufferSize, __tsplusTrace)(stream);
2001
+ };
1866
2002
  }
1867
2003
  /**
1868
- * @tsplus fluent fncts.io.Stream mergeEither
2004
+ * @tsplus pipeable fncts.io.Stream mergeEither
1869
2005
  */
1870
2006
 
1871
2007
 
1872
- function mergeEither_1(fa, fb, __tsplusTrace) {
1873
- return mergeWith_1(fa, fb, tsplus_module_18.left, tsplus_module_18.right);
2008
+ function mergeEither_1(fb, __tsplusTrace) {
2009
+ return fa => {
2010
+ return mergeWith_1(fb, tsplus_module_15.left, tsplus_module_15.right)(fa);
2011
+ };
1874
2012
  }
1875
2013
 
1876
2014
  function mergeWithHandler(terminate, __tsplusTrace) {
1877
- return exit => terminate || !tsplus_module_51.isSuccess(exit) ? tsplus_module_57.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_57.wait(tsplus_module_1.fromExitNow);
2015
+ return exit => terminate || !tsplus_module_47.isSuccess(exit) ? tsplus_module_52.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_52.wait(tsplus_module_1.fromExitNow);
1878
2016
  }
1879
2017
  /**
1880
- * @tsplus fluent fncts.io.Stream mergeWith
2018
+ * @tsplus pipeable fncts.io.Stream mergeWith
1881
2019
  */
1882
2020
 
1883
2021
 
1884
- function mergeWith_1(sa, sb, l, r, strategy = "Both", __tsplusTrace) {
1885
- return new _definition2.Stream(tsplus_module_58.mergeWith_(map_1(sa, l, __tsplusTrace).channel, map_1(sb, r, __tsplusTrace).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace)));
2022
+ function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
2023
+ return sa => {
2024
+ return new _definition2.Stream(tsplus_module_53.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));
2025
+ };
1886
2026
  }
1887
2027
  /**
1888
2028
  * Runs the specified effect if this stream fails, providing the error to the effect if it exists.
1889
2029
  *
1890
2030
  * Note: Unlike `IO.onError`, there is no guarantee that the provided effect will not be interrupted.
1891
2031
  *
1892
- * @tsplus fluent fncts.io.Stream onError
2032
+ * @tsplus pipeable fncts.io.Stream onError
1893
2033
  */
1894
2034
 
1895
2035
 
1896
- function onError_(stream, cleanup, __tsplusTrace) {
1897
- return catchAllCause_1(stream, cause => fromIO_1(tsplus_module_1.apSecond_(cleanup(cause), tsplus_module_1.failCauseNow(cause, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace);
2036
+ function onError(cleanup, __tsplusTrace) {
2037
+ return stream => {
2038
+ return catchAllCause_1(cause => fromIO_1(tsplus_module_1.apSecond(tsplus_module_1.failCauseNow(cause, __tsplusTrace), __tsplusTrace)(cleanup(cause)), __tsplusTrace), __tsplusTrace)(stream);
2039
+ };
1898
2040
  }
1899
2041
  /**
1900
2042
  * Switches to the provided stream in case this one fails with a typed error.
1901
2043
  *
1902
2044
  * See also Stream#catchAll
1903
2045
  *
1904
- * @tsplus fluent fncts.io.Stream orElse
2046
+ * @tsplus pipeable fncts.io.Stream orElse
1905
2047
  */
1906
2048
 
1907
2049
 
1908
- function orElse_1(stream, that, __tsplusTrace) {
1909
- return new _definition2.Stream(tsplus_module_10.orElse_(stream.channel, that().channel));
2050
+ function orElse_1(that, __tsplusTrace) {
2051
+ return stream => {
2052
+ return new _definition2.Stream(tsplus_module_10.orElse(that().channel)(stream.channel));
2053
+ };
1910
2054
  }
1911
2055
  /**
1912
2056
  * Switches to the provided stream in case this one fails with a typed error.
1913
2057
  *
1914
2058
  * See also ZStream#catchAll
1915
2059
  *
1916
- * @tsplus fluent fncts.io.Stream orElseEither
2060
+ * @tsplus pipeable fncts.io.Stream orElseEither
1917
2061
  */
1918
2062
 
1919
2063
 
1920
- function orElseEither_(stream, that, __tsplusTrace) {
1921
- return orElse_1(map_1(stream, tsplus_module_18.left, __tsplusTrace), () => map_1(that(), tsplus_module_18.right, __tsplusTrace), __tsplusTrace);
2064
+ function orElseEither(that, __tsplusTrace) {
2065
+ return stream => {
2066
+ return orElse_1(() => map_1(tsplus_module_15.right, __tsplusTrace)(that()), __tsplusTrace)(map_1(tsplus_module_15.left, __tsplusTrace)(stream));
2067
+ };
1922
2068
  }
1923
2069
  /**
1924
2070
  * Fails with given error in case this one fails with a typed error.
1925
2071
  *
1926
2072
  * See also Stream#catchAll
1927
2073
  *
1928
- * @tsplus fluent fncts.io.Stream orElseFail
2074
+ * @tsplus pipeable fncts.io.Stream orElseFail
1929
2075
  */
1930
2076
 
1931
2077
 
1932
- function orElseFail_(stream, e, __tsplusTrace) {
1933
- return orElse_1(stream, () => failNow_1(e(), __tsplusTrace), __tsplusTrace);
2078
+ function orElseFail(e, __tsplusTrace) {
2079
+ return stream => {
2080
+ return orElse_1(() => failNow_1(e(), __tsplusTrace), __tsplusTrace)(stream);
2081
+ };
1934
2082
  }
1935
2083
  /**
1936
2084
  * Switches to the provided stream in case this one fails with the `None` value.
@@ -1939,54 +2087,64 @@ function orElseFail_(stream, e, __tsplusTrace) {
1939
2087
  */
1940
2088
 
1941
2089
 
1942
- function orElseOptional_(stream, that, __tsplusTrace) {
1943
- return catchAll_1(stream, maybeError => tsplus_module_20.match_(maybeError, () => that(), e => failNow_1(tsplus_module_3.just(e), __tsplusTrace)), __tsplusTrace);
2090
+ function orElseOptional(stream, that, __tsplusTrace) {
2091
+ return catchAll_1(maybeError => tsplus_module_17.match(() => that(), e => failNow_1(tsplus_module_3.just(e), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
1944
2092
  }
1945
2093
  /**
1946
2094
  * Succeeds with the specified value if this one fails with a typed error.
1947
2095
  *
1948
- * @tsplus fluent fncts.io.Stream orElseSucceed
2096
+ * @tsplus pipeable fncts.io.Stream orElseSucceed
1949
2097
  */
1950
2098
 
1951
2099
 
1952
- function orElseSucceed_(stream, a, __tsplusTrace) {
1953
- return orElse_1(stream, () => succeedNow_1(a(), __tsplusTrace), __tsplusTrace);
2100
+ function orElseSucceed(a, __tsplusTrace) {
2101
+ return stream => {
2102
+ return orElse_1(() => succeedNow_1(a(), __tsplusTrace), __tsplusTrace)(stream);
2103
+ };
1954
2104
  }
1955
2105
  /**
1956
- * @tsplus fluent fncts.io.Stream pipeThrough
2106
+ * @tsplus pipeable fncts.io.Stream pipeThrough
1957
2107
  */
1958
2108
 
1959
2109
 
1960
- function pipeThrough_1(ma, sa, __tsplusTrace) {
1961
- return new _definition2.Stream(tsplus_module_10.pipeToOrFail_(ma.channel, sa.channel));
2110
+ function pipeThrough_1(sa, __tsplusTrace) {
2111
+ return ma => {
2112
+ return new _definition2.Stream(tsplus_module_10.pipeToOrFail(sa.channel)(ma.channel));
2113
+ };
1962
2114
  }
1963
2115
  /**
1964
2116
  * Provides the stream with its required environment, which eliminates
1965
2117
  * its dependency on `R`.
1966
2118
  *
1967
- * @tsplus fluent fncts.io.Stream provideEnvironment
2119
+ * @tsplus pipeable fncts.io.Stream provideEnvironment
1968
2120
  */
1969
2121
 
1970
2122
 
1971
- function provideEnvironment_1(ra, r, __tsplusTrace) {
1972
- return new _definition2.Stream(tsplus_module_10.provideEnvironment_(ra.channel, () => r));
2123
+ function provideEnvironment_1(r, __tsplusTrace) {
2124
+ return ra => {
2125
+ return new _definition2.Stream(tsplus_module_10.provideEnvironment(() => r)(ra.channel));
2126
+ };
1973
2127
  }
1974
2128
  /**
1975
- * @tsplus fluent fncts.io.Stream provideLayer
2129
+ * @tsplus pipeable fncts.io.Stream provideLayer
1976
2130
  */
1977
2131
 
1978
2132
 
1979
- function provideLayer_1(self, layer, __tsplusTrace) {
1980
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map_(tsplus_module_59.build(layer, __tsplusTrace), r => tsplus_module_10.provideEnvironment_(self.channel, () => r), __tsplusTrace)));
2133
+ function provideLayer_1(layer, __tsplusTrace) {
2134
+ return self => {
2135
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_54.build(layer, __tsplusTrace))));
2136
+ };
1981
2137
  }
1982
2138
  /**
1983
- * @tsplus fluent fncts.io.Stream provideSomeLayer
2139
+ * @tsplus pipeable fncts.io.Stream provideSomeLayer
1984
2140
  */
1985
2141
 
1986
2142
 
1987
- function provideSomeLayer_(self, layer, __tsplusTrace) {
1988
- // @ts-expect-error
1989
- return provideLayer_1(self, tsplus_module_60.and_(tsplus_module_60.environment(__tsplusTrace), layer, __tsplusTrace), __tsplusTrace);
2143
+ function provideSomeLayer(layer, __tsplusTrace) {
2144
+ return self => {
2145
+ // @ts-expect-error
2146
+ return provideLayer_1(tsplus_module_55.and(layer, __tsplusTrace)(tsplus_module_55.environment(__tsplusTrace)), __tsplusTrace)(self);
2147
+ };
1990
2148
  }
1991
2149
 
1992
2150
  class Rechunker {
@@ -2004,7 +2162,7 @@ class Rechunker {
2004
2162
  const result = this.builder;
2005
2163
  this.builder = [];
2006
2164
  this.pos = 0;
2007
- return tsplus_module_19.from(result);
2165
+ return tsplus_module_16.from(result);
2008
2166
  }
2009
2167
 
2010
2168
  return null;
@@ -2012,7 +2170,7 @@ class Rechunker {
2012
2170
 
2013
2171
  emitOfNotEmpty() {
2014
2172
  if (this.pos !== 0) {
2015
- return tsplus_module_10.writeNow(tsplus_module_19.from(this.builder));
2173
+ return tsplus_module_10.writeNow(tsplus_module_16.from(this.builder));
2016
2174
  } else {
2017
2175
  return tsplus_module_10.unit;
2018
2176
  }
@@ -2027,7 +2185,7 @@ class Rechunker {
2027
2185
  function rechunkProcess(rechunker, target, __tsplusTrace) {
2028
2186
  return tsplus_module_10.readWithCause(chunk => {
2029
2187
  if (chunk.length === target && rechunker.isEmpty) {
2030
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), rechunkProcess(rechunker, target, __tsplusTrace));
2188
+ return tsplus_module_11.apSecond(rechunkProcess(rechunker, target, __tsplusTrace))(tsplus_module_10.writeNow(chunk));
2031
2189
  } else if (chunk.length > 0) {
2032
2190
  const chunks = [];
2033
2191
  let result = null;
@@ -2035,7 +2193,7 @@ function rechunkProcess(rechunker, target, __tsplusTrace) {
2035
2193
 
2036
2194
  while (i < chunk.length) {
2037
2195
  while (i < chunk.length && result === null) {
2038
- result = rechunker.write(tsplus_module_12.unsafeGet_(chunk, i));
2196
+ result = rechunker.write(tsplus_module_12.unsafeGet(i)(chunk));
2039
2197
  i += 1;
2040
2198
  }
2041
2199
 
@@ -2045,23 +2203,25 @@ function rechunkProcess(rechunker, target, __tsplusTrace) {
2045
2203
  }
2046
2204
  }
2047
2205
 
2048
- return tsplus_module_11.apSecond_(tsplus_module_10.writeAll(chunks), rechunkProcess(rechunker, target, __tsplusTrace));
2206
+ return tsplus_module_11.apSecond(rechunkProcess(rechunker, target, __tsplusTrace))(tsplus_module_10.writeAll(chunks));
2049
2207
  } else {
2050
2208
  return rechunkProcess(rechunker, target, __tsplusTrace);
2051
2209
  }
2052
- }, cause => tsplus_module_11.apSecond_(rechunker.emitOfNotEmpty(), tsplus_module_11.failCauseNow(cause)), () => rechunker.emitOfNotEmpty());
2210
+ }, cause => tsplus_module_11.apSecond(tsplus_module_11.failCauseNow(cause))(rechunker.emitOfNotEmpty()), () => rechunker.emitOfNotEmpty());
2053
2211
  }
2054
2212
  /**
2055
2213
  * Re-chunks the elements of the stream into chunks of
2056
2214
  * `n` elements each.
2057
2215
  * The last chunk might contain less than `n` elements
2058
2216
  *
2059
- * @tsplus fluent fncts.io.Stream rechunk
2217
+ * @tsplus pipeable fncts.io.Stream rechunk
2060
2218
  */
2061
2219
 
2062
2220
 
2063
- function rechunk_(stream, n, __tsplusTrace) {
2064
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, rechunkProcess(new Rechunker(n), n, __tsplusTrace)));
2221
+ function rechunk(n, __tsplusTrace) {
2222
+ return stream => {
2223
+ return new _definition2.Stream(tsplus_module_10.pipeTo(rechunkProcess(new Rechunker(n), n, __tsplusTrace))(stream.channel));
2224
+ };
2065
2225
  }
2066
2226
  /**
2067
2227
  * Repeats the provided value infinitely.
@@ -2071,7 +2231,7 @@ function rechunk_(stream, n, __tsplusTrace) {
2071
2231
 
2072
2232
 
2073
2233
  function repeatValue(a, __tsplusTrace) {
2074
- return new _definition2.Stream(tsplus_module_10.repeated(tsplus_module_10.writeNow(tsplus_module_19.single(a))));
2234
+ return new _definition2.Stream(tsplus_module_10.repeated(tsplus_module_10.writeNow(tsplus_module_16.single(a))));
2075
2235
  }
2076
2236
  /**
2077
2237
  * Creates a stream from an effect producing a value of type `A` which repeats forever.
@@ -2081,7 +2241,7 @@ function repeatValue(a, __tsplusTrace) {
2081
2241
 
2082
2242
 
2083
2243
  function repeatIO(fa, __tsplusTrace) {
2084
- return repeatIOMaybe_1(tsplus_module_1.mapError_(fa, tsplus_module_3.just, __tsplusTrace), __tsplusTrace);
2244
+ return repeatIOMaybe_1(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(fa), __tsplusTrace);
2085
2245
  }
2086
2246
  /**
2087
2247
  * Creates a stream from an effect producing values of type `A` until it fails with None.
@@ -2091,7 +2251,7 @@ function repeatIO(fa, __tsplusTrace) {
2091
2251
 
2092
2252
 
2093
2253
  function repeatIOMaybe_1(fa, __tsplusTrace) {
2094
- return repeatIOChunkMaybe_1(tsplus_module_1.map_(fa, tsplus_module_19.single, __tsplusTrace), __tsplusTrace);
2254
+ return repeatIOChunkMaybe_1(tsplus_module_1.map(tsplus_module_16.single, __tsplusTrace)(fa), __tsplusTrace);
2095
2255
  }
2096
2256
  /**
2097
2257
  * Creates a stream from an effect producing chunks of `A` values which repeats forever.
@@ -2101,7 +2261,7 @@ function repeatIOMaybe_1(fa, __tsplusTrace) {
2101
2261
 
2102
2262
 
2103
2263
  function repeatIOChunk(fa, __tsplusTrace) {
2104
- return repeatIOChunkMaybe_1(tsplus_module_1.mapError_(fa, tsplus_module_3.just, __tsplusTrace), __tsplusTrace);
2264
+ return repeatIOChunkMaybe_1(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(fa), __tsplusTrace);
2105
2265
  }
2106
2266
  /**
2107
2267
  * Creates a stream from an effect producing chunks of `A` values until it fails with None.
@@ -2111,17 +2271,19 @@ function repeatIOChunk(fa, __tsplusTrace) {
2111
2271
 
2112
2272
 
2113
2273
  function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
2114
- return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll_(tsplus_module_1.map_(fa, chunk => tsplus_module_3.just((0, _function.tuple)(chunk, undefined)), __tsplusTrace), maybeError => tsplus_module_20.match_(maybeError, () => tsplus_module_1.succeedNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.failNow), __tsplusTrace), __tsplusTrace);
2274
+ return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_17.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((0, _function.tuple)(chunk, undefined)), __tsplusTrace)(fa)), __tsplusTrace);
2115
2275
  }
2116
2276
  /**
2117
2277
  * Runs the sink on the stream to produce either the sink's result or an error.
2118
2278
  *
2119
- * @tsplus fluent fncts.io.Stream run
2279
+ * @tsplus pipeable fncts.io.Stream run
2120
2280
  */
2121
2281
 
2122
2282
 
2123
- function run_1(stream, sink, __tsplusTrace) {
2124
- return tsplus_module_61.runDrain(tsplus_module_10.pipeToOrFail_(stream.channel, sink.channel));
2283
+ function run_1(sink, __tsplusTrace) {
2284
+ return stream => {
2285
+ return tsplus_module_56.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
2286
+ };
2125
2287
  }
2126
2288
  /**
2127
2289
  * Runs the stream and collects all of its elements to a chunk.
@@ -2131,7 +2293,7 @@ function run_1(stream, sink, __tsplusTrace) {
2131
2293
 
2132
2294
 
2133
2295
  function runCollect(stream, __tsplusTrace) {
2134
- return run_1(stream, tsplus_module_46.makeCollectAll(__tsplusTrace), __tsplusTrace);
2296
+ return run_1(tsplus_module_42.makeCollectAll(__tsplusTrace), __tsplusTrace)(stream);
2135
2297
  }
2136
2298
  /**
2137
2299
  * Runs the stream and collects ignore its elements.
@@ -2141,104 +2303,122 @@ function runCollect(stream, __tsplusTrace) {
2141
2303
 
2142
2304
 
2143
2305
  function runDrain(stream, __tsplusTrace) {
2144
- return run_1(stream, tsplus_module_46.drain, __tsplusTrace);
2306
+ return run_1(tsplus_module_42.drain, __tsplusTrace)(stream);
2145
2307
  }
2146
2308
  /**
2147
- * @tsplus fluent fncts.io.Stream runForeachScoped
2309
+ * @tsplus pipeable fncts.io.Stream runForeachScoped
2148
2310
  */
2149
2311
 
2150
2312
 
2151
- function runForeachScoped_1(self, f, __tsplusTrace) {
2152
- return runScoped_1(self, tsplus_module_46.makeForeach(f, __tsplusTrace), __tsplusTrace);
2313
+ function runForeachScoped_1(f, __tsplusTrace) {
2314
+ return self => {
2315
+ return runScoped_1(tsplus_module_42.makeForeach(f, __tsplusTrace), __tsplusTrace)(self);
2316
+ };
2153
2317
  }
2154
2318
  /**
2155
2319
  * Like `into`, but provides the result as a `Managed` to allow for scope
2156
2320
  * composition.
2157
2321
  *
2158
- * @tsplus fluent fncts.io.Stream runIntoElementsScoped
2322
+ * @tsplus pipeable fncts.io.Stream runIntoElementsScoped
2159
2323
  */
2160
2324
 
2161
2325
 
2162
- function runIntoElementsScoped_1(stream, queue, __tsplusTrace) {
2163
- const writer = tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_12.foldLeft_(inp, tsplus_module_10.unit, (channel, a) => tsplus_module_11.apSecond_(channel, tsplus_module_10.writeNow(tsplus_module_39.succeed(a)))), writer), err => tsplus_module_10.writeNow(tsplus_module_39.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_39.fail(tsplus_module_3.nothing())));
2164
- return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO_(tsplus_module_10.pipeTo_(stream.channel, writer), exit => tsplus_module_27.offer_(queue, exit, __tsplusTrace)))), __tsplusTrace);
2326
+ function runIntoElementsScoped_1(queue, __tsplusTrace) {
2327
+ return stream => {
2328
+ const writer = tsplus_module_10.readWith(inp => tsplus_module_11.apSecond(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.apSecond(tsplus_module_10.writeNow(tsplus_module_35.succeed(a)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_35.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_35.fail(tsplus_module_3.nothing())));
2329
+ return tsplus_module_1.asUnit(tsplus_module_13.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO_(exit => queue.offer(exit, __tsplusTrace))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
2330
+ };
2165
2331
  }
2166
2332
  /**
2167
2333
  * Like `Stream#into`, but provides the result as a `Managed` to allow for scope
2168
2334
  * composition.
2169
2335
  *
2170
- * @tsplus fluent fncts.io.Stream runIntoQueueScoped
2336
+ * @tsplus pipeable fncts.io.Stream runIntoQueueScoped
2171
2337
  */
2172
2338
 
2173
2339
 
2174
- function runIntoQueueScoped_1(stream, queue, __tsplusTrace) {
2175
- const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_26.chunk(inp)), writer), cause => tsplus_module_10.writeNow(tsplus_module_26.failCause(cause)), _ => tsplus_module_10.writeNow(tsplus_module_26.end));
2176
- return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO_(tsplus_module_10.pipeTo_(stream.channel, writer), take => tsplus_module_27.offer_(queue, take, __tsplusTrace)))), __tsplusTrace);
2340
+ function runIntoQueueScoped_1(queue, __tsplusTrace) {
2341
+ return stream => {
2342
+ const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.apSecond(writer)(tsplus_module_10.writeNow(tsplus_module_23.chunk(inp))), cause => tsplus_module_10.writeNow(tsplus_module_23.failCause(cause)), _ => tsplus_module_10.writeNow(tsplus_module_23.end));
2343
+ return tsplus_module_1.asUnit(tsplus_module_13.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO_(take => queue.offer(take, __tsplusTrace))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
2344
+ };
2177
2345
  }
2178
2346
  /**
2179
2347
  * Like `Stream#runIntoHub`, but provides the result as a `Managed` to allow for scope
2180
2348
  * composition.
2181
2349
  *
2182
- * @tsplus fluent fncts.io.Stream runIntoHubScoped
2350
+ * @tsplus pipeable fncts.io.Stream runIntoHubScoped
2183
2351
  */
2184
2352
 
2185
2353
 
2186
- function runIntoHubScoped_1(stream, hub, __tsplusTrace) {
2187
- return runIntoQueueScoped_1(stream, tsplus_module_32.toQueue(hub, __tsplusTrace), __tsplusTrace);
2354
+ function runIntoHubScoped_1(hub, __tsplusTrace) {
2355
+ return stream => {
2356
+ return runIntoQueueScoped_1(hub, __tsplusTrace)(stream);
2357
+ };
2188
2358
  }
2189
2359
  /**
2190
2360
  * Runs the sink on the stream to produce either the sink's result or an error.
2191
2361
  *
2192
- * @tsplus fluent fncts.io.Stream runScoped
2362
+ * @tsplus pipeable fncts.io.Stream runScoped
2193
2363
  */
2194
2364
 
2195
2365
 
2196
- function runScoped_1(stream, sink, __tsplusTrace) {
2197
- return tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeToOrFail_(stream.channel, sink.channel)));
2366
+ function runScoped_1(sink, __tsplusTrace) {
2367
+ return stream => {
2368
+ return tsplus_module_13.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel)));
2369
+ };
2198
2370
  }
2199
2371
  /**
2200
2372
  * Statefully maps over the elements of this stream to produce all intermediate results
2201
2373
  * of type `B` given an initial B.
2202
2374
  *
2203
- * @tsplus fluent fncts.io.Stream scan
2375
+ * @tsplus pipeable fncts.io.Stream scan
2204
2376
  */
2205
2377
 
2206
2378
 
2207
- function scan_(sa, b, f, __tsplusTrace) {
2208
- return scanIO_1(sa, b, (b, a) => tsplus_module_1.succeedNow(f(b, a), __tsplusTrace), __tsplusTrace);
2379
+ function scan(b, f, __tsplusTrace) {
2380
+ return sa => {
2381
+ return scanIO_1(b, (b, a) => tsplus_module_1.succeedNow(f(b, a), __tsplusTrace), __tsplusTrace)(sa);
2382
+ };
2209
2383
  }
2210
2384
  /**
2211
2385
  * Statefully and effectfully maps over the elements of this stream to produce all
2212
2386
  * intermediate results of type `B` given an initial B.
2213
2387
  *
2214
- * @tsplus fluent fncts.io.Stream scanIO
2388
+ * @tsplus pipeable fncts.io.Stream scanIO
2215
2389
  */
2216
2390
 
2217
2391
 
2218
- function scanIO_1(sa, b, f, __tsplusTrace) {
2219
- return concat_1(succeedNow_1(b, __tsplusTrace), mapAccumIO_1(sa, b, (b, a) => tsplus_module_1.map_(f(b, a), b => [b, b], __tsplusTrace), __tsplusTrace), __tsplusTrace);
2392
+ function scanIO_1(b, f, __tsplusTrace) {
2393
+ return sa => {
2394
+ return concat_1(mapAccumIO_1(b, (b, a) => tsplus_module_1.map(b => [b, b], __tsplusTrace)(f(b, a)), __tsplusTrace)(sa), __tsplusTrace)(succeedNow_1(b, __tsplusTrace));
2395
+ };
2220
2396
  }
2221
2397
  /**
2222
2398
  * Statefully maps over the elements of this stream to produce all
2223
2399
  * intermediate results.
2224
2400
  *
2225
- * @tsplus fluent fncts.io.Stream scanReduce
2401
+ * @tsplus pipeable fncts.io.Stream scanReduce
2226
2402
  */
2227
2403
 
2228
2404
 
2229
- function scanReduce_(fa, f, __tsplusTrace) {
2230
- return scanReduceIO_1(fa, (b, a) => tsplus_module_1.succeedNow(f(b, a), __tsplusTrace), __tsplusTrace);
2405
+ function scanReduce(f, __tsplusTrace) {
2406
+ return fa => {
2407
+ return scanReduceIO_1((b, a) => tsplus_module_1.succeedNow(f(b, a), __tsplusTrace), __tsplusTrace)(fa);
2408
+ };
2231
2409
  }
2232
2410
  /**
2233
2411
  * Statefully and effectfully maps over the elements of this stream to produce
2234
2412
  * all intermediate results.
2235
2413
  *
2236
- * @tsplus fluent fncts.io.Stream scanReduceIO
2414
+ * @tsplus pipeable fncts.io.Stream scanReduceIO
2237
2415
  */
2238
2416
 
2239
2417
 
2240
- function scanReduceIO_1(fa, f, __tsplusTrace) {
2241
- return mapAccumIO_1(fa, tsplus_module_3.nothing(), (s, a) => tsplus_module_20.match_(s, () => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a)], __tsplusTrace), b => tsplus_module_1.map_(f(b, a), b => [b, tsplus_module_3.just(b)], __tsplusTrace)), __tsplusTrace);
2418
+ function scanReduceIO_1(f, __tsplusTrace) {
2419
+ return fa => {
2420
+ return mapAccumIO_1(tsplus_module_3.nothing(), (s, a) => tsplus_module_17.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);
2421
+ };
2242
2422
  }
2243
2423
  /**
2244
2424
  * Creates a single-valued pure stream
@@ -2248,7 +2428,7 @@ function scanReduceIO_1(fa, f, __tsplusTrace) {
2248
2428
 
2249
2429
 
2250
2430
  function succeedNow_1(o, __tsplusTrace) {
2251
- return fromChunkNow_1(tsplus_module_19.single(o), __tsplusTrace);
2431
+ return fromChunkNow_1(tsplus_module_16.single(o), __tsplusTrace);
2252
2432
  }
2253
2433
  /**
2254
2434
  * Creates a single-valued pure stream
@@ -2258,16 +2438,16 @@ function succeedNow_1(o, __tsplusTrace) {
2258
2438
 
2259
2439
 
2260
2440
  function succeed(a, __tsplusTrace) {
2261
- return fromChunk_1(() => tsplus_module_19.single(a()), __tsplusTrace);
2441
+ return fromChunk_1(() => tsplus_module_16.single(a()), __tsplusTrace);
2262
2442
  }
2263
2443
 
2264
2444
  function takeLoop(n, __tsplusTrace) {
2265
2445
  return tsplus_module_10.readWithCause(inp => {
2266
- const taken = tsplus_module_12.take_(inp, n);
2446
+ const taken = tsplus_module_12.take(n)(inp);
2267
2447
  const left = Math.max(n - taken.length, 0);
2268
2448
 
2269
2449
  if (left > 0) {
2270
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(taken), takeLoop(left, __tsplusTrace));
2450
+ return tsplus_module_11.apSecond(takeLoop(left, __tsplusTrace))(tsplus_module_10.writeNow(taken));
2271
2451
  } else {
2272
2452
  return tsplus_module_10.writeNow(taken);
2273
2453
  }
@@ -2276,28 +2456,32 @@ function takeLoop(n, __tsplusTrace) {
2276
2456
  /**
2277
2457
  * Takes the specified number of elements from this stream.
2278
2458
  *
2279
- * @tsplus fluent fncts.io.Stream take
2459
+ * @tsplus pipeable fncts.io.Stream take
2280
2460
  */
2281
2461
 
2282
2462
 
2283
- function take_(stream, n, __tsplusTrace) {
2284
- if (n <= 0) {
2285
- return empty_1;
2286
- }
2463
+ function take(n, __tsplusTrace) {
2464
+ return stream => {
2465
+ if (n <= 0) {
2466
+ return empty_1;
2467
+ }
2287
2468
 
2288
- if (!Number.isInteger(n)) {
2289
- return halt_1(() => new tsplus_module_62.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
2290
- }
2469
+ if (!Number.isInteger(n)) {
2470
+ return halt_1(() => new tsplus_module_57.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
2471
+ }
2291
2472
 
2292
- return new _definition2.Stream(tsplus_module_10.pipeTo_(stream.channel, takeLoop(n, __tsplusTrace)));
2473
+ return new _definition2.Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
2474
+ };
2293
2475
  }
2294
2476
  /**
2295
- * @tsplus fluent fncts.io.Stream takeUntilIO
2477
+ * @tsplus pipeable fncts.io.Stream takeUntilIO
2296
2478
  */
2297
2479
 
2298
2480
 
2299
- function takeUntilIO_(ma, f, __tsplusTrace) {
2300
- return new _definition2.Stream(tsplus_module_10.pipeTo_(ma.channel, takeUntilIOLoop(tsplus_module_38.empty()[Symbol.iterator](), f, __tsplusTrace)));
2481
+ function takeUntilIO(f, __tsplusTrace) {
2482
+ return ma => {
2483
+ return new _definition2.Stream(tsplus_module_10.pipeTo(takeUntilIOLoop(tsplus_module_34.empty()[Symbol.iterator](), f, __tsplusTrace))(ma.channel));
2484
+ };
2301
2485
  }
2302
2486
 
2303
2487
  function takeUntilIOLoop(iterator, f, __tsplusTrace) {
@@ -2306,19 +2490,19 @@ function takeUntilIOLoop(iterator, f, __tsplusTrace) {
2306
2490
  if (next.done) {
2307
2491
  return tsplus_module_10.readWithCause(elem => takeUntilIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
2308
2492
  } else {
2309
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(f(next.value), b => b ? tsplus_module_10.writeNow(tsplus_module_19.single(next.value)) : tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.single(next.value)), takeUntilIOLoop(iterator, f, __tsplusTrace)), __tsplusTrace));
2493
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => b ? tsplus_module_10.writeNow(tsplus_module_16.single(next.value)) : tsplus_module_11.apSecond(takeUntilIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_16.single(next.value))), __tsplusTrace)(f(next.value)));
2310
2494
  }
2311
2495
  }
2312
2496
 
2313
2497
  function takeUntilLoop(p, __tsplusTrace) {
2314
2498
  return tsplus_module_10.readWith(chunk => {
2315
- const taken = tsplus_module_12.takeWhile_(chunk, tsplus_module_47.invert(p));
2316
- const last = tsplus_module_12.take_(tsplus_module_12.drop_(chunk, taken.length), 1);
2499
+ const taken = tsplus_module_12.takeWhile(tsplus_module_43.invert(p))(chunk);
2500
+ const last = tsplus_module_12.take(1)(tsplus_module_12.drop(taken.length)(chunk));
2317
2501
 
2318
2502
  if (tsplus_module_12.isEmpty(last)) {
2319
- return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(taken), takeUntilLoop(p, __tsplusTrace));
2503
+ return tsplus_module_11.apSecond(takeUntilLoop(p, __tsplusTrace))(tsplus_module_10.writeNow(taken));
2320
2504
  } else {
2321
- return tsplus_module_10.writeNow(tsplus_module_12.concat_(taken, last));
2505
+ return tsplus_module_10.writeNow(tsplus_module_12.concat(last)(taken));
2322
2506
  }
2323
2507
  }, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
2324
2508
  }
@@ -2326,20 +2510,24 @@ function takeUntilLoop(p, __tsplusTrace) {
2326
2510
  * Takes all elements of the stream until the specified predicate evaluates
2327
2511
  * to `true`.
2328
2512
  *
2329
- * @tsplus fluent fncts.io.Stream takeUntil
2513
+ * @tsplus pipeable fncts.io.Stream takeUntil
2330
2514
  */
2331
2515
 
2332
2516
 
2333
- function takeUntil_(fa, p, __tsplusTrace) {
2334
- return new _definition2.Stream(tsplus_module_10.pipeTo_(fa.channel, takeUntilLoop(p, __tsplusTrace)));
2517
+ function takeUntil(p, __tsplusTrace) {
2518
+ return fa => {
2519
+ return new _definition2.Stream(tsplus_module_10.pipeTo(takeUntilLoop(p, __tsplusTrace))(fa.channel));
2520
+ };
2335
2521
  }
2336
2522
  /**
2337
- * @tsplus fluent fncts.io.Stream tap
2523
+ * @tsplus pipeable fncts.io.Stream tap
2338
2524
  */
2339
2525
 
2340
2526
 
2341
- function tap_(ma, f, __tsplusTrace) {
2342
- return mapIO_1(ma, a => tsplus_module_1.as_(f(a), () => a, __tsplusTrace), __tsplusTrace);
2527
+ function tap(f, __tsplusTrace) {
2528
+ return ma => {
2529
+ return mapIO_1(a => tsplus_module_1.as(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(ma);
2530
+ };
2343
2531
  }
2344
2532
  /**
2345
2533
  * Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
@@ -2347,16 +2535,18 @@ function tap_(ma, f, __tsplusTrace) {
2347
2535
  * tokens up to a `units + burst` threshold. Chunks that do not meet the bandwidth constraints are dropped.
2348
2536
  * The weight of each chunk is determined by the `costFn` function.
2349
2537
  *
2350
- * @tsplus fluent fncts.io.Stream throttleEnforce
2538
+ * @tsplus pipeable fncts.io.Stream throttleEnforce
2351
2539
  */
2352
2540
 
2353
2541
 
2354
- function throttleEnforce_(sa, costFn, units, duration, burst = 0, __tsplusTrace) {
2355
- return throttleEnforceIO_1(sa, chunk => tsplus_module_1.succeedNow(costFn(chunk), __tsplusTrace), units, duration, burst, __tsplusTrace);
2542
+ function throttleEnforce(costFn, units, duration, burst = 0, __tsplusTrace) {
2543
+ return sa => {
2544
+ return throttleEnforceIO_1(chunk => tsplus_module_1.succeedNow(costFn(chunk), __tsplusTrace), units, duration, burst, __tsplusTrace)(sa);
2545
+ };
2356
2546
  }
2357
2547
 
2358
2548
  function throttleEnforceIOLoop(costFn, units, duration, burst, tokens, timestamp, __tsplusTrace) {
2359
- return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.zipWith_(costFn(inp), tsplus_module_41.currentTime, (weight, current) => {
2549
+ return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.zipWith(tsplus_module_37.currentTime, (weight, current) => {
2360
2550
  const elapsed = current - timestamp;
2361
2551
  const cycles = elapsed / duration;
2362
2552
 
@@ -2366,8 +2556,8 @@ function throttleEnforceIOLoop(costFn, units, duration, burst, tokens, timestamp
2366
2556
  return sum < 0 ? max : Math.min(sum, max);
2367
2557
  })();
2368
2558
 
2369
- return weight <= available ? tsplus_module_11.apSecond_(tsplus_module_10.writeNow(inp), throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current, __tsplusTrace)) : throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current, __tsplusTrace);
2370
- }, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
2559
+ return weight <= available ? tsplus_module_11.apSecond(throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current, __tsplusTrace))(tsplus_module_10.writeNow(inp)) : throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current, __tsplusTrace);
2560
+ }, __tsplusTrace)(costFn(inp))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
2371
2561
  }
2372
2562
  /**
2373
2563
  * Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
@@ -2375,23 +2565,27 @@ function throttleEnforceIOLoop(costFn, units, duration, burst, tokens, timestamp
2375
2565
  * tokens up to a `units + burst` threshold. Chunks that do not meet the bandwidth constraints are dropped.
2376
2566
  * The weight of each chunk is determined by the `costFn` effectful function.
2377
2567
  *
2378
- * @tsplus fluent fncts.io.Stream throttleEnforceIO
2568
+ * @tsplus pipeable fncts.io.Stream throttleEnforceIO
2379
2569
  */
2380
2570
 
2381
2571
 
2382
- function throttleEnforceIO_1(sa, costFn, units, duration, burst = 0, __tsplusTrace) {
2383
- return new _definition2.Stream(tsplus_module_11.flatMap_(tsplus_module_10.fromIO(() => tsplus_module_41.currentTime), current => tsplus_module_10.pipeTo_(sa.channel, throttleEnforceIOLoop(costFn, units, duration, burst, units, current, __tsplusTrace))));
2572
+ function throttleEnforceIO_1(costFn, units, duration, burst = 0, __tsplusTrace) {
2573
+ return sa => {
2574
+ return new _definition2.Stream(tsplus_module_11.flatMap(current => tsplus_module_10.pipeTo(throttleEnforceIOLoop(costFn, units, duration, burst, units, current, __tsplusTrace))(sa.channel))(tsplus_module_10.fromIO(() => tsplus_module_37.currentTime)));
2575
+ };
2384
2576
  }
2385
2577
  /**
2386
2578
  * Converts the stream to a managed hub of chunks. After the managed hub is used,
2387
2579
  * the hub will never again produce values and should be discarded.
2388
2580
  *
2389
- * @tsplus fluent fncts.io.Stream toHub
2581
+ * @tsplus pipeable fncts.io.Stream toHub
2390
2582
  */
2391
2583
 
2392
2584
 
2393
- function toHub_1(stream, capacity, __tsplusTrace) {
2394
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_32.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_32.shutdown(_, __tsplusTrace), __tsplusTrace), hub => tsplus_module_1.map_(tsplus_module_1.fork(runIntoHubScoped_1(stream, hub, __tsplusTrace), __tsplusTrace), () => hub, __tsplusTrace), __tsplusTrace);
2585
+ function toHub_1(capacity, __tsplusTrace) {
2586
+ return stream => {
2587
+ return tsplus_module_1.flatMap(hub => tsplus_module_1.map(() => hub, __tsplusTrace)(tsplus_module_1.fork(runIntoHubScoped_1(hub, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_29.makeBounded(capacity, __tsplusTrace), _ => _.shutdown, __tsplusTrace));
2588
+ };
2395
2589
  }
2396
2590
  /**
2397
2591
  * Interpret the stream as a managed pull
@@ -2401,42 +2595,50 @@ function toHub_1(stream, capacity, __tsplusTrace) {
2401
2595
 
2402
2596
 
2403
2597
  function toPull_1(stream, __tsplusTrace) {
2404
- return tsplus_module_1.map_(tsplus_module_63.toPull(stream.channel), io => tsplus_module_1.flatMap_(tsplus_module_1.mapError_(io, tsplus_module_3.just, __tsplusTrace), r => tsplus_module_4.match_(r, () => tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.succeedNow), __tsplusTrace), __tsplusTrace);
2598
+ 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_58.toPull(stream.channel));
2405
2599
  }
2406
2600
  /**
2407
2601
  * Converts the stream to a managed queue of chunks. After the managed queue is used,
2408
2602
  * the queue will never again produce values and should be discarded.
2409
2603
  *
2410
- * @tsplus fluent fncts.io.Stream toQueue
2604
+ * @tsplus pipeable fncts.io.Stream toQueue
2411
2605
  */
2412
2606
 
2413
2607
 
2414
- function toQueue_1(stream, capacity = 2, __tsplusTrace) {
2415
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue, __tsplusTrace), __tsplusTrace), () => queue, __tsplusTrace), __tsplusTrace);
2608
+ function toQueue_1(capacity = 2, __tsplusTrace) {
2609
+ return stream => {
2610
+ return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_1.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeBounded(capacity, __tsplusTrace), _ => _.shutdown, __tsplusTrace));
2611
+ };
2416
2612
  }
2417
2613
  /**
2418
- * @tsplus fluent fncts.io.Stream toQueueDropping
2614
+ * @tsplus pipeable fncts.io.Stream toQueueDropping
2419
2615
  */
2420
2616
 
2421
2617
 
2422
- function toQueueDropping_(stream, capacity = 2, __tsplusTrace) {
2423
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeDropping(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue, __tsplusTrace), __tsplusTrace), () => queue, __tsplusTrace), __tsplusTrace);
2618
+ function toQueueDropping(capacity = 2, __tsplusTrace) {
2619
+ return stream => {
2620
+ return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_1.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeDropping(capacity, __tsplusTrace), _ => _.shutdown, __tsplusTrace));
2621
+ };
2424
2622
  }
2425
2623
  /**
2426
- * @tsplus fluent fncts.io.Stream toQueueOfElements
2624
+ * @tsplus pipeable fncts.io.Stream toQueueOfElements
2427
2625
  */
2428
2626
 
2429
2627
 
2430
- function toQueueOfElements_1(stream, capacity = 2, __tsplusTrace) {
2431
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoElementsScoped_1(stream, queue, __tsplusTrace), __tsplusTrace), () => queue, __tsplusTrace), __tsplusTrace);
2628
+ function toQueueOfElements_1(capacity = 2, __tsplusTrace) {
2629
+ return stream => {
2630
+ return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_1.fork(runIntoElementsScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeBounded(capacity, __tsplusTrace), _ => _.shutdown, __tsplusTrace));
2631
+ };
2432
2632
  }
2433
2633
  /**
2434
- * @tsplus fluent fncts.io.Stream toQueueSliding
2634
+ * @tsplus pipeable fncts.io.Stream toQueueSliding
2435
2635
  */
2436
2636
 
2437
2637
 
2438
- function toQueueSliding_(stream, capacity = 2, __tsplusTrace) {
2439
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeSliding(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue, __tsplusTrace), __tsplusTrace), () => queue, __tsplusTrace), __tsplusTrace);
2638
+ function toQueueSliding(capacity = 2, __tsplusTrace) {
2639
+ return stream => {
2640
+ return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_1.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeSliding(capacity, __tsplusTrace), _ => _.shutdown, __tsplusTrace));
2641
+ };
2440
2642
  }
2441
2643
  /**
2442
2644
  * Converts the stream into an unbounded managed queue. After the managed queue
@@ -2447,11 +2649,11 @@ function toQueueSliding_(stream, capacity = 2, __tsplusTrace) {
2447
2649
 
2448
2650
 
2449
2651
  function toQueueUnbounded_1(stream, __tsplusTrace) {
2450
- return tsplus_module_1.flatMap_(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeUnbounded(__tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue, __tsplusTrace), __tsplusTrace), () => queue, __tsplusTrace), __tsplusTrace);
2652
+ return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_1.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_26.acquireRelease(() => tsplus_module_25.makeUnbounded(__tsplusTrace), _ => _.shutdown, __tsplusTrace));
2451
2653
  }
2452
2654
 
2453
2655
  function unfoldChunkIOLoop(s, f, __tsplusTrace) {
2454
- return tsplus_module_10.unwrap(() => tsplus_module_1.map_(f(s), m => tsplus_module_20.match_(m, () => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap_(tsplus_module_10.writeNow(as), () => unfoldChunkIOLoop(s, f, __tsplusTrace))), __tsplusTrace));
2656
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(m => tsplus_module_17.match(() => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap(() => unfoldChunkIOLoop(s, f, __tsplusTrace))(tsplus_module_10.writeNow(as)))(m), __tsplusTrace)(f(s)));
2455
2657
  }
2456
2658
  /**
2457
2659
  * Creates a stream by effectfully peeling off the "layers" of a value of type `S`
@@ -2471,11 +2673,11 @@ function unfoldChunkIO_1(s, f, __tsplusTrace) {
2471
2673
 
2472
2674
 
2473
2675
  function unfoldIO_1(s, f, __tsplusTrace) {
2474
- return unfoldChunkIO_1(s, _ => tsplus_module_1.map_(f(_), m => tsplus_module_37.map_(m, ([a, s]) => (0, _function.tuple)(tsplus_module_19.single(a), s)), __tsplusTrace), __tsplusTrace);
2676
+ return unfoldChunkIO_1(s, _ => tsplus_module_1.map(m => tsplus_module_33.map(([a, s]) => (0, _function.tuple)(tsplus_module_16.single(a), s))(m), __tsplusTrace)(f(_)), __tsplusTrace);
2475
2677
  }
2476
2678
 
2477
2679
  function unfoldChunkLoop(s, f, __tsplusTrace) {
2478
- return tsplus_module_20.match_(f(s), () => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap_(tsplus_module_10.writeNow(as), () => unfoldChunkLoop(s, f, __tsplusTrace)));
2680
+ return tsplus_module_17.match(() => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap(() => unfoldChunkLoop(s, f, __tsplusTrace))(tsplus_module_10.writeNow(as)))(f(s));
2479
2681
  }
2480
2682
  /**
2481
2683
  * @tsplus static fncts.io.StreamOps unfoldChunk
@@ -2491,7 +2693,7 @@ function unfoldChunk_1(s, f, __tsplusTrace) {
2491
2693
 
2492
2694
 
2493
2695
  function unfold(s, f, __tsplusTrace) {
2494
- return unfoldChunk_1(s, s => tsplus_module_37.map_(f(s), ([a, s]) => (0, _function.tuple)(tsplus_module_19.single(a), s)), __tsplusTrace);
2696
+ return unfoldChunk_1(s, s => tsplus_module_33.map(([a, s]) => (0, _function.tuple)(tsplus_module_16.single(a), s))(f(s)), __tsplusTrace);
2495
2697
  }
2496
2698
  /**
2497
2699
  * Creates a stream produced from an IO
@@ -2511,7 +2713,7 @@ function unwrap_1(stream, __tsplusTrace) {
2511
2713
 
2512
2714
 
2513
2715
  function unwrapScoped_1(stream, __tsplusTrace) {
2514
- return flatten_1(scoped_1(stream, __tsplusTrace), __tsplusTrace);
2716
+ return flatten_1(scoped_1(() => stream, __tsplusTrace), __tsplusTrace);
2515
2717
  }
2516
2718
  /**
2517
2719
  * @tsplus getter fncts.io.Stream zipWithIndex
@@ -2519,7 +2721,7 @@ function unwrapScoped_1(stream, __tsplusTrace) {
2519
2721
 
2520
2722
 
2521
2723
  function zipWithIndex_(self, __tsplusTrace) {
2522
- return mapAccum_1(self, 0, (index, a) => [index + 1, [a, index]], __tsplusTrace);
2724
+ return mapAccum_1(0, (index, a) => [index + 1, [a, index]], __tsplusTrace)(self);
2523
2725
  }
2524
2726
  /**
2525
2727
  * Zips the two streams so that when a value is emitted by either of the two
@@ -2530,15 +2732,17 @@ function zipWithIndex_(self, __tsplusTrace) {
2530
2732
  * that emitted elements that are not the last value in chunks will never be
2531
2733
  * used for zipping.
2532
2734
  *
2533
- * @tsplus fluent fncts.io.Stream zipWithLatest
2735
+ * @tsplus pipeable fncts.io.Stream zipWithLatest
2534
2736
  */
2535
2737
 
2536
2738
 
2537
- function zipWithLatest_(fa, fb, f, __tsplusTrace) {
2538
- function pullNonEmpty(pull, __tsplusTrace) {
2539
- return tsplus_module_1.flatMap_(pull, chunk => tsplus_module_12.isNonEmpty(chunk) ? pullNonEmpty(pull, __tsplusTrace) : tsplus_module_1.succeedNow(chunk, __tsplusTrace), __tsplusTrace);
2540
- }
2739
+ function zipWithLatest(fb, f, __tsplusTrace) {
2740
+ return fa => {
2741
+ function pullNonEmpty(pull, __tsplusTrace) {
2742
+ return tsplus_module_1.flatMap(chunk => tsplus_module_12.isNonEmpty(chunk) ? pullNonEmpty(pull, __tsplusTrace) : tsplus_module_1.succeedNow(chunk, __tsplusTrace), __tsplusTrace)(pull);
2743
+ }
2541
2744
 
2542
- return fromPull_1(tsplus_module_1.flatMap_(tsplus_module_1.map_(toPull_1(fa, __tsplusTrace), pullNonEmpty, __tsplusTrace), left => tsplus_module_1.flatMap_(tsplus_module_1.map_(toPull_1(fb, __tsplusTrace), pullNonEmpty, __tsplusTrace), right => toPull_1(flatMap_1(fromIOMaybe_1(tsplus_module_24.raceWith_(left, () => right, (leftDone, rightFiber) => tsplus_module_1.zipWith_(tsplus_module_1.fromExitNow(leftDone, __tsplusTrace), tsplus_module_22.join(rightFiber, __tsplusTrace), (l, r) => (0, _function.tuple)(l, r, true), __tsplusTrace), (rightDone, leftFiber) => tsplus_module_1.zipWith_(tsplus_module_1.fromExitNow(rightDone, __tsplusTrace), tsplus_module_22.join(leftFiber, __tsplusTrace), (r, l) => (0, _function.tuple)(l, r, false), __tsplusTrace), __tsplusTrace), __tsplusTrace), ([l, r, leftFirst]) => flatMap_1(fromIO_1(tsplus_module_6.make(() => (0, _function.tuple)(tsplus_module_12.unsafeGet_(l, l.length - 1), tsplus_module_12.unsafeGet_(r, r.length - 1)), __tsplusTrace), __tsplusTrace), latest => concat_1(fromChunk_1(() => leftFirst ? tsplus_module_12.map_(r, b => f(tsplus_module_12.unsafeGet_(l, l.length - 1), b)) : tsplus_module_12.map_(l, a => f(a, tsplus_module_12.unsafeGet_(r, r.length - 1))), __tsplusTrace), flatMap_1(mapIO_1(mergeEither_1(repeatIOMaybe_1(left, __tsplusTrace), repeatIOMaybe_1(right, __tsplusTrace), __tsplusTrace), ab => tsplus_module_4.match_(ab, leftChunk => tsplus_module_15.modify_(latest, ([_, rightLatest]) => (0, _function.tuple)(tsplus_module_12.map_(leftChunk, a => f(a, rightLatest)), (0, _function.tuple)(tsplus_module_12.unsafeGet_(leftChunk, leftChunk.length - 1), rightLatest)), __tsplusTrace), rightChunk => tsplus_module_15.modify_(latest, ([leftLatest, _]) => (0, _function.tuple)(tsplus_module_12.map_(rightChunk, b => f(leftLatest, b)), (0, _function.tuple)(leftLatest, tsplus_module_12.unsafeGet_(rightChunk, rightChunk.length - 1))), __tsplusTrace)), __tsplusTrace), fromChunkNow_1, __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace);
2745
+ return fromPull_1(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => toPull_1(flatMap_1(([l, r, leftFirst]) => flatMap_1(latest => concat_1(flatMap_1(fromChunkNow_1, __tsplusTrace)(mapIO_1(ab => tsplus_module_4.match(leftChunk => latest.modify(([_, rightLatest]) => (0, _function.tuple)(tsplus_module_12.map(a => f(a, rightLatest))(leftChunk), (0, _function.tuple)(tsplus_module_12.unsafeGet(leftChunk.length - 1)(leftChunk), rightLatest)), __tsplusTrace), rightChunk => latest.modify(([leftLatest, _]) => (0, _function.tuple)(tsplus_module_12.map(b => f(leftLatest, b))(rightChunk), (0, _function.tuple)(leftLatest, tsplus_module_12.unsafeGet(rightChunk.length - 1)(rightChunk))), __tsplusTrace))(ab), __tsplusTrace)(mergeEither_1(repeatIOMaybe_1(right, __tsplusTrace), __tsplusTrace)(repeatIOMaybe_1(left, __tsplusTrace)))), __tsplusTrace)(fromChunk_1(() => leftFirst ? tsplus_module_12.map(b => f(tsplus_module_12.unsafeGet(l.length - 1)(l), b))(r) : tsplus_module_12.map(a => f(a, tsplus_module_12.unsafeGet(r.length - 1)(r)))(l), __tsplusTrace)), __tsplusTrace)(fromIO_1(tsplus_module_6.make(() => (0, _function.tuple)(tsplus_module_12.unsafeGet(l.length - 1)(l), tsplus_module_12.unsafeGet(r.length - 1)(r)), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(fromIOMaybe_1(tsplus_module_21.raceWith(() => right, (leftDone, rightFiber) => tsplus_module_1.zipWith(tsplus_module_19.join(rightFiber, __tsplusTrace), (l, r) => (0, _function.tuple)(l, r, true), __tsplusTrace)(tsplus_module_1.fromExitNow(leftDone, __tsplusTrace)), (rightDone, leftFiber) => tsplus_module_1.zipWith(tsplus_module_19.join(leftFiber, __tsplusTrace), (r, l) => (0, _function.tuple)(l, r, false), __tsplusTrace)(tsplus_module_1.fromExitNow(rightDone, __tsplusTrace)), __tsplusTrace)(left), __tsplusTrace)), __tsplusTrace), __tsplusTrace)(tsplus_module_1.map(pullNonEmpty, __tsplusTrace)(toPull_1(fb, __tsplusTrace))), __tsplusTrace)(tsplus_module_1.map(pullNonEmpty, __tsplusTrace)(toPull_1(fa, __tsplusTrace))), __tsplusTrace);
2746
+ };
2543
2747
  }
2544
2748
  //# sourceMappingURL=api.cjs.map