@fncts/io 0.0.10 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (439) hide show
  1. package/Cached/api.d.ts +2 -3
  2. package/Channel/api/interruptWhen.d.ts +1 -1
  3. package/Channel/api/mapOutIOC.d.ts +1 -1
  4. package/Channel/api/mergeAll.d.ts +1 -1
  5. package/Channel/api/mergeAllUnboundedWith.d.ts +1 -1
  6. package/Channel/api/mergeAllWith.d.ts +1 -1
  7. package/Channel/api/mergeMap.d.ts +1 -1
  8. package/Channel/api/mergeWith.d.ts +1 -1
  9. package/Channel/api/runScoped.d.ts +1 -2
  10. package/Channel/api/toPull.d.ts +1 -2
  11. package/Channel/api/zipC.d.ts +3 -3
  12. package/Channel/api.d.ts +48 -49
  13. package/Channel/core-api.d.ts +10 -10
  14. package/Channel/definition.d.ts +12 -12
  15. package/Channel/internal/MergeDecision.d.ts +1 -1
  16. package/Channel/internal/SingleProducerAsyncInput.d.ts +1 -1
  17. package/Clock/api.d.ts +1 -1
  18. package/Fiber/FiberContext.d.ts +3 -3
  19. package/Fiber/api/awaitAll.d.ts +1 -1
  20. package/Fiber/api/evalOnIO.d.ts +1 -1
  21. package/Fiber/api/joinAll.d.ts +1 -1
  22. package/Fiber/definition.d.ts +1 -1
  23. package/FiberRef/api/locallyScoped.d.ts +1 -2
  24. package/FiberRef/api/locallyScopedWith.d.ts +1 -2
  25. package/FiberRef/constructors.d.ts +1 -2
  26. package/FiberRef/unsafe.d.ts +6 -0
  27. package/Future/api.d.ts +1 -1
  28. package/Future/constructors.d.ts +1 -1
  29. package/Hub/api.d.ts +6 -7
  30. package/Hub/definition.d.ts +6 -7
  31. package/Hub/internal.d.ts +0 -1
  32. package/IO/api/acquireRelease.d.ts +1 -2
  33. package/IO/api/acquireReleaseExit.d.ts +1 -2
  34. package/IO/api/acquireReleaseInterruptible.d.ts +1 -2
  35. package/IO/api/acquireReleaseInterruptibleExit.d.ts +1 -2
  36. package/IO/api/addFinalizer.d.ts +1 -2
  37. package/IO/api/addFinalizerExit.d.ts +1 -2
  38. package/IO/api/bracket.d.ts +1 -1
  39. package/IO/api/bracketExit.d.ts +1 -1
  40. package/IO/api/clockWith.d.ts +1 -1
  41. package/IO/api/concurrentFinalizers.d.ts +1 -2
  42. package/IO/api/consoleWith.d.ts +1 -1
  43. package/IO/api/core-scope.d.ts +1 -1
  44. package/IO/api/ensuringChildren.d.ts +1 -1
  45. package/IO/api/environment.d.ts +8 -10
  46. package/IO/api/forkScoped.d.ts +1 -2
  47. package/IO/api/interrupt.d.ts +3 -3
  48. package/IO/api/onExit.d.ts +1 -1
  49. package/IO/api/onTermination.d.ts +1 -1
  50. package/IO/api/provideSomeLayer.d.ts +1 -1
  51. package/IO/api/race.d.ts +1 -1
  52. package/IO/api/raceFirst.d.ts +1 -1
  53. package/IO/api/randomWith.d.ts +1 -1
  54. package/IO/api/repeat.d.ts +3 -3
  55. package/IO/api/retry.d.ts +3 -3
  56. package/IO/api/schedule.d.ts +2 -2
  57. package/IO/api/scope.d.ts +1 -2
  58. package/IO/api/scopeWith.d.ts +1 -2
  59. package/IO/api/scoped.d.ts +2 -3
  60. package/IO/api/sequenceT.d.ts +3 -3
  61. package/IO/api/stateful.d.ts +1 -2
  62. package/IO/api/withEarlyRelease.d.ts +1 -2
  63. package/IO/api/withFinalizer.d.ts +1 -2
  64. package/IO/api/withFinalizerExit.d.ts +1 -2
  65. package/IO/api/zipC.d.ts +2 -2
  66. package/IO/api.d.ts +50 -50
  67. package/IO/definition.d.ts +28 -24
  68. package/IO/runtime.d.ts +23 -10
  69. package/IOEnv/definition.d.ts +2 -3
  70. package/IOEnv/live.d.ts +1 -1
  71. package/IOSpec.d.ts +1 -2
  72. package/Layer/MemoMap.d.ts +2 -3
  73. package/Layer/api.d.ts +30 -32
  74. package/Layer/definition.d.ts +7 -8
  75. package/Queue/api/dimapIO.d.ts +3 -3
  76. package/Queue/api/filterInputIO.d.ts +4 -4
  77. package/Queue/api/filterOutputIO.d.ts +6 -6
  78. package/Queue/api/zipWithIO.d.ts +9 -9
  79. package/Queue/definition.d.ts +7 -7
  80. package/Queue/internal.d.ts +1 -1
  81. package/Random/api.d.ts +4 -4
  82. package/Random/live.d.ts +1 -1
  83. package/Ref/Atomic/Atomic.d.ts +3 -3
  84. package/Ref/Derived.d.ts +3 -3
  85. package/Ref/DerivedAll.d.ts +3 -3
  86. package/Ref/Synchronized/api.d.ts +15 -15
  87. package/Ref/Synchronized/definition.d.ts +2 -2
  88. package/Ref/api/get.d.ts +1 -1
  89. package/Ref/api/modify.d.ts +9 -9
  90. package/Ref/api/set.d.ts +1 -1
  91. package/Ref/definition.d.ts +13 -13
  92. package/STM/api/core-api.d.ts +4 -4
  93. package/STM/api/core-constructors.d.ts +7 -7
  94. package/STM/api.d.ts +27 -39
  95. package/STM/definition.d.ts +9 -8
  96. package/STM/driver.d.ts +1 -1
  97. package/STM/internal/Journal.d.ts +4 -3
  98. package/Schedule/Decision.d.ts +10 -4
  99. package/Schedule/Driver.d.ts +3 -3
  100. package/Schedule/api.d.ts +55 -43
  101. package/Schedule/definition.d.ts +1 -1
  102. package/Scope/Finalizer/definition.d.ts +2 -2
  103. package/Scope/ReleaseMap/api.d.ts +1 -1
  104. package/Scope/ReleaseMap/definition.d.ts +1 -1
  105. package/Scope/api.d.ts +3 -4
  106. package/ScopedRef/api.d.ts +1 -2
  107. package/ScopedRef/definition.d.ts +1 -2
  108. package/Sink/api.d.ts +255 -75
  109. package/State/api.d.ts +1 -2
  110. package/Stream/api/zipAllWith.d.ts +1 -1
  111. package/Stream/api/zipWith.d.ts +1 -1
  112. package/Stream/api/zipWithChunks.d.ts +1 -1
  113. package/Stream/api.d.ts +91 -93
  114. package/Stream/definition.d.ts +3 -3
  115. package/Stream/internal/Take.d.ts +1 -1
  116. package/Supervisor/constructors.d.ts +2 -2
  117. package/TFuture/api.d.ts +1 -1
  118. package/TFuture/definition.d.ts +1 -1
  119. package/TReentrantLock/api.d.ts +2 -3
  120. package/TRef/api.d.ts +11 -11
  121. package/TRef/constructors.d.ts +2 -2
  122. package/TSemaphore/api.d.ts +2 -2
  123. package/TSemaphore/definition.d.ts +1 -1
  124. package/_cjs/Cached/api.cjs.map +1 -1
  125. package/_cjs/Channel/api/mapOutIOC.cjs +1 -1
  126. package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
  127. package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
  128. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  129. package/_cjs/Channel/api.cjs.map +1 -1
  130. package/_cjs/Channel/definition.cjs.map +1 -1
  131. package/_cjs/Clock/live.cjs.map +1 -1
  132. package/_cjs/Fiber/FiberContext.cjs +5 -7
  133. package/_cjs/Fiber/FiberContext.cjs.map +1 -1
  134. package/_cjs/FiberRef/unsafe.cjs +9 -1
  135. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  136. package/_cjs/Future/api.cjs.map +1 -1
  137. package/_cjs/Hub/api.cjs +1 -1
  138. package/_cjs/Hub/api.cjs.map +1 -1
  139. package/_cjs/Hub/internal.cjs +4 -12
  140. package/_cjs/Hub/internal.cjs.map +1 -1
  141. package/_cjs/IO/api/addFinalizerExit.cjs +4 -8
  142. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  143. package/_cjs/IO/api/ensuringChildren.cjs +1 -1
  144. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  145. package/_cjs/IO/api/environment.cjs +2 -3
  146. package/_cjs/IO/api/environment.cjs.map +1 -1
  147. package/_cjs/IO/api/interrupt.cjs +1 -1
  148. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  149. package/_cjs/IO/api/memoize.cjs +4 -8
  150. package/_cjs/IO/api/memoize.cjs.map +1 -1
  151. package/_cjs/IO/api/provideSomeLayer.cjs +1 -2
  152. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  153. package/_cjs/IO/api/scope.cjs +1 -1
  154. package/_cjs/IO/api/scope.cjs.map +1 -1
  155. package/_cjs/IO/api/scoped.cjs.map +1 -1
  156. package/_cjs/IO/api/withChildren.cjs +1 -1
  157. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  158. package/_cjs/IO/api.cjs +1 -1
  159. package/_cjs/IO/api.cjs.map +1 -1
  160. package/_cjs/IO/definition.cjs +5 -8
  161. package/_cjs/IO/definition.cjs.map +1 -1
  162. package/_cjs/IO/runtime.cjs +69 -21
  163. package/_cjs/IO/runtime.cjs.map +1 -1
  164. package/_cjs/Layer/MemoMap.cjs +22 -38
  165. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  166. package/_cjs/Layer/api.cjs +6 -4
  167. package/_cjs/Layer/api.cjs.map +1 -1
  168. package/_cjs/Layer/definition.cjs.map +1 -1
  169. package/_cjs/Queue/internal.cjs +2 -2
  170. package/_cjs/Queue/internal.cjs.map +1 -1
  171. package/_cjs/Queue/strategy.cjs +1 -5
  172. package/_cjs/Queue/strategy.cjs.map +1 -1
  173. package/_cjs/Ref/Atomic/Atomic.cjs.map +1 -1
  174. package/_cjs/Ref/Derived.cjs.map +1 -1
  175. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  176. package/_cjs/Ref/Synchronized/constructors.cjs +7 -11
  177. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  178. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  179. package/_cjs/STM/api.cjs +59 -78
  180. package/_cjs/STM/api.cjs.map +1 -1
  181. package/_cjs/STM/definition.cjs.map +1 -1
  182. package/_cjs/STM/driver.cjs +7 -5
  183. package/_cjs/STM/driver.cjs.map +1 -1
  184. package/_cjs/STM/internal/Journal.cjs +20 -22
  185. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  186. package/_cjs/Schedule/Decision.cjs +17 -0
  187. package/_cjs/Schedule/Decision.cjs.map +1 -1
  188. package/_cjs/Schedule/api/driver.cjs +22 -21
  189. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  190. package/_cjs/Schedule/api.cjs +91 -66
  191. package/_cjs/Schedule/api.cjs.map +1 -1
  192. package/_cjs/Scope/Finalizer/definition.cjs +4 -6
  193. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  194. package/_cjs/Scope/ReleaseMap/definition.cjs +2 -4
  195. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  196. package/_cjs/Scope/api.cjs +2 -12
  197. package/_cjs/Scope/api.cjs.map +1 -1
  198. package/_cjs/ScopedRef/api.cjs +14 -22
  199. package/_cjs/ScopedRef/api.cjs.map +1 -1
  200. package/_cjs/Sink/api.cjs +424 -131
  201. package/_cjs/Sink/api.cjs.map +1 -1
  202. package/_cjs/Stream/api.cjs +94 -94
  203. package/_cjs/Stream/api.cjs.map +1 -1
  204. package/_cjs/Supervisor/constructors.cjs +14 -8
  205. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  206. package/_cjs/TFuture/definition.cjs +2 -4
  207. package/_cjs/TFuture/definition.cjs.map +1 -1
  208. package/_cjs/TSemaphore/api.cjs +7 -7
  209. package/_cjs/TSemaphore/api.cjs.map +1 -1
  210. package/_cjs/TSemaphore/definition.cjs +2 -4
  211. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  212. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +38 -0
  213. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -0
  214. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +38 -0
  215. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -0
  216. package/_cjs/internal/Scheduler.cjs +64 -14
  217. package/_cjs/internal/Scheduler.cjs.map +1 -1
  218. package/_mjs/Cached/api.mjs.map +1 -1
  219. package/_mjs/Channel/api/mapOutIOC.mjs +1 -1
  220. package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
  221. package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
  222. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  223. package/_mjs/Channel/api.mjs.map +1 -1
  224. package/_mjs/Channel/definition.mjs.map +1 -1
  225. package/_mjs/Clock/live.mjs.map +1 -1
  226. package/_mjs/Fiber/FiberContext.mjs +5 -6
  227. package/_mjs/Fiber/FiberContext.mjs.map +1 -1
  228. package/_mjs/FiberRef/unsafe.mjs +6 -0
  229. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  230. package/_mjs/Future/api.mjs.map +1 -1
  231. package/_mjs/Hub/api.mjs +1 -1
  232. package/_mjs/Hub/api.mjs.map +1 -1
  233. package/_mjs/Hub/internal.mjs +4 -12
  234. package/_mjs/Hub/internal.mjs.map +1 -1
  235. package/_mjs/IO/api/addFinalizerExit.mjs +4 -8
  236. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  237. package/_mjs/IO/api/ensuringChildren.mjs +1 -1
  238. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  239. package/_mjs/IO/api/environment.mjs +2 -3
  240. package/_mjs/IO/api/environment.mjs.map +1 -1
  241. package/_mjs/IO/api/interrupt.mjs +1 -1
  242. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  243. package/_mjs/IO/api/memoize.mjs +4 -8
  244. package/_mjs/IO/api/memoize.mjs.map +1 -1
  245. package/_mjs/IO/api/provideSomeLayer.mjs +1 -2
  246. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  247. package/_mjs/IO/api/scope.mjs +1 -1
  248. package/_mjs/IO/api/scope.mjs.map +1 -1
  249. package/_mjs/IO/api/scoped.mjs.map +1 -1
  250. package/_mjs/IO/api/withChildren.mjs +1 -1
  251. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  252. package/_mjs/IO/api.mjs +1 -1
  253. package/_mjs/IO/api.mjs.map +1 -1
  254. package/_mjs/IO/definition.mjs +3 -5
  255. package/_mjs/IO/definition.mjs.map +1 -1
  256. package/_mjs/IO/runtime.mjs +61 -18
  257. package/_mjs/IO/runtime.mjs.map +1 -1
  258. package/_mjs/Layer/MemoMap.mjs +22 -38
  259. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  260. package/_mjs/Layer/api.mjs +5 -4
  261. package/_mjs/Layer/api.mjs.map +1 -1
  262. package/_mjs/Layer/definition.mjs.map +1 -1
  263. package/_mjs/Queue/internal.mjs +2 -2
  264. package/_mjs/Queue/internal.mjs.map +1 -1
  265. package/_mjs/Queue/strategy.mjs +1 -5
  266. package/_mjs/Queue/strategy.mjs.map +1 -1
  267. package/_mjs/Ref/Atomic/Atomic.mjs.map +1 -1
  268. package/_mjs/Ref/Derived.mjs.map +1 -1
  269. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  270. package/_mjs/Ref/Synchronized/constructors.mjs +7 -11
  271. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  272. package/_mjs/STM/api/core-constructors.mjs.map +1 -1
  273. package/_mjs/STM/api.mjs +52 -72
  274. package/_mjs/STM/api.mjs.map +1 -1
  275. package/_mjs/STM/definition.mjs.map +1 -1
  276. package/_mjs/STM/driver.mjs +6 -5
  277. package/_mjs/STM/driver.mjs.map +1 -1
  278. package/_mjs/STM/internal/Journal.mjs +20 -21
  279. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  280. package/_mjs/Schedule/Decision.mjs +9 -0
  281. package/_mjs/Schedule/Decision.mjs.map +1 -1
  282. package/_mjs/Schedule/api/driver.mjs +20 -20
  283. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  284. package/_mjs/Schedule/api.mjs +84 -63
  285. package/_mjs/Schedule/api.mjs.map +1 -1
  286. package/_mjs/Scope/Finalizer/definition.mjs +4 -5
  287. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
  288. package/_mjs/Scope/ReleaseMap/definition.mjs +2 -3
  289. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  290. package/_mjs/Scope/api.mjs +2 -12
  291. package/_mjs/Scope/api.mjs.map +1 -1
  292. package/_mjs/ScopedRef/api.mjs +14 -22
  293. package/_mjs/ScopedRef/api.mjs.map +1 -1
  294. package/_mjs/Sink/api.mjs +414 -129
  295. package/_mjs/Sink/api.mjs.map +1 -1
  296. package/_mjs/Stream/api.mjs +94 -94
  297. package/_mjs/Stream/api.mjs.map +1 -1
  298. package/_mjs/Supervisor/constructors.mjs +9 -6
  299. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  300. package/_mjs/TFuture/definition.mjs +2 -3
  301. package/_mjs/TFuture/definition.mjs.map +1 -1
  302. package/_mjs/TSemaphore/api.mjs +4 -4
  303. package/_mjs/TSemaphore/api.mjs.map +1 -1
  304. package/_mjs/TSemaphore/definition.mjs +2 -3
  305. package/_mjs/TSemaphore/definition.mjs.map +1 -1
  306. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +26 -0
  307. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -0
  308. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +26 -0
  309. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -0
  310. package/_mjs/internal/Scheduler.mjs +62 -15
  311. package/_mjs/internal/Scheduler.mjs.map +1 -1
  312. package/_src/Cached/api.ts +3 -3
  313. package/_src/Channel/api/interruptWhen.ts +1 -1
  314. package/_src/Channel/api/mapOutIOC.ts +2 -2
  315. package/_src/Channel/api/mergeAll.ts +1 -1
  316. package/_src/Channel/api/mergeAllUnboundedWith.ts +1 -1
  317. package/_src/Channel/api/mergeAllWith.ts +3 -3
  318. package/_src/Channel/api/mergeMap.ts +1 -1
  319. package/_src/Channel/api/mergeWith.ts +9 -9
  320. package/_src/Channel/api/runScoped.ts +1 -1
  321. package/_src/Channel/api/toPull.ts +1 -1
  322. package/_src/Channel/api/zipC.ts +3 -3
  323. package/_src/Channel/api.ts +69 -69
  324. package/_src/Channel/core-api.ts +11 -11
  325. package/_src/Channel/definition.ts +12 -12
  326. package/_src/Channel/internal/MergeDecision.ts +1 -1
  327. package/_src/Clock/live.ts +1 -1
  328. package/_src/Fiber/FiberContext.ts +10 -8
  329. package/_src/Fiber/api/awaitAll.ts +1 -1
  330. package/_src/Fiber/api/evalOnIO.ts +1 -1
  331. package/_src/Fiber/api/joinAll.ts +1 -1
  332. package/_src/Fiber/definition.ts +1 -1
  333. package/_src/FiberRef/api/locallyScoped.ts +1 -1
  334. package/_src/FiberRef/api/locallyScopedWith.ts +1 -1
  335. package/_src/FiberRef/constructors.ts +2 -2
  336. package/_src/FiberRef/unsafe.ts +7 -0
  337. package/_src/Future/api.ts +3 -3
  338. package/_src/Future/constructors.ts +1 -1
  339. package/_src/Hub/api.ts +11 -11
  340. package/_src/Hub/definition.ts +6 -6
  341. package/_src/Hub/internal.ts +15 -15
  342. package/_src/IO/api/acquireRelease.ts +1 -1
  343. package/_src/IO/api/acquireReleaseExit.ts +1 -1
  344. package/_src/IO/api/acquireReleaseInterruptible.ts +1 -1
  345. package/_src/IO/api/acquireReleaseInterruptibleExit.ts +1 -1
  346. package/_src/IO/api/addFinalizer.ts +1 -1
  347. package/_src/IO/api/addFinalizerExit.ts +5 -7
  348. package/_src/IO/api/bracket.ts +1 -1
  349. package/_src/IO/api/bracketExit.ts +1 -1
  350. package/_src/IO/api/concurrentFinalizers.ts +1 -1
  351. package/_src/IO/api/core-scope.ts +1 -1
  352. package/_src/IO/api/ensuringChildren.ts +2 -2
  353. package/_src/IO/api/environment.ts +9 -11
  354. package/_src/IO/api/forkScoped.ts +1 -1
  355. package/_src/IO/api/interrupt.ts +3 -3
  356. package/_src/IO/api/memoize.ts +3 -3
  357. package/_src/IO/api/onExit.ts +1 -1
  358. package/_src/IO/api/onTermination.ts +1 -1
  359. package/_src/IO/api/provideSomeLayer.ts +1 -2
  360. package/_src/IO/api/race.ts +1 -1
  361. package/_src/IO/api/raceFirst.ts +1 -1
  362. package/_src/IO/api/repeat.ts +4 -4
  363. package/_src/IO/api/retry.ts +4 -4
  364. package/_src/IO/api/schedule.ts +3 -3
  365. package/_src/IO/api/scope.ts +1 -1
  366. package/_src/IO/api/scopeWith.ts +1 -1
  367. package/_src/IO/api/scoped.ts +2 -2
  368. package/_src/IO/api/sequenceT.ts +1 -1
  369. package/_src/IO/api/stateful.ts +1 -1
  370. package/_src/IO/api/withChildren.ts +1 -1
  371. package/_src/IO/api/withEarlyRelease.ts +1 -1
  372. package/_src/IO/api/withFinalizer.ts +1 -1
  373. package/_src/IO/api/withFinalizerExit.ts +1 -1
  374. package/_src/IO/api/zipC.ts +2 -2
  375. package/_src/IO/api.ts +48 -48
  376. package/_src/IO/definition.ts +29 -24
  377. package/_src/IO/runtime.ts +66 -12
  378. package/_src/IOEnv/definition.ts +1 -1
  379. package/_src/Layer/MemoMap.ts +19 -19
  380. package/_src/Layer/api.ts +38 -38
  381. package/_src/Layer/definition.ts +5 -5
  382. package/_src/Queue/api/dimapIO.ts +10 -10
  383. package/_src/Queue/api/filterInputIO.ts +4 -4
  384. package/_src/Queue/api/filterOutputIO.ts +6 -6
  385. package/_src/Queue/api/zipWithIO.ts +10 -10
  386. package/_src/Queue/definition.ts +7 -7
  387. package/_src/Queue/internal.ts +7 -7
  388. package/_src/Queue/strategy.ts +4 -4
  389. package/_src/Random/api.ts +1 -1
  390. package/_src/Ref/Atomic/Atomic.ts +3 -3
  391. package/_src/Ref/Derived.ts +3 -3
  392. package/_src/Ref/DerivedAll.ts +3 -3
  393. package/_src/Ref/Synchronized/api.ts +15 -15
  394. package/_src/Ref/Synchronized/constructors.ts +4 -4
  395. package/_src/Ref/Synchronized/definition.ts +2 -2
  396. package/_src/Ref/api/get.ts +2 -2
  397. package/_src/Ref/api/modify.ts +9 -9
  398. package/_src/Ref/api/set.ts +1 -1
  399. package/_src/Ref/definition.ts +13 -13
  400. package/_src/STM/api/core-api.ts +6 -6
  401. package/_src/STM/api/core-constructors.ts +7 -7
  402. package/_src/STM/api.ts +58 -89
  403. package/_src/STM/definition.ts +6 -6
  404. package/_src/STM/driver.ts +3 -3
  405. package/_src/STM/internal/Journal.ts +25 -16
  406. package/_src/Schedule/Decision.ts +10 -3
  407. package/_src/Schedule/Driver.ts +2 -2
  408. package/_src/Schedule/api/driver.ts +6 -6
  409. package/_src/Schedule/api.ts +97 -77
  410. package/_src/Schedule/definition.ts +1 -1
  411. package/_src/Scope/Finalizer/definition.ts +2 -2
  412. package/_src/Scope/ReleaseMap/api.ts +1 -1
  413. package/_src/Scope/ReleaseMap/definition.ts +1 -1
  414. package/_src/Scope/api.ts +11 -11
  415. package/_src/ScopedRef/api.ts +12 -17
  416. package/_src/ScopedRef/definition.ts +1 -1
  417. package/_src/Sink/api.ts +441 -86
  418. package/_src/State/api.ts +1 -1
  419. package/_src/Stream/api/zipAllWith.ts +2 -2
  420. package/_src/Stream/api/zipWith.ts +1 -1
  421. package/_src/Stream/api/zipWithChunks.ts +2 -2
  422. package/_src/Stream/api.ts +150 -149
  423. package/_src/Stream/definition.ts +3 -3
  424. package/_src/Stream/internal/Take.ts +1 -1
  425. package/_src/Supervisor/constructors.ts +7 -3
  426. package/_src/TFuture/api.ts +1 -1
  427. package/_src/TFuture/definition.ts +1 -1
  428. package/_src/TReentrantLock/api.ts +2 -2
  429. package/_src/TRef/api.ts +11 -11
  430. package/_src/TRef/constructors.ts +2 -2
  431. package/_src/TSemaphore/api.ts +2 -2
  432. package/_src/TSemaphore/definition.ts +1 -1
  433. package/_src/collection/immutable/Conc/dropUntilIO.ts +24 -0
  434. package/_src/collection/immutable/Conc/dropWhileIO.ts +26 -0
  435. package/_src/internal/Scheduler.ts +59 -15
  436. package/collection/immutable/Conc/dropUntilIO.d.ts +7 -0
  437. package/collection/immutable/Conc/dropWhileIO.d.ts +7 -0
  438. package/internal/Scheduler.d.ts +18 -1
  439. package/package.json +3 -3
