@fncts/io 0.0.20 → 0.0.22

Sign up to get free protection for your applications and to get access to all the features.
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