@fncts/io 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1089) hide show
  1. package/Cached/api.d.ts +2 -2
  2. package/Channel/ChildExecutorDecision/api.d.ts +2 -2
  3. package/Channel/UpstreamPullRequest/api.d.ts +2 -2
  4. package/Channel/api/interruptWhen.d.ts +5 -5
  5. package/Channel/api/mapOutIOC.d.ts +3 -3
  6. package/Channel/api/mergeAll.d.ts +2 -2
  7. package/Channel/api/mergeAllUnboundedWith.d.ts +2 -2
  8. package/Channel/api/mergeAllWith.d.ts +2 -2
  9. package/Channel/api/mergeMap.d.ts +2 -2
  10. package/Channel/api/mergeWith.d.ts +2 -2
  11. package/Channel/api/zipC.d.ts +6 -6
  12. package/Channel/api.d.ts +64 -64
  13. package/Channel/core-api.d.ts +11 -11
  14. package/Channel/definition.d.ts +35 -21
  15. package/Fiber/api/evalOn.d.ts +3 -3
  16. package/Fiber/api/evalOnIO.d.ts +3 -3
  17. package/Fiber/api/interruptAs.d.ts +3 -3
  18. package/Fiber/api/interruptAsFork.d.ts +3 -3
  19. package/Fiber/api/mapFiber.d.ts +2 -2
  20. package/Fiber/api/mapIO.d.ts +5 -5
  21. package/Fiber/api/zipWith.d.ts +2 -2
  22. package/Fiber.d.ts +1 -0
  23. package/FiberRef/api/locallyScoped.d.ts +2 -2
  24. package/FiberRef/api/locallyScopedWith.d.ts +2 -2
  25. package/FiberRef/api.d.ts +18 -18
  26. package/FiberRefs/api.d.ts +2 -2
  27. package/FiberRefs/join.d.ts +3 -3
  28. package/Future/api.d.ts +21 -21
  29. package/Hub/constructors.d.ts +49 -0
  30. package/Hub/definition.d.ts +37 -81
  31. package/Hub/internal.d.ts +4 -11
  32. package/Hub.d.ts +1 -1
  33. package/IO/api/acquireRelease.d.ts +1 -1
  34. package/IO/api/acquireReleaseExit.d.ts +1 -1
  35. package/IO/api/bracket.d.ts +1 -1
  36. package/IO/api/bracketExit.d.ts +1 -1
  37. package/IO/api/concurrency.d.ts +2 -2
  38. package/IO/api/core-scope.d.ts +5 -5
  39. package/IO/api/ensuringChildren.d.ts +3 -3
  40. package/IO/api/environment.d.ts +11 -15
  41. package/IO/api/foreachC.d.ts +2 -2
  42. package/IO/api/foreachExec.d.ts +1 -1
  43. package/IO/api/forkIn.d.ts +3 -3
  44. package/IO/api/fulfill.d.ts +3 -3
  45. package/IO/api/interrupt.d.ts +6 -6
  46. package/IO/api/onExit.d.ts +3 -3
  47. package/IO/api/onTermination.d.ts +4 -4
  48. package/IO/api/provideLayer.d.ts +3 -3
  49. package/IO/api/provideSomeLayer.d.ts +3 -7
  50. package/IO/api/race.d.ts +2 -2
  51. package/IO/api/raceFirst.d.ts +2 -2
  52. package/IO/api/repeat.d.ts +3 -3
  53. package/IO/api/retry.d.ts +7 -7
  54. package/IO/api/schedule.d.ts +5 -5
  55. package/IO/api/scoped.d.ts +2 -2
  56. package/IO/api/supervised.d.ts +3 -3
  57. package/IO/api/timeout.d.ts +5 -5
  58. package/IO/api/withFinalizer.d.ts +3 -3
  59. package/IO/api/withFinalizerExit.d.ts +3 -3
  60. package/IO/api/withRuntimeConfig.d.ts +3 -3
  61. package/IO/api/zipC.d.ts +4 -4
  62. package/IO/api.d.ts +179 -176
  63. package/IO/definition.d.ts +15 -9
  64. package/Layer/MemoMap.d.ts +4 -4
  65. package/Layer/api.d.ts +28 -28
  66. package/LogLevel.d.ts +12 -12
  67. package/LogSpan.d.ts +2 -2
  68. package/Logger/api.d.ts +5 -5
  69. package/Queue/constructors.d.ts +2 -1
  70. package/Queue/definition.d.ts +91 -82
  71. package/Queue/internal.d.ts +7 -9
  72. package/Queue.d.ts +0 -2
  73. package/Ref/Atomic.d.ts +15 -2
  74. package/Ref/Synchronized.d.ts +72 -0
  75. package/Ref/constructors.d.ts +7 -0
  76. package/Ref/definition.d.ts +60 -58
  77. package/Ref.d.ts +1 -6
  78. package/STM/api/core-api.d.ts +10 -10
  79. package/STM/api.d.ts +61 -61
  80. package/STM/internal/Journal.d.ts +4 -4
  81. package/Schedule/Decision.d.ts +2 -2
  82. package/Schedule/api.d.ts +94 -94
  83. package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
  84. package/Scope/ReleaseMap/api.d.ts +10 -10
  85. package/Scope/api.d.ts +8 -8
  86. package/Sink/api.d.ts +68 -68
  87. package/State/api.d.ts +4 -4
  88. package/State/internal.d.ts +1 -1
  89. package/Stream/api/zipAllWith.d.ts +2 -2
  90. package/Stream/api/zipWith.d.ts +2 -2
  91. package/Stream/api/zipWithChunks.d.ts +2 -2
  92. package/Stream/api.d.ts +216 -205
  93. package/Stream/internal/DebounceState.d.ts +3 -3
  94. package/Stream/internal/Handoff.d.ts +5 -5
  95. package/Stream/internal/Pull.d.ts +2 -2
  96. package/Stream/internal/SinkEndReason.d.ts +3 -3
  97. package/Stream/internal/Take.d.ts +8 -8
  98. package/SubscriptionRef.d.ts +29 -0
  99. package/Supervisor/api.d.ts +4 -4
  100. package/SupervisorPatch.d.ts +4 -4
  101. package/TFuture/api.d.ts +7 -7
  102. package/TReentrantLock/api.d.ts +4 -4
  103. package/TRef/api.d.ts +24 -24
  104. package/TSemaphore/api.d.ts +4 -4
  105. package/TSemaphore/constructors.d.ts +6 -0
  106. package/_cjs/Cached/api.cjs +9 -9
  107. package/_cjs/Cached/api.cjs.map +1 -1
  108. package/_cjs/Channel/ChildExecutorDecision/api.cjs +19 -17
  109. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  110. package/_cjs/Channel/UpstreamPullRequest/api.cjs +16 -14
  111. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  112. package/_cjs/Channel/api/interruptWhen.cjs +14 -10
  113. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  114. package/_cjs/Channel/api/mapOutIOC.cjs +25 -25
  115. package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
  116. package/_cjs/Channel/api/mergeAll.cjs +6 -4
  117. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  118. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +6 -4
  119. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  120. package/_cjs/Channel/api/mergeAllWith.cjs +48 -52
  121. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  122. package/_cjs/Channel/api/mergeMap.cjs +6 -4
  123. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  124. package/_cjs/Channel/api/mergeWith.cjs +48 -46
  125. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  126. package/_cjs/Channel/api/run.cjs +1 -1
  127. package/_cjs/Channel/api/run.cjs.map +1 -1
  128. package/_cjs/Channel/api/runScoped.cjs +2 -2
  129. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  130. package/_cjs/Channel/api/toPull.cjs +3 -3
  131. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  132. package/_cjs/Channel/api/zipC.cjs +20 -14
  133. package/_cjs/Channel/api/zipC.cjs.map +1 -1
  134. package/_cjs/Channel/api.cjs +264 -218
  135. package/_cjs/Channel/api.cjs.map +1 -1
  136. package/_cjs/Channel/core-api.cjs +34 -24
  137. package/_cjs/Channel/core-api.cjs.map +1 -1
  138. package/_cjs/Channel/definition.cjs +1 -1
  139. package/_cjs/Channel/definition.cjs.map +1 -1
  140. package/_cjs/Channel/internal/ChannelExecutor.cjs +83 -83
  141. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  142. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +22 -24
  143. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  144. package/_cjs/Differ/api.cjs +5 -5
  145. package/_cjs/Differ/api.cjs.map +1 -1
  146. package/_cjs/Fiber/FiberContext.cjs +48 -48
  147. package/_cjs/Fiber/FiberContext.cjs.map +1 -1
  148. package/_cjs/Fiber/api/awaitAll.cjs +1 -1
  149. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  150. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  151. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  152. package/_cjs/Fiber/api/evalOn.cjs +12 -10
  153. package/_cjs/Fiber/api/evalOn.cjs.map +1 -1
  154. package/_cjs/Fiber/api/evalOnIO.cjs +6 -4
  155. package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -1
  156. package/_cjs/Fiber/api/fromIO.cjs +1 -1
  157. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  158. package/_cjs/Fiber/api/interrupt.cjs +1 -1
  159. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  160. package/_cjs/Fiber/api/interruptAll.cjs +2 -2
  161. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  162. package/_cjs/Fiber/api/interruptAs.cjs +6 -4
  163. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  164. package/_cjs/Fiber/api/interruptAsFork.cjs +6 -4
  165. package/_cjs/Fiber/api/interruptAsFork.cjs.map +1 -1
  166. package/_cjs/Fiber/api/interruptFork.cjs +1 -1
  167. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  168. package/_cjs/Fiber/api/join.cjs +1 -1
  169. package/_cjs/Fiber/api/join.cjs.map +1 -1
  170. package/_cjs/Fiber/api/joinAll.cjs +1 -1
  171. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  172. package/_cjs/Fiber/api/mapFiber.cjs +6 -4
  173. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  174. package/_cjs/Fiber/api/mapIO.cjs +14 -10
  175. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  176. package/_cjs/Fiber/api/zipWith.cjs +6 -4
  177. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  178. package/_cjs/Fiber/definition.cjs.map +1 -1
  179. package/_cjs/Fiber.cjs +13 -0
  180. package/_cjs/Fiber.cjs.map +1 -1
  181. package/_cjs/FiberRef/api/locallyScoped.cjs +6 -4
  182. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  183. package/_cjs/FiberRef/api/locallyScopedWith.cjs +5 -3
  184. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  185. package/_cjs/FiberRef/api.cjs +64 -47
  186. package/_cjs/FiberRef/api.cjs.map +1 -1
  187. package/_cjs/FiberRef/constructors.cjs +1 -1
  188. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  189. package/_cjs/FiberRef.cjs.map +1 -1
  190. package/_cjs/FiberRefs/api.cjs +15 -13
  191. package/_cjs/FiberRefs/api.cjs.map +1 -1
  192. package/_cjs/FiberRefs/join.cjs +37 -35
  193. package/_cjs/FiberRefs/join.cjs.map +1 -1
  194. package/_cjs/FiberState/definition.cjs.map +1 -1
  195. package/_cjs/Future/api.cjs +97 -79
  196. package/_cjs/Future/api.cjs.map +1 -1
  197. package/_cjs/Future/constructors.cjs +1 -1
  198. package/_cjs/Future/constructors.cjs.map +1 -1
  199. package/_cjs/Hub/constructors.cjs +93 -0
  200. package/_cjs/Hub/constructors.cjs.map +1 -0
  201. package/_cjs/Hub/definition.cjs +104 -13
  202. package/_cjs/Hub/definition.cjs.map +1 -1
  203. package/_cjs/Hub/internal.cjs +104 -129
  204. package/_cjs/Hub/internal.cjs.map +1 -1
  205. package/_cjs/Hub.cjs +4 -4
  206. package/_cjs/IO/api/acquireReleaseExit.cjs +1 -1
  207. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  208. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -1
  209. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  210. package/_cjs/IO/api/addFinalizerExit.cjs +1 -1
  211. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  212. package/_cjs/IO/api/asyncIO.cjs +4 -4
  213. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  214. package/_cjs/IO/api/bracket.cjs +3 -3
  215. package/_cjs/IO/api/bracket.cjs.map +1 -1
  216. package/_cjs/IO/api/bracketExit.cjs +3 -3
  217. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  218. package/_cjs/IO/api/clockWith.cjs +2 -2
  219. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  220. package/_cjs/IO/api/concurrency.cjs +9 -7
  221. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  222. package/_cjs/IO/api/concurrentFinalizers.cjs +1 -1
  223. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  224. package/_cjs/IO/api/consoleWith.cjs +2 -2
  225. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  226. package/_cjs/IO/api/core-scope.cjs +45 -41
  227. package/_cjs/IO/api/core-scope.cjs.map +1 -1
  228. package/_cjs/IO/api/ensuringChildren.cjs +5 -3
  229. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  230. package/_cjs/IO/api/environment.cjs +35 -35
  231. package/_cjs/IO/api/environment.cjs.map +1 -1
  232. package/_cjs/IO/api/foreachC.cjs +19 -23
  233. package/_cjs/IO/api/foreachC.cjs.map +1 -1
  234. package/_cjs/IO/api/foreachExec.cjs +3 -3
  235. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  236. package/_cjs/IO/api/forkAll.cjs +1 -1
  237. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  238. package/_cjs/IO/api/forkIn.cjs +8 -6
  239. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  240. package/_cjs/IO/api/forkScoped.cjs +1 -1
  241. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  242. package/_cjs/IO/api/fulfill.cjs +8 -6
  243. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  244. package/_cjs/IO/api/interrupt.cjs +36 -30
  245. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  246. package/_cjs/IO/api/memoize.cjs +1 -1
  247. package/_cjs/IO/api/memoize.cjs.map +1 -1
  248. package/_cjs/IO/api/onExit.cjs +6 -4
  249. package/_cjs/IO/api/onExit.cjs.map +1 -1
  250. package/_cjs/IO/api/onTermination.cjs +5 -3
  251. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  252. package/_cjs/IO/api/once.cjs +3 -5
  253. package/_cjs/IO/api/once.cjs.map +1 -1
  254. package/_cjs/IO/api/provideLayer.cjs +6 -4
  255. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  256. package/_cjs/IO/api/provideSomeLayer.cjs +5 -15
  257. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  258. package/_cjs/IO/api/race.cjs +6 -4
  259. package/_cjs/IO/api/race.cjs.map +1 -1
  260. package/_cjs/IO/api/raceFirst.cjs +6 -4
  261. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  262. package/_cjs/IO/api/randomWith.cjs +1 -1
  263. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  264. package/_cjs/IO/api/repeat.cjs +12 -12
  265. package/_cjs/IO/api/repeat.cjs.map +1 -1
  266. package/_cjs/IO/api/retry.cjs +14 -14
  267. package/_cjs/IO/api/retry.cjs.map +1 -1
  268. package/_cjs/IO/api/schedule.cjs +15 -11
  269. package/_cjs/IO/api/schedule.cjs.map +1 -1
  270. package/_cjs/IO/api/scoped.cjs +6 -6
  271. package/_cjs/IO/api/scoped.cjs.map +1 -1
  272. package/_cjs/IO/api/sequenceT.cjs +1 -1
  273. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  274. package/_cjs/IO/api/stateful.cjs.map +1 -1
  275. package/_cjs/IO/api/supervised.cjs +6 -4
  276. package/_cjs/IO/api/supervised.cjs.map +1 -1
  277. package/_cjs/IO/api/timeout.cjs +10 -6
  278. package/_cjs/IO/api/timeout.cjs.map +1 -1
  279. package/_cjs/IO/api/withChildren.cjs +1 -1
  280. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  281. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  282. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  283. package/_cjs/IO/api/withFinalizer.cjs +6 -4
  284. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  285. package/_cjs/IO/api/withFinalizerExit.cjs +6 -4
  286. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  287. package/_cjs/IO/api/withRuntimeConfig.cjs +6 -4
  288. package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -1
  289. package/_cjs/IO/api/zipC.cjs +21 -17
  290. package/_cjs/IO/api/zipC.cjs.map +1 -1
  291. package/_cjs/IO/api.cjs +634 -509
  292. package/_cjs/IO/api.cjs.map +1 -1
  293. package/_cjs/IO/definition.cjs.map +1 -1
  294. package/_cjs/IO/runtime.cjs +7 -7
  295. package/_cjs/IO/runtime.cjs.map +1 -1
  296. package/_cjs/IO.cjs.map +1 -1
  297. package/_cjs/IOEnv/definition.cjs +1 -1
  298. package/_cjs/IOEnv/definition.cjs.map +1 -1
  299. package/_cjs/IOEnv/live.cjs +1 -1
  300. package/_cjs/IOEnv/live.cjs.map +1 -1
  301. package/_cjs/Layer/MemoMap.cjs +86 -92
  302. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  303. package/_cjs/Layer/api.cjs +110 -81
  304. package/_cjs/Layer/api.cjs.map +1 -1
  305. package/_cjs/Layer/definition.cjs.map +1 -1
  306. package/_cjs/LogLevel.cjs +24 -16
  307. package/_cjs/LogLevel.cjs.map +1 -1
  308. package/_cjs/LogSpan.cjs +18 -16
  309. package/_cjs/LogSpan.cjs.map +1 -1
  310. package/_cjs/Logger/api.cjs +18 -14
  311. package/_cjs/Logger/api.cjs.map +1 -1
  312. package/_cjs/Logger/constructors.cjs +1 -1
  313. package/_cjs/Logger/constructors.cjs.map +1 -1
  314. package/_cjs/Queue/constructors.cjs +19 -5
  315. package/_cjs/Queue/constructors.cjs.map +1 -1
  316. package/_cjs/Queue/definition.cjs +191 -16
  317. package/_cjs/Queue/definition.cjs.map +1 -1
  318. package/_cjs/Queue/internal.cjs +27 -181
  319. package/_cjs/Queue/internal.cjs.map +1 -1
  320. package/_cjs/Queue/strategy.cjs +19 -19
  321. package/_cjs/Queue/strategy.cjs.map +1 -1
  322. package/_cjs/Queue.cjs +0 -26
  323. package/_cjs/Queue.cjs.map +1 -1
  324. package/_cjs/Random/live.cjs +2 -2
  325. package/_cjs/Random/live.cjs.map +1 -1
  326. package/_cjs/Ref/Atomic.cjs +47 -24
  327. package/_cjs/Ref/Atomic.cjs.map +1 -1
  328. package/_cjs/Ref/Synchronized.cjs +140 -0
  329. package/_cjs/Ref/Synchronized.cjs.map +1 -0
  330. package/_cjs/Ref/constructors.cjs +21 -2
  331. package/_cjs/Ref/constructors.cjs.map +1 -1
  332. package/_cjs/Ref/definition.cjs +105 -10
  333. package/_cjs/Ref/definition.cjs.map +1 -1
  334. package/_cjs/Ref.cjs +4 -69
  335. package/_cjs/Ref.cjs.map +1 -1
  336. package/_cjs/Reloadable/constructors.cjs +10 -10
  337. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  338. package/_cjs/RuntimeConfig.cjs +2 -2
  339. package/_cjs/RuntimeConfig.cjs.map +1 -1
  340. package/_cjs/STM/api/core-api.cjs +36 -26
  341. package/_cjs/STM/api/core-api.cjs.map +1 -1
  342. package/_cjs/STM/api.cjs +217 -163
  343. package/_cjs/STM/api.cjs.map +1 -1
  344. package/_cjs/STM/driver.cjs +3 -3
  345. package/_cjs/STM/driver.cjs.map +1 -1
  346. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  347. package/_cjs/STM/internal/Journal.cjs +33 -29
  348. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  349. package/_cjs/STM.cjs.map +1 -1
  350. package/_cjs/Schedule/Decision.cjs +16 -14
  351. package/_cjs/Schedule/Decision.cjs.map +1 -1
  352. package/_cjs/Schedule/api/driver.cjs +16 -20
  353. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  354. package/_cjs/Schedule/api.cjs +381 -290
  355. package/_cjs/Schedule/api.cjs.map +1 -1
  356. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +14 -14
  357. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  358. package/_cjs/Scope/ReleaseMap/api.cjs +68 -61
  359. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  360. package/_cjs/Scope/api.cjs +34 -27
  361. package/_cjs/Scope/api.cjs.map +1 -1
  362. package/_cjs/ScopedRef/api.cjs +9 -13
  363. package/_cjs/ScopedRef/api.cjs.map +1 -1
  364. package/_cjs/ScopedRef/definition.cjs +1 -1
  365. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  366. package/_cjs/Sink/api.cjs +307 -249
  367. package/_cjs/Sink/api.cjs.map +1 -1
  368. package/_cjs/State/api.cjs +18 -14
  369. package/_cjs/State/api.cjs.map +1 -1
  370. package/_cjs/Stream/api/zipAllWith.cjs +15 -13
  371. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  372. package/_cjs/Stream/api/zipWith.cjs +6 -4
  373. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  374. package/_cjs/Stream/api/zipWithChunks.cjs +13 -11
  375. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  376. package/_cjs/Stream/api.cjs +992 -788
  377. package/_cjs/Stream/api.cjs.map +1 -1
  378. package/_cjs/Stream/definition.cjs.map +1 -1
  379. package/_cjs/Stream/internal/DebounceState.cjs +21 -19
  380. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  381. package/_cjs/Stream/internal/Handoff.cjs +35 -33
  382. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  383. package/_cjs/Stream/internal/Pull.cjs +9 -11
  384. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  385. package/_cjs/Stream/internal/SinkEndReason.cjs +16 -14
  386. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  387. package/_cjs/Stream/internal/Take.cjs +32 -24
  388. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  389. package/_cjs/Stream/internal/util.cjs +3 -3
  390. package/_cjs/Stream/internal/util.cjs.map +1 -1
  391. package/_cjs/SubscriptionRef.cjs +68 -0
  392. package/_cjs/SubscriptionRef.cjs.map +1 -0
  393. package/_cjs/Supervisor/api.cjs +24 -20
  394. package/_cjs/Supervisor/api.cjs.map +1 -1
  395. package/_cjs/Supervisor/constructors.cjs +2 -2
  396. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  397. package/_cjs/Supervisor/definition.cjs +1 -1
  398. package/_cjs/Supervisor/definition.cjs.map +1 -1
  399. package/_cjs/SupervisorPatch.cjs +15 -11
  400. package/_cjs/SupervisorPatch.cjs.map +1 -1
  401. package/_cjs/TExit/definition.cjs.map +1 -1
  402. package/_cjs/TFuture/api.cjs +21 -15
  403. package/_cjs/TFuture/api.cjs.map +1 -1
  404. package/_cjs/TFuture/constructors.cjs +1 -1
  405. package/_cjs/TFuture/constructors.cjs.map +1 -1
  406. package/_cjs/TFuture/definition.cjs.map +1 -1
  407. package/_cjs/TReentrantLock/api.cjs +32 -28
  408. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  409. package/_cjs/TReentrantLock/definition.cjs +4 -4
  410. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  411. package/_cjs/TRef/api.cjs +233 -209
  412. package/_cjs/TRef/api.cjs.map +1 -1
  413. package/_cjs/TRef/definition.cjs +4 -4
  414. package/_cjs/TRef/definition.cjs.map +1 -1
  415. package/_cjs/TSemaphore/api.cjs +27 -23
  416. package/_cjs/TSemaphore/api.cjs.map +1 -1
  417. package/_cjs/TSemaphore/constructors.cjs +18 -3
  418. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  419. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +21 -19
  420. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  421. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +21 -19
  422. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  423. package/_cjs/collection/immutable/Conc/filterIO.cjs +16 -14
  424. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  425. package/_cjs/collection/immutable/Conc/findIO.cjs +19 -17
  426. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  427. package/_cjs/collection/immutable/Conc/mapIO.cjs +11 -9
  428. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  429. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +31 -29
  430. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  431. package/_cjs/data/Exit/foreachIO.cjs +6 -4
  432. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  433. package/_cjs/internal/Hub.cjs +13 -11
  434. package/_cjs/internal/Hub.cjs.map +1 -1
  435. package/_cjs/internal/IsFatal.cjs +18 -16
  436. package/_cjs/internal/IsFatal.cjs.map +1 -1
  437. package/_cjs/internal/MutableQueue.cjs +11 -9
  438. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  439. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  440. package/_mjs/Cached/api.mjs +6 -6
  441. package/_mjs/Cached/api.mjs.map +1 -1
  442. package/_mjs/Channel/ChildExecutorDecision/api.mjs +18 -16
  443. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  444. package/_mjs/Channel/UpstreamPullRequest/api.mjs +14 -12
  445. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  446. package/_mjs/Channel/api/interruptWhen.mjs +11 -7
  447. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  448. package/_mjs/Channel/api/mapOutIOC.mjs +24 -23
  449. package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
  450. package/_mjs/Channel/api/mergeAll.mjs +5 -3
  451. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  452. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +5 -3
  453. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  454. package/_mjs/Channel/api/mergeAllWith.mjs +45 -46
  455. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  456. package/_mjs/Channel/api/mergeMap.mjs +5 -3
  457. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  458. package/_mjs/Channel/api/mergeWith.mjs +46 -44
  459. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  460. package/_mjs/Channel/api/run.mjs +1 -1
  461. package/_mjs/Channel/api/run.mjs.map +1 -1
  462. package/_mjs/Channel/api/runScoped.mjs +2 -2
  463. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  464. package/_mjs/Channel/api/toPull.mjs +3 -3
  465. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  466. package/_mjs/Channel/api/zipC.mjs +16 -10
  467. package/_mjs/Channel/api/zipC.mjs.map +1 -1
  468. package/_mjs/Channel/api.mjs +224 -173
  469. package/_mjs/Channel/api.mjs.map +1 -1
  470. package/_mjs/Channel/core-api.mjs +28 -18
  471. package/_mjs/Channel/core-api.mjs.map +1 -1
  472. package/_mjs/Channel/definition.mjs +1 -1
  473. package/_mjs/Channel/definition.mjs.map +1 -1
  474. package/_mjs/Channel/internal/ChannelExecutor.mjs +83 -83
  475. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  476. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +22 -23
  477. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  478. package/_mjs/Differ/api.mjs +5 -5
  479. package/_mjs/Differ/api.mjs.map +1 -1
  480. package/_mjs/Fiber/FiberContext.mjs +48 -48
  481. package/_mjs/Fiber/FiberContext.mjs.map +1 -1
  482. package/_mjs/Fiber/api/awaitAll.mjs +1 -1
  483. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  484. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  485. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  486. package/_mjs/Fiber/api/evalOn.mjs +11 -9
  487. package/_mjs/Fiber/api/evalOn.mjs.map +1 -1
  488. package/_mjs/Fiber/api/evalOnIO.mjs +5 -3
  489. package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -1
  490. package/_mjs/Fiber/api/fromIO.mjs +1 -1
  491. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  492. package/_mjs/Fiber/api/interrupt.mjs +1 -1
  493. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  494. package/_mjs/Fiber/api/interruptAll.mjs +2 -2
  495. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  496. package/_mjs/Fiber/api/interruptAs.mjs +6 -4
  497. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  498. package/_mjs/Fiber/api/interruptAsFork.mjs +6 -4
  499. package/_mjs/Fiber/api/interruptAsFork.mjs.map +1 -1
  500. package/_mjs/Fiber/api/interruptFork.mjs +1 -1
  501. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  502. package/_mjs/Fiber/api/join.mjs +1 -1
  503. package/_mjs/Fiber/api/join.mjs.map +1 -1
  504. package/_mjs/Fiber/api/joinAll.mjs +1 -1
  505. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  506. package/_mjs/Fiber/api/mapFiber.mjs +5 -3
  507. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  508. package/_mjs/Fiber/api/mapIO.mjs +11 -7
  509. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  510. package/_mjs/Fiber/api/zipWith.mjs +5 -3
  511. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  512. package/_mjs/Fiber/definition.mjs.map +1 -1
  513. package/_mjs/Fiber.mjs +1 -0
  514. package/_mjs/Fiber.mjs.map +1 -1
  515. package/_mjs/FiberRef/api/locallyScoped.mjs +5 -3
  516. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  517. package/_mjs/FiberRef/api/locallyScopedWith.mjs +5 -3
  518. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  519. package/_mjs/FiberRef/api.mjs +52 -36
  520. package/_mjs/FiberRef/api.mjs.map +1 -1
  521. package/_mjs/FiberRef/constructors.mjs +1 -1
  522. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  523. package/_mjs/FiberRef.mjs.map +1 -1
  524. package/_mjs/FiberRefs/api.mjs +14 -12
  525. package/_mjs/FiberRefs/api.mjs.map +1 -1
  526. package/_mjs/FiberRefs/join.mjs +35 -33
  527. package/_mjs/FiberRefs/join.mjs.map +1 -1
  528. package/_mjs/FiberState/definition.mjs.map +1 -1
  529. package/_mjs/Future/api.mjs +84 -66
  530. package/_mjs/Future/api.mjs.map +1 -1
  531. package/_mjs/Future/constructors.mjs +1 -1
  532. package/_mjs/Future/constructors.mjs.map +1 -1
  533. package/_mjs/Hub/constructors.mjs +66 -0
  534. package/_mjs/Hub/constructors.mjs.map +1 -0
  535. package/_mjs/Hub/definition.mjs +88 -9
  536. package/_mjs/Hub/definition.mjs.map +1 -1
  537. package/_mjs/Hub/internal.mjs +105 -122
  538. package/_mjs/Hub/internal.mjs.map +1 -1
  539. package/_mjs/Hub.mjs +1 -1
  540. package/_mjs/Hub.mjs.map +1 -1
  541. package/_mjs/IO/api/acquireReleaseExit.mjs +1 -1
  542. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  543. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +1 -1
  544. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  545. package/_mjs/IO/api/addFinalizerExit.mjs +1 -1
  546. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  547. package/_mjs/IO/api/asyncIO.mjs +4 -4
  548. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  549. package/_mjs/IO/api/bracket.mjs +2 -2
  550. package/_mjs/IO/api/bracket.mjs.map +1 -1
  551. package/_mjs/IO/api/bracketExit.mjs +2 -2
  552. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  553. package/_mjs/IO/api/clockWith.mjs +2 -2
  554. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  555. package/_mjs/IO/api/concurrency.mjs +8 -6
  556. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  557. package/_mjs/IO/api/concurrentFinalizers.mjs +1 -1
  558. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  559. package/_mjs/IO/api/consoleWith.mjs +2 -2
  560. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  561. package/_mjs/IO/api/core-scope.mjs +40 -36
  562. package/_mjs/IO/api/core-scope.mjs.map +1 -1
  563. package/_mjs/IO/api/ensuringChildren.mjs +5 -3
  564. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  565. package/_mjs/IO/api/environment.mjs +29 -27
  566. package/_mjs/IO/api/environment.mjs.map +1 -1
  567. package/_mjs/IO/api/foreachC.mjs +17 -19
  568. package/_mjs/IO/api/foreachC.mjs.map +1 -1
  569. package/_mjs/IO/api/foreachExec.mjs +2 -2
  570. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  571. package/_mjs/IO/api/forkAll.mjs +1 -1
  572. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  573. package/_mjs/IO/api/forkIn.mjs +7 -5
  574. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  575. package/_mjs/IO/api/forkScoped.mjs +1 -1
  576. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  577. package/_mjs/IO/api/fulfill.mjs +7 -5
  578. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  579. package/_mjs/IO/api/interrupt.mjs +34 -28
  580. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  581. package/_mjs/IO/api/memoize.mjs +1 -1
  582. package/_mjs/IO/api/memoize.mjs.map +1 -1
  583. package/_mjs/IO/api/onExit.mjs +5 -3
  584. package/_mjs/IO/api/onExit.mjs.map +1 -1
  585. package/_mjs/IO/api/onTermination.mjs +5 -3
  586. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  587. package/_mjs/IO/api/once.mjs +3 -4
  588. package/_mjs/IO/api/once.mjs.map +1 -1
  589. package/_mjs/IO/api/provideLayer.mjs +5 -3
  590. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  591. package/_mjs/IO/api/provideSomeLayer.mjs +5 -11
  592. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  593. package/_mjs/IO/api/race.mjs +5 -3
  594. package/_mjs/IO/api/race.mjs.map +1 -1
  595. package/_mjs/IO/api/raceFirst.mjs +5 -3
  596. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  597. package/_mjs/IO/api/randomWith.mjs +1 -1
  598. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  599. package/_mjs/IO/api/repeat.mjs +8 -8
  600. package/_mjs/IO/api/repeat.mjs.map +1 -1
  601. package/_mjs/IO/api/retry.mjs +12 -12
  602. package/_mjs/IO/api/retry.mjs.map +1 -1
  603. package/_mjs/IO/api/schedule.mjs +15 -11
  604. package/_mjs/IO/api/schedule.mjs.map +1 -1
  605. package/_mjs/IO/api/scoped.mjs +3 -3
  606. package/_mjs/IO/api/scoped.mjs.map +1 -1
  607. package/_mjs/IO/api/sequenceT.mjs +1 -1
  608. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  609. package/_mjs/IO/api/stateful.mjs.map +1 -1
  610. package/_mjs/IO/api/supervised.mjs +5 -3
  611. package/_mjs/IO/api/supervised.mjs.map +1 -1
  612. package/_mjs/IO/api/timeout.mjs +10 -6
  613. package/_mjs/IO/api/timeout.mjs.map +1 -1
  614. package/_mjs/IO/api/withChildren.mjs +1 -1
  615. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  616. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  617. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  618. package/_mjs/IO/api/withFinalizer.mjs +5 -3
  619. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  620. package/_mjs/IO/api/withFinalizerExit.mjs +5 -3
  621. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  622. package/_mjs/IO/api/withRuntimeConfig.mjs +5 -3
  623. package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -1
  624. package/_mjs/IO/api/zipC.mjs +18 -14
  625. package/_mjs/IO/api/zipC.mjs.map +1 -1
  626. package/_mjs/IO/api.mjs +511 -387
  627. package/_mjs/IO/api.mjs.map +1 -1
  628. package/_mjs/IO/definition.mjs.map +1 -1
  629. package/_mjs/IO/runtime.mjs +7 -7
  630. package/_mjs/IO/runtime.mjs.map +1 -1
  631. package/_mjs/IO.mjs.map +1 -1
  632. package/_mjs/IOEnv/definition.mjs +1 -1
  633. package/_mjs/IOEnv/definition.mjs.map +1 -1
  634. package/_mjs/IOEnv/live.mjs +1 -1
  635. package/_mjs/IOEnv/live.mjs.map +1 -1
  636. package/_mjs/Layer/MemoMap.mjs +86 -87
  637. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  638. package/_mjs/Layer/api.mjs +91 -63
  639. package/_mjs/Layer/api.mjs.map +1 -1
  640. package/_mjs/Layer/definition.mjs.map +1 -1
  641. package/_mjs/LogLevel.mjs +24 -16
  642. package/_mjs/LogLevel.mjs.map +1 -1
  643. package/_mjs/LogSpan.mjs +16 -14
  644. package/_mjs/LogSpan.mjs.map +1 -1
  645. package/_mjs/Logger/api.mjs +16 -12
  646. package/_mjs/Logger/api.mjs.map +1 -1
  647. package/_mjs/Logger/constructors.mjs +1 -1
  648. package/_mjs/Logger/constructors.mjs.map +1 -1
  649. package/_mjs/Queue/constructors.mjs +16 -5
  650. package/_mjs/Queue/constructors.mjs.map +1 -1
  651. package/_mjs/Queue/definition.mjs +174 -12
  652. package/_mjs/Queue/definition.mjs.map +1 -1
  653. package/_mjs/Queue/internal.mjs +21 -170
  654. package/_mjs/Queue/internal.mjs.map +1 -1
  655. package/_mjs/Queue/strategy.mjs +20 -23
  656. package/_mjs/Queue/strategy.mjs.map +1 -1
  657. package/_mjs/Queue.mjs +1 -3
  658. package/_mjs/Queue.mjs.map +1 -1
  659. package/_mjs/Random/live.mjs +2 -2
  660. package/_mjs/Random/live.mjs.map +1 -1
  661. package/_mjs/Ref/Atomic.mjs +39 -3
  662. package/_mjs/Ref/Atomic.mjs.map +1 -1
  663. package/_mjs/Ref/Synchronized.mjs +123 -0
  664. package/_mjs/Ref/Synchronized.mjs.map +1 -0
  665. package/_mjs/Ref/constructors.mjs +15 -1
  666. package/_mjs/Ref/constructors.mjs.map +1 -1
  667. package/_mjs/Ref/definition.mjs +96 -4
  668. package/_mjs/Ref/definition.mjs.map +1 -1
  669. package/_mjs/Ref.mjs +1 -8
  670. package/_mjs/Ref.mjs.map +1 -1
  671. package/_mjs/Reloadable/constructors.mjs +10 -10
  672. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  673. package/_mjs/RuntimeConfig.mjs +2 -2
  674. package/_mjs/RuntimeConfig.mjs.map +1 -1
  675. package/_mjs/STM/api/core-api.mjs +29 -19
  676. package/_mjs/STM/api/core-api.mjs.map +1 -1
  677. package/_mjs/STM/api.mjs +180 -127
  678. package/_mjs/STM/api.mjs.map +1 -1
  679. package/_mjs/STM/driver.mjs +3 -3
  680. package/_mjs/STM/driver.mjs.map +1 -1
  681. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  682. package/_mjs/STM/internal/Journal.mjs +33 -29
  683. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  684. package/_mjs/STM.mjs.map +1 -1
  685. package/_mjs/Schedule/Decision.mjs +14 -12
  686. package/_mjs/Schedule/Decision.mjs.map +1 -1
  687. package/_mjs/Schedule/api/driver.mjs +15 -17
  688. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  689. package/_mjs/Schedule/api.mjs +326 -234
  690. package/_mjs/Schedule/api.mjs.map +1 -1
  691. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +12 -11
  692. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  693. package/_mjs/Scope/ReleaseMap/api.mjs +60 -51
  694. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  695. package/_mjs/Scope/api.mjs +28 -22
  696. package/_mjs/Scope/api.mjs.map +1 -1
  697. package/_mjs/ScopedRef/api.mjs +9 -11
  698. package/_mjs/ScopedRef/api.mjs.map +1 -1
  699. package/_mjs/ScopedRef/definition.mjs +1 -1
  700. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  701. package/_mjs/Sink/api.mjs +301 -240
  702. package/_mjs/Sink/api.mjs.map +1 -1
  703. package/_mjs/State/api.mjs +16 -12
  704. package/_mjs/State/api.mjs.map +1 -1
  705. package/_mjs/Stream/api/zipAllWith.mjs +14 -12
  706. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  707. package/_mjs/Stream/api/zipWith.mjs +5 -3
  708. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  709. package/_mjs/Stream/api/zipWithChunks.mjs +12 -10
  710. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  711. package/_mjs/Stream/api.mjs +856 -653
  712. package/_mjs/Stream/api.mjs.map +1 -1
  713. package/_mjs/Stream/definition.mjs.map +1 -1
  714. package/_mjs/Stream/internal/DebounceState.mjs +18 -16
  715. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  716. package/_mjs/Stream/internal/Handoff.mjs +35 -32
  717. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  718. package/_mjs/Stream/internal/Pull.mjs +9 -10
  719. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  720. package/_mjs/Stream/internal/SinkEndReason.mjs +14 -12
  721. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  722. package/_mjs/Stream/internal/Take.mjs +28 -20
  723. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  724. package/_mjs/Stream/internal/util.mjs +3 -3
  725. package/_mjs/Stream/internal/util.mjs.map +1 -1
  726. package/_mjs/SubscriptionRef.mjs +45 -0
  727. package/_mjs/SubscriptionRef.mjs.map +1 -0
  728. package/_mjs/Supervisor/api.mjs +22 -18
  729. package/_mjs/Supervisor/api.mjs.map +1 -1
  730. package/_mjs/Supervisor/constructors.mjs +2 -2
  731. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  732. package/_mjs/Supervisor/definition.mjs +1 -1
  733. package/_mjs/Supervisor/definition.mjs.map +1 -1
  734. package/_mjs/SupervisorPatch.mjs +15 -11
  735. package/_mjs/SupervisorPatch.mjs.map +1 -1
  736. package/_mjs/TExit/definition.mjs.map +1 -1
  737. package/_mjs/TFuture/api.mjs +17 -11
  738. package/_mjs/TFuture/api.mjs.map +1 -1
  739. package/_mjs/TFuture/constructors.mjs +1 -1
  740. package/_mjs/TFuture/constructors.mjs.map +1 -1
  741. package/_mjs/TFuture/definition.mjs.map +1 -1
  742. package/_mjs/TReentrantLock/api.mjs +32 -28
  743. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  744. package/_mjs/TReentrantLock/definition.mjs +4 -4
  745. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  746. package/_mjs/TRef/api.mjs +218 -194
  747. package/_mjs/TRef/api.mjs.map +1 -1
  748. package/_mjs/TRef/definition.mjs +4 -4
  749. package/_mjs/TRef/definition.mjs.map +1 -1
  750. package/_mjs/TSemaphore/api.mjs +23 -19
  751. package/_mjs/TSemaphore/api.mjs.map +1 -1
  752. package/_mjs/TSemaphore/constructors.mjs +12 -2
  753. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  754. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +19 -17
  755. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  756. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +19 -17
  757. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  758. package/_mjs/collection/immutable/Conc/filterIO.mjs +14 -12
  759. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  760. package/_mjs/collection/immutable/Conc/findIO.mjs +17 -15
  761. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  762. package/_mjs/collection/immutable/Conc/mapIO.mjs +10 -8
  763. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  764. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +28 -26
  765. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  766. package/_mjs/data/Exit/foreachIO.mjs +5 -3
  767. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  768. package/_mjs/internal/Hub.mjs +13 -11
  769. package/_mjs/internal/Hub.mjs.map +1 -1
  770. package/_mjs/internal/IsFatal.mjs +18 -16
  771. package/_mjs/internal/IsFatal.mjs.map +1 -1
  772. package/_mjs/internal/MutableQueue.mjs +10 -8
  773. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  774. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  775. package/_src/Cached/api.ts +2 -2
  776. package/_src/Channel/ChildExecutorDecision/api.ts +14 -17
  777. package/_src/Channel/UpstreamPullRequest/api.ts +11 -13
  778. package/_src/Channel/api/interruptWhen.ts +18 -17
  779. package/_src/Channel/api/mapOutIOC.ts +58 -58
  780. package/_src/Channel/api/mergeAll.ts +15 -16
  781. package/_src/Channel/api/mergeAllUnboundedWith.ts +15 -27
  782. package/_src/Channel/api/mergeAllWith.ts +114 -126
  783. package/_src/Channel/api/mergeMap.ts +8 -18
  784. package/_src/Channel/api/mergeWith.ts +154 -158
  785. package/_src/Channel/api/toPull.ts +1 -1
  786. package/_src/Channel/api/zipC.ts +52 -88
  787. package/_src/Channel/api.ts +345 -405
  788. package/_src/Channel/core-api.ts +75 -122
  789. package/_src/Channel/definition.ts +49 -7
  790. package/_src/Channel/internal/ChannelExecutor.ts +1 -5
  791. package/_src/Channel/internal/SingleProducerAsyncInput.ts +1 -3
  792. package/_src/Fiber/FiberContext.ts +13 -33
  793. package/_src/Fiber/api/collectAll.ts +1 -2
  794. package/_src/Fiber/api/evalOn.ts +11 -14
  795. package/_src/Fiber/api/evalOnIO.ts +10 -13
  796. package/_src/Fiber/api/interruptAll.ts +1 -2
  797. package/_src/Fiber/api/interruptAs.ts +6 -4
  798. package/_src/Fiber/api/interruptAsFork.ts +6 -4
  799. package/_src/Fiber/api/interruptFork.ts +1 -1
  800. package/_src/Fiber/api/mapFiber.ts +5 -7
  801. package/_src/Fiber/api/mapIO.ts +21 -21
  802. package/_src/Fiber/api/zipWith.ts +14 -17
  803. package/_src/Fiber/definition.ts +1 -15
  804. package/_src/Fiber.ts +1 -1
  805. package/_src/FiberRef/api/locallyScoped.ts +8 -6
  806. package/_src/FiberRef/api/locallyScopedWith.ts +5 -7
  807. package/_src/FiberRef/api.ts +50 -39
  808. package/_src/FiberRef.ts +0 -1
  809. package/_src/FiberRefs/api.ts +14 -12
  810. package/_src/FiberRefs/join.ts +37 -46
  811. package/_src/FiberState/definition.ts +1 -2
  812. package/_src/Future/api.ts +67 -53
  813. package/_src/Hub/constructors.ts +80 -0
  814. package/_src/Hub/definition.ts +95 -89
  815. package/_src/Hub/internal.ts +115 -165
  816. package/_src/Hub.ts +1 -1
  817. package/_src/IO/api/acquireRelease.ts +1 -1
  818. package/_src/IO/api/acquireReleaseExit.ts +1 -1
  819. package/_src/IO/api/bracket.ts +1 -1
  820. package/_src/IO/api/bracketExit.ts +1 -1
  821. package/_src/IO/api/clockWith.ts +0 -1
  822. package/_src/IO/api/concurrency.ts +5 -7
  823. package/_src/IO/api/consoleWith.ts +0 -2
  824. package/_src/IO/api/core-scope.ts +36 -33
  825. package/_src/IO/api/ensuringChildren.ts +8 -7
  826. package/_src/IO/api/environment.ts +24 -42
  827. package/_src/IO/api/foreachC.ts +24 -12
  828. package/_src/IO/api/foreachExec.ts +1 -1
  829. package/_src/IO/api/forkIn.ts +7 -9
  830. package/_src/IO/api/fulfill.ts +5 -3
  831. package/_src/IO/api/interrupt.ts +37 -40
  832. package/_src/IO/api/onExit.ts +8 -10
  833. package/_src/IO/api/onTermination.ts +12 -14
  834. package/_src/IO/api/provideLayer.ts +8 -10
  835. package/_src/IO/api/provideSomeLayer.ts +5 -14
  836. package/_src/IO/api/race.ts +19 -21
  837. package/_src/IO/api/raceFirst.ts +5 -7
  838. package/_src/IO/api/repeat.ts +3 -5
  839. package/_src/IO/api/retry.ts +19 -21
  840. package/_src/IO/api/schedule.ts +20 -21
  841. package/_src/IO/api/scoped.ts +2 -2
  842. package/_src/IO/api/sequenceT.ts +7 -1
  843. package/_src/IO/api/stateful.ts +0 -2
  844. package/_src/IO/api/supervised.ts +5 -7
  845. package/_src/IO/api/timeout.ts +10 -16
  846. package/_src/IO/api/withFinalizer.ts +5 -7
  847. package/_src/IO/api/withFinalizerExit.ts +6 -5
  848. package/_src/IO/api/withRuntimeConfig.ts +12 -14
  849. package/_src/IO/api/zipC.ts +57 -62
  850. package/_src/IO/api.ts +512 -539
  851. package/_src/IO/definition.ts +21 -9
  852. package/_src/IO/runtime.ts +0 -12
  853. package/_src/IO.ts +0 -1
  854. package/_src/Layer/MemoMap.ts +61 -63
  855. package/_src/Layer/api.ts +95 -104
  856. package/_src/Layer/definition.ts +0 -1
  857. package/_src/LogLevel.ts +24 -16
  858. package/_src/LogSpan.ts +16 -16
  859. package/_src/Logger/api.ts +18 -17
  860. package/_src/Logger/constructors.ts +9 -15
  861. package/_src/Queue/constructors.ts +22 -6
  862. package/_src/Queue/definition.ts +230 -81
  863. package/_src/Queue/internal.ts +9 -180
  864. package/_src/Queue/strategy.ts +9 -23
  865. package/_src/Queue.ts +1 -3
  866. package/_src/Ref/Atomic.ts +37 -4
  867. package/_src/Ref/Synchronized.ts +107 -0
  868. package/_src/Ref/constructors.ts +15 -0
  869. package/_src/Ref/definition.ts +86 -85
  870. package/_src/Ref.ts +1 -9
  871. package/_src/Reloadable/constructors.ts +2 -2
  872. package/_src/RuntimeConfig.ts +0 -2
  873. package/_src/STM/api/core-api.ts +32 -35
  874. package/_src/STM/api.ts +210 -200
  875. package/_src/STM/internal/Entry.ts +0 -10
  876. package/_src/STM/internal/Journal.ts +23 -26
  877. package/_src/STM.ts +0 -1
  878. package/_src/Schedule/Decision.ts +10 -8
  879. package/_src/Schedule/api/driver.ts +0 -4
  880. package/_src/Schedule/api.ts +419 -444
  881. package/_src/Schedule/definition.ts +0 -1
  882. package/_src/Scope/ReleaseMap/api/releaseAll.ts +23 -26
  883. package/_src/Scope/ReleaseMap/api.ts +77 -74
  884. package/_src/Scope/api.ts +16 -18
  885. package/_src/ScopedRef/api.ts +0 -3
  886. package/_src/ScopedRef/definition.ts +1 -2
  887. package/_src/Sink/api.ts +326 -357
  888. package/_src/State/api.ts +12 -8
  889. package/_src/State/internal.ts +1 -1
  890. package/_src/Stream/api/zipAllWith.ts +6 -5
  891. package/_src/Stream/api/zipWith.ts +5 -8
  892. package/_src/Stream/api/zipWithChunks.ts +6 -5
  893. package/_src/Stream/api.ts +1049 -1176
  894. package/_src/Stream/definition.ts +0 -2
  895. package/_src/Stream/internal/DebounceState.ts +16 -17
  896. package/_src/Stream/internal/Handoff.ts +31 -35
  897. package/_src/Stream/internal/Pull.ts +1 -2
  898. package/_src/Stream/internal/SinkEndReason.ts +13 -14
  899. package/_src/Stream/internal/Take.ts +21 -21
  900. package/_src/Stream/internal/util.ts +0 -2
  901. package/_src/SubscriptionRef.ts +44 -0
  902. package/_src/Supervisor/api.ts +18 -14
  903. package/_src/Supervisor/definition.ts +0 -1
  904. package/_src/SupervisorPatch.ts +10 -6
  905. package/_src/TExit/definition.ts +0 -8
  906. package/_src/TFuture/api.ts +23 -17
  907. package/_src/TFuture/definition.ts +0 -1
  908. package/_src/TReentrantLock/api.ts +14 -10
  909. package/_src/TReentrantLock/definition.ts +0 -7
  910. package/_src/TRef/api.ts +207 -209
  911. package/_src/TRef/definition.ts +0 -12
  912. package/_src/TSemaphore/api.ts +19 -18
  913. package/_src/TSemaphore/constructors.ts +7 -0
  914. package/_src/collection/immutable/Conc/dropUntilIO.ts +19 -21
  915. package/_src/collection/immutable/Conc/dropWhileIO.ts +21 -23
  916. package/_src/collection/immutable/Conc/filterIO.ts +15 -17
  917. package/_src/collection/immutable/Conc/findIO.ts +17 -19
  918. package/_src/collection/immutable/Conc/mapIO.ts +12 -10
  919. package/_src/collection/immutable/Conc/takeWhileIO.ts +27 -29
  920. package/_src/data/Exit/foreachIO.ts +8 -10
  921. package/_src/global.ts +7 -3
  922. package/_src/index.ts +3 -0
  923. package/_src/internal/Hub.ts +17 -27
  924. package/_src/internal/IsFatal.ts +14 -12
  925. package/_src/internal/MutableQueue.ts +8 -8
  926. package/_src/internal/StackTraceBuilder.ts +1 -2
  927. package/collection/immutable/Conc/dropUntilIO.d.ts +3 -3
  928. package/collection/immutable/Conc/dropWhileIO.d.ts +3 -3
  929. package/collection/immutable/Conc/filterIO.d.ts +3 -3
  930. package/collection/immutable/Conc/findIO.d.ts +2 -2
  931. package/collection/immutable/Conc/mapIO.d.ts +3 -3
  932. package/collection/immutable/Conc/takeWhileIO.d.ts +3 -3
  933. package/data/Exit/foreachIO.d.ts +3 -3
  934. package/global.d.ts +7 -3
  935. package/index.d.ts +3 -0
  936. package/internal/Hub.d.ts +2 -2
  937. package/internal/IsFatal.d.ts +3 -3
  938. package/internal/MutableQueue.d.ts +3 -3
  939. package/package.json +3 -3
  940. package/Hub/api.d.ts +0 -190
  941. package/Queue/api/dimapIO.d.ts +0 -41
  942. package/Queue/api/filterInputIO.d.ts +0 -33
  943. package/Queue/api/filterOutputIO.d.ts +0 -31
  944. package/Queue/api/operations.d.ts +0 -82
  945. package/Queue/api/poll.d.ts +0 -9
  946. package/Queue/api/takeBetween.d.ts +0 -11
  947. package/Queue/api/zipWithIO.d.ts +0 -44
  948. package/Queue/api.d.ts +0 -7
  949. package/Ref/Atomic/Atomic.d.ts +0 -18
  950. package/Ref/Atomic/api.d.ts +0 -53
  951. package/Ref/Derived.d.ts +0 -14
  952. package/Ref/DerivedAll.d.ts +0 -14
  953. package/Ref/Synchronized/api.d.ts +0 -100
  954. package/Ref/Synchronized/constructors.d.ts +0 -8
  955. package/Ref/Synchronized/definition.d.ts +0 -42
  956. package/Ref/api/collect.d.ts +0 -11
  957. package/Ref/api/dimap.d.ts +0 -56
  958. package/Ref/api/filter.d.ts +0 -20
  959. package/Ref/api/get.d.ts +0 -9
  960. package/Ref/api/match.d.ts +0 -13
  961. package/Ref/api/matchAll.d.ts +0 -11
  962. package/Ref/api/modify.d.ts +0 -79
  963. package/Ref/api/set.d.ts +0 -10
  964. package/Ref/api.d.ts +0 -23
  965. package/_cjs/Hub/api.cjs +0 -456
  966. package/_cjs/Hub/api.cjs.map +0 -1
  967. package/_cjs/Queue/api/dimapIO.cjs +0 -120
  968. package/_cjs/Queue/api/dimapIO.cjs.map +0 -1
  969. package/_cjs/Queue/api/filterInputIO.cjs +0 -84
  970. package/_cjs/Queue/api/filterInputIO.cjs.map +0 -1
  971. package/_cjs/Queue/api/filterOutputIO.cjs +0 -89
  972. package/_cjs/Queue/api/filterOutputIO.cjs.map +0 -1
  973. package/_cjs/Queue/api/operations.cjs +0 -147
  974. package/_cjs/Queue/api/operations.cjs.map +0 -1
  975. package/_cjs/Queue/api/poll.cjs +0 -27
  976. package/_cjs/Queue/api/poll.cjs.map +0 -1
  977. package/_cjs/Queue/api/takeBetween.cjs +0 -57
  978. package/_cjs/Queue/api/takeBetween.cjs.map +0 -1
  979. package/_cjs/Queue/api/zipWithIO.cjs +0 -97
  980. package/_cjs/Queue/api/zipWithIO.cjs.map +0 -1
  981. package/_cjs/Queue/api.cjs +0 -97
  982. package/_cjs/Queue/api.cjs.map +0 -1
  983. package/_cjs/Ref/Atomic/Atomic.cjs +0 -64
  984. package/_cjs/Ref/Atomic/Atomic.cjs.map +0 -1
  985. package/_cjs/Ref/Atomic/api.cjs +0 -156
  986. package/_cjs/Ref/Atomic/api.cjs.map +0 -1
  987. package/_cjs/Ref/Derived.cjs +0 -55
  988. package/_cjs/Ref/Derived.cjs.map +0 -1
  989. package/_cjs/Ref/DerivedAll.cjs +0 -55
  990. package/_cjs/Ref/DerivedAll.cjs.map +0 -1
  991. package/_cjs/Ref/Synchronized/api.cjs +0 -196
  992. package/_cjs/Ref/Synchronized/api.cjs.map +0 -1
  993. package/_cjs/Ref/Synchronized/constructors.cjs +0 -32
  994. package/_cjs/Ref/Synchronized/constructors.cjs.map +0 -1
  995. package/_cjs/Ref/Synchronized/definition.cjs +0 -88
  996. package/_cjs/Ref/Synchronized/definition.cjs.map +0 -1
  997. package/_cjs/Ref/api/collect.cjs +0 -31
  998. package/_cjs/Ref/api/collect.cjs.map +0 -1
  999. package/_cjs/Ref/api/dimap.cjs +0 -110
  1000. package/_cjs/Ref/api/dimap.cjs.map +0 -1
  1001. package/_cjs/Ref/api/filter.cjs +0 -45
  1002. package/_cjs/Ref/api/filter.cjs.map +0 -1
  1003. package/_cjs/Ref/api/get.cjs +0 -20
  1004. package/_cjs/Ref/api/get.cjs.map +0 -1
  1005. package/_cjs/Ref/api/match.cjs +0 -26
  1006. package/_cjs/Ref/api/match.cjs.map +0 -1
  1007. package/_cjs/Ref/api/matchAll.cjs +0 -24
  1008. package/_cjs/Ref/api/matchAll.cjs.map +0 -1
  1009. package/_cjs/Ref/api/modify.cjs +0 -239
  1010. package/_cjs/Ref/api/modify.cjs.map +0 -1
  1011. package/_cjs/Ref/api/set.cjs +0 -21
  1012. package/_cjs/Ref/api/set.cjs.map +0 -1
  1013. package/_cjs/Ref/api.cjs +0 -158
  1014. package/_cjs/Ref/api.cjs.map +0 -1
  1015. package/_mjs/Hub/api.mjs +0 -384
  1016. package/_mjs/Hub/api.mjs.map +0 -1
  1017. package/_mjs/Queue/api/dimapIO.mjs +0 -97
  1018. package/_mjs/Queue/api/dimapIO.mjs.map +0 -1
  1019. package/_mjs/Queue/api/filterInputIO.mjs +0 -63
  1020. package/_mjs/Queue/api/filterInputIO.mjs.map +0 -1
  1021. package/_mjs/Queue/api/filterOutputIO.mjs +0 -68
  1022. package/_mjs/Queue/api/filterOutputIO.mjs.map +0 -1
  1023. package/_mjs/Queue/api/operations.mjs +0 -122
  1024. package/_mjs/Queue/api/operations.mjs.map +0 -1
  1025. package/_mjs/Queue/api/poll.mjs +0 -14
  1026. package/_mjs/Queue/api/poll.mjs.map +0 -1
  1027. package/_mjs/Queue/api/takeBetween.mjs +0 -43
  1028. package/_mjs/Queue/api/takeBetween.mjs.map +0 -1
  1029. package/_mjs/Queue/api/zipWithIO.mjs +0 -74
  1030. package/_mjs/Queue/api/zipWithIO.mjs.map +0 -1
  1031. package/_mjs/Queue/api.mjs +0 -9
  1032. package/_mjs/Queue/api.mjs.map +0 -1
  1033. package/_mjs/Ref/Atomic/Atomic.mjs +0 -47
  1034. package/_mjs/Ref/Atomic/Atomic.mjs.map +0 -1
  1035. package/_mjs/Ref/Atomic/api.mjs +0 -127
  1036. package/_mjs/Ref/Atomic/api.mjs.map +0 -1
  1037. package/_mjs/Ref/Derived.mjs +0 -35
  1038. package/_mjs/Ref/Derived.mjs.map +0 -1
  1039. package/_mjs/Ref/DerivedAll.mjs +0 -35
  1040. package/_mjs/Ref/DerivedAll.mjs.map +0 -1
  1041. package/_mjs/Ref/Synchronized/api.mjs +0 -154
  1042. package/_mjs/Ref/Synchronized/api.mjs.map +0 -1
  1043. package/_mjs/Ref/Synchronized/constructors.mjs +0 -15
  1044. package/_mjs/Ref/Synchronized/constructors.mjs.map +0 -1
  1045. package/_mjs/Ref/Synchronized/definition.mjs +0 -66
  1046. package/_mjs/Ref/Synchronized/definition.mjs.map +0 -1
  1047. package/_mjs/Ref/api/collect.mjs +0 -17
  1048. package/_mjs/Ref/api/collect.mjs.map +0 -1
  1049. package/_mjs/Ref/api/dimap.mjs +0 -84
  1050. package/_mjs/Ref/api/dimap.mjs.map +0 -1
  1051. package/_mjs/Ref/api/filter.mjs +0 -29
  1052. package/_mjs/Ref/api/filter.mjs.map +0 -1
  1053. package/_mjs/Ref/api/get.mjs +0 -13
  1054. package/_mjs/Ref/api/get.mjs.map +0 -1
  1055. package/_mjs/Ref/api/match.mjs +0 -18
  1056. package/_mjs/Ref/api/match.mjs.map +0 -1
  1057. package/_mjs/Ref/api/matchAll.mjs +0 -16
  1058. package/_mjs/Ref/api/matchAll.mjs.map +0 -1
  1059. package/_mjs/Ref/api/modify.mjs +0 -204
  1060. package/_mjs/Ref/api/modify.mjs.map +0 -1
  1061. package/_mjs/Ref/api/set.mjs +0 -14
  1062. package/_mjs/Ref/api/set.mjs.map +0 -1
  1063. package/_mjs/Ref/api.mjs +0 -34
  1064. package/_mjs/Ref/api.mjs.map +0 -1
  1065. package/_src/Hub/api.ts +0 -461
  1066. package/_src/Queue/api/dimapIO.ts +0 -130
  1067. package/_src/Queue/api/filterInputIO.ts +0 -75
  1068. package/_src/Queue/api/filterOutputIO.ts +0 -76
  1069. package/_src/Queue/api/operations.ts +0 -139
  1070. package/_src/Queue/api/poll.ts +0 -14
  1071. package/_src/Queue/api/takeBetween.ts +0 -45
  1072. package/_src/Queue/api/zipWithIO.ts +0 -99
  1073. package/_src/Queue/api.ts +0 -9
  1074. package/_src/Ref/Atomic/Atomic.ts +0 -56
  1075. package/_src/Ref/Atomic/api.ts +0 -124
  1076. package/_src/Ref/Derived.ts +0 -71
  1077. package/_src/Ref/DerivedAll.ts +0 -75
  1078. package/_src/Ref/Synchronized/api.ts +0 -249
  1079. package/_src/Ref/Synchronized/constructors.ts +0 -12
  1080. package/_src/Ref/Synchronized/definition.ts +0 -126
  1081. package/_src/Ref/api/collect.ts +0 -19
  1082. package/_src/Ref/api/dimap.ts +0 -115
  1083. package/_src/Ref/api/filter.ts +0 -35
  1084. package/_src/Ref/api/get.ts +0 -17
  1085. package/_src/Ref/api/match.ts +0 -24
  1086. package/_src/Ref/api/matchAll.ts +0 -23
  1087. package/_src/Ref/api/modify.ts +0 -237
  1088. package/_src/Ref/api/set.ts +0 -19
  1089. package/_src/Ref/api.ts +0 -39
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
  }