package/Cached/api.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { IO, FIO } from "@fncts/io/IO/definition";
2
2
  import { Schedule } from "@fncts/io/Schedule/definition";
3
- import { Has } from "@fncts/base/typeclass/Has";
4
3
  import { Scope } from "@fncts/io/Scope/definition";
5
4
  import { Cached } from "@fncts/io/Cached/definition";
6
5
  import { ScopedRef } from "@fncts/io/ScopedRef/definition";
@@ -9,7 +8,7 @@ import { Exit } from "@fncts/base/data/Exit";
9
8
  * @tsplus static fncts.io.CachedOps auto
10
9
  * @tsplus location "@fncts/io/Cached/api"
11
10
  */
12
- export declare function auto<R, Error, Resource>(acquire: IO<R, Error, Resource>, policy: Schedule<any, any, any>, __tsplusTrace?: string): IO<R & Has<Scope>, never, Cached<Error, Resource>>;
11
+ export declare function auto<R, Error, Resource>(acquire: IO<R, Error, Resource>, policy: Schedule<any, any, any>, __tsplusTrace?: string): IO<R | Scope, never, Cached<Error, Resource>>;
13
12
  /**
14
13
  * @tsplus getter fncts.io.Cached get
15
14
  * @tsplus location "@fncts/io/Cached/api"
@@ -19,7 +18,7 @@ export declare function get_<Error, Resource>(self: Cached<Error, Resource>, __t
19
18
  * @tsplus static fncts.io.CachedOps manual
20
19
  * @tsplus location "@fncts/io/Cached/api"
21
20
  */
