Package not found. Please check the package name and try again.

@fncts/io 0.0.20 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1089) hide show
  1. package/Cached/api.d.ts +2 -2
  2. package/Channel/ChildExecutorDecision/api.d.ts +2 -2
  3. package/Channel/UpstreamPullRequest/api.d.ts +2 -2
  4. package/Channel/api/interruptWhen.d.ts +5 -5
  5. package/Channel/api/mapOutIOC.d.ts +3 -3
  6. package/Channel/api/mergeAll.d.ts +2 -2
  7. package/Channel/api/mergeAllUnboundedWith.d.ts +2 -2
  8. package/Channel/api/mergeAllWith.d.ts +2 -2
  9. package/Channel/api/mergeMap.d.ts +2 -2
  10. package/Channel/api/mergeWith.d.ts +2 -2
  11. package/Channel/api/zipC.d.ts +6 -6
  12. package/Channel/api.d.ts +64 -64
  13. package/Channel/core-api.d.ts +11 -11
  14. package/Channel/definition.d.ts +35 -21
  15. package/Fiber/api/evalOn.d.ts +3 -3
  16. package/Fiber/api/evalOnIO.d.ts +3 -3
  17. package/Fiber/api/interruptAs.d.ts +3 -3
  18. package/Fiber/api/interruptAsFork.d.ts +3 -3
  19. package/Fiber/api/mapFiber.d.ts +2 -2
  20. package/Fiber/api/mapIO.d.ts +5 -5
  21. package/Fiber/api/zipWith.d.ts +2 -2
  22. package/Fiber.d.ts +1 -0
  23. package/FiberRef/api/locallyScoped.d.ts +2 -2
  24. package/FiberRef/api/locallyScopedWith.d.ts +2 -2
  25. package/FiberRef/api.d.ts +18 -18
  26. package/FiberRefs/api.d.ts +2 -2
  27. package/FiberRefs/join.d.ts +3 -3
  28. package/Future/api.d.ts +21 -21
  29. package/Hub/constructors.d.ts +49 -0
  30. package/Hub/definition.d.ts +37 -81
  31. package/Hub/internal.d.ts +4 -11
  32. package/Hub.d.ts +1 -1
  33. package/IO/api/acquireRelease.d.ts +1 -1
  34. package/IO/api/acquireReleaseExit.d.ts +1 -1
  35. package/IO/api/bracket.d.ts +1 -1
  36. package/IO/api/bracketExit.d.ts +1 -1
  37. package/IO/api/concurrency.d.ts +2 -2
  38. package/IO/api/core-scope.d.ts +5 -5
  39. package/IO/api/ensuringChildren.d.ts +3 -3
  40. package/IO/api/environment.d.ts +11 -15
  41. package/IO/api/foreachC.d.ts +2 -2
  42. package/IO/api/foreachExec.d.ts +1 -1
  43. package/IO/api/forkIn.d.ts +3 -3
  44. package/IO/api/fulfill.d.ts +3 -3
  45. package/IO/api/interrupt.d.ts +6 -6
  46. package/IO/api/onExit.d.ts +3 -3
  47. package/IO/api/onTermination.d.ts +4 -4
  48. package/IO/api/provideLayer.d.ts +3 -3
  49. package/IO/api/provideSomeLayer.d.ts +3 -7
  50. package/IO/api/race.d.ts +2 -2
  51. package/IO/api/raceFirst.d.ts +2 -2
  52. package/IO/api/repeat.d.ts +3 -3
  53. package/IO/api/retry.d.ts +7 -7
  54. package/IO/api/schedule.d.ts +5 -5
  55. package/IO/api/scoped.d.ts +2 -2
  56. package/IO/api/supervised.d.ts +3 -3
  57. package/IO/api/timeout.d.ts +5 -5
  58. package/IO/api/withFinalizer.d.ts +3 -3
  59. package/IO/api/withFinalizerExit.d.ts +3 -3
  60. package/IO/api/withRuntimeConfig.d.ts +3 -3
  61. package/IO/api/zipC.d.ts +4 -4
  62. package/IO/api.d.ts +179 -176
  63. package/IO/definition.d.ts +15 -9
  64. package/Layer/MemoMap.d.ts +4 -4
  65. package/Layer/api.d.ts +28 -28
  66. package/LogLevel.d.ts +12 -12
  67. package/LogSpan.d.ts +2 -2
  68. package/Logger/api.d.ts +5 -5
  69. package/Queue/constructors.d.ts +2 -1
  70. package/Queue/definition.d.ts +91 -82
  71. package/Queue/internal.d.ts +7 -9
  72. package/Queue.d.ts +0 -2
  73. package/Ref/Atomic.d.ts +15 -2
  74. package/Ref/Synchronized.d.ts +72 -0
  75. package/Ref/constructors.d.ts +7 -0
  76. package/Ref/definition.d.ts +60 -58
  77. package/Ref.d.ts +1 -6
  78. package/STM/api/core-api.d.ts +10 -10
  79. package/STM/api.d.ts +61 -61
  80. package/STM/internal/Journal.d.ts +4 -4
  81. package/Schedule/Decision.d.ts +2 -2
  82. package/Schedule/api.d.ts +94 -94
  83. package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
  84. package/Scope/ReleaseMap/api.d.ts +10 -10
  85. package/Scope/api.d.ts +8 -8
  86. package/Sink/api.d.ts +68 -68
  87. package/State/api.d.ts +4 -4
  88. package/State/internal.d.ts +1 -1
  89. package/Stream/api/zipAllWith.d.ts +2 -2
  90. package/Stream/api/zipWith.d.ts +2 -2
  91. package/Stream/api/zipWithChunks.d.ts +2 -2
  92. package/Stream/api.d.ts +216 -205
  93. package/Stream/internal/DebounceState.d.ts +3 -3
  94. package/Stream/internal/Handoff.d.ts +5 -5
  95. package/Stream/internal/Pull.d.ts +2 -2
  96. package/Stream/internal/SinkEndReason.d.ts +3 -3
  97. package/Stream/internal/Take.d.ts +8 -8
  98. package/SubscriptionRef.d.ts +29 -0
  99. package/Supervisor/api.d.ts +4 -4
  100. package/SupervisorPatch.d.ts +4 -4
  101. package/TFuture/api.d.ts +7 -7
  102. package/TReentrantLock/api.d.ts +4 -4
  103. package/TRef/api.d.ts +24 -24
  104. package/TSemaphore/api.d.ts +4 -4
  105. package/TSemaphore/constructors.d.ts +6 -0
  106. package/_cjs/Cached/api.cjs +9 -9
  107. package/_cjs/Cached/api.cjs.map +1 -1
  108. package/_cjs/Channel/ChildExecutorDecision/api.cjs +19 -17
  109. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  110. package/_cjs/Channel/UpstreamPullRequest/api.cjs +16 -14
  111. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  112. package/_cjs/Channel/api/interruptWhen.cjs +14 -10
  113. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  114. package/_cjs/Channel/api/mapOutIOC.cjs +25 -25
  115. package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
  116. package/_cjs/Channel/api/mergeAll.cjs +6 -4
  117. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  118. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +6 -4
  119. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  120. package/_cjs/Channel/api/mergeAllWith.cjs +48 -52
  121. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  122. package/_cjs/Channel/api/mergeMap.cjs +6 -4
  123. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  124. package/_cjs/Channel/api/mergeWith.cjs +48 -46
  125. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  126. package/_cjs/Channel/api/run.cjs +1 -1
  127. package/_cjs/Channel/api/run.cjs.map +1 -1
  128. package/_cjs/Channel/api/runScoped.cjs +2 -2
  129. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  130. package/_cjs/Channel/api/toPull.cjs +3 -3
  131. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  132. package/_cjs/Channel/api/zipC.cjs +20 -14
  133. package/_cjs/Channel/api/zipC.cjs.map +1 -1
  134. package/_cjs/Channel/api.cjs +264 -218
  135. package/_cjs/Channel/api.cjs.map +1 -1
  136. package/_cjs/Channel/core-api.cjs +34 -24
  137. package/_cjs/Channel/core-api.cjs.map +1 -1
  138. package/_cjs/Channel/definition.cjs +1 -1
  139. package/_cjs/Channel/definition.cjs.map +1 -1
  140. package/_cjs/Channel/internal/ChannelExecutor.cjs +83 -83
  141. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  142. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +22 -24
  143. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  144. package/_cjs/Differ/api.cjs +5 -5
  145. package/_cjs/Differ/api.cjs.map +1 -1
  146. package/_cjs/Fiber/FiberContext.cjs +48 -48
  147. package/_cjs/Fiber/FiberContext.cjs.map +1 -1
  148. package/_cjs/Fiber/api/awaitAll.cjs +1 -1
  149. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  150. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  151. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  152. package/_cjs/Fiber/api/evalOn.cjs +12 -10
  153. package/_cjs/Fiber/api/evalOn.cjs.map +1 -1
  154. package/_cjs/Fiber/api/evalOnIO.cjs +6 -4
  155. package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -1
  156. package/_cjs/Fiber/api/fromIO.cjs +1 -1
  157. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  158. package/_cjs/Fiber/api/interrupt.cjs +1 -1
  159. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  160. package/_cjs/Fiber/api/interruptAll.cjs +2 -2
  161. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  162. package/_cjs/Fiber/api/interruptAs.cjs +6 -4
  163. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  164. package/_cjs/Fiber/api/interruptAsFork.cjs +6 -4
  165. package/_cjs/Fiber/api/interruptAsFork.cjs.map +1 -1
  166. package/_cjs/Fiber/api/interruptFork.cjs +1 -1
  167. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  168. package/_cjs/Fiber/api/join.cjs +1 -1
  169. package/_cjs/Fiber/api/join.cjs.map +1 -1
  170. package/_cjs/Fiber/api/joinAll.cjs +1 -1
  171. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  172. package/_cjs/Fiber/api/mapFiber.cjs +6 -4
  173. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  174. package/_cjs/Fiber/api/mapIO.cjs +14 -10
  175. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  176. package/_cjs/Fiber/api/zipWith.cjs +6 -4
  177. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  178. package/_cjs/Fiber/definition.cjs.map +1 -1
  179. package/_cjs/Fiber.cjs +13 -0
  180. package/_cjs/Fiber.cjs.map +1 -1
  181. package/_cjs/FiberRef/api/locallyScoped.cjs +6 -4
  182. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  183. package/_cjs/FiberRef/api/locallyScopedWith.cjs +5 -3
  184. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  185. package/_cjs/FiberRef/api.cjs +64 -47
  186. package/_cjs/FiberRef/api.cjs.map +1 -1
  187. package/_cjs/FiberRef/constructors.cjs +1 -1
  188. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  189. package/_cjs/FiberRef.cjs.map +1 -1
  190. package/_cjs/FiberRefs/api.cjs +15 -13
  191. package/_cjs/FiberRefs/api.cjs.map +1 -1
  192. package/_cjs/FiberRefs/join.cjs +37 -35
  193. package/_cjs/FiberRefs/join.cjs.map +1 -1
  194. package/_cjs/FiberState/definition.cjs.map +1 -1
  195. package/_cjs/Future/api.cjs +97 -79
  196. package/_cjs/Future/api.cjs.map +1 -1
  197. package/_cjs/Future/constructors.cjs +1 -1
  198. package/_cjs/Future/constructors.cjs.map +1 -1
  199. package/_cjs/Hub/constructors.cjs +93 -0
  200. package/_cjs/Hub/constructors.cjs.map +1 -0
  201. package/_cjs/Hub/definition.cjs +104 -13
  202. package/_cjs/Hub/definition.cjs.map +1 -1
  203. package/_cjs/Hub/internal.cjs +104 -129
  204. package/_cjs/Hub/internal.cjs.map +1 -1
  205. package/_cjs/Hub.cjs +4 -4
  206. package/_cjs/IO/api/acquireReleaseExit.cjs +1 -1
  207. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  208. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -1
  209. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  210. package/_cjs/IO/api/addFinalizerExit.cjs +1 -1
  211. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  212. package/_cjs/IO/api/asyncIO.cjs +4 -4
  213. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  214. package/_cjs/IO/api/bracket.cjs +3 -3
  215. package/_cjs/IO/api/bracket.cjs.map +1 -1
  216. package/_cjs/IO/api/bracketExit.cjs +3 -3
  217. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  218. package/_cjs/IO/api/clockWith.cjs +2 -2
  219. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  220. package/_cjs/IO/api/concurrency.cjs +9 -7
  221. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  222. package/_cjs/IO/api/concurrentFinalizers.cjs +1 -1
  223. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  224. package/_cjs/IO/api/consoleWith.cjs +2 -2
  225. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  226. package/_cjs/IO/api/core-scope.cjs +45 -41
  227. package/_cjs/IO/api/core-scope.cjs.map +1 -1
  228. package/_cjs/IO/api/ensuringChildren.cjs +5 -3
  229. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  230. package/_cjs/IO/api/environment.cjs +35 -35
  231. package/_cjs/IO/api/environment.cjs.map +1 -1
  232. package/_cjs/IO/api/foreachC.cjs +19 -23
  233. package/_cjs/IO/api/foreachC.cjs.map +1 -1
  234. package/_cjs/IO/api/foreachExec.cjs +3 -3
  235. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  236. package/_cjs/IO/api/forkAll.cjs +1 -1
  237. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  238. package/_cjs/IO/api/forkIn.cjs +8 -6
  239. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  240. package/_cjs/IO/api/forkScoped.cjs +1 -1
  241. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  242. package/_cjs/IO/api/fulfill.cjs +8 -6
  243. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  244. package/_cjs/IO/api/interrupt.cjs +36 -30
  245. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  246. package/_cjs/IO/api/memoize.cjs +1 -1
  247. package/_cjs/IO/api/memoize.cjs.map +1 -1
  248. package/_cjs/IO/api/onExit.cjs +6 -4
  249. package/_cjs/IO/api/onExit.cjs.map +1 -1
  250. package/_cjs/IO/api/onTermination.cjs +5 -3
  251. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  252. package/_cjs/IO/api/once.cjs +3 -5
  253. package/_cjs/IO/api/once.cjs.map +1 -1
  254. package/_cjs/IO/api/provideLayer.cjs +6 -4
  255. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  256. package/_cjs/IO/api/provideSomeLayer.cjs +5 -15
  257. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  258. package/_cjs/IO/api/race.cjs +6 -4
  259. package/_cjs/IO/api/race.cjs.map +1 -1
  260. package/_cjs/IO/api/raceFirst.cjs +6 -4
  261. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  262. package/_cjs/IO/api/randomWith.cjs +1 -1
  263. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  264. package/_cjs/IO/api/repeat.cjs +12 -12
  265. package/_cjs/IO/api/repeat.cjs.map +1 -1
  266. package/_cjs/IO/api/retry.cjs +14 -14
  267. package/_cjs/IO/api/retry.cjs.map +1 -1
  268. package/_cjs/IO/api/schedule.cjs +15 -11
  269. package/_cjs/IO/api/schedule.cjs.map +1 -1
  270. package/_cjs/IO/api/scoped.cjs +6 -6
  271. package/_cjs/IO/api/scoped.cjs.map +1 -1
  272. package/_cjs/IO/api/sequenceT.cjs +1 -1
  273. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  274. package/_cjs/IO/api/stateful.cjs.map +1 -1
  275. package/_cjs/IO/api/supervised.cjs +6 -4
  276. package/_cjs/IO/api/supervised.cjs.map +1 -1
  277. package/_cjs/IO/api/timeout.cjs +10 -6
  278. package/_cjs/IO/api/timeout.cjs.map +1 -1
  279. package/_cjs/IO/api/withChildren.cjs +1 -1
  280. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  281. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  282. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  283. package/_cjs/IO/api/withFinalizer.cjs +6 -4
  284. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  285. package/_cjs/IO/api/withFinalizerExit.cjs +6 -4
  286. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  287. package/_cjs/IO/api/withRuntimeConfig.cjs +6 -4
  288. package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -1
  289. package/_cjs/IO/api/zipC.cjs +21 -17
  290. package/_cjs/IO/api/zipC.cjs.map +1 -1
  291. package/_cjs/IO/api.cjs +634 -509
  292. package/_cjs/IO/api.cjs.map +1 -1
  293. package/_cjs/IO/definition.cjs.map +1 -1
  294. package/_cjs/IO/runtime.cjs +7 -7
  295. package/_cjs/IO/runtime.cjs.map +1 -1
  296. package/_cjs/IO.cjs.map +1 -1
  297. package/_cjs/IOEnv/definition.cjs +1 -1
  298. package/_cjs/IOEnv/definition.cjs.map +1 -1
  299. package/_cjs/IOEnv/live.cjs +1 -1
  300. package/_cjs/IOEnv/live.cjs.map +1 -1
  301. package/_cjs/Layer/MemoMap.cjs +86 -92
  302. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  303. package/_cjs/Layer/api.cjs +110 -81
  304. package/_cjs/Layer/api.cjs.map +1 -1
  305. package/_cjs/Layer/definition.cjs.map +1 -1
  306. package/_cjs/LogLevel.cjs +24 -16
  307. package/_cjs/LogLevel.cjs.map +1 -1
  308. package/_cjs/LogSpan.cjs +18 -16
  309. package/_cjs/LogSpan.cjs.map +1 -1
  310. package/_cjs/Logger/api.cjs +18 -14
  311. package/_cjs/Logger/api.cjs.map +1 -1
  312. package/_cjs/Logger/constructors.cjs +1 -1
  313. package/_cjs/Logger/constructors.cjs.map +1 -1
  314. package/_cjs/Queue/constructors.cjs +19 -5
  315. package/_cjs/Queue/constructors.cjs.map +1 -1
  316. package/_cjs/Queue/definition.cjs +191 -16
  317. package/_cjs/Queue/definition.cjs.map +1 -1
  318. package/_cjs/Queue/internal.cjs +27 -181
  319. package/_cjs/Queue/internal.cjs.map +1 -1
  320. package/_cjs/Queue/strategy.cjs +19 -19
  321. package/_cjs/Queue/strategy.cjs.map +1 -1
  322. package/_cjs/Queue.cjs +0 -26
  323. package/_cjs/Queue.cjs.map +1 -1
  324. package/_cjs/Random/live.cjs +2 -2
  325. package/_cjs/Random/live.cjs.map +1 -1
  326. package/_cjs/Ref/Atomic.cjs +47 -24
  327. package/_cjs/Ref/Atomic.cjs.map +1 -1
  328. package/_cjs/Ref/Synchronized.cjs +140 -0
  329. package/_cjs/Ref/Synchronized.cjs.map +1 -0
  330. package/_cjs/Ref/constructors.cjs +21 -2
  331. package/_cjs/Ref/constructors.cjs.map +1 -1
  332. package/_cjs/Ref/definition.cjs +105 -10
  333. package/_cjs/Ref/definition.cjs.map +1 -1
  334. package/_cjs/Ref.cjs +4 -69
  335. package/_cjs/Ref.cjs.map +1 -1
  336. package/_cjs/Reloadable/constructors.cjs +10 -10
  337. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  338. package/_cjs/RuntimeConfig.cjs +2 -2
  339. package/_cjs/RuntimeConfig.cjs.map +1 -1
  340. package/_cjs/STM/api/core-api.cjs +36 -26
  341. package/_cjs/STM/api/core-api.cjs.map +1 -1
  342. package/_cjs/STM/api.cjs +217 -163
  343. package/_cjs/STM/api.cjs.map +1 -1
  344. package/_cjs/STM/driver.cjs +3 -3
  345. package/_cjs/STM/driver.cjs.map +1 -1
  346. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  347. package/_cjs/STM/internal/Journal.cjs +33 -29
  348. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  349. package/_cjs/STM.cjs.map +1 -1
  350. package/_cjs/Schedule/Decision.cjs +16 -14
  351. package/_cjs/Schedule/Decision.cjs.map +1 -1
  352. package/_cjs/Schedule/api/driver.cjs +16 -20
  353. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  354. package/_cjs/Schedule/api.cjs +381 -290
  355. package/_cjs/Schedule/api.cjs.map +1 -1
  356. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +14 -14
  357. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  358. package/_cjs/Scope/ReleaseMap/api.cjs +68 -61
  359. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  360. package/_cjs/Scope/api.cjs +34 -27
  361. package/_cjs/Scope/api.cjs.map +1 -1
  362. package/_cjs/ScopedRef/api.cjs +9 -13
  363. package/_cjs/ScopedRef/api.cjs.map +1 -1
  364. package/_cjs/ScopedRef/definition.cjs +1 -1
  365. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  366. package/_cjs/Sink/api.cjs +307 -249
  367. package/_cjs/Sink/api.cjs.map +1 -1
  368. package/_cjs/State/api.cjs +18 -14
  369. package/_cjs/State/api.cjs.map +1 -1
  370. package/_cjs/Stream/api/zipAllWith.cjs +15 -13
  371. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  372. package/_cjs/Stream/api/zipWith.cjs +6 -4
  373. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  374. package/_cjs/Stream/api/zipWithChunks.cjs +13 -11
  375. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  376. package/_cjs/Stream/api.cjs +992 -788
  377. package/_cjs/Stream/api.cjs.map +1 -1
  378. package/_cjs/Stream/definition.cjs.map +1 -1
  379. package/_cjs/Stream/internal/DebounceState.cjs +21 -19
  380. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  381. package/_cjs/Stream/internal/Handoff.cjs +35 -33
  382. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  383. package/_cjs/Stream/internal/Pull.cjs +9 -11
  384. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  385. package/_cjs/Stream/internal/SinkEndReason.cjs +16 -14
  386. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  387. package/_cjs/Stream/internal/Take.cjs +32 -24
  388. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  389. package/_cjs/Stream/internal/util.cjs +3 -3
  390. package/_cjs/Stream/internal/util.cjs.map +1 -1
  391. package/_cjs/SubscriptionRef.cjs +68 -0
  392. package/_cjs/SubscriptionRef.cjs.map +1 -0
  393. package/_cjs/Supervisor/api.cjs +24 -20
  394. package/_cjs/Supervisor/api.cjs.map +1 -1
  395. package/_cjs/Supervisor/constructors.cjs +2 -2
  396. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  397. package/_cjs/Supervisor/definition.cjs +1 -1
  398. package/_cjs/Supervisor/definition.cjs.map +1 -1
  399. package/_cjs/SupervisorPatch.cjs +15 -11
  400. package/_cjs/SupervisorPatch.cjs.map +1 -1
  401. package/_cjs/TExit/definition.cjs.map +1 -1
  402. package/_cjs/TFuture/api.cjs +21 -15
  403. package/_cjs/TFuture/api.cjs.map +1 -1
  404. package/_cjs/TFuture/constructors.cjs +1 -1
  405. package/_cjs/TFuture/constructors.cjs.map +1 -1
  406. package/_cjs/TFuture/definition.cjs.map +1 -1
  407. package/_cjs/TReentrantLock/api.cjs +32 -28
  408. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  409. package/_cjs/TReentrantLock/definition.cjs +4 -4
  410. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  411. package/_cjs/TRef/api.cjs +233 -209
  412. package/_cjs/TRef/api.cjs.map +1 -1
  413. package/_cjs/TRef/definition.cjs +4 -4
  414. package/_cjs/TRef/definition.cjs.map +1 -1
  415. package/_cjs/TSemaphore/api.cjs +27 -23
  416. package/_cjs/TSemaphore/api.cjs.map +1 -1
  417. package/_cjs/TSemaphore/constructors.cjs +18 -3
  418. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  419. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +21 -19
  420. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  421. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +21 -19
  422. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  423. package/_cjs/collection/immutable/Conc/filterIO.cjs +16 -14
  424. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  425. package/_cjs/collection/immutable/Conc/findIO.cjs +19 -17
  426. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  427. package/_cjs/collection/immutable/Conc/mapIO.cjs +11 -9
  428. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  429. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +31 -29
  430. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  431. package/_cjs/data/Exit/foreachIO.cjs +6 -4
  432. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  433. package/_cjs/internal/Hub.cjs +13 -11
  434. package/_cjs/internal/Hub.cjs.map +1 -1
  435. package/_cjs/internal/IsFatal.cjs +18 -16
  436. package/_cjs/internal/IsFatal.cjs.map +1 -1
  437. package/_cjs/internal/MutableQueue.cjs +11 -9
  438. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  439. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  440. package/_mjs/Cached/api.mjs +6 -6
  441. package/_mjs/Cached/api.mjs.map +1 -1
  442. package/_mjs/Channel/ChildExecutorDecision/api.mjs +18 -16
  443. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  444. package/_mjs/Channel/UpstreamPullRequest/api.mjs +14 -12
  445. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  446. package/_mjs/Channel/api/interruptWhen.mjs +11 -7
  447. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  448. package/_mjs/Channel/api/mapOutIOC.mjs +24 -23
  449. package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
  450. package/_mjs/Channel/api/mergeAll.mjs +5 -3
  451. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  452. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +5 -3
  453. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  454. package/_mjs/Channel/api/mergeAllWith.mjs +45 -46
  455. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  456. package/_mjs/Channel/api/mergeMap.mjs +5 -3
  457. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  458. package/_mjs/Channel/api/mergeWith.mjs +46 -44
  459. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  460. package/_mjs/Channel/api/run.mjs +1 -1
  461. package/_mjs/Channel/api/run.mjs.map +1 -1
  462. package/_mjs/Channel/api/runScoped.mjs +2 -2
  463. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  464. package/_mjs/Channel/api/toPull.mjs +3 -3
  465. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  466. package/_mjs/Channel/api/zipC.mjs +16 -10
  467. package/_mjs/Channel/api/zipC.mjs.map +1 -1
  468. package/_mjs/Channel/api.mjs +224 -173
  469. package/_mjs/Channel/api.mjs.map +1 -1
  470. package/_mjs/Channel/core-api.mjs +28 -18
  471. package/_mjs/Channel/core-api.mjs.map +1 -1
  472. package/_mjs/Channel/definition.mjs +1 -1
  473. package/_mjs/Channel/definition.mjs.map +1 -1
  474. package/_mjs/Channel/internal/ChannelExecutor.mjs +83 -83
  475. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  476. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +22 -23
  477. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  478. package/_mjs/Differ/api.mjs +5 -5
  479. package/_mjs/Differ/api.mjs.map +1 -1
  480. package/_mjs/Fiber/FiberContext.mjs +48 -48
  481. package/_mjs/Fiber/FiberContext.mjs.map +1 -1
  482. package/_mjs/Fiber/api/awaitAll.mjs +1 -1
  483. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  484. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  485. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  486. package/_mjs/Fiber/api/evalOn.mjs +11 -9
  487. package/_mjs/Fiber/api/evalOn.mjs.map +1 -1
  488. package/_mjs/Fiber/api/evalOnIO.mjs +5 -3
  489. package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -1
  490. package/_mjs/Fiber/api/fromIO.mjs +1 -1
  491. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  492. package/_mjs/Fiber/api/interrupt.mjs +1 -1
  493. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  494. package/_mjs/Fiber/api/interruptAll.mjs +2 -2
  495. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  496. package/_mjs/Fiber/api/interruptAs.mjs +6 -4
  497. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  498. package/_mjs/Fiber/api/interruptAsFork.mjs +6 -4
  499. package/_mjs/Fiber/api/interruptAsFork.mjs.map +1 -1
  500. package/_mjs/Fiber/api/interruptFork.mjs +1 -1
  501. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  502. package/_mjs/Fiber/api/join.mjs +1 -1
  503. package/_mjs/Fiber/api/join.mjs.map +1 -1
  504. package/_mjs/Fiber/api/joinAll.mjs +1 -1
  505. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  506. package/_mjs/Fiber/api/mapFiber.mjs +5 -3
  507. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  508. package/_mjs/Fiber/api/mapIO.mjs +11 -7
  509. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  510. package/_mjs/Fiber/api/zipWith.mjs +5 -3
  511. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  512. package/_mjs/Fiber/definition.mjs.map +1 -1
  513. package/_mjs/Fiber.mjs +1 -0
  514. package/_mjs/Fiber.mjs.map +1 -1
  515. package/_mjs/FiberRef/api/locallyScoped.mjs +5 -3
  516. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  517. package/_mjs/FiberRef/api/locallyScopedWith.mjs +5 -3
  518. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  519. package/_mjs/FiberRef/api.mjs +52 -36
  520. package/_mjs/FiberRef/api.mjs.map +1 -1
  521. package/_mjs/FiberRef/constructors.mjs +1 -1
  522. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  523. package/_mjs/FiberRef.mjs.map +1 -1
  524. package/_mjs/FiberRefs/api.mjs +14 -12
  525. package/_mjs/FiberRefs/api.mjs.map +1 -1
  526. package/_mjs/FiberRefs/join.mjs +35 -33
  527. package/_mjs/FiberRefs/join.mjs.map +1 -1
  528. package/_mjs/FiberState/definition.mjs.map +1 -1
  529. package/_mjs/Future/api.mjs +84 -66
  530. package/_mjs/Future/api.mjs.map +1 -1
  531. package/_mjs/Future/constructors.mjs +1 -1
  532. package/_mjs/Future/constructors.mjs.map +1 -1
  533. package/_mjs/Hub/constructors.mjs +66 -0
  534. package/_mjs/Hub/constructors.mjs.map +1 -0
  535. package/_mjs/Hub/definition.mjs +88 -9
  536. package/_mjs/Hub/definition.mjs.map +1 -1
  537. package/_mjs/Hub/internal.mjs +105 -122
  538. package/_mjs/Hub/internal.mjs.map +1 -1
  539. package/_mjs/Hub.mjs +1 -1
  540. package/_mjs/Hub.mjs.map +1 -1
  541. package/_mjs/IO/api/acquireReleaseExit.mjs +1 -1
  542. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  543. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +1 -1
  544. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  545. package/_mjs/IO/api/addFinalizerExit.mjs +1 -1
  546. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  547. package/_mjs/IO/api/asyncIO.mjs +4 -4
  548. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  549. package/_mjs/IO/api/bracket.mjs +2 -2
  550. package/_mjs/IO/api/bracket.mjs.map +1 -1
  551. package/_mjs/IO/api/bracketExit.mjs +2 -2
  552. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  553. package/_mjs/IO/api/clockWith.mjs +2 -2
  554. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  555. package/_mjs/IO/api/concurrency.mjs +8 -6
  556. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  557. package/_mjs/IO/api/concurrentFinalizers.mjs +1 -1
  558. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  559. package/_mjs/IO/api/consoleWith.mjs +2 -2
  560. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  561. package/_mjs/IO/api/core-scope.mjs +40 -36
  562. package/_mjs/IO/api/core-scope.mjs.map +1 -1
  563. package/_mjs/IO/api/ensuringChildren.mjs +5 -3
  564. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  565. package/_mjs/IO/api/environment.mjs +29 -27
  566. package/_mjs/IO/api/environment.mjs.map +1 -1
  567. package/_mjs/IO/api/foreachC.mjs +17 -19
  568. package/_mjs/IO/api/foreachC.mjs.map +1 -1
  569. package/_mjs/IO/api/foreachExec.mjs +2 -2
  570. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  571. package/_mjs/IO/api/forkAll.mjs +1 -1
  572. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  573. package/_mjs/IO/api/forkIn.mjs +7 -5
  574. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  575. package/_mjs/IO/api/forkScoped.mjs +1 -1
  576. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  577. package/_mjs/IO/api/fulfill.mjs +7 -5
  578. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  579. package/_mjs/IO/api/interrupt.mjs +34 -28
  580. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  581. package/_mjs/IO/api/memoize.mjs +1 -1
  582. package/_mjs/IO/api/memoize.mjs.map +1 -1
  583. package/_mjs/IO/api/onExit.mjs +5 -3
  584. package/_mjs/IO/api/onExit.mjs.map +1 -1
  585. package/_mjs/IO/api/onTermination.mjs +5 -3
  586. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  587. package/_mjs/IO/api/once.mjs +3 -4
  588. package/_mjs/IO/api/once.mjs.map +1 -1
  589. package/_mjs/IO/api/provideLayer.mjs +5 -3
  590. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  591. package/_mjs/IO/api/provideSomeLayer.mjs +5 -11
  592. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  593. package/_mjs/IO/api/race.mjs +5 -3
  594. package/_mjs/IO/api/race.mjs.map +1 -1
  595. package/_mjs/IO/api/raceFirst.mjs +5 -3
  596. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  597. package/_mjs/IO/api/randomWith.mjs +1 -1
  598. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  599. package/_mjs/IO/api/repeat.mjs +8 -8
  600. package/_mjs/IO/api/repeat.mjs.map +1 -1
  601. package/_mjs/IO/api/retry.mjs +12 -12
  602. package/_mjs/IO/api/retry.mjs.map +1 -1
  603. package/_mjs/IO/api/schedule.mjs +15 -11
  604. package/_mjs/IO/api/schedule.mjs.map +1 -1
  605. package/_mjs/IO/api/scoped.mjs +3 -3
  606. package/_mjs/IO/api/scoped.mjs.map +1 -1
  607. package/_mjs/IO/api/sequenceT.mjs +1 -1
  608. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  609. package/_mjs/IO/api/stateful.mjs.map +1 -1
  610. package/_mjs/IO/api/supervised.mjs +5 -3
  611. package/_mjs/IO/api/supervised.mjs.map +1 -1
  612. package/_mjs/IO/api/timeout.mjs +10 -6
  613. package/_mjs/IO/api/timeout.mjs.map +1 -1
  614. package/_mjs/IO/api/withChildren.mjs +1 -1
  615. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  616. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  617. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  618. package/_mjs/IO/api/withFinalizer.mjs +5 -3
  619. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  620. package/_mjs/IO/api/withFinalizerExit.mjs +5 -3
  621. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  622. package/_mjs/IO/api/withRuntimeConfig.mjs +5 -3
  623. package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -1
  624. package/_mjs/IO/api/zipC.mjs +18 -14
  625. package/_mjs/IO/api/zipC.mjs.map +1 -1
  626. package/_mjs/IO/api.mjs +511 -387
  627. package/_mjs/IO/api.mjs.map +1 -1
  628. package/_mjs/IO/definition.mjs.map +1 -1
  629. package/_mjs/IO/runtime.mjs +7 -7
  630. package/_mjs/IO/runtime.mjs.map +1 -1
  631. package/_mjs/IO.mjs.map +1 -1
  632. package/_mjs/IOEnv/definition.mjs +1 -1
  633. package/_mjs/IOEnv/definition.mjs.map +1 -1
  634. package/_mjs/IOEnv/live.mjs +1 -1
  635. package/_mjs/IOEnv/live.mjs.map +1 -1
  636. package/_mjs/Layer/MemoMap.mjs +86 -87
  637. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  638. package/_mjs/Layer/api.mjs +91 -63
  639. package/_mjs/Layer/api.mjs.map +1 -1
  640. package/_mjs/Layer/definition.mjs.map +1 -1
  641. package/_mjs/LogLevel.mjs +24 -16
  642. package/_mjs/LogLevel.mjs.map +1 -1
  643. package/_mjs/LogSpan.mjs +16 -14
  644. package/_mjs/LogSpan.mjs.map +1 -1
  645. package/_mjs/Logger/api.mjs +16 -12
  646. package/_mjs/Logger/api.mjs.map +1 -1
  647. package/_mjs/Logger/constructors.mjs +1 -1
  648. package/_mjs/Logger/constructors.mjs.map +1 -1
  649. package/_mjs/Queue/constructors.mjs +16 -5
  650. package/_mjs/Queue/constructors.mjs.map +1 -1
  651. package/_mjs/Queue/definition.mjs +174 -12
  652. package/_mjs/Queue/definition.mjs.map +1 -1
  653. package/_mjs/Queue/internal.mjs +21 -170
  654. package/_mjs/Queue/internal.mjs.map +1 -1
  655. package/_mjs/Queue/strategy.mjs +20 -23
  656. package/_mjs/Queue/strategy.mjs.map +1 -1
  657. package/_mjs/Queue.mjs +1 -3
  658. package/_mjs/Queue.mjs.map +1 -1
  659. package/_mjs/Random/live.mjs +2 -2
  660. package/_mjs/Random/live.mjs.map +1 -1
  661. package/_mjs/Ref/Atomic.mjs +39 -3
  662. package/_mjs/Ref/Atomic.mjs.map +1 -1
  663. package/_mjs/Ref/Synchronized.mjs +123 -0
  664. package/_mjs/Ref/Synchronized.mjs.map +1 -0
  665. package/_mjs/Ref/constructors.mjs +15 -1
  666. package/_mjs/Ref/constructors.mjs.map +1 -1
  667. package/_mjs/Ref/definition.mjs +96 -4
  668. package/_mjs/Ref/definition.mjs.map +1 -1
  669. package/_mjs/Ref.mjs +1 -8
  670. package/_mjs/Ref.mjs.map +1 -1
  671. package/_mjs/Reloadable/constructors.mjs +10 -10
  672. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  673. package/_mjs/RuntimeConfig.mjs +2 -2
  674. package/_mjs/RuntimeConfig.mjs.map +1 -1
  675. package/_mjs/STM/api/core-api.mjs +29 -19
  676. package/_mjs/STM/api/core-api.mjs.map +1 -1
  677. package/_mjs/STM/api.mjs +180 -127
  678. package/_mjs/STM/api.mjs.map +1 -1
  679. package/_mjs/STM/driver.mjs +3 -3
  680. package/_mjs/STM/driver.mjs.map +1 -1
  681. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  682. package/_mjs/STM/internal/Journal.mjs +33 -29
  683. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  684. package/_mjs/STM.mjs.map +1 -1
  685. package/_mjs/Schedule/Decision.mjs +14 -12
  686. package/_mjs/Schedule/Decision.mjs.map +1 -1
  687. package/_mjs/Schedule/api/driver.mjs +15 -17
  688. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  689. package/_mjs/Schedule/api.mjs +326 -234
  690. package/_mjs/Schedule/api.mjs.map +1 -1
  691. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +12 -11
  692. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  693. package/_mjs/Scope/ReleaseMap/api.mjs +60 -51
  694. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  695. package/_mjs/Scope/api.mjs +28 -22
  696. package/_mjs/Scope/api.mjs.map +1 -1
  697. package/_mjs/ScopedRef/api.mjs +9 -11
  698. package/_mjs/ScopedRef/api.mjs.map +1 -1
  699. package/_mjs/ScopedRef/definition.mjs +1 -1
  700. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  701. package/_mjs/Sink/api.mjs +301 -240
  702. package/_mjs/Sink/api.mjs.map +1 -1
  703. package/_mjs/State/api.mjs +16 -12
  704. package/_mjs/State/api.mjs.map +1 -1
  705. package/_mjs/Stream/api/zipAllWith.mjs +14 -12
  706. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  707. package/_mjs/Stream/api/zipWith.mjs +5 -3
  708. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  709. package/_mjs/Stream/api/zipWithChunks.mjs +12 -10
  710. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  711. package/_mjs/Stream/api.mjs +856 -653
  712. package/_mjs/Stream/api.mjs.map +1 -1
  713. package/_mjs/Stream/definition.mjs.map +1 -1
  714. package/_mjs/Stream/internal/DebounceState.mjs +18 -16
  715. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  716. package/_mjs/Stream/internal/Handoff.mjs +35 -32
  717. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  718. package/_mjs/Stream/internal/Pull.mjs +9 -10
  719. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  720. package/_mjs/Stream/internal/SinkEndReason.mjs +14 -12
  721. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  722. package/_mjs/Stream/internal/Take.mjs +28 -20
  723. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  724. package/_mjs/Stream/internal/util.mjs +3 -3
  725. package/_mjs/Stream/internal/util.mjs.map +1 -1
  726. package/_mjs/SubscriptionRef.mjs +45 -0
  727. package/_mjs/SubscriptionRef.mjs.map +1 -0
  728. package/_mjs/Supervisor/api.mjs +22 -18
  729. package/_mjs/Supervisor/api.mjs.map +1 -1
  730. package/_mjs/Supervisor/constructors.mjs +2 -2
  731. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  732. package/_mjs/Supervisor/definition.mjs +1 -1
  733. package/_mjs/Supervisor/definition.mjs.map +1 -1
  734. package/_mjs/SupervisorPatch.mjs +15 -11
  735. package/_mjs/SupervisorPatch.mjs.map +1 -1
  736. package/_mjs/TExit/definition.mjs.map +1 -1
  737. package/_mjs/TFuture/api.mjs +17 -11
  738. package/_mjs/TFuture/api.mjs.map +1 -1
  739. package/_mjs/TFuture/constructors.mjs +1 -1
  740. package/_mjs/TFuture/constructors.mjs.map +1 -1
  741. package/_mjs/TFuture/definition.mjs.map +1 -1
  742. package/_mjs/TReentrantLock/api.mjs +32 -28
  743. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  744. package/_mjs/TReentrantLock/definition.mjs +4 -4
  745. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  746. package/_mjs/TRef/api.mjs +218 -194
  747. package/_mjs/TRef/api.mjs.map +1 -1
  748. package/_mjs/TRef/definition.mjs +4 -4
  749. package/_mjs/TRef/definition.mjs.map +1 -1
  750. package/_mjs/TSemaphore/api.mjs +23 -19
  751. package/_mjs/TSemaphore/api.mjs.map +1 -1
  752. package/_mjs/TSemaphore/constructors.mjs +12 -2
  753. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  754. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +19 -17
  755. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  756. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +19 -17
  757. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  758. package/_mjs/collection/immutable/Conc/filterIO.mjs +14 -12
  759. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  760. package/_mjs/collection/immutable/Conc/findIO.mjs +17 -15
  761. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  762. package/_mjs/collection/immutable/Conc/mapIO.mjs +10 -8
  763. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  764. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +28 -26
  765. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  766. package/_mjs/data/Exit/foreachIO.mjs +5 -3
  767. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  768. package/_mjs/internal/Hub.mjs +13 -11
  769. package/_mjs/internal/Hub.mjs.map +1 -1
  770. package/_mjs/internal/IsFatal.mjs +18 -16
  771. package/_mjs/internal/IsFatal.mjs.map +1 -1
  772. package/_mjs/internal/MutableQueue.mjs +10 -8
  773. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  774. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  775. package/_src/Cached/api.ts +2 -2
  776. package/_src/Channel/ChildExecutorDecision/api.ts +14 -17
  777. package/_src/Channel/UpstreamPullRequest/api.ts +11 -13
  778. package/_src/Channel/api/interruptWhen.ts +18 -17
  779. package/_src/Channel/api/mapOutIOC.ts +58 -58
  780. package/_src/Channel/api/mergeAll.ts +15 -16
  781. package/_src/Channel/api/mergeAllUnboundedWith.ts +15 -27
  782. package/_src/Channel/api/mergeAllWith.ts +114 -126
  783. package/_src/Channel/api/mergeMap.ts +8 -18
  784. package/_src/Channel/api/mergeWith.ts +154 -158
  785. package/_src/Channel/api/toPull.ts +1 -1
  786. package/_src/Channel/api/zipC.ts +52 -88
  787. package/_src/Channel/api.ts +345 -405
  788. package/_src/Channel/core-api.ts +75 -122
  789. package/_src/Channel/definition.ts +49 -7
  790. package/_src/Channel/internal/ChannelExecutor.ts +1 -5
  791. package/_src/Channel/internal/SingleProducerAsyncInput.ts +1 -3
  792. package/_src/Fiber/FiberContext.ts +13 -33
  793. package/_src/Fiber/api/collectAll.ts +1 -2
  794. package/_src/Fiber/api/evalOn.ts +11 -14
  795. package/_src/Fiber/api/evalOnIO.ts +10 -13
  796. package/_src/Fiber/api/interruptAll.ts +1 -2
  797. package/_src/Fiber/api/interruptAs.ts +6 -4
  798. package/_src/Fiber/api/interruptAsFork.ts +6 -4
  799. package/_src/Fiber/api/interruptFork.ts +1 -1
  800. package/_src/Fiber/api/mapFiber.ts +5 -7
  801. package/_src/Fiber/api/mapIO.ts +21 -21
  802. package/_src/Fiber/api/zipWith.ts +14 -17
  803. package/_src/Fiber/definition.ts +1 -15
  804. package/_src/Fiber.ts +1 -1
  805. package/_src/FiberRef/api/locallyScoped.ts +8 -6
  806. package/_src/FiberRef/api/locallyScopedWith.ts +5 -7
  807. package/_src/FiberRef/api.ts +50 -39
  808. package/_src/FiberRef.ts +0 -1
  809. package/_src/FiberRefs/api.ts +14 -12
  810. package/_src/FiberRefs/join.ts +37 -46
  811. package/_src/FiberState/definition.ts +1 -2
  812. package/_src/Future/api.ts +67 -53
  813. package/_src/Hub/constructors.ts +80 -0
  814. package/_src/Hub/definition.ts +95 -89
  815. package/_src/Hub/internal.ts +115 -165
  816. package/_src/Hub.ts +1 -1
  817. package/_src/IO/api/acquireRelease.ts +1 -1
  818. package/_src/IO/api/acquireReleaseExit.ts +1 -1
  819. package/_src/IO/api/bracket.ts +1 -1
  820. package/_src/IO/api/bracketExit.ts +1 -1
  821. package/_src/IO/api/clockWith.ts +0 -1
  822. package/_src/IO/api/concurrency.ts +5 -7
  823. package/_src/IO/api/consoleWith.ts +0 -2
  824. package/_src/IO/api/core-scope.ts +36 -33
  825. package/_src/IO/api/ensuringChildren.ts +8 -7
  826. package/_src/IO/api/environment.ts +24 -42
  827. package/_src/IO/api/foreachC.ts +24 -12
  828. package/_src/IO/api/foreachExec.ts +1 -1
  829. package/_src/IO/api/forkIn.ts +7 -9
  830. package/_src/IO/api/fulfill.ts +5 -3
  831. package/_src/IO/api/interrupt.ts +37 -40
  832. package/_src/IO/api/onExit.ts +8 -10
  833. package/_src/IO/api/onTermination.ts +12 -14
  834. package/_src/IO/api/provideLayer.ts +8 -10
  835. package/_src/IO/api/provideSomeLayer.ts +5 -14
  836. package/_src/IO/api/race.ts +19 -21
  837. package/_src/IO/api/raceFirst.ts +5 -7
  838. package/_src/IO/api/repeat.ts +3 -5
  839. package/_src/IO/api/retry.ts +19 -21
  840. package/_src/IO/api/schedule.ts +20 -21
  841. package/_src/IO/api/scoped.ts +2 -2
  842. package/_src/IO/api/sequenceT.ts +7 -1
  843. package/_src/IO/api/stateful.ts +0 -2
  844. package/_src/IO/api/supervised.ts +5 -7
  845. package/_src/IO/api/timeout.ts +10 -16
  846. package/_src/IO/api/withFinalizer.ts +5 -7
  847. package/_src/IO/api/withFinalizerExit.ts +6 -5
  848. package/_src/IO/api/withRuntimeConfig.ts +12 -14
  849. package/_src/IO/api/zipC.ts +57 -62
  850. package/_src/IO/api.ts +512 -539
  851. package/_src/IO/definition.ts +21 -9
  852. package/_src/IO/runtime.ts +0 -12
  853. package/_src/IO.ts +0 -1
  854. package/_src/Layer/MemoMap.ts +61 -63
  855. package/_src/Layer/api.ts +95 -104
  856. package/_src/Layer/definition.ts +0 -1
  857. package/_src/LogLevel.ts +24 -16
  858. package/_src/LogSpan.ts +16 -16
  859. package/_src/Logger/api.ts +18 -17
  860. package/_src/Logger/constructors.ts +9 -15
  861. package/_src/Queue/constructors.ts +22 -6
  862. package/_src/Queue/definition.ts +230 -81
  863. package/_src/Queue/internal.ts +9 -180
  864. package/_src/Queue/strategy.ts +9 -23
  865. package/_src/Queue.ts +1 -3
  866. package/_src/Ref/Atomic.ts +37 -4
  867. package/_src/Ref/Synchronized.ts +107 -0
  868. package/_src/Ref/constructors.ts +15 -0
  869. package/_src/Ref/definition.ts +86 -85
  870. package/_src/Ref.ts +1 -9
  871. package/_src/Reloadable/constructors.ts +2 -2
  872. package/_src/RuntimeConfig.ts +0 -2
  873. package/_src/STM/api/core-api.ts +32 -35
  874. package/_src/STM/api.ts +210 -200
  875. package/_src/STM/internal/Entry.ts +0 -10
  876. package/_src/STM/internal/Journal.ts +23 -26
  877. package/_src/STM.ts +0 -1
  878. package/_src/Schedule/Decision.ts +10 -8
  879. package/_src/Schedule/api/driver.ts +0 -4
  880. package/_src/Schedule/api.ts +419 -444
  881. package/_src/Schedule/definition.ts +0 -1
  882. package/_src/Scope/ReleaseMap/api/releaseAll.ts +23 -26
  883. package/_src/Scope/ReleaseMap/api.ts +77 -74
  884. package/_src/Scope/api.ts +16 -18
  885. package/_src/ScopedRef/api.ts +0 -3
  886. package/_src/ScopedRef/definition.ts +1 -2
  887. package/_src/Sink/api.ts +326 -357
  888. package/_src/State/api.ts +12 -8
  889. package/_src/State/internal.ts +1 -1
  890. package/_src/Stream/api/zipAllWith.ts +6 -5
  891. package/_src/Stream/api/zipWith.ts +5 -8
  892. package/_src/Stream/api/zipWithChunks.ts +6 -5
  893. package/_src/Stream/api.ts +1049 -1176
  894. package/_src/Stream/definition.ts +0 -2
  895. package/_src/Stream/internal/DebounceState.ts +16 -17
  896. package/_src/Stream/internal/Handoff.ts +31 -35
  897. package/_src/Stream/internal/Pull.ts +1 -2
  898. package/_src/Stream/internal/SinkEndReason.ts +13 -14
  899. package/_src/Stream/internal/Take.ts +21 -21
  900. package/_src/Stream/internal/util.ts +0 -2
  901. package/_src/SubscriptionRef.ts +44 -0
  902. package/_src/Supervisor/api.ts +18 -14
  903. package/_src/Supervisor/definition.ts +0 -1
  904. package/_src/SupervisorPatch.ts +10 -6
  905. package/_src/TExit/definition.ts +0 -8
  906. package/_src/TFuture/api.ts +23 -17
  907. package/_src/TFuture/definition.ts +0 -1
  908. package/_src/TReentrantLock/api.ts +14 -10
  909. package/_src/TReentrantLock/definition.ts +0 -7
  910. package/_src/TRef/api.ts +207 -209
  911. package/_src/TRef/definition.ts +0 -12
  912. package/_src/TSemaphore/api.ts +19 -18
  913. package/_src/TSemaphore/constructors.ts +7 -0
  914. package/_src/collection/immutable/Conc/dropUntilIO.ts +19 -21
  915. package/_src/collection/immutable/Conc/dropWhileIO.ts +21 -23
  916. package/_src/collection/immutable/Conc/filterIO.ts +15 -17
  917. package/_src/collection/immutable/Conc/findIO.ts +17 -19
  918. package/_src/collection/immutable/Conc/mapIO.ts +12 -10
  919. package/_src/collection/immutable/Conc/takeWhileIO.ts +27 -29
  920. package/_src/data/Exit/foreachIO.ts +8 -10
  921. package/_src/global.ts +7 -3
  922. package/_src/index.ts +3 -0
  923. package/_src/internal/Hub.ts +17 -27
  924. package/_src/internal/IsFatal.ts +14 -12
  925. package/_src/internal/MutableQueue.ts +8 -8
  926. package/_src/internal/StackTraceBuilder.ts +1 -2
  927. package/collection/immutable/Conc/dropUntilIO.d.ts +3 -3
  928. package/collection/immutable/Conc/dropWhileIO.d.ts +3 -3
  929. package/collection/immutable/Conc/filterIO.d.ts +3 -3
  930. package/collection/immutable/Conc/findIO.d.ts +2 -2
  931. package/collection/immutable/Conc/mapIO.d.ts +3 -3
  932. package/collection/immutable/Conc/takeWhileIO.d.ts +3 -3
  933. package/data/Exit/foreachIO.d.ts +3 -3
  934. package/global.d.ts +7 -3
  935. package/index.d.ts +3 -0
  936. package/internal/Hub.d.ts +2 -2
  937. package/internal/IsFatal.d.ts +3 -3
  938. package/internal/MutableQueue.d.ts +3 -3
  939. package/package.json +3 -3
  940. package/Hub/api.d.ts +0 -190
  941. package/Queue/api/dimapIO.d.ts +0 -41
  942. package/Queue/api/filterInputIO.d.ts +0 -33
  943. package/Queue/api/filterOutputIO.d.ts +0 -31
  944. package/Queue/api/operations.d.ts +0 -82
  945. package/Queue/api/poll.d.ts +0 -9
  946. package/Queue/api/takeBetween.d.ts +0 -11
  947. package/Queue/api/zipWithIO.d.ts +0 -44
  948. package/Queue/api.d.ts +0 -7
  949. package/Ref/Atomic/Atomic.d.ts +0 -18
  950. package/Ref/Atomic/api.d.ts +0 -53
  951. package/Ref/Derived.d.ts +0 -14
  952. package/Ref/DerivedAll.d.ts +0 -14
  953. package/Ref/Synchronized/api.d.ts +0 -100
  954. package/Ref/Synchronized/constructors.d.ts +0 -8
  955. package/Ref/Synchronized/definition.d.ts +0 -42
  956. package/Ref/api/collect.d.ts +0 -11
  957. package/Ref/api/dimap.d.ts +0 -56
  958. package/Ref/api/filter.d.ts +0 -20
  959. package/Ref/api/get.d.ts +0 -9
  960. package/Ref/api/match.d.ts +0 -13
  961. package/Ref/api/matchAll.d.ts +0 -11
  962. package/Ref/api/modify.d.ts +0 -79
  963. package/Ref/api/set.d.ts +0 -10
  964. package/Ref/api.d.ts +0 -23
  965. package/_cjs/Hub/api.cjs +0 -456
  966. package/_cjs/Hub/api.cjs.map +0 -1
  967. package/_cjs/Queue/api/dimapIO.cjs +0 -120
  968. package/_cjs/Queue/api/dimapIO.cjs.map +0 -1
  969. package/_cjs/Queue/api/filterInputIO.cjs +0 -84
  970. package/_cjs/Queue/api/filterInputIO.cjs.map +0 -1
  971. package/_cjs/Queue/api/filterOutputIO.cjs +0 -89
  972. package/_cjs/Queue/api/filterOutputIO.cjs.map +0 -1
  973. package/_cjs/Queue/api/operations.cjs +0 -147
  974. package/_cjs/Queue/api/operations.cjs.map +0 -1
  975. package/_cjs/Queue/api/poll.cjs +0 -27
  976. package/_cjs/Queue/api/poll.cjs.map +0 -1
  977. package/_cjs/Queue/api/takeBetween.cjs +0 -57
  978. package/_cjs/Queue/api/takeBetween.cjs.map +0 -1
  979. package/_cjs/Queue/api/zipWithIO.cjs +0 -97
  980. package/_cjs/Queue/api/zipWithIO.cjs.map +0 -1
  981. package/_cjs/Queue/api.cjs +0 -97
  982. package/_cjs/Queue/api.cjs.map +0 -1
  983. package/_cjs/Ref/Atomic/Atomic.cjs +0 -64
  984. package/_cjs/Ref/Atomic/Atomic.cjs.map +0 -1
  985. package/_cjs/Ref/Atomic/api.cjs +0 -156
  986. package/_cjs/Ref/Atomic/api.cjs.map +0 -1
  987. package/_cjs/Ref/Derived.cjs +0 -55
  988. package/_cjs/Ref/Derived.cjs.map +0 -1
  989. package/_cjs/Ref/DerivedAll.cjs +0 -55
  990. package/_cjs/Ref/DerivedAll.cjs.map +0 -1
  991. package/_cjs/Ref/Synchronized/api.cjs +0 -196
  992. package/_cjs/Ref/Synchronized/api.cjs.map +0 -1
  993. package/_cjs/Ref/Synchronized/constructors.cjs +0 -32
  994. package/_cjs/Ref/Synchronized/constructors.cjs.map +0 -1
  995. package/_cjs/Ref/Synchronized/definition.cjs +0 -88
  996. package/_cjs/Ref/Synchronized/definition.cjs.map +0 -1
  997. package/_cjs/Ref/api/collect.cjs +0 -31
  998. package/_cjs/Ref/api/collect.cjs.map +0 -1
  999. package/_cjs/Ref/api/dimap.cjs +0 -110
  1000. package/_cjs/Ref/api/dimap.cjs.map +0 -1
  1001. package/_cjs/Ref/api/filter.cjs +0 -45
  1002. package/_cjs/Ref/api/filter.cjs.map +0 -1
  1003. package/_cjs/Ref/api/get.cjs +0 -20
  1004. package/_cjs/Ref/api/get.cjs.map +0 -1
  1005. package/_cjs/Ref/api/match.cjs +0 -26
  1006. package/_cjs/Ref/api/match.cjs.map +0 -1
  1007. package/_cjs/Ref/api/matchAll.cjs +0 -24
  1008. package/_cjs/Ref/api/matchAll.cjs.map +0 -1
  1009. package/_cjs/Ref/api/modify.cjs +0 -239
  1010. package/_cjs/Ref/api/modify.cjs.map +0 -1
  1011. package/_cjs/Ref/api/set.cjs +0 -21
  1012. package/_cjs/Ref/api/set.cjs.map +0 -1
  1013. package/_cjs/Ref/api.cjs +0 -158
  1014. package/_cjs/Ref/api.cjs.map +0 -1
  1015. package/_mjs/Hub/api.mjs +0 -384
  1016. package/_mjs/Hub/api.mjs.map +0 -1
  1017. package/_mjs/Queue/api/dimapIO.mjs +0 -97
  1018. package/_mjs/Queue/api/dimapIO.mjs.map +0 -1
  1019. package/_mjs/Queue/api/filterInputIO.mjs +0 -63
  1020. package/_mjs/Queue/api/filterInputIO.mjs.map +0 -1
  1021. package/_mjs/Queue/api/filterOutputIO.mjs +0 -68
  1022. package/_mjs/Queue/api/filterOutputIO.mjs.map +0 -1
  1023. package/_mjs/Queue/api/operations.mjs +0 -122
  1024. package/_mjs/Queue/api/operations.mjs.map +0 -1
  1025. package/_mjs/Queue/api/poll.mjs +0 -14
  1026. package/_mjs/Queue/api/poll.mjs.map +0 -1
  1027. package/_mjs/Queue/api/takeBetween.mjs +0 -43
  1028. package/_mjs/Queue/api/takeBetween.mjs.map +0 -1
  1029. package/_mjs/Queue/api/zipWithIO.mjs +0 -74
  1030. package/_mjs/Queue/api/zipWithIO.mjs.map +0 -1
  1031. package/_mjs/Queue/api.mjs +0 -9
  1032. package/_mjs/Queue/api.mjs.map +0 -1
  1033. package/_mjs/Ref/Atomic/Atomic.mjs +0 -47
  1034. package/_mjs/Ref/Atomic/Atomic.mjs.map +0 -1
  1035. package/_mjs/Ref/Atomic/api.mjs +0 -127
  1036. package/_mjs/Ref/Atomic/api.mjs.map +0 -1
  1037. package/_mjs/Ref/Derived.mjs +0 -35
  1038. package/_mjs/Ref/Derived.mjs.map +0 -1
  1039. package/_mjs/Ref/DerivedAll.mjs +0 -35
  1040. package/_mjs/Ref/DerivedAll.mjs.map +0 -1
  1041. package/_mjs/Ref/Synchronized/api.mjs +0 -154
  1042. package/_mjs/Ref/Synchronized/api.mjs.map +0 -1
  1043. package/_mjs/Ref/Synchronized/constructors.mjs +0 -15
  1044. package/_mjs/Ref/Synchronized/constructors.mjs.map +0 -1
  1045. package/_mjs/Ref/Synchronized/definition.mjs +0 -66
  1046. package/_mjs/Ref/Synchronized/definition.mjs.map +0 -1
  1047. package/_mjs/Ref/api/collect.mjs +0 -17
  1048. package/_mjs/Ref/api/collect.mjs.map +0 -1
  1049. package/_mjs/Ref/api/dimap.mjs +0 -84
  1050. package/_mjs/Ref/api/dimap.mjs.map +0 -1
  1051. package/_mjs/Ref/api/filter.mjs +0 -29
  1052. package/_mjs/Ref/api/filter.mjs.map +0 -1
  1053. package/_mjs/Ref/api/get.mjs +0 -13
  1054. package/_mjs/Ref/api/get.mjs.map +0 -1
  1055. package/_mjs/Ref/api/match.mjs +0 -18
  1056. package/_mjs/Ref/api/match.mjs.map +0 -1
  1057. package/_mjs/Ref/api/matchAll.mjs +0 -16
  1058. package/_mjs/Ref/api/matchAll.mjs.map +0 -1
  1059. package/_mjs/Ref/api/modify.mjs +0 -204
  1060. package/_mjs/Ref/api/modify.mjs.map +0 -1
  1061. package/_mjs/Ref/api/set.mjs +0 -14
  1062. package/_mjs/Ref/api/set.mjs.map +0 -1
  1063. package/_mjs/Ref/api.mjs +0 -34
  1064. package/_mjs/Ref/api.mjs.map +0 -1
  1065. package/_src/Hub/api.ts +0 -461
  1066. package/_src/Queue/api/dimapIO.ts +0 -130
  1067. package/_src/Queue/api/filterInputIO.ts +0 -75
  1068. package/_src/Queue/api/filterOutputIO.ts +0 -76
  1069. package/_src/Queue/api/operations.ts +0 -139
  1070. package/_src/Queue/api/poll.ts +0 -14
  1071. package/_src/Queue/api/takeBetween.ts +0 -45
  1072. package/_src/Queue/api/zipWithIO.ts +0 -99
  1073. package/_src/Queue/api.ts +0 -9
  1074. package/_src/Ref/Atomic/Atomic.ts +0 -56
  1075. package/_src/Ref/Atomic/api.ts +0 -124
  1076. package/_src/Ref/Derived.ts +0 -71
  1077. package/_src/Ref/DerivedAll.ts +0 -75
  1078. package/_src/Ref/Synchronized/api.ts +0 -249
  1079. package/_src/Ref/Synchronized/constructors.ts +0 -12
  1080. package/_src/Ref/Synchronized/definition.ts +0 -126
  1081. package/_src/Ref/api/collect.ts +0 -19
  1082. package/_src/Ref/api/dimap.ts +0 -115
  1083. package/_src/Ref/api/filter.ts +0 -35
  1084. package/_src/Ref/api/get.ts +0 -17
  1085. package/_src/Ref/api/match.ts +0 -24
  1086. package/_src/Ref/api/matchAll.ts +0 -23
  1087. package/_src/Ref/api/modify.ts +0 -237
  1088. package/_src/Ref/api/set.ts +0 -19
  1089. package/_src/Ref/api.ts +0 -39
