@fncts/io 0.0.20 → 0.0.22

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