22
- export declare function manual<R, Error, Resource>(acquire: IO<R, Error, Resource>): IO<R & Has<Scope>, never, Cached<Error, Resource>>;
21
+ export declare function manual<R, Error, Resource>(acquire: IO<R, Error, Resource>): IO<R | Scope, never, Cached<Error, Resource>>;
23
22
  /**
24
23
  * @tsplus getter fncts.io.Cached refresh
25
24
  * @tsplus location "@fncts/io/Cached/api"
@@ -10,7 +10,7 @@ import { Future } from "@fncts/io/Future";
10
10
  * @tsplus fluent fncts.io.Channel interruptWhen
11
11
  * @tsplus location "@fncts/io/Channel/api/interruptWhen"
12
12
  */
13
- export declare function interruptWhen_<Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, io: IO<Env1, OutErr1, OutDone1>): Channel<Env1 & Env, InErr, InElem, InDone, OutErr | OutErr1, OutElem, OutDone | OutDone1>;
13
+ export declare function interruptWhen_<Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, io: IO<Env1, OutErr1, OutDone1>): Channel<Env1 | Env, InErr, InElem, InDone, OutErr | OutErr1, OutElem, OutDone | OutDone1>;
14
14
  /**
15
15
  * Returns a new channel, which is the same as this one, except it will be interrupted when the
16
16
  * specified promise is completed. If the promise is completed before the underlying channel is
@@ -5,4 +5,4 @@ import { Either } from "@fncts/base/data/Either";
5
5
  * @tsplus fluent fncts.io.Channel mapOutIOC
6
6
  * @tsplus location "@fncts/io/Channel/api/mapOutIOC"
7
7
  */
8
- export declare function mapOutIOC_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, OutErr1, OutElem1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, n: number, f: (_: OutElem) => IO<Env1, OutErr1, OutElem1>): Channel<Env & Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem1, OutDone>;
8
+ export declare function mapOutIOC_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, OutErr1, OutElem1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, n: number, f: (_: OutElem) => IO<Env1, OutErr1, OutElem1>): Channel<Env | Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem1, OutDone>;
@@ -4,4 +4,4 @@ import type { MergeStrategy } from "@fncts/io/Channel/api/mergeAllWith";
4
4
  * @tsplus fluent fncts.io.Channel mergeAll