package/_src/Sink/api.ts CHANGED
@@ -5,82 +5,83 @@ import { MergeDecision } from "../Channel/internal/MergeDecision.js";
5
5
  /**
6
6
  * Like {@link zip}, but keeps only the result from this sink
7
7
  *
8
- * @tsplus fluent fncts.io.Sink apFirst
8
+ * @tsplus pipeable fncts.io.Sink apFirst
9
9
  */
10
- export function apFirst<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
11
- self: Sink<R, E, In, L, Z>,
10
+ export function apFirst<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
12
11
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
13
12
  __tsplusTrace?: string,
14
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z> {
15
- return self.zipWith(that, (z, _) => z);
13
+ ) {
14
+ return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z> => {
15
+ return self.zipWith(that, (z, _) => z);
16
+ };
16
17
  }
17
18
 
18
19
  /**
19
20
  * Like {@link zipC}, but keeps only the result from this sink
20
21
  *
21
- * @tsplus fluent fncts.io.Sink apFirstC
22
+ * @tsplus pipeable fncts.io.Sink apFirstC
22
23
  */
23
- export function apFirstC<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
24
- self: Sink<R, E, In, L, Z>,
24
+ export function apFirstC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
25
25
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
26
26
  __tsplusTrace?: string,
27
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z> {
28
- return self.zipWithC(that, (z, _) => z);
27
+ ) {
28
+ return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z> => {
29
+ return self.zipWithC(that, (z, _) => z);
30
+ };
29
31
  }