5
5
  * @tsplus location "@fncts/io/Channel/api/mergeAll"
6
6
  */
7
- export declare function mergeAll_<Env, InErr, InElem, InDone, OutErr, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, any>, any>, n: number, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem, unknown>;
7
+ export declare function mergeAll_<Env, InErr, InElem, InDone, OutErr, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, any>, any>, n: number, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem, unknown>;
@@ -3,4 +3,4 @@ import { Channel } from "@fncts/io/Channel";
3
3
  * @tsplus fluent fncts.io.Channel mergeAllUnboundedWith
4
4
  * @tsplus location "@fncts/io/Channel/api/mergeAllUnboundedWith"
5
5
  */
6
- export declare function mergeAllUnboundedWith_<Env, InErr, InElem, InDone, OutErr, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, OutDone>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, OutDone>, OutDone>, f: (x: OutDone, y: OutDone) => OutDone): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem, OutDone>;
6
+ export declare function mergeAllUnboundedWith_<Env, InErr, InElem, InDone, OutErr, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, OutDone>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, OutDone>, OutDone>, f: (x: OutDone, y: OutDone) => OutDone): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem, OutDone>;
@@ -8,4 +8,4 @@ export declare type MergeStrategy = "BackPressure" | "BufferSliding";
8
8
  * @tsplus fluent fncts.io.Channel mergeAllWith
9
9
  * @tsplus location "@fncts/io/Channel/api/mergeAllWith"
10
10
  */
11
- export declare function mergeAllWith_<Env, InErr, InElem, InDone, OutErr, OutDone, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, OutDone>, OutDone>, n: number, f: (x: OutDone, y: OutDone) => OutDone, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem, OutDone>;
11
+ export declare function mergeAllWith_<Env, InErr, InElem, InDone, OutErr, OutDone, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem, OutDone>, OutDone>, n: number, f: (x: OutDone, y: OutDone) => OutDone, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem, OutDone>;
@@ -4,4 +4,4 @@ import type { MergeStrategy } from "@fncts/io/Channel/api/mergeAllWith";
4
4
  * @tsplus fluent fncts.io.Channel mergeMap
5
5
  * @tsplus location "@fncts/io/Channel/api/mergeMap"
6
6
  */
7
- export declare function mergeMap_<Env, InErr, InElem, InDone, OutErr, OutElem, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, any>, f: (elem: OutElem) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, any>, n: number, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem1, unknown>;
7
+ export declare function mergeMap_<Env, InErr, InElem, InDone, OutErr, OutElem, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, any>, f: (elem: OutElem) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, any>, n: number, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem1, unknown>;
@@ -11,4 +11,4 @@ import type { MergeDecision } from "@fncts/io/Channel/internal/MergeDecision";
11
11
  * @tsplus fluent fncts.io.Channel mergeWith
12
12
  * @tsplus location "@fncts/io/Channel/api/mergeWith"
13
13
  */
14
- export declare function mergeWith_<Env, Env1, Env2, Env3, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutErr2, OutErr3, OutElem, OutElem1, OutDone, OutDone1, OutDone2, OutDone3>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>, leftDone: (ex: Exit<OutErr, OutDone>) => MergeDecision<Env2, OutErr1, OutDone1, OutErr2, OutDone2>, rightDone: (ex: Exit<OutErr1, OutDone1>) => MergeDecision<Env3, OutErr, OutDone, OutErr3, OutDone3>): Channel<Env & Env1 & Env2 & Env3, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr2 | OutErr3, OutElem | OutElem1, OutDone2 | OutDone3>;
14
+ export declare function mergeWith_<Env, Env1, Env2, Env3, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutErr2, OutErr3, OutElem, OutElem1, OutDone, OutDone1, OutDone2, OutDone3>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>, leftDone: (ex: Exit<OutErr, OutDone>) => MergeDecision<Env2, OutErr1, OutDone1, OutErr2, OutDone2>, rightDone: (ex: Exit<OutErr1, OutDone1>) => MergeDecision<Env3, OutErr, OutDone, OutErr3, OutDone3>): Channel<Env | Env1 | Env2 | Env3, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr2 | OutErr3, OutElem | OutElem1, OutDone2 | OutDone3>;
@@ -1,10 +1,9 @@
1
1
  import { IO } from "@fncts/io/IO/definition";
2
2
  import { Channel } from "@fncts/io/Channel";
3
- import { Has } from "@fncts/base/typeclass/Has";
4
3
  import { Scope } from "@fncts/io/Scope/definition";
5
4
  /**
6
5
  * Runs a channel until the end is received
7
6
  * @tsplus getter fncts.io.Channel runScoped
8
7
  * @tsplus location "@fncts/io/Channel/api/runScoped"
9
8
  */
10
- export declare function runScoped<Env, InErr, InDone, OutErr, OutDone>(self: Channel<Env, InErr, unknown, InDone, OutErr, never, OutDone>): IO<Env & Has<Scope>, OutErr, OutDone>;
9
+ export declare function runScoped<Env, InErr, InDone, OutErr, OutDone>(self: Channel<Env, InErr, unknown, InDone, OutErr, never, OutDone>): IO<Env | Scope, OutErr, OutDone>;
@@ -1,6 +1,5 @@
1
1
  import { Channel } from "@fncts/io/Channel";
2
2
  import { IO } from "@fncts/io/IO/definition";
3
- import { Has } from "@fncts/base/typeclass/Has";
4
3
  import { Scope } from "@fncts/io/Scope/definition";
5
4
  import { Either } from "@fncts/base/data/Either";
6
5
  /**
@@ -8,4 +7,4 @@ import { Either } from "@fncts/base/data/Either";
8
7
  * @tsplus getter fncts.io.Channel toPull
9
8
  * @tsplus location "@fncts/io/Channel/api/toPull"
10
9
  */
11
- export declare function toPull<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>): IO<Env & Has<Scope>, never, IO<Env, OutErr, Either<OutDone, OutElem>>>;
10
+ export declare function toPull<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>): IO<Env | Scope, never, IO<Env, OutErr, Either<OutDone, OutElem>>>;
@@ -3,14 +3,14 @@ import { Channel } from "@fncts/io/Channel";
3
3
  * @tsplus fluent fncts.io.Channel zipC
4
4
  * @tsplus location "@fncts/io/Channel/api/zipC"
5
5
  */
6
- export declare function zipC_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env1 & Env, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, readonly [OutDone, OutDone1]>;
6
+ export declare function zipC_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env1 | Env, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, readonly [OutDone, OutDone1]>;
7
7
  /**
8
8
  * @tsplus fluent fncts.io.Channel zipFirstC
9
9
  * @tsplus location "@fncts/io/Channel/api/zipC"
10
10
  */
11
- export declare function zipFirstC_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env1 & Env, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone>;
11
+ export declare function zipFirstC_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env1 | Env, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone>;
12
12
  /**
13
13
  * @tsplus fluent fncts.io.Channel zipSecondC
14
14
  * @tsplus location "@fncts/io/Channel/api/zipC"
15
15
  */
16
- export declare function zipSecondC_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env1 & Env, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone1>;
16
+ export declare function zipSecondC_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env1 | Env, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone1>;
package/Channel/api.d.ts CHANGED
@@ -10,7 +10,6 @@ import { Either } from "@fncts/base/data/Either";
10
10
  import { Maybe, Nothing } from "@fncts/base/data/Maybe";
11
11
  import { Queue } from "@fncts/io/Queue/definition";
12
12
  import { FiberId } from "@fncts/base/data/FiberId";
13
- import { Has } from "@fncts/base/typeclass/Has";
14
13
  import { Scope } from "@fncts/io/Scope/definition";
15
14
  import { Hub } from "@fncts/io/Hub/definition";
16
15
  import type { AsyncInputConsumer } from "@fncts/io/Channel/internal/AsyncInputConsumer";
@@ -59,7 +58,7 @@ export declare function acquireReleaseOut_<Env, OutErr, Acquired, Z>(acquire: IO
59
58
  * @tsplus static fncts.io.ChannelOps acquireReleaseOutExit
60
59
  * @tsplus location "@fncts/io/Channel/api"
61
60
  */
62
- export declare function acquireReleaseOutExit_<R, R2, E, Z>(self: IO<R, E, Z>, release: (z: Z, e: Exit<unknown, unknown>) => URIO<R2, unknown>): Channel<R & R2, unknown, unknown, unknown, E, Z, void>;
61
+ export declare function acquireReleaseOutExit_<R, R2, E, Z>(self: IO<R, E, Z>, release: (z: Z, e: Exit<unknown, unknown>) => URIO<R2, unknown>): Channel<R | R2, unknown, unknown, unknown, E, Z, void>;
63
62
  /**
64
63
  * Creates a channel backed by a buffer. When the buffer is empty, the channel will simply
65
64
  * passthrough its input as output. However, when the buffer is non-empty, the value inside
@@ -67,12 +66,12 @@ export declare function acquireReleaseOutExit_<R, R2, E, Z>(self: IO<R, E, Z>, r
67
66
  * @tsplus static fncts.io.ChannelOps buffer
68
67
  * @tsplus location "@fncts/io/Channel/api"
69
68
  */
70
- export declare function buffer<InElem, InErr, InDone>(empty: InElem, isEmpty: Predicate<InElem>, ref: Ref<InElem>): Channel<unknown, InErr, InElem, InDone, InErr, InElem, InDone>;
69
+ export declare function buffer<InElem, InErr, InDone>(empty: InElem, isEmpty: Predicate<InElem>, ref: Ref<InElem>): Channel<never, InErr, InElem, InDone, InErr, InElem, InDone>;
71
70
  /**
72
71
  * @tsplus static fncts.io.ChannelOps bufferChunk
73
72
  * @tsplus location "@fncts/io/Channel/api"
74
73
  */
75
- export declare function bufferChunk<InElem, InErr, InDone>(ref: Ref<Conc<InElem>>): Channel<unknown, InErr, Conc<InElem>, InDone, InErr, Conc<InElem>, InDone>;
74
+ export declare function bufferChunk<InElem, InErr, InDone>(ref: Ref<Conc<InElem>>): Channel<never, InErr, Conc<InElem>, InDone, InErr, Conc<InElem>, InDone>;
76
75
  /**
77
76
  * Returns a new channel that is the same as this one, except if this channel errors for any
78
77
  * typed error, then the returned channel will switch over to using the fallback channel returned
@@ -80,7 +79,7 @@ export declare function bufferChunk<InElem, InErr, InDone>(ref: Ref<Conc<InElem>
80
79
  * @tsplus fluent fncts.io.Channel catchAll
81
80
  * @tsplus location "@fncts/io/Channel/api"
82
81
  */
83
- export declare function catchAll_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (error: OutErr) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1, OutElem | OutElem1, OutDone | OutDone1>;
82
+ export declare function catchAll_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (error: OutErr) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1, OutElem | OutElem1, OutDone | OutDone1>;
84
83
  /**
85
84
  * Returns a new channel that is the same as this one, except if this channel errors for any
86
85
  * typed error, then the returned channel will switch over to using the fallback channel returned
@@ -88,7 +87,7 @@ export declare function catchAll_<Env, Env1, InErr, InErr1, InElem, InElem1, InD
88
87
  * @tsplus fluent fncts.io.Channel catchAllCause
89
88
  * @tsplus location "@fncts/io/Channel/api"
90
89
  */
91
- export declare function catchAllCause_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (cause: Cause<OutErr>) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1, OutElem | OutElem1, OutDone | OutDone1>;
90
+ export declare function catchAllCause_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (cause: Cause<OutErr>) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1, OutElem | OutElem1, OutDone | OutDone1>;
92
91
  /**
93
92
  * @tsplus getter fncts.io.Channel collectElements
94
93
  * @tsplus location "@fncts/io/Channel/api"
@@ -108,7 +107,7 @@ export declare function concatAll<Env, InErr, InElem, InDone, OutErr, OutElem>(c
108
107
  * @tsplus fluent fncts.io.Channel concatMapWith
109
108
  * @tsplus location "@fncts/io/Channel/api"
110
109
  */
111
- export declare function concatMapWith_<Env, InErr, InElem, InDone, OutErr, OutElem, OutElem2, OutDone, OutDone2, OutDone3, Env2, InErr2, InElem2, InDone2, OutErr2>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>, f: (o: OutElem) => Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem2, OutDone>, g: (o: OutDone, o1: OutDone) => OutDone, h: (o: OutDone, o2: OutDone2) => OutDone3): Channel<Env & Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem2, OutDone3>;
110
+ export declare function concatMapWith_<Env, InErr, InElem, InDone, OutErr, OutElem, OutElem2, OutDone, OutDone2, OutDone3, Env2, InErr2, InElem2, InDone2, OutErr2>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>, f: (o: OutElem) => Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem2, OutDone>, g: (o: OutDone, o1: OutDone) => OutDone, h: (o: OutDone, o2: OutDone2) => OutDone3): Channel<Env | Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem2, OutDone3>;
112
111
  /**
113
112
  * Returns a new channel whose outputs are fed to the specified factory function, which creates
114
113
  * new channels in response. These new channels are sequentially concatenated together, and all
@@ -118,13 +117,13 @@ export declare function concatMapWith_<Env, InErr, InElem, InDone, OutErr, OutEl
118
117
  * @tsplus fluent fncts.io.Channel concatMapWithCustom
119
118
  * @tsplus location "@fncts/io/Channel/api"
120
119
  */
121
- export declare function concatMapWithCustom_<Env, InErr, InElem, InDone, OutErr, OutElem, OutElem2, OutDone, OutDone2, OutDone3, Env2, InErr2, InElem2, InDone2, OutErr2>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>, f: (o: OutElem) => Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem2, OutDone>, g: (o: OutDone, o1: OutDone) => OutDone, h: (o: OutDone, o2: OutDone2) => OutDone3, onPull: (_: UpstreamPullRequest<OutElem>) => UpstreamPullStrategy<OutElem2>, onEmit: (_: OutElem2) => ChildExecutorDecision): Channel<Env & Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem2, OutDone3>;
120
+ export declare function concatMapWithCustom_<Env, InErr, InElem, InDone, OutErr, OutElem, OutElem2, OutDone, OutDone2, OutDone3, Env2, InErr2, InElem2, InDone2, OutErr2>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>, f: (o: OutElem) => Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem2, OutDone>, g: (o: OutDone, o1: OutDone) => OutDone, h: (o: OutDone, o2: OutDone2) => OutDone3, onPull: (_: UpstreamPullRequest<OutElem>) => UpstreamPullStrategy<OutElem2>, onEmit: (_: OutElem2) => ChildExecutorDecision): Channel<Env | Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem2, OutDone3>;
122
121
  /**
123
122
  * Concat sequentially a channel of channels
124
123
  * @tsplus fluent fncts.io.Channel concatAllWith
125
124
  * @tsplus location "@fncts/io/Channel/api"
126
125
  */
127
- export declare function concatAllWith_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, OutDone2, OutDone3, Env2, InErr2, InElem2, InDone2, OutErr2>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem, OutDone>, OutDone2>, f: (o: OutDone, o1: OutDone) => OutDone, g: (o: OutDone, o2: OutDone2) => OutDone3): Channel<Env & Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem, OutDone3>;
126
+ export declare function concatAllWith_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, OutDone2, OutDone3, Env2, InErr2, InElem2, InDone2, OutErr2>(channels: Channel<Env, InErr, InElem, InDone, OutErr, Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem, OutDone>, OutDone2>, f: (o: OutDone, o1: OutDone) => OutDone, g: (o: OutDone, o2: OutDone2) => OutDone3): Channel<Env | Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem, OutDone3>;
128
127
  /**
129
128
  * Returns a new channel whose outputs are fed to the specified factory function, which creates
130
129
  * new channels in response. These new channels are sequentially concatenated together, and all
@@ -132,7 +131,7 @@ export declare function concatAllWith_<Env, InErr, InElem, InDone, OutErr, OutEl
132
131
  * @tsplus fluent fncts.io.Channel concatMap
133
132
  * @tsplus location "@fncts/io/Channel/api"
134
133
  */
135
- export declare function concatMap_<Env, InErr, InElem, InDone, OutErr, OutElem, OutElem2, OutDone, OutDone2, Env2, InErr2, InElem2, InDone2, OutErr2>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>, f: (o: OutElem) => Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem2, OutDone>): Channel<Env & Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem2, unknown>;
134
+ export declare function concatMap_<Env, InErr, InElem, InDone, OutErr, OutElem, OutElem2, OutDone, OutDone2, Env2, InErr2, InElem2, InDone2, OutErr2>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2>, f: (o: OutElem) => Channel<Env2, InErr2, InElem2, InDone2, OutErr2, OutElem2, OutDone>): Channel<Env | Env2, InErr & InErr2, InElem & InElem2, InDone & InDone2, OutErr | OutErr2, OutElem2, unknown>;
136
135
  /**
137
136
  * @tsplus fluent fncts.io.Channel contramap
138
137
  * @tsplus location "@fncts/io/Channel/api"
@@ -147,12 +146,12 @@ export declare function contramapIn_<Env, InErr, InElem0, InElem, InDone, OutErr
147
146
  * @tsplus fluent fncts.io.Channel contramapIO
148
147
  * @tsplus location "@fncts/io/Channel/api"
149
148
  */
150
- export declare function contramapIO_<Env, Env1, InErr, InElem, InDone0, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (i: InDone0) => IO<Env1, InErr, InDone>): Channel<Env1 & Env, InErr, InElem, InDone0, OutErr, OutElem, OutDone>;
149
+ export declare function contramapIO_<Env, Env1, InErr, InElem, InDone0, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (i: InDone0) => IO<Env1, InErr, InDone>): Channel<Env1 | Env, InErr, InElem, InDone0, OutErr, OutElem, OutDone>;
151
150
  /**
152
151
  * @tsplus fluent fncts.io.Channel contramapInIO
153
152
  * @tsplus location "@fncts/io/Channel/api"
154
153
  */
155
- export declare function contramapInIO_<Env, Env1, InErr, InElem0, InElem, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (a: InElem0) => IO<Env1, InErr, InElem>): Channel<Env1 & Env, InErr, InElem0, InDone, OutErr, OutElem, OutDone>;
154
+ export declare function contramapInIO_<Env, Env1, InErr, InElem0, InElem, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (a: InElem0) => IO<Env1, InErr, InElem>): Channel<Env1 | Env, InErr, InElem0, InDone, OutErr, OutElem, OutDone>;
156
155
  /**
157
156
  * @tsplus static fncts.io.ChannelOps defer
158
157
  * @tsplus location "@fncts/io/Channel/api"
@@ -187,14 +186,14 @@ export declare function emitCollect<Env, InErr, InElem, InDone, OutErr, OutElem,
187
186
  * @tsplus fluent fncts.io.Channel ensuring
188
187
  * @tsplus location "@fncts/io/Channel/api"
189
188
  */
190
- export declare function ensuring_<Env, Env1, InErr, InElem, InDone, OutErr, OutElem, OutDone, Z>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, finalizer: URIO<Env1, Z>): Channel<Env & Env1, InErr, InElem, InDone, OutErr, OutElem, OutDone>;
189
+ export declare function ensuring_<Env, Env1, InErr, InElem, InDone, OutErr, OutElem, OutDone, Z>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, finalizer: URIO<Env1, Z>): Channel<Env | Env1, InErr, InElem, InDone, OutErr, OutElem, OutDone>;
191
190
  /**
192
191
  * Returns a new channel with an attached finalizer. The finalizer is guaranteed to be executed
193
192
  * so long as the channel begins execution (and regardless of whether or not it completes).
194
193
  * @tsplus fluent fncts.io.Channel ensuringWith
195
194
  * @tsplus location "@fncts/io/Channel/api"
196
195
  */