30
32
 
31
33
  /**
32
34
  * Like {@link zip}, but keeps only the result from the `that` sink
33
35
  *
34
- * @tsplus fluent fncts.io.Sink apSecond
36
+ * @tsplus pipeable fncts.io.Sink apSecond
35
37
  */
36
- export function apSecond<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
37
- self: Sink<R, E, In, L, Z>,
38
+ export function apSecond<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
38
39
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
39
40
  __tsplusTrace?: string,
40
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z1> {
41
- return self.zipWith(that, (_, z1) => z1);
41
+ ) {
42
+ return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z1> => {
43
+ return self.zipWith(that, (_, z1) => z1);
44
+ };
42
45
  }
43
46
 
44
47
  /**
45
48
  * Like {@link zipC}, but keeps only the result from the `that` sink
46
49
  *
47
- * @tsplus fluent fncts.io.Sink apSecondC
50
+ * @tsplus pipeable fncts.io.Sink apSecondC
48
51
  */
49
- export function apSecondC<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
50
- self: Sink<R, E, In, L, Z>,
52
+ export function apSecondC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
51
53
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
52
54
  __tsplusTrace?: string,
53
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z1> {
54
- return self.zipWithC(that, (_, z1) => z1);
55
+ ) {
56
+ return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z1> => {
57
+ return self.zipWithC(that, (_, z1) => z1);
58
+ };
55
59
  }