197
- export declare function ensuringWith_<Env, Env2, InErr, InElem, InDone, OutErr, OutElem, OutDone>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, finalizer: (e: Exit<OutErr, OutDone>) => IO<Env2, never, unknown>): Channel<Env & Env2, InErr, InElem, InDone, OutErr, OutElem, OutDone>;
196
+ export declare function ensuringWith_<Env, Env2, InErr, InElem, InDone, OutErr, OutElem, OutDone>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, finalizer: (e: Exit<OutErr, OutDone>) => IO<Env2, never, unknown>): Channel<Env | Env2, InErr, InElem, InDone, OutErr, OutElem, OutDone>;
198
197
  /**
199
198
  * Embed inputs from continuos pulling of a producer
200
199
  * @tsplus fluent fncts.io.Channel embedInput
@@ -206,30 +205,30 @@ export declare function embedInput_<Env, InErr, InElem, InDone, OutErr, OutElem,
206
205
  * @tsplus static fncts.io.ChannelOps fail
207
206
  * @tsplus location "@fncts/io/Channel/api"
208
207
  */
209
- export declare function fail<E>(error: Lazy<E>): Channel<unknown, unknown, unknown, unknown, E, never, never>;
208
+ export declare function fail<E>(error: Lazy<E>): Channel<never, unknown, unknown, unknown, E, never, never>;
210
209
  /**
211
210
  * Halt a channel with the specified error
212
211
  * @tsplus static fncts.io.ChannelOps failNow
213
212
  * @tsplus location "@fncts/io/Channel/api"
214
213
  */
215
- export declare function failNow<E>(error: E): Channel<unknown, unknown, unknown, unknown, E, never, never>;
214
+ export declare function failNow<E>(error: E): Channel<never, unknown, unknown, unknown, E, never, never>;
216
215
  /**
217
216
  * Returns a new channel, which flattens the terminal value of this channel. This function may
218
217
  * only be called if the terminal value of this channel is another channel of compatible types.
219
218
  * @tsplus getter fncts.io.Channel flatten
220
219
  * @tsplus location "@fncts/io/Channel/api"
221
220
  */
222
- export declare function flatten<Env, InErr, InElem, InDone, OutErr, OutElem, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone2>;
221
+ export declare function flatten<Env, InErr, InElem, InDone, OutErr, OutElem, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone2>;
223
222
  /**
224
223
  * @tsplus static fncts.io.ChannelOps fromEither
225
224
  * @tsplus location "@fncts/io/Channel/api"
226
225
  */
227
- export declare function fromEither<E, A>(either: Lazy<Either<E, A>>): Channel<unknown, unknown, unknown, unknown, E, never, A>;
226
+ export declare function fromEither<E, A>(either: Lazy<Either<E, A>>): Channel<never, unknown, unknown, unknown, E, never, A>;
228
227
  /**
229
228
  * @tsplus static fncts.io.ChannelOps fromInput
230
229
  * @tsplus location "@fncts/io/Channel/api"
231
230
  */
232
- export declare function fromInput<Err, Elem, Done>(input: AsyncInputConsumer<Err, Elem, Done>): Channel<unknown, unknown, unknown, unknown, Err, Elem, Done>;
231
+ export declare function fromInput<Err, Elem, Done>(input: AsyncInputConsumer<Err, Elem, Done>): Channel<never, unknown, unknown, unknown, Err, Elem, Done>;
233
232
  /**
234
233
  * Use an effect to end a channel
235
234
  * @tsplus static fncts.io.ChannelOps fromIO
@@ -240,19 +239,19 @@ export declare function fromIO<R, E, A>(io: Lazy<IO<R, E, A>>): Channel<R, unkno
240
239
  * @tsplus static fncts.io.ChannelOps fromOption
241
240
  * @tsplus location "@fncts/io/Channel/api"
242
241
  */
243
- export declare function fromOption<A>(option: Lazy<Maybe<A>>): Channel<unknown, unknown, unknown, unknown, Nothing, never, A>;
242
+ export declare function fromOption<A>(option: Lazy<Maybe<A>>): Channel<never, unknown, unknown, unknown, Nothing, never, A>;
244
243
  /**
245
244
  * @tsplus static fncts.io.ChannelOps fromQueue
246
245
  * @tsplus location "@fncts/io/Channel/api"
247
246
  */
248
- export declare function fromQueue<Err, Elem, Done>(queue: Queue.Dequeue<Either<Exit<Err, Done>, Elem>>): Channel<unknown, unknown, unknown, unknown, Err, Elem, Done>;
247
+ export declare function fromQueue<Err, Elem, Done>(queue: Queue.Dequeue<Either<Exit<Err, Done>, Elem>>): Channel<never, unknown, unknown, unknown, Err, Elem, Done>;
249
248
  /**
250
249
  * Provides the channel with its required environment, which eliminates
251
250
  * its dependency on `Env`.
252
251
  * @tsplus fluent fncts.io.Channel provideEnvironment
253
252
  * @tsplus location "@fncts/io/Channel/api"
254
253
  */
255
- export declare function provideEnvironment_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, env: Lazy<Environment<Env>>): Channel<unknown, InErr, InElem, InDone, OutErr, OutElem, OutDone>;
254
+ export declare function provideEnvironment_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, env: Lazy<Environment<Env>>): Channel<never, InErr, InElem, InDone, OutErr, OutElem, OutDone>;
256
255
  /**
257
256
  * @tsplus fluent fncts.io.Channel contramapEnvironment
258
257
  * @tsplus location "@fncts/io/Channel/api"
@@ -263,29 +262,29 @@ export declare function contramapEnvironment_<Env, InErr, InElem, InDone, OutErr
263
262
  * @tsplus static fncts.io.ChannelOps haltNow
264
263
  * @tsplus location "@fncts/io/Channel/api"
265
264
  */
266
- export declare function haltNow(defect: unknown): Channel<unknown, unknown, unknown, unknown, never, never, never>;
265
+ export declare function haltNow(defect: unknown): Channel<never, unknown, unknown, unknown, never, never, never>;
267
266
  /**
268
267
  * Halt a channel with the specified exception
269
268
  * @tsplus static fncts.io.ChannelOps halt
270
269
  * @tsplus location "@fncts/io/Channel/api"
271
270
  */
272
- export declare function halt(defect: Lazy<unknown>): Channel<unknown, unknown, unknown, unknown, never, never, never>;
271
+ export declare function halt(defect: Lazy<unknown>): Channel<never, unknown, unknown, unknown, never, never, never>;
273
272
  /**
274
273
  * @tsplus static fncts.io.ChannelOps id
275
274
  * @tsplus location "@fncts/io/Channel/api"
276
275
  */
277
- export declare function id<Err, Elem, Done>(): Channel<unknown, Err, Elem, Done, Err, Elem, Done>;
276
+ export declare function id<Err, Elem, Done>(): Channel<never, Err, Elem, Done, Err, Elem, Done>;
278
277
  /**
279
278
  * @tsplus static fncts.io.ChannelOps interrupt
280
279
  * @tsplus location "@fncts/io/Channel/api"
281
280
  */
282
- export declare function interrupt(fiberId: FiberId): Channel<unknown, unknown, unknown, unknown, never, never, never>;
281
+ export declare function interrupt(fiberId: FiberId): Channel<never, unknown, unknown, unknown, never, never, never>;
283
282
  /**
284
283
  * Use a managed to emit an output element
285
284
  * @tsplus static fncts.io.ChannelOps scoped
286
285
  * @tsplus location "@fncts/io/Channel/api"
287
286
  */
288
- export declare function scoped<R, E, A>(io: Lazy<IO<R & Has<Scope>, E, A>>): Channel<R, unknown, unknown, unknown, E, A, unknown>;
287
+ export declare function scoped<R, E, A>(io: Lazy<IO<R, E, A>>): Channel<Exclude<R, Scope>, unknown, unknown, unknown, E, A, unknown>;
289
288
  /**
290
289
  * Returns a new channel, which is the same as this one, except the failure value of the returned
291
290
  * channel is created by applying the specified function to the failure value of this channel.
@@ -306,7 +305,7 @@ export declare function mapErrorCause_<Env, InErr, InElem, InDone, OutErr, OutEr
306
305
  * @tsplus fluent fncts.io.Channel mapIO
307
306
  * @tsplus location "@fncts/io/Channel/api"
308
307
  */
309
- export declare function mapIO_<Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (o: OutDone) => IO<Env1, OutErr1, OutDone1>): Channel<Env & Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem, OutDone1>;
308
+ export declare function mapIO_<Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (o: OutDone) => IO<Env1, OutErr1, OutDone1>): Channel<Env | Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem, OutDone1>;
310
309
  /**
311
310
  * Maps the output of this channel using f
312
311
  * @tsplus fluent fncts.io.Channel mapOut
@@ -317,27 +316,27 @@ export declare function mapOut_<Env, InErr, InElem, InDone, OutErr, OutElem, Out
317
316
  * @tsplus fluent fncts.io.Channel mapOutIO
318
317
  * @tsplus location "@fncts/io/Channel/api"
319
318
  */
320
- export declare function mapOutIO_<Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutElem1, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (o: OutElem) => IO<Env1, OutErr1, OutElem1>): Channel<Env & Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem1, OutDone>;
319
+ export declare function mapOutIO_<Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutElem1, OutDone>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (o: OutElem) => IO<Env1, OutErr1, OutElem1>): Channel<Env | Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem1, OutDone>;
321
320
  /**
322
321
  * Fold the channel exposing success and full error cause
323
322
  * @tsplus fluent fncts.io.Channel matchCauseChannel
324
323
  * @tsplus location "@fncts/io/Channel/api"
325
324
  */
326
- export declare function matchCauseChannel_<Env, Env1, Env2, InErr, InErr1, InErr2, InElem, InElem1, InElem2, InDone, InDone1, InDone2, OutErr, OutErr2, OutErr3, OutElem, OutElem1, OutElem2, OutDone, OutDone2, OutDone3>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, onError: (c: Cause<OutErr>) => Channel<Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone2>, onSuccess: (o: OutDone) => Channel<Env2, InErr2, InElem2, InDone2, OutErr3, OutElem2, OutDone3>): Channel<Env & Env1 & Env2, InErr & InErr1 & InErr2, InElem & InElem1 & InElem2, InDone & InDone1 & InDone2, OutErr2 | OutErr3, OutElem | OutElem1 | OutElem2, OutDone2 | OutDone3>;
325
+ export declare function matchCauseChannel_<Env, Env1, Env2, InErr, InErr1, InErr2, InElem, InElem1, InElem2, InDone, InDone1, InDone2, OutErr, OutErr2, OutErr3, OutElem, OutElem1, OutElem2, OutDone, OutDone2, OutDone3>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, onError: (c: Cause<OutErr>) => Channel<Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone2>, onSuccess: (o: OutDone) => Channel<Env2, InErr2, InElem2, InDone2, OutErr3, OutElem2, OutDone3>): Channel<Env | Env1 | Env2, InErr & InErr1 & InErr2, InElem & InElem1 & InElem2, InDone & InDone1 & InDone2, OutErr2 | OutErr3, OutElem | OutElem1 | OutElem2, OutDone2 | OutDone3>;
327
326
  /**
328
327
  * Fold the channel exposing success and full error cause
329
328
  * @tsplus fluent fncts.io.Channel matchChannel
330
329
  * @tsplus location "@fncts/io/Channel/api"
331
330
  */
332
- export declare function matchChannel_<Env, Env1, Env2, InErr, InErr1, InErr2, InElem, InElem1, InElem2, InDone, InDone1, InDone2, OutErr, OutErr2, OutErr3, OutElem, OutElem1, OutElem2, OutDone, OutDone2, OutDone3>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, onError: (e: OutErr) => Channel<Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone2>, onSuccess: (o: OutDone) => Channel<Env2, InErr2, InElem2, InDone2, OutErr3, OutElem2, OutDone3>): Channel<Env & Env1 & Env2, InErr & InErr1 & InErr2, InElem & InElem1 & InElem2, InDone & InDone1 & InDone2, OutErr2 | OutErr3, OutElem | OutElem1 | OutElem2, OutDone2 | OutDone3>;
333
- export declare const never: Channel<unknown, unknown, unknown, unknown, never, never, never>;
331
+ export declare function matchChannel_<Env, Env1, Env2, InErr, InErr1, InErr2, InElem, InElem1, InElem2, InDone, InDone1, InDone2, OutErr, OutErr2, OutErr3, OutElem, OutElem1, OutElem2, OutDone, OutDone2, OutDone3>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, onError: (e: OutErr) => Channel<Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone2>, onSuccess: (o: OutDone) => Channel<Env2, InErr2, InElem2, InDone2, OutErr3, OutElem2, OutDone3>): Channel<Env | Env1 | Env2, InErr & InErr1 & InErr2, InElem & InElem1 & InElem2, InDone & InDone1 & InDone2, OutErr2 | OutErr3, OutElem | OutElem1 | OutElem2, OutDone2 | OutDone3>;
332
+ export declare const never: Channel<never, unknown, unknown, unknown, never, never, never>;
334
333
  /**
335
334
  * Returns a new channel that will perform the operations of this one, until failure, and then
336
335
  * it will switch over to the operations of the specified fallback channel.
337
336
  * @tsplus fluent fncts.io.Channel orElse
338
337
  * @tsplus location "@fncts/io/Channel/api"
339
338
  */
340
- export declare function orElse_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1, OutElem | OutElem1, OutDone | OutDone1>;
339
+ export declare function orElse_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1, OutElem | OutElem1, OutDone | OutDone1>;
341
340
  /**
342
341
  * @tsplus fluent fncts.io.Channel orHalt
343
342
  * @tsplus location "@fncts/io/Channel/api"
@@ -354,34 +353,34 @@ export declare function orHaltWith_<Env, InErr, InElem, InDone, OutErr, OutElem,
354
353
  * @tsplus operator fncts.io.Channel >>>
355
354
  * @tsplus location "@fncts/io/Channel/api"
356
355
  */