56
60
 
57
61
  /**
58
62
  * Replaces this sink's result with the provided value.
59
63
  *
60
- * @tsplus fluent fncts.io.Sink as
64
+ * @tsplus pipeable fncts.io.Sink as
61
65
  */
62
- export function as<R, E, In, L, Z, Z1>(
63
- self: Sink<R, E, In, L, Z>,
64
- z: Lazy<Z1>,
65
- __tsplusTrace?: string,
66
- ): Sink<R, E, In, L, Z1> {
67
- return self.map(() => z());
66
+ export function as<Z1>(z: Lazy<Z1>, __tsplusTrace?: string) {
67
+ return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, Z1> => {
68
+ return self.map(() => z());
69
+ };
68
70
  }
69
71
 
70
72
  /**
71
73
  * Repeatedly runs the sink and accumulates its results into a chunk
72
74
  *
73
- * @tsplus fluent fncts.io.Sink collectAll
75
+ * @tsplus pipeable fncts.io.Sink collectAll
74
76
  */
75
- export function collectAll<R, E, In extends L, L, Z>(
76
- self: Sink<R, E, In, L, Z>,
77
- __tsplusTrace?: string,
78
- ): Sink<R, E, In, L, Conc<Z>> {
79
- return self.collectAllWhileWith(
80
- Conc.empty<Z>(),
81
- () => true,
82
- (s, z) => s.append(z),
83
- );
77
+ export function collectAll(__tsplusTrace?: string) {
78
+ return <R, E, In extends L, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, Conc<Z>> => {
79
+ return self.collectAllWhileWith(
80
+ Conc.empty<Z>(),
81
+ () => true,
82
+ (s, z) => s.append(z),
83
+ );
84
+ };
84
85
  }
85
86
 
86
87
  /**
@@ -88,43 +89,39 @@ export function collectAll<R, E, In extends L, L, Z>(
88
89
  * `p`. The sink's results will be accumulated using the stepping function
89
90
  * `f`.
90
91
  *
91
- * @tsplus fluent fncts.io.Sink collectAllWhileWith
92
- */
93
- export function collectAllWhileWith<R, E, In extends L, L, Z, S>(
94
- self: Sink<R, E, In, L, Z>,
95
- z: Lazy<S>,
96
- p: Predicate<Z>,
97
- f: (s: S, z: Z) => S,
98
- __tsplusTrace?: string,
99
- ): Sink<R, E, In, L, S> {
100
- return new Sink(
101
- Channel.fromIO(Ref.make<Conc<In>>(Conc.empty()).zip(Ref.make(false))).flatMap(([leftoversRef, upstreamDoneRef]) => {
102
- const upstreamMarker: Channel<never, never, Conc<In>, unknown, never, Conc<In>, unknown> = Channel.readWith(
103
- (inp) => Channel.writeNow(inp) > upstreamMarker,
104
- Channel.failNow,
105
- (x) => Channel.fromIO(upstreamDoneRef.set(true)).as(x),
106
- );
107
-
108
- function loop(currentResult: S, __tsplusTrace?: string): Channel<R, never, Conc<In>, unknown, E, Conc<L>, S> {
109
- return self.channel.collectElements.matchChannel(Channel.failNow, ([leftovers, doneValue]) => {
110
- if (p(doneValue)) {
111
- return (
112
- Channel.fromIO(leftoversRef.set(leftovers.flatten as Conc<In>)) >
113
- Channel.fromIO(upstreamDoneRef.get).flatMap((upstreamDone) => {
114
- const accumulatedResult = f(currentResult, doneValue);
115
- if (upstreamDone) return Channel.writeNow(leftovers.flatten).as(accumulatedResult);
116
- else return loop(accumulatedResult);
117
- })
118
- );
119
- } else {
120
- return Channel.writeNow(leftovers.flatten).as(currentResult);
92
+ * @tsplus pipeable fncts.io.Sink collectAllWhileWith
93
+ */
94
+ export function collectAllWhileWith<Z, S>(z: Lazy<S>, p: Predicate<Z>, f: (s: S, z: Z) => S, __tsplusTrace?: string) {
95
+ return <R, E, In extends L, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, S> => {
96
+ return new Sink(
97
+ Channel.fromIO(Ref.make<Conc<In>>(Conc.empty()).zip(Ref.make(false))).flatMap(
98
+ ([leftoversRef, upstreamDoneRef]) => {
99
+ const upstreamMarker: Channel<never, never, Conc<In>, unknown, never, Conc<In>, unknown> = Channel.readWith(
100
+ (inp) => Channel.writeNow(inp) > upstreamMarker,
101
+ Channel.failNow,
102
+ (x) => Channel.fromIO(upstreamDoneRef.set(true)).as(x),
103
+ );
104
+ function loop(currentResult: S, __tsplusTrace?: string): Channel<R, never, Conc<In>, unknown, E, Conc<L>, S> {
105
+ return self.channel.collectElements.matchChannel(Channel.failNow, ([leftovers, doneValue]) => {
106
+ if (p(doneValue)) {
107
+ return (
108
+ Channel.fromIO(leftoversRef.set(leftovers.flatten as Conc<In>)) >
109
+ Channel.fromIO(upstreamDoneRef.get).flatMap((upstreamDone) => {
110
+ const accumulatedResult = f(currentResult, doneValue);
111
+ if (upstreamDone) return Channel.writeNow(leftovers.flatten).as(accumulatedResult);
112
+ else return loop(accumulatedResult);
113
+ })
114
+ );
115
+ } else {
116
+ return Channel.writeNow(leftovers.flatten).as(currentResult);
117
+ }
118
+ });
121
119
  }
122
- });
123
- }
124
-
125
- return upstreamMarker.pipeTo(Channel.bufferChunk(leftoversRef)).pipeTo(loop(z()));
126
- }),
127
- );
120
+ return upstreamMarker.pipeTo(Channel.bufferChunk(leftoversRef)).pipeTo(loop(z()));
121
+ },
122
+ ),
123
+ );
124
+ };
128
125
  }
129
126
 
130
127
  /**
@@ -143,124 +140,119 @@ export function collectLeftover<R, E, In, L, Z>(
143
140
  /**
144
141
  * Transforms this sink's input elements.
145
142
  *
146
- * @tsplus fluent fncts.io.Sink contramap
143
+ * @tsplus pipeable fncts.io.Sink contramap
147
144
  */
148
- export function contramap<R, E, In, L, Z, In1>(
149
- self: Sink<R, E, In, L, Z>,
150
- f: (inp: In1) => In,
151
- __tsplusTrace?: string,
152
- ): Sink<R, E, In1, L, Z> {
153
- return self.contramapChunks((chunk) => chunk.map(f));
145
+ export function contramap<In, In1>(f: (inp: In1) => In, __tsplusTrace?: string) {
146
+ return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z> => {
147
+ return self.contramapChunks((chunk) => chunk.map(f));
148
+ };
154
149
  }
155
150
 
156
151
  /**
157
152
  * Transforms this sink's input chunks. `f` must preserve chunking-invariance
158
153
  *
159
- * @tsplus fluent fncts.io.Sink contramapChunks
154
+ * @tsplus pipeable fncts.io.Sink contramapChunks
160
155
  */
161
- export function contramapChunks<R, E, In, L, Z, In1>(
162
- self: Sink<R, E, In, L, Z>,
163
- f: (chunk: Conc<In1>) => Conc<In>,
164
- __tsplusTrace?: string,
165
- ): Sink<R, E, In1, L, Z> {
166
- const loop: Channel<R, never, Conc<In1>, unknown, never, Conc<In>, unknown> = Channel.readWith(
167
- (chunk) => Channel.writeNow(f(chunk)) > loop,
168
- Channel.failNow,
169
- Channel.succeedNow,
170
- );
171
- return new Sink(loop >>> self.channel);
156
+ export function contramapChunks<In, In1>(f: (chunk: Conc<In1>) => Conc<In>, __tsplusTrace?: string) {
157
+ return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z> => {
158
+ const loop: Channel<R, never, Conc<In1>, unknown, never, Conc<In>, unknown> = Channel.readWith(
159
+ (chunk) => Channel.writeNow(f(chunk)) > loop,
160
+ Channel.failNow,
161
+ Channel.succeedNow,
162
+ );
163
+ return new Sink(loop >>> self.channel);
164
+ };
172
165
  }
173
166
 
174
167
  /**
175
168
  * Effectfully transforms this sink's input chunks. `f` must preserve
176
169
  * chunking-invariance
177
170
  *
178
- * @tsplus fluent fncts.io.Sink contramapChunksIO
171
+ * @tsplus pipeable fncts.io.Sink contramapChunksIO
179
172
  */
180
- export function contramapChunksIO<R, E, In, L, Z, R1, E1, In1>(
181
- self: Sink<R, E, In, L, Z>,
173
+ export function contramapChunksIO<In, R1, E1, In1>(
182
174
  f: (chunk: Conc<In1>) => IO<R1, E1, Conc<In>>,
183
175
  __tsplusTrace?: string,
184
- ): Sink<R | R1, E | E1, In1, L, Z> {
185
- const loop: Channel<R | R1, never, Conc<In1>, unknown, E | E1, Conc<In>, unknown> = Channel.readWith(
186
- (chunk) => Channel.fromIO(f(chunk)).flatMap(Channel.writeNow) > loop,
187
- Channel.failNow,
188
- Channel.succeedNow,
189
- );
190
- return new Sink(loop.pipeToOrFail(self.channel));
176
+ ) {
177
+ return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In1, L, Z> => {
178
+ const loop: Channel<R | R1, never, Conc<In1>, unknown, E | E1, Conc<In>, unknown> = Channel.readWith(
179
+ (chunk) => Channel.fromIO(f(chunk)).flatMap(Channel.writeNow) > loop,
180
+ Channel.failNow,
181
+ Channel.succeedNow,
182
+ );
183
+ return new Sink(loop.pipeToOrFail(self.channel));
184
+ };
191
185
  }
192
186
 
193
187
  /**
194
188
  * Effectfully transforms this sink's input elements.
195
189
  *
196
- * @tsplus fluent fncts.io.Sink contramapIO
190
+ * @tsplus pipeable fncts.io.Sink contramapIO
197
191
  */
198
- export function contramapIO<R, E, In, L, Z, R1, E1, In1>(
199
- self: Sink<R, E, In, L, Z>,
200
- f: (inp: In1) => IO<R1, E1, In>,
201
- __tsplusTrace?: string,
202
- ): Sink<R | R1, E | E1, In1, L, Z> {
203
- return self.contramapChunksIO((chunk) => chunk.mapIO(f));
192
+ export function contramapIO<In, R1, E1, In1>(f: (inp: In1) => IO<R1, E1, In>, __tsplusTrace?: string) {
193
+ return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In1, L, Z> => {
194
+ return self.contramapChunksIO((chunk) => chunk.mapIO(f));
195
+ };
204
196
  }
205
197
 
206
198
  /**
207
199
  * Transforms both inputs and result of this sink using the provided
208
200
  * functions.
209
201
  *
210
- * @tsplus fluent fncts.io.Sink dimap
202
+ * @tsplus pipeable fncts.io.Sink dimap
211
203
  */
212
- export function dimap<R, E, In, L, Z, In1, Z1>(
213
- self: Sink<R, E, In, L, Z>,
214
- f: (inp: In1) => In,
215
- g: (z: Z) => Z1,
216
- __tsplusTrace?: string,
217
- ): Sink<R, E, In1, L, Z1> {
218
- return self.contramap(f).map(g);
204
+ export function dimap<In, Z, In1, Z1>(f: (inp: In1) => In, g: (z: Z) => Z1, __tsplusTrace?: string) {
205
+ return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z1> => {
206
+ return self.contramap(f).map(g);
207
+ };
219
208
  }
220
209
 
221
210
  /**
222
211
  * Transforms both input chunks and result of this sink using the provided
223
212
  * functions.
224
213
  *
225
- * @tsplus fluent fncts.io.Sink dimapChunks
214
+ * @tsplus pipeable fncts.io.Sink dimapChunks
226
215
  */
227
- export function dimapChunks<R, E, In, L, Z, In1, Z1>(
228
- self: Sink<R, E, In, L, Z>,
216
+ export function dimapChunks<In, Z, In1, Z1>(
229
217
  f: (chunk: Conc<In1>) => Conc<In>,
230
218
  g: (z: Z) => Z1,
231
219
  __tsplusTrace?: string,
232
- ): Sink<R, E, In1, L, Z1> {
233
- return self.contramapChunks(f).map(g);
220
+ ) {
221
+ return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z1> => {
222
+ return self.contramapChunks(f).map(g);
223
+ };
234
224
  }
235
225
 
236
226
  /**
237
227
  * Effectfully transforms both input chunks and result of this sink using the
238
228
  * provided functions. `f` and `g` must preserve chunking-invariance
239
229
  *
240
- * @tsplus fluent fncts.io.Sink dimapChunksIO
230
+ * @tsplus pipeable fncts.io.Sink dimapChunksIO
241
231
  */
242
- export function dimapChunksIO<R, E, In, L, Z, R1, E1, In1, R2, E2, Z1>(
243
- self: Sink<R, E, In, L, Z>,
232
+ export function dimapChunksIO<In, Z, R1, E1, In1, R2, E2, Z1>(
244
233
  f: (chunk: Conc<In1>) => IO<R1, E1, Conc<In>>,
245
234
  g: (z: Z) => IO<R2, E2, Z1>,
246
235
  __tsplusTrace?: string,
247
- ): Sink<R | R1 | R2, E | E1 | E2, In1, L, Z1> {
248
- return self.contramapChunksIO(f).mapIO(g);
236
+ ) {
237
+ return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2, E | E1 | E2, In1, L, Z1> => {
238
+ return self.contramapChunksIO(f).mapIO(g);
239
+ };
249
240
  }
250
241
 
251
242
  /**
252
243
  * Effectfully transforms both inputs and result of this sink using the
253
244
  * provided functions.
254
245
  *
255
- * @tsplus fluent fncts.io.Sink dimapIO
246
+ * @tsplus pipeable fncts.io.Sink dimapIO
256
247
  */
257
- export function dimapIO<R, E, In, L, Z, R1, E1, In1, R2, E2, Z1>(
258
- self: Sink<R, E, In, L, Z>,
248
+ export function dimapIO<In, Z, R1, E1, In1, R2, E2, Z1>(
259
249
  f: (inp: In1) => IO<R1, E1, In>,
260
250
  g: (z: Z) => IO<R2, E2, Z1>,
261
251
  __tsplusTrace?: string,
262
- ): Sink<R | R1 | R2, E | E1 | E2, In1, L, Z1> {
263
- return self.contramapIO(f).mapIO(g);
252
+ ) {
253
+ return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2, E | E1 | E2, In1, L, Z1> => {
254
+ return self.contramapIO(f).mapIO(g);
255
+ };
264
256
  }
265
257
 
266
258
  /**
@@ -488,44 +480,40 @@ export function filterInputIO<R, E, In, L, Z, R1, E1>(
488
480
  /**
489
481
  * Creates a sink that produces values until one verifies the predicate `f`.
490
482
  *
491
- * @tsplus fluent fncts.io.Sink findIO
492
- */
493
- export function findIO<R, E, In extends L, L, Z, R1, E1>(
494
- self: Sink<R, E, In, L, Z>,
495
- f: (z: Z) => IO<R1, E1, boolean>,
496
- __tsplusTrace?: string,
497
- ): Sink<R | R1, E | E1, In, L, Maybe<Z>> {
498
- return new Sink(
499
- Channel.fromIO(Ref.make(Conc.empty<In>()).zip(Ref.make(false))).flatMap(([leftoversRef, upstreamDoneRef]) => {
500
- const upstreamMarker: Channel<never, never, Conc<In>, unknown, never, Conc<In>, unknown> = Channel.readWith(
501
- (inp) => Channel.writeNow(inp) > upstreamMarker,
502
- Channel.failNow,
503
- (x) => Channel.fromIO(upstreamDoneRef.set(true)).as(x),
504
- );
505
-
506
- const loop: Channel<
507
- R | R1,
508
- never,
509
- Conc<In>,
510
- unknown,
511
- E | E1,
512
- Conc<L>,
513
- Maybe<Z>
514
- > = self.channel.collectElements.matchChannel(Channel.failNow, ([leftovers, doneValue]) =>
515
- Channel.fromIO(f(doneValue)).flatMap(
516
- (satisfied) =>
517
- Channel.fromIO(leftoversRef.set(leftovers.flatten as Conc<In>)) >
518
- Channel.fromIO(upstreamDoneRef.get).flatMap((upstreamDone) => {
519
- if (satisfied) return Channel.writeNow(leftovers.flatten).as(Just(doneValue));
520
- else if (upstreamDone) return Channel.writeNow(leftovers.flatten).as(Nothing());
521
- else return loop;
522
- }),
523
- ),
524
- );
525
-
526
- return (upstreamMarker >>> Channel.bufferChunk(leftoversRef)) >>> loop;
527
- }),
528
- );
483
+ * @tsplus pipeable fncts.io.Sink findIO
484
+ */
485
+ export function findIO<Z, R1, E1>(f: (z: Z) => IO<R1, E1, boolean>, __tsplusTrace?: string) {
486
+ return <R, E, In extends L, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In, L, Maybe<Z>> => {
487
+ return new Sink(
488
+ Channel.fromIO(Ref.make(Conc.empty<In>()).zip(Ref.make(false))).flatMap(([leftoversRef, upstreamDoneRef]) => {
489
+ const upstreamMarker: Channel<never, never, Conc<In>, unknown, never, Conc<In>, unknown> = Channel.readWith(
490
+ (inp) => Channel.writeNow(inp) > upstreamMarker,
491
+ Channel.failNow,
492
+ (x) => Channel.fromIO(upstreamDoneRef.set(true)).as(x),
493
+ );
494
+ const loop: Channel<
495
+ R | R1,
496
+ never,
497
+ Conc<In>,
498
+ unknown,
499
+ E | E1,
500
+ Conc<L>,
501
+ Maybe<Z>
502
+ > = self.channel.collectElements.matchChannel(Channel.failNow, ([leftovers, doneValue]) =>
503
+ Channel.fromIO(f(doneValue)).flatMap(
504
+ (satisfied) =>
505
+ Channel.fromIO(leftoversRef.set(leftovers.flatten as Conc<In>)) >
506
+ Channel.fromIO(upstreamDoneRef.get).flatMap((upstreamDone) => {
507
+ if (satisfied) return Channel.writeNow(leftovers.flatten).as(Just(doneValue));
508
+ else if (upstreamDone) return Channel.writeNow(leftovers.flatten).as(Nothing());
509
+ else return loop;
510
+ }),
511
+ ),
512
+ );
513
+ return (upstreamMarker >>> Channel.bufferChunk(leftoversRef)) >>> loop;
514
+ }),
515
+ );
516
+ };
529
517
  }
530
518
 
531
519
  /**
@@ -535,14 +523,15 @@ export function findIO<R, E, In extends L, L, Z, R1, E1>(
535
523
  *
536
524
  * This function essentially runs sinks in sequence.
537
525
  *
538
- * @tsplus fluent fncts.io.Sink flatMap
526
+ * @tsplus pipeable fncts.io.Sink flatMap
539
527
  */
540
- export function flatMap<R, E, In, L, Z, R1, E1, In1 extends In, L1, Z1>(
541
- self: Sink<R, E, In, L, Z>,
528
+ export function flatMap<In, Z, R1, E1, In1 extends In, L1, Z1>(
542
529
  f: (z: Z) => Sink<R1, E1, In1, L1, Z1>,
543
530
  __tsplusTrace?: string,
544
- ): Sink<R | R1, E | E1, In1, L | L1, Z1> {
545
- return self.matchSink(Sink.failNow, f);
531
+ ) {
532
+ return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In1, L | L1, Z1> => {
533
+ return self.matchSink(Sink.failNow, f);
534
+ };
546
535
  }
547
536
 
548
537
  /**
@@ -602,10 +591,7 @@ function fromPushPull<R, E, In, L, Z>(
602
591
  *
603
592
  * @tsplus static fncts.io.SinkOps fromQueue
604
593
  */
605
- export function fromQueue<In>(
606
- queue: Lazy<Queue.Enqueue<In>>,
607
- __tsplusTrace?: string,
608
- ): Sink<never, never, In, never, void> {
594
+ export function fromQueue<In>(queue: Lazy<Enqueue<In>>, __tsplusTrace?: string): Sink<never, never, In, never, void> {
609
595
  return Sink.unwrap(IO.succeed(queue).map((queue) => Sink.foreachChunk((inp: Conc<In>) => queue.offerAll(inp))));
610
596
  }
611
597
 
@@ -616,7 +602,7 @@ export function fromQueue<In>(
616
602
  * @tsplus static fncts.io.SinkOps fromQueueWithShutdown
617
603
  */
618
604
  export function fromQueueWithShutdown<In>(
619
- queue: Lazy<Queue.Enqueue<In>>,
605
+ queue: Lazy<Enqueue<In>>,
620
606
  __tsplusTrace?: string,
621
607
  ): Sink<never, never, In, never, void> {
622
608
  return Sink.unwrapScoped(
@@ -793,7 +779,6 @@ export function makeForeachChunk<R, E, In>(
793
779
  Channel.failCauseNow,
794
780
  () => Channel.unit,
795
781
  );
796
-
797
782
  return new Sink(process);
798
783
  }
799
784
 
@@ -846,7 +831,6 @@ export function makeForeachChunkWhile<R, E, In>(
846
831
  Channel.failNow,
847
832
  () => Channel.unit,
848
833
  );
849
-
850
834
  return new Sink(reader);
851
835
  }
852
836
 
@@ -1190,12 +1174,10 @@ export function makeFoldWeightedDecompose<In, S>(
1190
1174
  } else {
1191
1175
  const elem = inp[idx];
1192
1176
  const total = cost + costFn(s, elem);
1193
-
1194
1177
  if (total <= max) {
1195
1178
  return fold(inp, f(s, elem), max, true, total, idx + 1);
1196
1179
  } else {
1197
1180
  const decomposed = decompose(elem);
1198
-
1199
1181
  if (decomposed.length <= 1 && !dirty) {
1200
1182
  return [f(s, elem), total, true, inp.drop(idx + 1)];
1201
1183
  } else if (decomposed.length <= 1 && dirty) {
@@ -1216,7 +1198,6 @@ export function makeFoldWeightedDecompose<In, S>(
1216
1198
  return Channel.readWith(
1217
1199
  (inp: Conc<In>) => {
1218
1200
  const [nextS, nextCost, nextDirty, leftovers] = fold(inp, s, max, dirty, cost, 0);
1219
-
1220
1201
  if (leftovers.isNonEmpty) {
1221
1202
  return Channel.writeNow(leftovers) > Channel.succeedNow(nextS);
1222
1203
  } else if (cost > max) {
@@ -1229,7 +1210,6 @@ export function makeFoldWeightedDecompose<In, S>(
1229
1210
  (_: any) => Channel.succeedNow(s),
1230
1211
  );
1231
1212
  }
1232
-
1233
1213
  return new Sink(go(z(), 0, false, max()));
1234
1214
  });
1235
1215
  }
@@ -1311,7 +1291,6 @@ export function makeFoldWeightedDecomposeIO<R, E, In, S, R1, E1, R2, E2>(
1311
1291
  (_: any) => Channel.succeedNow(s),
1312
1292
  );
1313
1293
  }
1314
-
1315
1294
  return new Sink(go(z(), 0, false, max()));
1316
1295
  });
1317
1296
  }
@@ -1363,40 +1342,34 @@ export function makeFoldWeightedIO<R, E, In, S, R1, E1>(
1363
1342
  /**
1364
1343
  * Transforms this sink's result.
1365
1344
  *
1366
- * @tsplus fluent fncts.io.Sink map
1345
+ * @tsplus pipeable fncts.io.Sink map
1367
1346
  */
1368
- export function map_<R, E, In, L, Z, Z1>(
1369
- self: Sink<R, E, In, L, Z>,
1370
- f: (z: Z) => Z1,
1371
- __tsplusTrace?: string,
1372
- ): Sink<R, E, In, L, Z1> {
1373
- return new Sink(self.channel.map(f));
1347
+ export function map<Z, Z1>(f: (z: Z) => Z1, __tsplusTrace?: string) {
1348
+ return <R, E, In, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, Z1> => {
1349
+ return new Sink(self.channel.map(f));
1350
+ };
1374
1351
  }
1375
1352
 
1376
1353
  /**
1377
1354
  * Transforms the errors emitted by this sink using `f`.
1378
1355
  *
1379
- * @tsplus fluent fncts.io.Sink mapError
1356
+ * @tsplus pipeable fncts.io.Sink mapError
1380
1357
  */
1381
- export function mapError_<R, E, In, L, Z, E1>(
1382
- self: Sink<R, E, In, L, Z>,
1383
- f: (e: E) => E1,
1384
- __tsplusTrace?: string,
1385
- ): Sink<R, E1, In, L, Z> {
1386
- return new Sink(self.channel.mapError(f));
1358
+ export function mapError<E, E1>(f: (e: E) => E1, __tsplusTrace?: string) {
1359
+ return <R, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E1, In, L, Z> => {
1360
+ return new Sink(self.channel.mapError(f));
1361
+ };
1387
1362
  }
1388
1363
 
1389
1364
  /**
1390
1365
  * Effectfully transforms this sink's result.
1391
1366
  *
1392
- * @tsplus fluent fncts.io.Sink mapIO
1367
+ * @tsplus pipeable fncts.io.Sink mapIO
1393
1368
  */
1394
- export function mapIO_<R, E, In, L, Z, R1, E1, Z1>(
1395
- self: Sink<R, E, In, L, Z>,
1396
- f: (z: Z) => IO<R1, E1, Z1>,
1397
- __tsplusTrace?: string,
1398
- ): Sink<R | R1, E | E1, In, L, Z1> {
1399
- return new Sink(self.channel.mapIO(f));
1369
+ export function mapIO<Z, R1, E1, Z1>(f: (z: Z) => IO<R1, E1, Z1>, __tsplusTrace?: string) {
1370
+ return <R, E, In, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In, L, Z1> => {
1371
+ return new Sink(self.channel.mapIO(f));
1372
+ };
1400
1373
  }
1401
1374
 
1402
1375
  /**
@@ -1406,127 +1379,124 @@ export function mapIO_<R, E, In, L, Z, R1, E1, Z1>(
1406
1379
  *
1407
1380
  * This function essentially runs sinks in sequence.
1408
1381
  *
1409
- * @tsplus fluent fncts.io.Sink matchSink
1382
+ * @tsplus pipeable fncts.io.Sink matchSink
1410
1383
  */
1411
- export function matchSink_<R, E, In, L, Z, R1, E1, In1 extends In, L1, Z1, R2, E2, In2 extends In, L2, Z2>(
1412
- self: Sink<R, E, In, L, Z>,
1384
+ export function matchSink<E, In, Z, R1, E1, In1 extends In, L1, Z1, R2, E2, In2 extends In, L2, Z2>(
1413
1385
  onFailure: (e: E) => Sink<R1, E1, In1, L1, Z1>,
1414
1386
  onSuccess: (z: Z) => Sink<R2, E2, In2, L2, Z2>,
1415
1387
  __tsplusTrace?: string,
1416
- ): Sink<R | R1 | R2, E1 | E2, In1 & In2, L | L1 | L2, Z1 | Z2> {
1417
- return new Sink<R | R1 | R2, E1 | E2, In1 & In2, L | L1 | L2, Z1 | Z2>(
1418
- self.channel.doneCollect.matchChannel(
1419
- (e) => onFailure(e).channel,
1420
- ([leftovers, z]) =>
1421
- Channel.defer(() => {
1422
- const leftoversRef = new AtomicReference(leftovers.filter((c) => c.isNonEmpty));
1423
- const refReader = Channel.succeed(leftoversRef.getAndSet(Conc.empty())).flatMap((chunk) =>
1424
- Channel.writeChunk(chunk as unknown as Conc<Conc<In1 & In2>>),
1425
- );
1426
- const passthrough = Channel.id<never, Conc<In1 & In2>, unknown>();
1427
- const continuationSink = (refReader > passthrough).pipeTo(onSuccess(z).channel);
1428
- return continuationSink.doneCollect.flatMap(
1429
- ([newLeftovers, z1]) =>
1430
- Channel.succeed(leftoversRef.get).flatMap(Channel.writeChunk) > Channel.writeChunk(newLeftovers).as(z1),
1431
- );
1432
- }),
1433
- ),
1434
- );
1388
+ ) {
1389
+ return <R, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2, E1 | E2, In1 & In2, L | L1 | L2, Z1 | Z2> => {
1390
+ return new Sink<R | R1 | R2, E1 | E2, In1 & In2, L | L1 | L2, Z1 | Z2>(
1391
+ self.channel.doneCollect.matchChannel(
1392
+ (e) => onFailure(e).channel,
1393
+ ([leftovers, z]) =>
1394
+ Channel.defer(() => {
1395
+ const leftoversRef = new AtomicReference(leftovers.filter((c) => c.isNonEmpty));
1396
+ const refReader = Channel.succeed(leftoversRef.getAndSet(Conc.empty())).flatMap((chunk) =>
1397
+ Channel.writeChunk(chunk as unknown as Conc<Conc<In1 & In2>>),
1398
+ );
1399
+ const passthrough = Channel.id<never, Conc<In1 & In2>, unknown>();
1400
+ const continuationSink = (refReader > passthrough).pipeTo(onSuccess(z).channel);
1401
+ return continuationSink.doneCollect.flatMap(
1402
+ ([newLeftovers, z1]) =>
1403
+ Channel.succeed(leftoversRef.get).flatMap(Channel.writeChunk) > Channel.writeChunk(newLeftovers).as(z1),
1404
+ );
1405
+ }),
1406
+ ),
1407
+ );
1408
+ };
1435
1409
  }
1436
1410
 
1437
1411
  /**
1438
1412
  * Switch to another sink in case of failure
1439
1413
  *
1440
- * @tsplus fluent fncts.io.Sink orElse
1414
+ * @tsplus pipeable fncts.io.Sink orElse
1441
1415
  */
1442
- export function orElse<R, E, In, L, Z, R1, E1, In1, L1, Z1>(
1443
- self: Sink<R, E, In, L, Z>,
1444
- that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1445
- __tsplusTrace?: string,
1446
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> {
1447
- return Sink.defer(new Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>(self.channel.orElse(that().channel)));
1416
+ export function orElse<R1, E1, In1, L1, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string) {
1417
+ return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> => {
1418
+ return Sink.defer(new Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>(self.channel.orElse(that().channel)));
1419
+ };
1448
1420
  }
1449
1421
 
1450
1422
  /**
1451
1423
  * Provides the sink with its required environment, which eliminates its
1452
1424
  * dependency on `R`.
1453
1425
  *
1454
- * @tsplus fluent fncts.io.Sink provideEnvironment
1426
+ * @tsplus pipeable fncts.io.Sink provideEnvironment
1455
1427
  */
1456
- export function provideEnvironment<R, E, In, L, Z>(
1457
- self: Sink<R, E, In, L, Z>,
1458
- r: Lazy<Environment<R>>,
1459
- __tsplusTrace?: string,
1460
- ): Sink<never, E, In, L, Z> {
1461
- return new Sink(self.channel.provideEnvironment(r));
1428
+ export function provideEnvironment<R>(r: Lazy<Environment<R>>, __tsplusTrace?: string) {
1429
+ return <E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<never, E, In, L, Z> => {
1430
+ return new Sink(self.channel.provideEnvironment(r));
1431
+ };
1462
1432
  }
1463
1433
 
1464
1434
  /**
1465
1435
  * Runs both sinks in parallel on the input, returning the result or the
1466
1436
  * error from the one that finishes first.
1467
1437
  *
1468
- * @tsplus fluent fncts.io.Sink race
1438
+ * @tsplus pipeable fncts.io.Sink race
1469
1439
  */
1470
- export function race<R, E, In, L, Z, R1, E1, In1, L1, Z1>(
1471
- self: Sink<R, E, In, L, Z>,
1472
- that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1473
- __tsplusTrace?: string,
1474
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> {
1475
- return self.raceBoth(that).map((result) => result.value);
1440
+ export function race<R1, E1, In1, L1, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string) {
1441
+ return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> => {
1442
+ return self.raceBoth(that).map((result) => result.value);
1443
+ };
1476
1444
  }
1477
1445
 
1478
1446
  /**
1479
1447
  * Runs both sinks in parallel on the input, returning the result or the error
1480
1448
  * from the one that finishes first.
1481
1449
  *
1482
- * @tsplus fluent fncts.io.Sink raceBoth
1450
+ * @tsplus pipeable fncts.io.Sink raceBoth
1483
1451
  */
1484
- export function raceBoth<R, E, In, L, Z, R1, E1, In1, L1, Z1>(
1485
- self: Sink<R, E, In, L, Z>,
1452
+ export function raceBoth<R1, E1, In1, L1, Z1>(
1486
1453
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1487
1454
  capacity: Lazy<number> = () => 16,
1488
1455
  __tsplusTrace?: string,
1489
- ): Sink<R | R1, E | E1, In & In1, L | L1, Either<Z, Z1>> {
1490
- return self.raceWith(
1491
- that,
1492
- (selfDone) => MergeDecision.Done(IO.fromExitNow(selfDone).map(Either.left)),
1493
- (thatDone) => MergeDecision.Done(IO.fromExitNow(thatDone).map(Either.right)),
1494
- capacity,
1495
- );
1456
+ ) {
1457
+ return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Either<Z, Z1>> => {
1458
+ return self.raceWith(
1459
+ that,
1460
+ (selfDone) => MergeDecision.Done(IO.fromExitNow(selfDone).map(Either.left)),
1461
+ (thatDone) => MergeDecision.Done(IO.fromExitNow(thatDone).map(Either.right)),
1462
+ capacity,
1463
+ );
1464
+ };
1496
1465
  }
1497
1466
 
1498
1467
  /**
1499
1468
  * Runs both sinks in parallel on the input, using the specified merge
1500
1469
  * function as soon as one result or the other has been computed.
1501
1470
  *
1502
- * @tsplus fluent fncts.io.Sink raceWith
1471
+ * @tsplus pipeable fncts.io.Sink raceWith
1503
1472
  */
1504
- export function raceWith<R, E, In, L, Z, R1, E1, In1, L1, Z1, R2, E2, Z2, R3, E3, Z3>(
1505
- self: Sink<R, E, In, L, Z>,
1473
+ export function raceWith<R, E, Z, R1, E1, In1, L1, Z1, E2, Z2, E3, Z3>(
1506
1474
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1507
1475
  leftDone: (exit: Exit<E, Z>) => MergeDecision<R1, E1, Z1, E2, Z2>,
1508
1476
  rightDone: (exit: Exit<E1, Z1>) => MergeDecision<R, E, Z, E3, Z3>,
1509
1477
  capacity: Lazy<number> = () => 16,
1510
1478
  __tsplusTrace?: string,
1511
- ): Sink<R | R1 | R2 | R3, E2 | E3, In & In1, L | L1, Z2 | Z3> {
1512
- const scoped = IO.defer(() => {
1513
- const that0 = that();
1514
- const capacity0 = capacity();
1515
- return Do((_) => {
1516
- const hub = _(Hub.makeBounded<Either<Exit<never, any>, Conc<In & In1>>>(capacity()));
1517
- const c1 = _(Channel.fromHubScoped(hub));
1518
- const c2 = _(Channel.fromHubScoped(hub));
1519
- const reader = Channel.toHub(hub);
1520
- const writer = c1.pipeTo(self.channel).mergeWith(c2.pipeTo(that0.channel), leftDone, rightDone);
1521
- const channel = reader.mergeWith(
1522
- writer,
1523
- () => MergeDecision.Await(IO.fromExitNow),
1524
- (done) => MergeDecision.Done(IO.fromExitNow(done)),
1525
- );
1526
- return new Sink<R | R1 | R2 | R3, E2 | E3, In & In1, L | L1, Z2 | Z3>(channel);
1479
+ ) {
1480
+ return <In, L, R2, R3>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2 | R3, E2 | E3, In & In1, L | L1, Z2 | Z3> => {
1481
+ const scoped = IO.defer(() => {
1482
+ const that0 = that();
1483
+ const capacity0 = capacity();
1484
+ return Do((_) => {
1485
+ const hub = _(Hub.makeBounded<Either<Exit<never, any>, Conc<In & In1>>>(capacity()));
1486
+ const c1 = _(Channel.fromHubScoped(hub));
1487
+ const c2 = _(Channel.fromHubScoped(hub));
1488
+ const reader = Channel.toHub(hub);
1489
+ const writer = c1.pipeTo(self.channel).mergeWith(c2.pipeTo(that0.channel), leftDone, rightDone);
1490
+ const channel = reader.mergeWith(
1491
+ writer,
1492
+ () => MergeDecision.Await(IO.fromExitNow),
1493
+ (done) => MergeDecision.Done(IO.fromExitNow(done)),
1494
+ );
1495
+ return new Sink<R | R1 | R2 | R3, E2 | E3, In & In1, L | L1, Z2 | Z3>(channel);
1496
+ });
1527
1497
  });
1528
- });
1529
- return Sink.unwrapScoped(scoped);
1498
+ return Sink.unwrapScoped(scoped);
1499
+ };
1530
1500
  }
1531
1501
 
1532
1502
  /**
@@ -1588,24 +1558,22 @@ export function serviceWithSink<S, R, E, In, L, Z>(
1588
1558
  * consumes elements until an element after the first satisfies the specified
1589
1559
  * predicate.
1590
1560
  *
1591
- * @tsplus fluent fncts.io.Sink splitWhere
1592
- */
1593
- export function splitWhere<R, E, In, L extends In, Z>(
1594
- self: Sink<R, E, In, L, Z>,
1595
- p: Predicate<In>,
1596
- __tsplusTrace?: string,
1597
- ): Sink<R, E, In, In, Z> {
1598
- return new Sink(
1599
- Channel.fromIO(Ref.make<Conc<In>>(Conc.empty())).flatMap((ref) =>
1600
- splitter<R, E, In>(p, false, ref)
1601
- .pipeToOrFail(self.channel)
1602
- .collectElements.flatMap(([leftovers, z]) =>
1603
- Channel.fromIO(ref.get).flatMap(
1604
- (leftover) => Channel.writeNow(leftover.concat(leftovers.flatten)) > Channel.succeedNow(z),
1561
+ * @tsplus pipeable fncts.io.Sink splitWhere
1562
+ */
1563
+ export function splitWhere<In>(p: Predicate<In>, __tsplusTrace?: string) {
1564
+ return <R, E, L extends In, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, In, Z> => {
1565
+ return new Sink(
1566
+ Channel.fromIO(Ref.make<Conc<In>>(Conc.empty())).flatMap((ref) =>
1567
+ splitter<R, E, In>(p, false, ref)
1568
+ .pipeToOrFail(self.channel)
1569
+ .collectElements.flatMap(([leftovers, z]) =>
1570
+ Channel.fromIO(ref.get).flatMap(
1571
+ (leftover) => Channel.writeNow(leftover.concat(leftovers.flatten)) > Channel.succeedNow(z),
1572
+ ),
1605
1573
  ),
1606
- ),
1607
- ),
1608
- );
1574
+ ),
1575
+ );
1576
+ };
1609
1577
  }
1610
1578
 
1611
1579
  function splitter<R, E, In>(
@@ -1663,23 +1631,20 @@ export function succeedNow<Z>(z: Z, __tsplusTrace?: string): Sink<never, never,
1663
1631
  * Summarize a sink by running an effect when the sink starts and again when
1664
1632
  * it completes
1665
1633
  *
1666
- * @tsplus fluent fncts.io.Sink summarized
1634
+ * @tsplus pipeable fncts.io.Sink summarized
1667
1635
  */
1668
- export function summarized<R, E, In, L, Z, R1, E1, B, C>(
1669
- self: Sink<R, E, In, L, Z>,
1670
- summary: Lazy<IO<R1, E1, B>>,
1671
- f: (b1: B, b2: B) => C,
1672
- __tsplusTrace?: string,
1673
- ): Sink<R | R1, E | E1, In, L, readonly [Z, C]> {
1674
- return new Sink(
1675
- Channel.unwrap(
1676
- IO.succeed(summary).map((summary) =>
1677
- Channel.fromIO(summary).flatMap((start) =>
1678
- self.channel.flatMap((done) => Channel.fromIO(summary).map((end) => Function.tuple(done, f(start, end)))),
1636
+ export function summarized<R1, E1, B, C>(summary: Lazy<IO<R1, E1, B>>, f: (b1: B, b2: B) => C, __tsplusTrace?: string) {
1637
+ return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In, L, readonly [Z, C]> => {
1638
+ return new Sink(
1639
+ Channel.unwrap(
1640
+ IO.succeed(summary).map((summary) =>
1641
+ Channel.fromIO(summary).flatMap((start) =>
1642
+ self.channel.flatMap((done) => Channel.fromIO(summary).map((end) => Function.tuple(done, f(start, end)))),
1643
+ ),
1679
1644
  ),
1680
1645
  ),
1681
- ),
1682
- );
1646
+ );
1647
+ };
1683
1648
  }
1684
1649
 
1685
1650
  /**
@@ -1721,28 +1686,30 @@ export function unwrapScoped<R, E, R1, E1, In, L, Z>(
1721
1686
  * the provided sink until it yields a result, finally combining the two
1722
1687
  * results into a tuple.
1723
1688
  *
1724
- * @tsplus fluent fncts.io.Sink zip
1689
+ * @tsplus pipeable fncts.io.Sink zip
1725
1690
  */
1726
- export function zip<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
1727
- self: Sink<R, E, In, L, Z>,
1691
+ export function zip<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
1728
1692
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1729
1693
  __tsplusTrace?: string,
1730
- ): Sink<R | R1, E | E1, In & In1, L | L1, readonly [Z, Z1]> {
1731
- return self.zipWith(that, Function.tuple);
1694
+ ) {
1695
+ return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, readonly [Z, Z1]> => {
1696
+ return self.zipWith(that, Function.tuple);
1697
+ };
1732
1698
  }
1733
1699
 
1734
1700
  /**
1735
1701
  * Runs both sinks in parallel on the input and combines the results in a
1736
1702
  * tuple.
1737
1703
  *
1738
- * @tsplus fluent fncts.io.Sink zipC
1704
+ * @tsplus pipeable fncts.io.Sink zipC
1739
1705
  */
1740
- export function zipC<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
1741
- self: Sink<R, E, In, L, Z>,
1706
+ export function zipC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
1742
1707
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1743
1708
  __tsplusTrace?: string,
1744
- ): Sink<R | R1, E | E1, In & In1, L | L1, readonly [Z, Z1]> {
1745
- return self.zipWithC(that, Function.tuple);
1709
+ ) {
1710
+ return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, readonly [Z, Z1]> => {
1711
+ return self.zipWithC(that, Function.tuple);
1712
+ };
1746
1713
  }
1747
1714
 
1748
1715
  /**
@@ -1750,54 +1717,56 @@ export function zipC<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
1750
1717
  * the provided sink until it yields a result, finally combining the two
1751
1718
  * results with `f`.
1752
1719
  *
1753
- * @tsplus fluent fncts.io.Sink zipWith
1720
+ * @tsplus pipeable fncts.io.Sink zipWith
1754
1721
  */
1755
- export function zipWith<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1, Z2>(
1756
- self: Lazy<Sink<R, E, In, L, Z>>,
1722
+ export function zipWith<In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1, Z2>(
1757
1723
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1758
1724
  f: (z: Z, z1: Z1) => Z2,
1759
1725
  __tsplusTrace?: string,
1760
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z2> {
1761
- return Sink.defer(self().flatMap((z) => that().map((z1) => f(z, z1))));
1726
+ ) {
1727
+ return <R, E>(self: Lazy<Sink<R, E, In, L, Z>>): Sink<R | R1, E | E1, In & In1, L | L1, Z2> => {
1728
+ return Sink.defer(self().flatMap((z) => that().map((z1) => f(z, z1))));
1729
+ };
1762
1730
  }
1763
1731
 
1764
1732
  /**
1765
1733
  * Runs both sinks in parallel on the input and combines the results using the
1766
1734
  * provided function.
1767
1735
  *
1768
- * @tsplus fluent fncts.io.Sink zipWithC
1736
+ * @tsplus pipeable fncts.io.Sink zipWithC
1769
1737
  */
1770
- export function zipWithC<R, E, In, L, Z, R1, E1, In1, L1, Z1, Z2>(
1771
- self: Lazy<Sink<R, E, In, L, Z>>,
1738
+ export function zipWithC<Z, R1, E1, In1, L1, Z1, Z2>(
1772
1739
  that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
1773
1740
  f: (z: Z, z1: Z1) => Z2,
1774
1741
  __tsplusTrace?: string,
1775
- ): Sink<R | R1, E | E1, In & In1, L | L1, Z2> {
1776
- return Sink.defer(
1777
- self().raceWith(
1778
- that(),
1779
- (exit) =>
1780
- exit.match(
1781
- (err) => MergeDecision.Done(IO.failCauseNow(err)),
1782
- (lz) =>
1783
- MergeDecision.Await((exit) =>
1784
- exit.match(
1785
- (cause) => IO.failCauseNow(cause),
1786
- (rz) => IO.succeedNow(f(lz, rz)),
1742
+ ) {
1743
+ return <R, E, In, L>(self: Lazy<Sink<R, E, In, L, Z>>): Sink<R | R1, E | E1, In & In1, L | L1, Z2> => {
1744
+ return Sink.defer(
1745
+ self().raceWith(
1746
+ that(),
1747
+ (exit) =>
1748
+ exit.match(
1749
+ (err) => MergeDecision.Done(IO.failCauseNow(err)),
1750
+ (lz) =>
1751
+ MergeDecision.Await((exit) =>
1752
+ exit.match(
1753
+ (cause) => IO.failCauseNow(cause),
1754
+ (rz) => IO.succeedNow(f(lz, rz)),
1755
+ ),
1787
1756
  ),
1788
- ),
1789
- ),
1790
- (exit) =>
1791
- exit.match(
1792
- (err) => MergeDecision.Done(IO.failCauseNow(err)),
1793
- (rz) =>
1794
- MergeDecision.Await((exit) =>
1795
- exit.match(
1796
- (cause) => IO.failCauseNow(cause),
1797
- (lz) => IO.succeedNow(f(lz, rz)),
1757
+ ),
1758
+ (exit) =>
1759
+ exit.match(
1760
+ (err) => MergeDecision.Done(IO.failCauseNow(err)),
1761
+ (rz) =>
1762
+ MergeDecision.Await((exit) =>
1763
+ exit.match(
1764
+ (cause) => IO.failCauseNow(cause),
1765
+ (lz) => IO.succeedNow(f(lz, rz)),
1766
+ ),
1798
1767
  ),
1799
- ),
1800
- ),
1801
- ),
1802
- );
1768
+ ),
1769
+ ),
1770
+ );
1771
+ };
1803
1772
  }