357
- export declare function pipeTo_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, OutErr1, OutElem1, OutDone1>(left: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, right: Channel<Env1, OutErr, OutElem, OutDone, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr, InElem, InDone, OutErr1, OutElem1, OutDone1>;
356
+ export declare function pipeTo_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, OutErr1, OutElem1, OutDone1>(left: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, right: Channel<Env1, OutErr, OutElem, OutDone, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr, InElem, InDone, OutErr1, OutElem1, OutDone1>;
358
357
  /**
359
358
  * @tsplus fluent fncts.io.Channel pipeToOrFail
360
359
  * @tsplus location "@fncts/io/Channel/api"
361
360
  */
362
- export declare function pipeToOrFail_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, OutErr1, OutElem1, OutDone1>(left: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, right: Channel<Env1, never, OutElem, OutDone, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem1, OutDone1>;
361
+ export declare function pipeToOrFail_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, OutErr1, OutElem1, OutDone1>(left: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, right: Channel<Env1, never, OutElem, OutDone, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr, InElem, InDone, OutErr | OutErr1, OutElem1, OutDone1>;
363
362
  /**
364
363
  * @tsplus static fncts.io.ChannelOps read
365
364
  * @tsplus location "@fncts/io/Channel/api"
366
365
  */
367
- export declare function read<In>(): Channel<unknown, unknown, In, unknown, Nothing, never, In>;
366
+ export declare function read<In>(): Channel<never, unknown, In, unknown, Nothing, never, In>;
368
367
  /**
369
368
  * @tsplus static fncts.io.ChannelOps readOrFail
370
369
  * @tsplus location "@fncts/io/Channel/api"
371
370
  */
372
- export declare function readOrFail<In, E>(e: E): Channel<unknown, unknown, In, unknown, E, never, In>;
371
+ export declare function readOrFail<In, E>(e: E): Channel<never, unknown, In, unknown, E, never, In>;
373
372
  /**
374
373
  * Reads an input and continue exposing both full error cause and completion
375
374
  * @tsplus static fncts.io.ChannelOps readWithCause
376
375
  * @tsplus location "@fncts/io/Channel/api"
377
376
  */
378
- export declare function readWithCause<Env, Env1, Env2, InErr, InElem, InDone, OutErr, OutErr1, OutErr2, OutElem, OutElem1, OutElem2, OutDone, OutDone1, OutDone2>(inp: (i: InElem) => Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, halt: (e: Cause<InErr>) => Channel<Env1, InErr, InElem, InDone, OutErr1, OutElem1, OutDone1>, done: (d: InDone) => Channel<Env2, InErr, InElem, InDone, OutErr2, OutElem2, OutDone2>): Channel<Env & Env1 & Env2, InErr, InElem, InDone, OutErr | OutErr1 | OutErr2, OutElem | OutElem1 | OutElem2, OutDone | OutDone1 | OutDone2>;
377
+ export declare function readWithCause<Env, Env1, Env2, InErr, InElem, InDone, OutErr, OutErr1, OutErr2, OutElem, OutElem1, OutElem2, OutDone, OutDone1, OutDone2>(inp: (i: InElem) => Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, halt: (e: Cause<InErr>) => Channel<Env1, InErr, InElem, InDone, OutErr1, OutElem1, OutDone1>, done: (d: InDone) => Channel<Env2, InErr, InElem, InDone, OutErr2, OutElem2, OutDone2>): Channel<Env | Env1 | Env2, InErr, InElem, InDone, OutErr | OutErr1 | OutErr2, OutElem | OutElem1 | OutElem2, OutDone | OutDone1 | OutDone2>;
379
378
  /**
380
379
  * Reads an input and continue exposing both error and completion
381
380
  * @tsplus static fncts.io.ChannelOps readWith
382
381
  * @tsplus location "@fncts/io/Channel/api"
383
382
  */
384
- export declare function readWith<Env, Env1, Env2, InErr, InElem, InDone, OutErr, OutErr1, OutErr2, OutElem, OutElem1, OutElem2, OutDone, OutDone1, OutDone2>(inp: (i: InElem) => Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, error: (e: InErr) => Channel<Env1, InErr, InElem, InDone, OutErr1, OutElem1, OutDone1>, done: (d: InDone) => Channel<Env2, InErr, InElem, InDone, OutErr2, OutElem2, OutDone2>): Channel<Env & Env1 & Env2, InErr, InElem, InDone, OutErr | OutErr1 | OutErr2, OutElem | OutElem1 | OutElem2, OutDone | OutDone1 | OutDone2>;
383
+ export declare function readWith<Env, Env1, Env2, InErr, InElem, InDone, OutErr, OutErr1, OutErr2, OutElem, OutElem1, OutElem2, OutDone, OutDone1, OutDone2>(inp: (i: InElem) => Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, error: (e: InErr) => Channel<Env1, InErr, InElem, InDone, OutErr1, OutElem1, OutDone1>, done: (d: InDone) => Channel<Env2, InErr, InElem, InDone, OutErr2, OutElem2, OutDone2>): Channel<Env | Env1 | Env2, InErr, InElem, InDone, OutErr | OutErr1 | OutErr2, OutElem | OutElem1 | OutElem2, OutDone | OutDone1 | OutDone2>;
385
384
  /**
386
385
  * Repeats this channel forever
387
386
  * @tsplus getter fncts.io.Channel repeated
@@ -392,53 +391,53 @@ export declare function repeated<Env, InErr, InElem, InDone, OutErr, OutElem, Ou
392
391
  * @tsplus static fncts.io.ChannelOps toQueue
393
392
  * @tsplus location "@fncts/io/Channel/api"
394
393
  */
395
- export declare function toQueue<Err, Done, Elem>(queue: Lazy<Queue.Enqueue<Either<Exit<Err, Done>, Elem>>>): Channel<unknown, Err, Elem, Done, never, never, unknown>;
394
+ export declare function toQueue<Err, Done, Elem>(queue: Lazy<Queue.Enqueue<Either<Exit<Err, Done>, Elem>>>): Channel<never, Err, Elem, Done, never, never, unknown>;
396
395
  /**
397
396
  * Writes an output to the channel
398
397
  * @tsplus static fncts.io.ChannelOps write
399
398
  * @tsplus location "@fncts/io/Channel/api"
400
399
  */
401
- export declare function write<OutElem>(out: Lazy<OutElem>): Channel<unknown, unknown, unknown, unknown, never, OutElem, void>;
400
+ export declare function write<OutElem>(out: Lazy<OutElem>): Channel<never, unknown, unknown, unknown, never, OutElem, void>;
402
401
  /**
403
402
  * @tsplus static fncts.io.ChannelOps writeAll
404
403
  * @tsplus location "@fncts/io/Channel/api"
405
404
  */
406
- export declare function writeAll<Out>(outs: ReadonlyArray<Out>): Channel<unknown, unknown, unknown, unknown, never, Out, void>;
405
+ export declare function writeAll<Out>(outs: ReadonlyArray<Out>): Channel<never, unknown, unknown, unknown, never, Out, void>;
407
406
  /**
408
407
  * @tsplus static fncts.io.ChannelOps writeChunk
409
408
  * @tsplus location "@fncts/io/Channel/api"
410
409
  */
411
- export declare function writeChunk<Out>(outs: Conc<Out>): Channel<unknown, unknown, unknown, unknown, never, Out, void>;
410
+ export declare function writeChunk<Out>(outs: Conc<Out>): Channel<never, unknown, unknown, unknown, never, Out, void>;
412
411
  /**
413
412
  * Writes an output to the channel
414
413
  * @tsplus static fncts.io.ChannelOps writeNow
415
414
  * @tsplus location "@fncts/io/Channel/api"
416
415
  */
417
- export declare function writeNow<OutElem>(out: OutElem): Channel<unknown, unknown, unknown, unknown, never, OutElem, void>;
416
+ export declare function writeNow<OutElem>(out: OutElem): Channel<never, unknown, unknown, unknown, never, OutElem, void>;
418
417
  /**
419
418
  * @tsplus static fncts.io.ChannelOps unit
420
419
  * @tsplus location "@fncts/io/Channel/api"
421
420
  */
422
- export declare const unit: Channel<unknown, unknown, unknown, unknown, never, never, void>;
421
+ export declare const unit: Channel<never, unknown, unknown, unknown, never, never, void>;
423
422
  /**
424
423
  * Makes a channel from an effect that returns a channel in case of success
425
424
  * @tsplus static fncts.io.ChannelOps unwrap
426
425
  * @tsplus location "@fncts/io/Channel/api"
427
426
  */
428
- export declare function unwrap<R, E, Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Lazy<IO<R, E, Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>>>): Channel<R & Env, InErr, InElem, InDone, E | OutErr, OutElem, OutDone>;
427
+ export declare function unwrap<R, E, Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Lazy<IO<R, E, Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>>>): Channel<R | Env, InErr, InElem, InDone, E | OutErr, OutElem, OutDone>;
429
428
  /**
430
429
  * Makes a channel from a managed that returns a channel in case of success
431
430
  * @tsplus static fncts.io.ChannelOps unwrapScoped
432
431
  * @tsplus location "@fncts/io/Channel/api"
433
432
  */
434
- export declare function unwrapScoped<R, E, Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Lazy<IO<R & Has<Scope>, E, Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>>>): Channel<R & Env, InErr, InElem, InDone, E | OutErr, OutElem, OutDone>;
433
+ export declare function unwrapScoped<R, E, Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(self: Lazy<IO<R, E, Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>>>): Channel<Exclude<R, Scope> | Env, InErr, InElem, InDone, E | OutErr, OutElem, OutDone>;
435
434
  /**
436
435
  * @tsplus static fncts.io.ChannelOps fromHubScoped
437
436
  * @tsplus location "@fncts/io/Channel/api"
438
437
  */
439
- export declare function fromHubScoped<Err, Done, Elem>(hub: Lazy<Hub<Either<Exit<Err, Done>, Elem>>>): IO<Has<Scope>, never, Channel<unknown, unknown, unknown, unknown, Err, Elem, Done>>;
438
+ export declare function fromHubScoped<Err, Done, Elem>(hub: Lazy<Hub<Either<Exit<Err, Done>, Elem>>>): IO<Scope, never, Channel<never, unknown, unknown, unknown, Err, Elem, Done>>;
440
439
  /**
441
440
  * @tsplus static fncts.io.ChannelOps toHub
442
441
  * @tsplus location "@fncts/io/Channel/api"
443
442
  */
444
- export declare function toHub<Err, Done, Elem>(hub: Lazy<Hub<Either<Exit<Err, Done>, Elem>>>): Channel<unknown, Err, Elem, Done, never, never, unknown>;
443
+ export declare function toHub<Err, Done, Elem>(hub: Lazy<Hub<Either<Exit<Err, Done>, Elem>>>): Channel<never, Err, Elem, Done, never, never, unknown>;
@@ -6,37 +6,37 @@ import { Channel } from "@fncts/io/Channel";
6
6
  * @tsplus static fncts.io.ChannelOps failCause
7
7
  * @tsplus location "@fncts/io/Channel/core-api"
8
8
  */
9
- export declare function failCause<E>(result: Lazy<Cause<E>>): Channel<unknown, unknown, unknown, unknown, E, never, never>;
9
+ export declare function failCause<E>(result: Lazy<Cause<E>>): Channel<never, unknown, unknown, unknown, E, never, never>;
10
10
  /**
11
11
  * Halt a channel with the specified cause
12
12
  * @tsplus static fncts.io.ChannelOps failCauseNow
13
13
  * @tsplus location "@fncts/io/Channel/core-api"
14
14
  */
15
- export declare function failCauseNow<E>(result: Cause<E>): Channel<unknown, unknown, unknown, unknown, E, never, never>;
15
+ export declare function failCauseNow<E>(result: Cause<E>): Channel<never, unknown, unknown, unknown, E, never, never>;
16
16
  /**
17
17
  * End a channel with the specified result
18
18
  * @tsplus static fncts.io.ChannelOps end
19
19
  * @tsplus location "@fncts/io/Channel/core-api"
20
20
  */
21
- export declare function end<OutDone>(result: Lazy<OutDone>): Channel<unknown, unknown, unknown, unknown, never, never, OutDone>;
21
+ export declare function end<OutDone>(result: Lazy<OutDone>): Channel<never, unknown, unknown, unknown, never, never, OutDone>;
22
22
  /**
23
23
  * End a channel with the specified result
24
24
  * @tsplus static fncts.io.ChannelOps endNow
25
25
  * @tsplus location "@fncts/io/Channel/core-api"
26
26
  */
27
- export declare function endNow<OutDone>(result: OutDone): Channel<unknown, unknown, unknown, unknown, never, never, OutDone>;
27
+ export declare function endNow<OutDone>(result: OutDone): Channel<never, unknown, unknown, unknown, never, never, OutDone>;
28
28
  /**
29
29
  * End a channel with the specified result
30
30
  * @tsplus static fncts.io.ChannelOps succeed
31
31
  * @tsplus location "@fncts/io/Channel/core-api"
32
32
  */
33
- export declare function succeed<Z>(z: Lazy<Z>): Channel<unknown, unknown, unknown, unknown, never, never, Z>;
33
+ export declare function succeed<Z>(z: Lazy<Z>): Channel<never, unknown, unknown, unknown, never, never, Z>;
34
34
  /**
35
35
  * End a channel with the specified result
36
36
  * @tsplus static fncts.io.ChannelOps succeedNow
37
37
  * @tsplus location "@fncts/io/Channel/core-api"
38
38
  */
39
- export declare function succeedNow<Z>(z: Z): Channel<unknown, unknown, unknown, unknown, never, never, Z>;
39
+ export declare function succeedNow<Z>(z: Z): Channel<never, unknown, unknown, unknown, never, never, Z>;
40
40
  /**
41
41
  * Returns a new channel, which is the same as this one, except the terminal value of the
42
42
  * returned channel is created by applying the specified function to the terminal value of this
@@ -53,21 +53,21 @@ export declare function map_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDon
53
53
  * @tsplus fluent fncts.io.Channel flatMap
54
54
  * @tsplus location "@fncts/io/Channel/core-api"
55
55
  */
56
- export declare function flatMap_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (d: OutDone) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone2>;
56
+ export declare function flatMap_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>(channel: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, f: (d: OutDone) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone2>;
57
57
  /**
58
58
  * Returns a new channel that is the sequential composition of this channel and the specified
59
59
  * channel. The returned channel terminates with a tuple of the terminal values of both channels.
60
60
  * @tsplus fluent fncts.io.Channel cross
61
61
  * @tsplus location "@fncts/io/Channel/core-api"
62
62
  */
63
- export declare function cross_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, readonly [OutDone, OutDone1]>;
63
+ export declare function cross_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, readonly [OutDone, OutDone1]>;
64
64
  /**
65
65
  * Returns a new channel that is the sequential composition of this channel and the specified
66
66
  * channel. The returned channel terminates with the terminal value of this channel.
67
67
  * @tsplus fluent fncts.io.Channel apFirst
68
68
  * @tsplus location "@fncts/io/Channel/core-api"
69
69
  */
70
- export declare function apFirst_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone>;
70
+ export declare function apFirst_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, OutDone>;
71
71
  /**
72
72
  * Returns a new channel that is the sequential composition of this channel and the specified
73
73
  * channel. The returned channel terminates with the terminal value of the other channel.
@@ -75,4 +75,4 @@ export declare function apFirst_<Env, Env1, InErr, InErr1, InElem, InElem1, InDo
75
75
  * @tsplus operator fncts.io.Channel >
76
76
  * @tsplus location "@fncts/io/Channel/core-api"
77
77
  */
78
- export declare function apSecond_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env & Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1 | OutErr, OutElem1 | OutElem, OutDone1>;
78
+ export declare function apSecond_<Env, Env1, InErr, InErr1, InElem, InElem1, InDone, InDone1, OutErr, OutErr1, OutElem, OutElem1, OutDone, OutDone1>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, that: Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1>): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr1 | OutErr, OutElem1 | OutElem, OutDone1>;