effect 2.2.5 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/RateLimiter/package.json +6 -0
  2. package/dist/cjs/Cause.js +14 -1
  3. package/dist/cjs/Cause.js.map +1 -1
  4. package/dist/cjs/Channel.js.map +1 -1
  5. package/dist/cjs/Clock.js.map +1 -1
  6. package/dist/cjs/Console.js.map +1 -1
  7. package/dist/cjs/Context.js +23 -25
  8. package/dist/cjs/Context.js.map +1 -1
  9. package/dist/cjs/Data.js +3 -3
  10. package/dist/cjs/Data.js.map +1 -1
  11. package/dist/cjs/Deferred.js +1 -1
  12. package/dist/cjs/Deferred.js.map +1 -1
  13. package/dist/cjs/Effect.js +9 -9
  14. package/dist/cjs/Effect.js.map +1 -1
  15. package/dist/cjs/Effectable.js.map +1 -1
  16. package/dist/cjs/Either.js.map +1 -1
  17. package/dist/cjs/Exit.js +2 -2
  18. package/dist/cjs/Exit.js.map +1 -1
  19. package/dist/cjs/Fiber.js.map +1 -1
  20. package/dist/cjs/FiberMap.js +3 -3
  21. package/dist/cjs/FiberRef.js.map +1 -1
  22. package/dist/cjs/FiberRefs.js.map +1 -1
  23. package/dist/cjs/FiberSet.js +3 -3
  24. package/dist/cjs/FiberSet.js.map +1 -1
  25. package/dist/cjs/GroupBy.js.map +1 -1
  26. package/dist/cjs/Layer.js.map +1 -1
  27. package/dist/cjs/LogLevel.js.map +1 -1
  28. package/dist/cjs/Logger.js.map +1 -1
  29. package/dist/cjs/Metric.js.map +1 -1
  30. package/dist/cjs/Number.js +20 -1
  31. package/dist/cjs/Number.js.map +1 -1
  32. package/dist/cjs/Option.js.map +1 -1
  33. package/dist/cjs/Pool.js.map +1 -1
  34. package/dist/cjs/PubSub.js.map +1 -1
  35. package/dist/cjs/Queue.js.map +1 -1
  36. package/dist/cjs/Random.js.map +1 -1
  37. package/dist/cjs/RateLimiter.js +38 -0
  38. package/dist/cjs/RateLimiter.js.map +1 -0
  39. package/dist/cjs/ReadonlyRecord.js +45 -9
  40. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  41. package/dist/cjs/Ref.js.map +1 -1
  42. package/dist/cjs/Request.js.map +1 -1
  43. package/dist/cjs/RequestResolver.js.map +1 -1
  44. package/dist/cjs/Resource.js.map +1 -1
  45. package/dist/cjs/Runtime.js +1 -4
  46. package/dist/cjs/Runtime.js.map +1 -1
  47. package/dist/cjs/RuntimeFlags.js.map +1 -1
  48. package/dist/cjs/STM.js.map +1 -1
  49. package/dist/cjs/Schedule.js.map +1 -1
  50. package/dist/cjs/Scope.js.map +1 -1
  51. package/dist/cjs/ScopedRef.js.map +1 -1
  52. package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
  53. package/dist/cjs/Sink.js.map +1 -1
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/SubscriptionRef.js.map +1 -1
  56. package/dist/cjs/Supervisor.js.map +1 -1
  57. package/dist/cjs/SynchronizedRef.js.map +1 -1
  58. package/dist/cjs/TArray.js.map +1 -1
  59. package/dist/cjs/TDeferred.js.map +1 -1
  60. package/dist/cjs/TMap.js.map +1 -1
  61. package/dist/cjs/TPriorityQueue.js.map +1 -1
  62. package/dist/cjs/TPubSub.js.map +1 -1
  63. package/dist/cjs/TQueue.js.map +1 -1
  64. package/dist/cjs/TRandom.js.map +1 -1
  65. package/dist/cjs/TReentrantLock.js.map +1 -1
  66. package/dist/cjs/TRef.js.map +1 -1
  67. package/dist/cjs/TSemaphore.js.map +1 -1
  68. package/dist/cjs/TSet.js.map +1 -1
  69. package/dist/cjs/Take.js +6 -6
  70. package/dist/cjs/Take.js.map +1 -1
  71. package/dist/cjs/TestAnnotation.js +10 -13
  72. package/dist/cjs/TestAnnotation.js.map +1 -1
  73. package/dist/cjs/TestAnnotations.js +1 -1
  74. package/dist/cjs/TestAnnotations.js.map +1 -1
  75. package/dist/cjs/TestClock.js +1 -1
  76. package/dist/cjs/TestClock.js.map +1 -1
  77. package/dist/cjs/TestConfig.js +1 -1
  78. package/dist/cjs/TestConfig.js.map +1 -1
  79. package/dist/cjs/TestContext.js.map +1 -1
  80. package/dist/cjs/TestLive.js +1 -1
  81. package/dist/cjs/TestLive.js.map +1 -1
  82. package/dist/cjs/TestServices.js.map +1 -1
  83. package/dist/cjs/TestSized.js +1 -1
  84. package/dist/cjs/TestSized.js.map +1 -1
  85. package/dist/cjs/Utils.js +0 -1
  86. package/dist/cjs/Utils.js.map +1 -1
  87. package/dist/cjs/index.js +4 -2
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/cjs/internal/cache.js.map +1 -1
  90. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  91. package/dist/cjs/internal/channel/mergeDecision.js +2 -6
  92. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  93. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  94. package/dist/cjs/internal/channel.js +1 -1
  95. package/dist/cjs/internal/channel.js.map +1 -1
  96. package/dist/cjs/internal/clock.js +1 -1
  97. package/dist/cjs/internal/clock.js.map +1 -1
  98. package/dist/cjs/internal/configProvider.js +2 -4
  99. package/dist/cjs/internal/configProvider.js.map +1 -1
  100. package/dist/cjs/internal/console.js.map +1 -1
  101. package/dist/cjs/internal/context.js +31 -22
  102. package/dist/cjs/internal/context.js.map +1 -1
  103. package/dist/cjs/internal/core-effect.js +13 -27
  104. package/dist/cjs/internal/core-effect.js.map +1 -1
  105. package/dist/cjs/internal/core-stream.js.map +1 -1
  106. package/dist/cjs/internal/core.js +61 -130
  107. package/dist/cjs/internal/core.js.map +1 -1
  108. package/dist/cjs/internal/data.js.map +1 -1
  109. package/dist/cjs/internal/defaultServices/console.js +1 -1
  110. package/dist/cjs/internal/defaultServices/console.js.map +1 -1
  111. package/dist/cjs/internal/defaultServices.js.map +1 -1
  112. package/dist/cjs/internal/deferred.js.map +1 -1
  113. package/dist/cjs/internal/differ/contextPatch.js +9 -9
  114. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  115. package/dist/cjs/internal/effect/circular.js +7 -10
  116. package/dist/cjs/internal/effect/circular.js.map +1 -1
  117. package/dist/cjs/internal/effectable.js +4 -4
  118. package/dist/cjs/internal/effectable.js.map +1 -1
  119. package/dist/cjs/internal/fiber.js +2 -6
  120. package/dist/cjs/internal/fiber.js.map +1 -1
  121. package/dist/cjs/internal/fiberRuntime.js +10 -19
  122. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  123. package/dist/cjs/internal/groupBy.js.map +1 -1
  124. package/dist/cjs/internal/keyedPool.js.map +1 -1
  125. package/dist/cjs/internal/layer/circular.js.map +1 -1
  126. package/dist/cjs/internal/layer.js +3 -3
  127. package/dist/cjs/internal/layer.js.map +1 -1
  128. package/dist/cjs/internal/logSpan.js +3 -5
  129. package/dist/cjs/internal/logSpan.js.map +1 -1
  130. package/dist/cjs/internal/metric.js.map +1 -1
  131. package/dist/cjs/internal/pool.js.map +1 -1
  132. package/dist/cjs/internal/pubsub.js +2 -6
  133. package/dist/cjs/internal/pubsub.js.map +1 -1
  134. package/dist/cjs/internal/query.js.map +1 -1
  135. package/dist/cjs/internal/queue.js.map +1 -1
  136. package/dist/cjs/internal/random.js +1 -1
  137. package/dist/cjs/internal/random.js.map +1 -1
  138. package/dist/cjs/internal/rateLimiter.js +44 -0
  139. package/dist/cjs/internal/rateLimiter.js.map +1 -0
  140. package/dist/cjs/internal/ref.js.map +1 -1
  141. package/dist/cjs/internal/reloadable.js +1 -9
  142. package/dist/cjs/internal/reloadable.js.map +1 -1
  143. package/dist/cjs/internal/runtime.js +0 -1
  144. package/dist/cjs/internal/runtime.js.map +1 -1
  145. package/dist/cjs/internal/schedule.js.map +1 -1
  146. package/dist/cjs/internal/scopedCache.js.map +1 -1
  147. package/dist/cjs/internal/scopedRef.js.map +1 -1
  148. package/dist/cjs/internal/sink.js +7 -7
  149. package/dist/cjs/internal/sink.js.map +1 -1
  150. package/dist/cjs/internal/stm/core.js.map +1 -1
  151. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  152. package/dist/cjs/internal/stm/stm/tExit.js +2 -2
  153. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  154. package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
  155. package/dist/cjs/internal/stm/stm.js.map +1 -1
  156. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  157. package/dist/cjs/internal/stm/tDeferred.js +4 -2
  158. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  159. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  160. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  161. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  162. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  163. package/dist/cjs/internal/stm/tRandom.js +1 -1
  164. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  165. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  166. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  167. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  168. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  169. package/dist/cjs/internal/stream/debounceState.js.map +1 -1
  170. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  171. package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
  172. package/dist/cjs/internal/stream/pull.js.map +1 -1
  173. package/dist/cjs/internal/stream.js +0 -2
  174. package/dist/cjs/internal/stream.js.map +1 -1
  175. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  176. package/dist/cjs/internal/supervisor.js.map +1 -1
  177. package/dist/cjs/internal/take.js +2 -2
  178. package/dist/cjs/internal/take.js.map +1 -1
  179. package/dist/cjs/internal/testing/sleep.js.map +1 -1
  180. package/dist/cjs/internal/tracer.js +2 -2
  181. package/dist/cjs/internal/tracer.js.map +1 -1
  182. package/dist/cjs/internal/version.js +1 -1
  183. package/dist/dts/Cache.d.ts +20 -20
  184. package/dist/dts/Cache.d.ts.map +1 -1
  185. package/dist/dts/Cause.d.ts +33 -5
  186. package/dist/dts/Cause.d.ts.map +1 -1
  187. package/dist/dts/Channel.d.ts +197 -194
  188. package/dist/dts/Channel.d.ts.map +1 -1
  189. package/dist/dts/Clock.d.ts +7 -7
  190. package/dist/dts/Clock.d.ts.map +1 -1
  191. package/dist/dts/Config.d.ts +1 -1
  192. package/dist/dts/Config.d.ts.map +1 -1
  193. package/dist/dts/ConfigProvider.d.ts +6 -6
  194. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  195. package/dist/dts/Console.d.ts +43 -43
  196. package/dist/dts/Console.d.ts.map +1 -1
  197. package/dist/dts/Context.d.ts +44 -29
  198. package/dist/dts/Context.d.ts.map +1 -1
  199. package/dist/dts/Data.d.ts +38 -57
  200. package/dist/dts/Data.d.ts.map +1 -1
  201. package/dist/dts/Deferred.d.ts +36 -36
  202. package/dist/dts/Deferred.d.ts.map +1 -1
  203. package/dist/dts/Effect.d.ts +732 -729
  204. package/dist/dts/Effect.d.ts.map +1 -1
  205. package/dist/dts/Effectable.d.ts +8 -8
  206. package/dist/dts/Effectable.d.ts.map +1 -1
  207. package/dist/dts/Either.d.ts +2 -3
  208. package/dist/dts/Either.d.ts.map +1 -1
  209. package/dist/dts/Exit.d.ts +74 -74
  210. package/dist/dts/Exit.d.ts.map +1 -1
  211. package/dist/dts/Fiber.d.ts +75 -75
  212. package/dist/dts/Fiber.d.ts.map +1 -1
  213. package/dist/dts/FiberMap.d.ts +22 -22
  214. package/dist/dts/FiberMap.d.ts.map +1 -1
  215. package/dist/dts/FiberRef.d.ts +28 -28
  216. package/dist/dts/FiberRef.d.ts.map +1 -1
  217. package/dist/dts/FiberRefs.d.ts +1 -1
  218. package/dist/dts/FiberRefs.d.ts.map +1 -1
  219. package/dist/dts/FiberSet.d.ts +16 -16
  220. package/dist/dts/FiberSet.d.ts.map +1 -1
  221. package/dist/dts/GroupBy.d.ts +6 -6
  222. package/dist/dts/GroupBy.d.ts.map +1 -1
  223. package/dist/dts/KeyedPool.d.ts +22 -22
  224. package/dist/dts/KeyedPool.d.ts.map +1 -1
  225. package/dist/dts/Layer.d.ts +126 -126
  226. package/dist/dts/Layer.d.ts.map +1 -1
  227. package/dist/dts/LogLevel.d.ts +2 -2
  228. package/dist/dts/LogLevel.d.ts.map +1 -1
  229. package/dist/dts/Logger.d.ts +14 -14
  230. package/dist/dts/Logger.d.ts.map +1 -1
  231. package/dist/dts/MergeDecision.d.ts +7 -7
  232. package/dist/dts/MergeState.d.ts +13 -13
  233. package/dist/dts/MergeState.d.ts.map +1 -1
  234. package/dist/dts/Metric.d.ts +32 -32
  235. package/dist/dts/Metric.d.ts.map +1 -1
  236. package/dist/dts/MetricPolling.d.ts +6 -6
  237. package/dist/dts/MetricPolling.d.ts.map +1 -1
  238. package/dist/dts/Number.d.ts +15 -0
  239. package/dist/dts/Number.d.ts.map +1 -1
  240. package/dist/dts/Option.d.ts +2 -3
  241. package/dist/dts/Option.d.ts.map +1 -1
  242. package/dist/dts/Pool.d.ts +15 -16
  243. package/dist/dts/Pool.d.ts.map +1 -1
  244. package/dist/dts/PubSub.d.ts +18 -18
  245. package/dist/dts/PubSub.d.ts.map +1 -1
  246. package/dist/dts/Queue.d.ts +40 -40
  247. package/dist/dts/Queue.d.ts.map +1 -1
  248. package/dist/dts/Random.d.ts +13 -13
  249. package/dist/dts/Random.d.ts.map +1 -1
  250. package/dist/dts/RateLimiter.d.ts +31 -0
  251. package/dist/dts/RateLimiter.d.ts.map +1 -0
  252. package/dist/dts/ReadonlyArray.d.ts +3 -3
  253. package/dist/dts/ReadonlyRecord.d.ts +37 -8
  254. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  255. package/dist/dts/Ref.d.ts +25 -25
  256. package/dist/dts/Ref.d.ts.map +1 -1
  257. package/dist/dts/Reloadable.d.ts +9 -9
  258. package/dist/dts/Reloadable.d.ts.map +1 -1
  259. package/dist/dts/Request.d.ts +27 -28
  260. package/dist/dts/Request.d.ts.map +1 -1
  261. package/dist/dts/RequestBlock.d.ts +3 -3
  262. package/dist/dts/RequestBlock.d.ts.map +1 -1
  263. package/dist/dts/RequestResolver.d.ts +16 -16
  264. package/dist/dts/RequestResolver.d.ts.map +1 -1
  265. package/dist/dts/Resource.d.ts +7 -7
  266. package/dist/dts/Resource.d.ts.map +1 -1
  267. package/dist/dts/Runtime.d.ts +13 -16
  268. package/dist/dts/Runtime.d.ts.map +1 -1
  269. package/dist/dts/RuntimeFlags.d.ts +10 -10
  270. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  271. package/dist/dts/STM.d.ts +303 -303
  272. package/dist/dts/STM.d.ts.map +1 -1
  273. package/dist/dts/Schedule.d.ts +19 -19
  274. package/dist/dts/Schedule.d.ts.map +1 -1
  275. package/dist/dts/Scope.d.ts +10 -10
  276. package/dist/dts/Scope.d.ts.map +1 -1
  277. package/dist/dts/ScopedCache.d.ts +14 -14
  278. package/dist/dts/ScopedCache.d.ts.map +1 -1
  279. package/dist/dts/ScopedRef.d.ts +5 -5
  280. package/dist/dts/ScopedRef.d.ts.map +1 -1
  281. package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
  282. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  283. package/dist/dts/Sink.d.ts +214 -205
  284. package/dist/dts/Sink.d.ts.map +1 -1
  285. package/dist/dts/Stream.d.ts +595 -592
  286. package/dist/dts/Stream.d.ts.map +1 -1
  287. package/dist/dts/StreamEmit.d.ts +5 -5
  288. package/dist/dts/StreamEmit.d.ts.map +1 -1
  289. package/dist/dts/Streamable.d.ts +2 -2
  290. package/dist/dts/Streamable.d.ts.map +1 -1
  291. package/dist/dts/SubscriptionRef.d.ts +41 -41
  292. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  293. package/dist/dts/Supervisor.d.ts +17 -17
  294. package/dist/dts/Supervisor.d.ts.map +1 -1
  295. package/dist/dts/SynchronizedRef.d.ts +41 -41
  296. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  297. package/dist/dts/TArray.d.ts +72 -72
  298. package/dist/dts/TArray.d.ts.map +1 -1
  299. package/dist/dts/TDeferred.d.ts +12 -12
  300. package/dist/dts/TDeferred.d.ts.map +1 -1
  301. package/dist/dts/TMap.d.ts +67 -67
  302. package/dist/dts/TMap.d.ts.map +1 -1
  303. package/dist/dts/TPriorityQueue.d.ts +23 -23
  304. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  305. package/dist/dts/TPubSub.d.ts +15 -15
  306. package/dist/dts/TPubSub.d.ts.map +1 -1
  307. package/dist/dts/TQueue.d.ts +40 -40
  308. package/dist/dts/TQueue.d.ts.map +1 -1
  309. package/dist/dts/TRandom.d.ts +13 -13
  310. package/dist/dts/TRandom.d.ts.map +1 -1
  311. package/dist/dts/TReentrantLock.d.ts +21 -21
  312. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  313. package/dist/dts/TRef.d.ts +25 -25
  314. package/dist/dts/TRef.d.ts.map +1 -1
  315. package/dist/dts/TSemaphore.d.ts +15 -15
  316. package/dist/dts/TSemaphore.d.ts.map +1 -1
  317. package/dist/dts/TSet.d.ts +49 -49
  318. package/dist/dts/TSet.d.ts.map +1 -1
  319. package/dist/dts/Take.d.ts +41 -41
  320. package/dist/dts/Take.d.ts.map +1 -1
  321. package/dist/dts/TestAnnotation.d.ts +1 -3
  322. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  323. package/dist/dts/TestAnnotations.d.ts +3 -3
  324. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  325. package/dist/dts/TestClock.d.ts +18 -18
  326. package/dist/dts/TestClock.d.ts.map +1 -1
  327. package/dist/dts/TestConfig.d.ts.map +1 -1
  328. package/dist/dts/TestContext.d.ts +2 -2
  329. package/dist/dts/TestContext.d.ts.map +1 -1
  330. package/dist/dts/TestLive.d.ts +1 -1
  331. package/dist/dts/TestLive.d.ts.map +1 -1
  332. package/dist/dts/TestServices.d.ts +31 -31
  333. package/dist/dts/TestServices.d.ts.map +1 -1
  334. package/dist/dts/TestSized.d.ts +2 -2
  335. package/dist/dts/TestSized.d.ts.map +1 -1
  336. package/dist/dts/Tracer.d.ts +1 -1
  337. package/dist/dts/Utils.d.ts.map +1 -1
  338. package/dist/dts/index.d.ts +12 -2
  339. package/dist/dts/index.d.ts.map +1 -1
  340. package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
  341. package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
  342. package/dist/dts/internal/core-stream.d.ts +1 -1
  343. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  344. package/dist/dts/internal/rateLimiter.d.ts +2 -0
  345. package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
  346. package/dist/dts/internal/stm/stm.d.ts +6 -6
  347. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  348. package/dist/dts/internal/version.d.ts +1 -1
  349. package/dist/esm/Cause.js +13 -0
  350. package/dist/esm/Cause.js.map +1 -1
  351. package/dist/esm/Channel.js.map +1 -1
  352. package/dist/esm/Clock.js.map +1 -1
  353. package/dist/esm/Console.js.map +1 -1
  354. package/dist/esm/Context.js +22 -24
  355. package/dist/esm/Context.js.map +1 -1
  356. package/dist/esm/Data.js +4 -5
  357. package/dist/esm/Data.js.map +1 -1
  358. package/dist/esm/Deferred.js +1 -1
  359. package/dist/esm/Deferred.js.map +1 -1
  360. package/dist/esm/Effect.js +9 -9
  361. package/dist/esm/Effect.js.map +1 -1
  362. package/dist/esm/Effectable.js.map +1 -1
  363. package/dist/esm/Either.js.map +1 -1
  364. package/dist/esm/Exit.js +2 -2
  365. package/dist/esm/Exit.js.map +1 -1
  366. package/dist/esm/Fiber.js.map +1 -1
  367. package/dist/esm/FiberMap.js +3 -3
  368. package/dist/esm/FiberRef.js.map +1 -1
  369. package/dist/esm/FiberRefs.js.map +1 -1
  370. package/dist/esm/FiberSet.js +3 -3
  371. package/dist/esm/FiberSet.js.map +1 -1
  372. package/dist/esm/GroupBy.js.map +1 -1
  373. package/dist/esm/Layer.js.map +1 -1
  374. package/dist/esm/LogLevel.js.map +1 -1
  375. package/dist/esm/Logger.js.map +1 -1
  376. package/dist/esm/Metric.js.map +1 -1
  377. package/dist/esm/Number.js +18 -0
  378. package/dist/esm/Number.js.map +1 -1
  379. package/dist/esm/Option.js.map +1 -1
  380. package/dist/esm/Pool.js.map +1 -1
  381. package/dist/esm/PubSub.js.map +1 -1
  382. package/dist/esm/Queue.js.map +1 -1
  383. package/dist/esm/Random.js.map +1 -1
  384. package/dist/esm/RateLimiter.js +7 -0
  385. package/dist/esm/RateLimiter.js.map +1 -0
  386. package/dist/esm/ReadonlyRecord.js +44 -8
  387. package/dist/esm/ReadonlyRecord.js.map +1 -1
  388. package/dist/esm/Ref.js.map +1 -1
  389. package/dist/esm/Request.js.map +1 -1
  390. package/dist/esm/RequestResolver.js.map +1 -1
  391. package/dist/esm/Resource.js.map +1 -1
  392. package/dist/esm/Runtime.js +1 -4
  393. package/dist/esm/Runtime.js.map +1 -1
  394. package/dist/esm/RuntimeFlags.js.map +1 -1
  395. package/dist/esm/STM.js.map +1 -1
  396. package/dist/esm/Schedule.js.map +1 -1
  397. package/dist/esm/Scope.js.map +1 -1
  398. package/dist/esm/ScopedRef.js.map +1 -1
  399. package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
  400. package/dist/esm/Sink.js.map +1 -1
  401. package/dist/esm/Stream.js.map +1 -1
  402. package/dist/esm/SubscriptionRef.js.map +1 -1
  403. package/dist/esm/Supervisor.js.map +1 -1
  404. package/dist/esm/SynchronizedRef.js.map +1 -1
  405. package/dist/esm/TArray.js.map +1 -1
  406. package/dist/esm/TDeferred.js.map +1 -1
  407. package/dist/esm/TMap.js.map +1 -1
  408. package/dist/esm/TPriorityQueue.js.map +1 -1
  409. package/dist/esm/TPubSub.js.map +1 -1
  410. package/dist/esm/TQueue.js.map +1 -1
  411. package/dist/esm/TRandom.js.map +1 -1
  412. package/dist/esm/TReentrantLock.js.map +1 -1
  413. package/dist/esm/TRef.js.map +1 -1
  414. package/dist/esm/TSemaphore.js.map +1 -1
  415. package/dist/esm/TSet.js.map +1 -1
  416. package/dist/esm/Take.js +6 -6
  417. package/dist/esm/Take.js.map +1 -1
  418. package/dist/esm/TestAnnotation.js +10 -13
  419. package/dist/esm/TestAnnotation.js.map +1 -1
  420. package/dist/esm/TestAnnotations.js +1 -1
  421. package/dist/esm/TestAnnotations.js.map +1 -1
  422. package/dist/esm/TestClock.js +1 -1
  423. package/dist/esm/TestClock.js.map +1 -1
  424. package/dist/esm/TestConfig.js +1 -1
  425. package/dist/esm/TestConfig.js.map +1 -1
  426. package/dist/esm/TestContext.js.map +1 -1
  427. package/dist/esm/TestLive.js +1 -1
  428. package/dist/esm/TestLive.js.map +1 -1
  429. package/dist/esm/TestServices.js.map +1 -1
  430. package/dist/esm/TestSized.js +1 -1
  431. package/dist/esm/TestSized.js.map +1 -1
  432. package/dist/esm/Utils.js +1 -1
  433. package/dist/esm/Utils.js.map +1 -1
  434. package/dist/esm/index.js +12 -2
  435. package/dist/esm/index.js.map +1 -1
  436. package/dist/esm/internal/cache.js.map +1 -1
  437. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  438. package/dist/esm/internal/channel/mergeDecision.js +2 -6
  439. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  440. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  441. package/dist/esm/internal/channel.js +1 -1
  442. package/dist/esm/internal/channel.js.map +1 -1
  443. package/dist/esm/internal/clock.js +1 -1
  444. package/dist/esm/internal/clock.js.map +1 -1
  445. package/dist/esm/internal/configProvider.js +2 -4
  446. package/dist/esm/internal/configProvider.js.map +1 -1
  447. package/dist/esm/internal/console.js.map +1 -1
  448. package/dist/esm/internal/context.js +28 -20
  449. package/dist/esm/internal/context.js.map +1 -1
  450. package/dist/esm/internal/core-effect.js +12 -26
  451. package/dist/esm/internal/core-effect.js.map +1 -1
  452. package/dist/esm/internal/core-stream.js.map +1 -1
  453. package/dist/esm/internal/core.js +57 -127
  454. package/dist/esm/internal/core.js.map +1 -1
  455. package/dist/esm/internal/data.js.map +1 -1
  456. package/dist/esm/internal/defaultServices/console.js +1 -1
  457. package/dist/esm/internal/defaultServices/console.js.map +1 -1
  458. package/dist/esm/internal/defaultServices.js.map +1 -1
  459. package/dist/esm/internal/deferred.js.map +1 -1
  460. package/dist/esm/internal/differ/contextPatch.js +9 -9
  461. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  462. package/dist/esm/internal/effect/circular.js +5 -8
  463. package/dist/esm/internal/effect/circular.js.map +1 -1
  464. package/dist/esm/internal/effectable.js +4 -4
  465. package/dist/esm/internal/effectable.js.map +1 -1
  466. package/dist/esm/internal/fiber.js +2 -6
  467. package/dist/esm/internal/fiber.js.map +1 -1
  468. package/dist/esm/internal/fiberRuntime.js +10 -19
  469. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  470. package/dist/esm/internal/groupBy.js.map +1 -1
  471. package/dist/esm/internal/keyedPool.js.map +1 -1
  472. package/dist/esm/internal/layer/circular.js.map +1 -1
  473. package/dist/esm/internal/layer.js +3 -3
  474. package/dist/esm/internal/layer.js.map +1 -1
  475. package/dist/esm/internal/logSpan.js +3 -5
  476. package/dist/esm/internal/logSpan.js.map +1 -1
  477. package/dist/esm/internal/metric.js.map +1 -1
  478. package/dist/esm/internal/pool.js.map +1 -1
  479. package/dist/esm/internal/pubsub.js +1 -5
  480. package/dist/esm/internal/pubsub.js.map +1 -1
  481. package/dist/esm/internal/query.js.map +1 -1
  482. package/dist/esm/internal/queue.js.map +1 -1
  483. package/dist/esm/internal/random.js +1 -1
  484. package/dist/esm/internal/random.js.map +1 -1
  485. package/dist/esm/internal/rateLimiter.js +12 -0
  486. package/dist/esm/internal/rateLimiter.js.map +1 -0
  487. package/dist/esm/internal/ref.js.map +1 -1
  488. package/dist/esm/internal/reloadable.js +1 -9
  489. package/dist/esm/internal/reloadable.js.map +1 -1
  490. package/dist/esm/internal/runtime.js +0 -1
  491. package/dist/esm/internal/runtime.js.map +1 -1
  492. package/dist/esm/internal/schedule.js.map +1 -1
  493. package/dist/esm/internal/scopedCache.js.map +1 -1
  494. package/dist/esm/internal/scopedRef.js.map +1 -1
  495. package/dist/esm/internal/sink.js +7 -7
  496. package/dist/esm/internal/sink.js.map +1 -1
  497. package/dist/esm/internal/stm/core.js.map +1 -1
  498. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  499. package/dist/esm/internal/stm/stm/tExit.js +2 -2
  500. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  501. package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
  502. package/dist/esm/internal/stm/stm.js.map +1 -1
  503. package/dist/esm/internal/stm/tArray.js.map +1 -1
  504. package/dist/esm/internal/stm/tDeferred.js +4 -2
  505. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  506. package/dist/esm/internal/stm/tMap.js.map +1 -1
  507. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  508. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  509. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  510. package/dist/esm/internal/stm/tRandom.js +1 -1
  511. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  512. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  513. package/dist/esm/internal/stm/tRef.js.map +1 -1
  514. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  515. package/dist/esm/internal/stm/tSet.js.map +1 -1
  516. package/dist/esm/internal/stream/debounceState.js.map +1 -1
  517. package/dist/esm/internal/stream/handoff.js.map +1 -1
  518. package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
  519. package/dist/esm/internal/stream/pull.js.map +1 -1
  520. package/dist/esm/internal/stream.js +0 -2
  521. package/dist/esm/internal/stream.js.map +1 -1
  522. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  523. package/dist/esm/internal/supervisor.js.map +1 -1
  524. package/dist/esm/internal/take.js +2 -2
  525. package/dist/esm/internal/take.js.map +1 -1
  526. package/dist/esm/internal/testing/sleep.js.map +1 -1
  527. package/dist/esm/internal/tracer.js +2 -2
  528. package/dist/esm/internal/tracer.js.map +1 -1
  529. package/dist/esm/internal/version.js +1 -1
  530. package/package.json +9 -1
  531. package/src/Cache.ts +20 -20
  532. package/src/Cause.ts +37 -13
  533. package/src/Channel.ts +802 -794
  534. package/src/Clock.ts +7 -7
  535. package/src/Config.ts +1 -1
  536. package/src/ConfigProvider.ts +6 -6
  537. package/src/Console.ts +44 -48
  538. package/src/Context.ts +52 -30
  539. package/src/Data.ts +38 -61
  540. package/src/Deferred.ts +39 -41
  541. package/src/Effect.ts +1187 -1206
  542. package/src/Effectable.ts +8 -8
  543. package/src/Either.ts +2 -3
  544. package/src/Exit.ts +88 -105
  545. package/src/Fiber.ts +77 -83
  546. package/src/FiberMap.ts +77 -77
  547. package/src/FiberRef.ts +28 -28
  548. package/src/FiberRefs.ts +1 -1
  549. package/src/FiberSet.ts +61 -62
  550. package/src/GroupBy.ts +8 -12
  551. package/src/KeyedPool.ts +22 -22
  552. package/src/Layer.ts +187 -181
  553. package/src/LogLevel.ts +7 -6
  554. package/src/Logger.ts +18 -18
  555. package/src/MergeDecision.ts +7 -7
  556. package/src/MergeState.ts +16 -16
  557. package/src/Metric.ts +39 -39
  558. package/src/MetricPolling.ts +6 -6
  559. package/src/Number.ts +19 -0
  560. package/src/Option.ts +2 -3
  561. package/src/Pool.ts +15 -16
  562. package/src/PubSub.ts +18 -18
  563. package/src/Queue.ts +43 -46
  564. package/src/Random.ts +13 -15
  565. package/src/RateLimiter.ts +37 -0
  566. package/src/ReadonlyRecord.ts +49 -8
  567. package/src/Ref.ts +25 -25
  568. package/src/Reloadable.ts +10 -10
  569. package/src/Request.ts +31 -31
  570. package/src/RequestBlock.ts +3 -3
  571. package/src/RequestResolver.ts +21 -21
  572. package/src/Resource.ts +13 -13
  573. package/src/Runtime.ts +16 -19
  574. package/src/RuntimeFlags.ts +10 -10
  575. package/src/STM.ts +361 -362
  576. package/src/Schedule.ts +19 -19
  577. package/src/Scheduler.ts +2 -2
  578. package/src/Scope.ts +14 -15
  579. package/src/ScopedCache.ts +14 -14
  580. package/src/ScopedRef.ts +7 -7
  581. package/src/SingleProducerAsyncInput.ts +8 -9
  582. package/src/Sink.ts +357 -381
  583. package/src/Stream.ts +935 -1033
  584. package/src/StreamEmit.ts +5 -5
  585. package/src/Streamable.ts +2 -2
  586. package/src/SubscriptionRef.ts +51 -51
  587. package/src/Supervisor.ts +26 -26
  588. package/src/SynchronizedRef.ts +44 -44
  589. package/src/TArray.ts +74 -74
  590. package/src/TDeferred.ts +14 -14
  591. package/src/TMap.ts +72 -72
  592. package/src/TPriorityQueue.ts +23 -24
  593. package/src/TPubSub.ts +15 -15
  594. package/src/TQueue.ts +40 -40
  595. package/src/TRandom.ts +13 -13
  596. package/src/TReentrantLock.ts +21 -21
  597. package/src/TRef.ts +25 -25
  598. package/src/TSemaphore.ts +15 -15
  599. package/src/TSet.ts +49 -49
  600. package/src/Take.ts +51 -51
  601. package/src/TestAnnotation.ts +6 -17
  602. package/src/TestAnnotations.ts +7 -9
  603. package/src/TestClock.ts +39 -45
  604. package/src/TestConfig.ts +1 -3
  605. package/src/TestContext.ts +3 -3
  606. package/src/TestLive.ts +3 -5
  607. package/src/TestServices.ts +45 -47
  608. package/src/TestSized.ts +5 -5
  609. package/src/Tracer.ts +1 -1
  610. package/src/Utils.ts +8 -10
  611. package/src/index.ts +13 -2
  612. package/src/internal/blockedRequests.ts +2 -2
  613. package/src/internal/cache.ts +38 -38
  614. package/src/internal/channel/channelExecutor.ts +65 -73
  615. package/src/internal/channel/channelState.ts +11 -11
  616. package/src/internal/channel/continuation.ts +10 -10
  617. package/src/internal/channel/mergeDecision.ts +14 -16
  618. package/src/internal/channel/mergeState.ts +12 -12
  619. package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
  620. package/src/internal/channel/subexecutor.ts +7 -7
  621. package/src/internal/channel.ts +901 -980
  622. package/src/internal/clock.ts +6 -6
  623. package/src/internal/concurrency.ts +9 -9
  624. package/src/internal/configProvider.ts +29 -36
  625. package/src/internal/console.ts +12 -12
  626. package/src/internal/context.ts +32 -23
  627. package/src/internal/core-effect.ts +655 -616
  628. package/src/internal/core-stream.ts +317 -325
  629. package/src/internal/core.ts +856 -790
  630. package/src/internal/data.ts +2 -3
  631. package/src/internal/dataSource.ts +14 -14
  632. package/src/internal/defaultServices/console.ts +3 -1
  633. package/src/internal/defaultServices.ts +21 -21
  634. package/src/internal/deferred.ts +9 -9
  635. package/src/internal/differ/contextPatch.ts +17 -17
  636. package/src/internal/effect/circular.ts +154 -159
  637. package/src/internal/effectable.ts +7 -7
  638. package/src/internal/fiber.ts +55 -59
  639. package/src/internal/fiberRefs.ts +1 -1
  640. package/src/internal/fiberRuntime.ts +426 -463
  641. package/src/internal/groupBy.ts +59 -62
  642. package/src/internal/keyedPool.ts +37 -37
  643. package/src/internal/layer/circular.ts +37 -37
  644. package/src/internal/layer.ts +235 -240
  645. package/src/internal/logSpan.ts +3 -5
  646. package/src/internal/metric/polling.ts +5 -5
  647. package/src/internal/metric.ts +54 -55
  648. package/src/internal/pool.ts +72 -72
  649. package/src/internal/pubsub.ts +75 -84
  650. package/src/internal/query.ts +25 -27
  651. package/src/internal/queue.ts +65 -70
  652. package/src/internal/random.ts +9 -9
  653. package/src/internal/rateLimiter.ts +30 -0
  654. package/src/internal/ref.ts +24 -24
  655. package/src/internal/reloadable.ts +11 -31
  656. package/src/internal/request.ts +14 -14
  657. package/src/internal/resource.ts +8 -8
  658. package/src/internal/runtime.ts +21 -22
  659. package/src/internal/schedule.ts +131 -134
  660. package/src/internal/scopedCache.ts +35 -32
  661. package/src/internal/scopedRef.ts +14 -14
  662. package/src/internal/sink.ts +507 -565
  663. package/src/internal/stm/core.ts +101 -102
  664. package/src/internal/stm/stm/stmState.ts +10 -10
  665. package/src/internal/stm/stm/tExit.ts +18 -18
  666. package/src/internal/stm/stm/tryCommit.ts +5 -5
  667. package/src/internal/stm/stm.ts +363 -374
  668. package/src/internal/stm/tArray.ts +92 -92
  669. package/src/internal/stm/tDeferred.ts +16 -14
  670. package/src/internal/stm/tMap.ts +83 -84
  671. package/src/internal/stm/tPriorityQueue.ts +24 -25
  672. package/src/internal/stm/tPubSub.ts +37 -38
  673. package/src/internal/stm/tQueue.ts +44 -48
  674. package/src/internal/stm/tRandom.ts +18 -18
  675. package/src/internal/stm/tReentrantLock.ts +28 -28
  676. package/src/internal/stm/tRef.ts +25 -25
  677. package/src/internal/stm/tSemaphore.ts +16 -16
  678. package/src/internal/stm/tSet.ts +51 -52
  679. package/src/internal/stream/debounceState.ts +7 -7
  680. package/src/internal/stream/emit.ts +4 -4
  681. package/src/internal/stream/handoff.ts +19 -19
  682. package/src/internal/stream/handoffSignal.ts +4 -4
  683. package/src/internal/stream/pull.ts +10 -11
  684. package/src/internal/stream.ts +1770 -1788
  685. package/src/internal/subscriptionRef.ts +17 -17
  686. package/src/internal/supervisor.ts +49 -56
  687. package/src/internal/synchronizedRef.ts +27 -27
  688. package/src/internal/take.ts +61 -61
  689. package/src/internal/testing/sleep.ts +2 -2
  690. package/src/internal/testing/suspendedWarningData.ts +2 -2
  691. package/src/internal/testing/warningData.ts +2 -2
  692. package/src/internal/tracer.ts +2 -6
  693. package/src/internal/version.ts +1 -1
@@ -32,16 +32,16 @@ export declare const SinkTypeId: unique symbol;
32
32
  */
33
33
  export type SinkTypeId = typeof SinkTypeId;
34
34
  /**
35
- * A `Sink<R, E, In, L, Z>` is used to consume elements produced by a `Stream`.
35
+ * A `Sink<A, In, L, E, R>` is used to consume elements produced by a `Stream`.
36
36
  * You can think of a sink as a function that will consume a variable amount of
37
37
  * `In` elements (could be 0, 1, or many), might fail with an error of type `E`,
38
- * and will eventually yield a value of type `Z` together with a remainder of
38
+ * and will eventually yield a value of type `A` together with a remainder of
39
39
  * type `L` (i.e. any leftovers).
40
40
  *
41
41
  * @since 2.0.0
42
42
  * @category models
43
43
  */
44
- export interface Sink<out R, out E, in In, out L, out Z> extends Sink.Variance<R, E, In, L, Z>, Pipeable {
44
+ export interface Sink<out A, in In = unknown, out L = never, out E = never, out R = never> extends Sink.Variance<A, In, L, E, R>, Pipeable {
45
45
  }
46
46
  /**
47
47
  * @since 2.0.0
@@ -50,7 +50,7 @@ export interface Sink<out R, out E, in In, out L, out Z> extends Sink.Variance<R
50
50
  export interface SinkUnify<A extends {
51
51
  [Unify.typeSymbol]?: any;
52
52
  }> extends Effect.EffectUnify<A> {
53
- Sink?: () => A[Unify.typeSymbol] extends Sink<infer R, infer E, infer In, infer L, infer Z> | infer _ ? Sink<R, E, In, L, Z> : never;
53
+ Sink?: () => A[Unify.typeSymbol] extends Sink<infer A, infer In, infer L, infer E, infer R> | infer _ ? Sink<A, In, L, E, R> : never;
54
54
  }
55
55
  /**
56
56
  * @category models
@@ -64,7 +64,7 @@ export interface SinkUnifyIgnore extends Effect.EffectUnifyIgnore {
64
64
  * @category models
65
65
  */
66
66
  declare module "./Effect.js" {
67
- interface Effect<R, E, A> extends Sink<R, E, unknown, never, A> {
67
+ interface Effect<A, E, R> extends Sink<A, unknown, never, E, R> {
68
68
  }
69
69
  interface EffectUnifyIgnore {
70
70
  Sink?: true;
@@ -78,19 +78,19 @@ export declare namespace Sink {
78
78
  * @since 2.0.0
79
79
  * @category models
80
80
  */
81
- interface Variance<out R, out E, in In, out L, out Z> {
82
- readonly [SinkTypeId]: VarianceStruct<R, E, In, L, Z>;
81
+ interface Variance<out A, in In, out L, out E, out R> {
82
+ readonly [SinkTypeId]: VarianceStruct<A, In, L, E, R>;
83
83
  }
84
84
  /**
85
85
  * @since 2.0.0
86
86
  * @category models
87
87
  */
88
- interface VarianceStruct<out R, out E, in In, out L, out Z> {
89
- _R: Types.Covariant<R>;
90
- _E: Types.Covariant<E>;
88
+ interface VarianceStruct<out A, in In, out L, out E, out R> {
89
+ _A: Types.Covariant<A>;
91
90
  _In: Types.Contravariant<In>;
92
91
  _L: Types.Covariant<L>;
93
- _Z: Types.Covariant<Z>;
92
+ _E: Types.Covariant<E>;
93
+ _R: Types.Covariant<R>;
94
94
  }
95
95
  }
96
96
  /**
@@ -100,8 +100,8 @@ export declare namespace Sink {
100
100
  * @category mapping
101
101
  */
102
102
  export declare const as: {
103
- <Z2>(z: Z2): <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, L, Z2>;
104
- <R, E, In, L, Z, Z2>(self: Sink<R, E, In, L, Z>, z: Z2): Sink<R, E, In, L, Z2>;
103
+ <A2>(a: A2): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E, R>;
104
+ <A, In, L, E, R, A2>(self: Sink<A, In, L, E, R>, a: A2): Sink<A2, In, L, E, R>;
105
105
  };
106
106
  /**
107
107
  * A sink that collects all elements into a `Chunk`.
@@ -109,21 +109,21 @@ export declare const as: {
109
109
  * @since 2.0.0
110
110
  * @category constructors
111
111
  */
112
- export declare const collectAll: <In>() => Sink<never, never, In, never, Chunk.Chunk<In>>;
112
+ export declare const collectAll: <In>() => Sink<Chunk.Chunk<In>, In>;
113
113
  /**
114
114
  * A sink that collects first `n` elements into a chunk.
115
115
  *
116
116
  * @since 2.0.0
117
117
  * @category constructors
118
118
  */
119
- export declare const collectAllN: <In>(n: number) => Sink<never, never, In, In, Chunk.Chunk<In>>;
119
+ export declare const collectAllN: <In>(n: number) => Sink<Chunk.Chunk<In>, In, In>;
120
120
  /**
121
121
  * Repeatedly runs the sink and accumulates its results into a `Chunk`.
122
122
  *
123
123
  * @since 2.0.0
124
124
  * @category utils
125
125
  */
126
- export declare const collectAllFrom: <R, E, In, L extends In, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, L, Chunk.Chunk<Z>>;
126
+ export declare const collectAllFrom: <A, In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<Chunk.Chunk<A>, In, L, E, R>;
127
127
  /**
128
128
  * A sink that collects all of its inputs into a map. The keys are extracted
129
129
  * from inputs using the keying function `key`; if multiple inputs use the
@@ -132,7 +132,7 @@ export declare const collectAllFrom: <R, E, In, L extends In, Z>(self: Sink<R, E
132
132
  * @since 2.0.0
133
133
  * @category constructors
134
134
  */
135
- export declare const collectAllToMap: <In, K>(key: (input: In) => K, merge: (x: In, y: In) => In) => Sink<never, never, In, never, HashMap.HashMap<K, In>>;
135
+ export declare const collectAllToMap: <In, K>(key: (input: In) => K, merge: (x: In, y: In) => In) => Sink<HashMap.HashMap<K, In>, In>;
136
136
  /**
137
137
  * A sink that collects first `n` keys into a map. The keys are calculated
138
138
  * from inputs using the keying function `key`; if multiple inputs use the the
@@ -141,21 +141,21 @@ export declare const collectAllToMap: <In, K>(key: (input: In) => K, merge: (x:
141
141
  * @since 2.0.0
142
142
  * @category constructors
143
143
  */
144
- export declare const collectAllToMapN: <In, K>(n: number, key: (input: In) => K, merge: (x: In, y: In) => In) => Sink<never, never, In, In, HashMap.HashMap<K, In>>;
144
+ export declare const collectAllToMapN: <In, K>(n: number, key: (input: In) => K, merge: (x: In, y: In) => In) => Sink<HashMap.HashMap<K, In>, In, In>;
145
145
  /**
146
146
  * A sink that collects all of its inputs into a set.
147
147
  *
148
148
  * @since 2.0.0
149
149
  * @category constructors
150
150
  */
151
- export declare const collectAllToSet: <In>() => Sink<never, never, In, never, HashSet.HashSet<In>>;
151
+ export declare const collectAllToSet: <In>() => Sink<HashSet.HashSet<In>, In>;
152
152
  /**
153
153
  * A sink that collects first `n` distinct inputs into a set.
154
154
  *
155
155
  * @since 2.0.0
156
156
  * @category constructors
157
157
  */
158
- export declare const collectAllToSetN: <In>(n: number) => Sink<never, never, In, In, HashSet.HashSet<In>>;
158
+ export declare const collectAllToSetN: <In>(n: number) => Sink<HashSet.HashSet<In>, In, In>;
159
159
  /**
160
160
  * Accumulates incoming elements into a chunk until predicate `p` is
161
161
  * satisfied.
@@ -163,7 +163,7 @@ export declare const collectAllToSetN: <In>(n: number) => Sink<never, never, In,
163
163
  * @since 2.0.0
164
164
  * @category constructors
165
165
  */
166
- export declare const collectAllUntil: <In>(p: Predicate<In>) => Sink<never, never, In, In, Chunk.Chunk<In>>;
166
+ export declare const collectAllUntil: <In>(p: Predicate<In>) => Sink<Chunk.Chunk<In>, In, In>;
167
167
  /**
168
168
  * Accumulates incoming elements into a chunk until effectful predicate `p` is
169
169
  * satisfied.
@@ -171,7 +171,7 @@ export declare const collectAllUntil: <In>(p: Predicate<In>) => Sink<never, neve
171
171
  * @since 2.0.0
172
172
  * @category constructors
173
173
  */
174
- export declare const collectAllUntilEffect: <In, R, E>(p: (input: In) => Effect.Effect<R, E, boolean>) => Sink<R, E, In, In, Chunk.Chunk<In>>;
174
+ export declare const collectAllUntilEffect: <In, E, R>(p: (input: In) => Effect.Effect<boolean, E, R>) => Sink<Chunk.Chunk<In>, In, In, E, R>;
175
175
  /**
176
176
  * Accumulates incoming elements into a chunk as long as they verify predicate
177
177
  * `p`.
@@ -180,8 +180,8 @@ export declare const collectAllUntilEffect: <In, R, E>(p: (input: In) => Effect.
180
180
  * @category constructors
181
181
  */
182
182
  export declare const collectAllWhile: {
183
- <In, Out extends In>(refinement: Refinement<In, Out>): Sink<never, never, In, In, Chunk.Chunk<Out>>;
184
- <In>(predicate: Predicate<In>): Sink<never, never, In, In, Chunk.Chunk<In>>;
183
+ <In, Out extends In>(refinement: Refinement<In, Out>): Sink<Chunk.Chunk<Out>, In, In>;
184
+ <In>(predicate: Predicate<In>): Sink<Chunk.Chunk<In>, In, In>;
185
185
  };
186
186
  /**
187
187
  * Accumulates incoming elements into a chunk as long as they verify effectful
@@ -190,7 +190,7 @@ export declare const collectAllWhile: {
190
190
  * @since 2.0.0
191
191
  * @category constructors
192
192
  */
193
- export declare const collectAllWhileEffect: <In, R, E>(predicate: (input: In) => Effect.Effect<R, E, boolean>) => Sink<R, E, In, In, Chunk.Chunk<In>>;
193
+ export declare const collectAllWhileEffect: <In, E, R>(predicate: (input: In) => Effect.Effect<boolean, E, R>) => Sink<Chunk.Chunk<In>, In, In, E, R>;
194
194
  /**
195
195
  * Repeatedly runs the sink for as long as its results satisfy the predicate
196
196
  * `p`. The sink's results will be accumulated using the stepping function `f`.
@@ -199,16 +199,16 @@ export declare const collectAllWhileEffect: <In, R, E>(predicate: (input: In) =>
199
199
  * @category utils
200
200
  */
201
201
  export declare const collectAllWhileWith: {
202
- <Z, S>(options: {
202
+ <A, S>(options: {
203
203
  readonly initial: S;
204
- readonly while: Predicate<Z>;
205
- readonly body: (s: S, z: Z) => S;
206
- }): <R, E, In, L extends In>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, L, S>;
207
- <R, E, In, L extends In, Z, S>(self: Sink<R, E, In, L, Z>, options: {
204
+ readonly while: Predicate<A>;
205
+ readonly body: (s: S, a: A) => S;
206
+ }): <In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<S, In, L, E, R>;
207
+ <A, In, L extends In, E, R, S>(self: Sink<A, In, L, E, R>, options: {
208
208
  readonly initial: S;
209
- readonly while: Predicate<Z>;
210
- readonly body: (s: S, z: Z) => S;
211
- }): Sink<R, E, In, L, S>;
209
+ readonly while: Predicate<A>;
210
+ readonly body: (s: S, a: A) => S;
211
+ }): Sink<S, In, L, E, R>;
212
212
  };
213
213
  /**
214
214
  * Collects the leftovers from the stream when the sink succeeds and returns
@@ -217,21 +217,27 @@ export declare const collectAllWhileWith: {
217
217
  * @since 2.0.0
218
218
  * @category utils
219
219
  */
220
- export declare const collectLeftover: <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, never, [Z, Chunk.Chunk<L>]>;
220
+ export declare const collectLeftover: <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, Chunk.Chunk<L>], In, never, E, R>;
221
221
  /**
222
222
  * Transforms this sink's input elements.
223
223
  *
224
224
  * @since 2.0.0
225
225
  * @category mapping
226
226
  */
227
- export declare const mapInput: (<In0, In>(f: (input: In0) => In) => <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In0, L, Z>) & (<R_1, E_1, L_1, Z_1, In0_1, In_1>(self: Sink<R_1, E_1, In_1, L_1, Z_1>, f: (input: In0_1) => In_1) => Sink<R_1, E_1, In0_1, L_1, Z_1>);
227
+ export declare const mapInput: {
228
+ <In0, In>(f: (input: In0) => In): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E, R>;
229
+ <A, In, L, E, R, In0>(self: Sink<A, In, L, E, R>, f: (input: In0) => In): Sink<A, In0, L, E, R>;
230
+ };
228
231
  /**
229
232
  * Effectfully transforms this sink's input elements.
230
233
  *
231
234
  * @since 2.0.0
232
235
  * @category mapping
233
236
  */
234
- export declare const mapInputEffect: (<In0, R2, E2, In>(f: (input: In0) => Effect.Effect<R2, E2, In>) => <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In0, L, Z>) & (<R_1, E_1, L_1, Z_1, In0_1, R2_1, E2_1, In_1>(self: Sink<R_1, E_1, In_1, L_1, Z_1>, f: (input: In0_1) => Effect.Effect<R2_1, E2_1, In_1>) => Sink<R_1 | R2_1, E_1 | E2_1, In0_1, L_1, Z_1>);
237
+ export declare const mapInputEffect: {
238
+ <In0, In, E2, R2>(f: (input: In0) => Effect.Effect<In, E2, R2>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E2 | E, R2 | R>;
239
+ <A, In, L, E, R, In0, E2, R2>(self: Sink<A, In, L, E, R>, f: (input: In0) => Effect.Effect<In, E2, R2>): Sink<A, In0, L, E | E2, R | R2>;
240
+ };
235
241
  /**
236
242
  * Transforms this sink's input chunks. `f` must preserve chunking-invariance.
237
243
  *
@@ -239,8 +245,8 @@ export declare const mapInputEffect: (<In0, R2, E2, In>(f: (input: In0) => Effec
239
245
  * @category mapping
240
246
  */
241
247
  export declare const mapInputChunks: {
242
- <In0, In>(f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>): <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In0, L, Z>;
243
- <R, E, L, Z, In0, In>(self: Sink<R, E, In, L, Z>, f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>): Sink<R, E, In0, L, Z>;
248
+ <In0, In>(f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E, R>;
249
+ <A, In, L, E, R, In0>(self: Sink<A, In, L, E, R>, f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>): Sink<A, In0, L, E, R>;
244
250
  };
245
251
  /**
246
252
  * Effectfully transforms this sink's input chunks. `f` must preserve
@@ -250,8 +256,8 @@ export declare const mapInputChunks: {
250
256
  * @category mapping
251
257
  */
252
258
  export declare const mapInputChunksEffect: {
253
- <In0, R2, E2, In>(f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<R2, E2, Chunk.Chunk<In>>): <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In0, L, Z>;
254
- <R, E, L, Z, In0, R2, E2, In>(self: Sink<R, E, In, L, Z>, f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<R2, E2, Chunk.Chunk<In>>): Sink<R | R2, E | E2, In0, L, Z>;
259
+ <In0, In, E2, R2>(f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E2 | E, R2 | R>;
260
+ <A, In, L, E, R, In0, E2, R2>(self: Sink<A, In, L, E, R>, f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>): Sink<A, In0, L, E | E2, R | R2>;
255
261
  };
256
262
  /**
257
263
  * A sink that counts the number of elements fed to it.
@@ -259,14 +265,14 @@ export declare const mapInputChunksEffect: {
259
265
  * @since 2.0.0
260
266
  * @category constructors
261
267
  */
262
- export declare const count: Sink<never, never, unknown, never, number>;
268
+ export declare const count: Sink<number, unknown>;
263
269
  /**
264
270
  * Creates a sink halting with the specified defect.
265
271
  *
266
272
  * @since 2.0.0
267
273
  * @category constructors
268
274
  */
269
- export declare const die: (defect: unknown) => Sink<never, never, unknown, never, never>;
275
+ export declare const die: (defect: unknown) => Sink<never, unknown>;
270
276
  /**
271
277
  * Creates a sink halting with the specified message, wrapped in a
272
278
  * `RuntimeException`.
@@ -274,14 +280,14 @@ export declare const die: (defect: unknown) => Sink<never, never, unknown, never
274
280
  * @since 2.0.0
275
281
  * @category constructors
276
282
  */
277
- export declare const dieMessage: (message: string) => Sink<never, never, unknown, never, never>;
283
+ export declare const dieMessage: (message: string) => Sink<never, unknown>;
278
284
  /**
279
285
  * Creates a sink halting with the specified defect.
280
286
  *
281
287
  * @since 2.0.0
282
288
  * @category constructors
283
289
  */
284
- export declare const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, never, unknown, never, never>;
290
+ export declare const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, unknown>;
285
291
  /**
286
292
  * Transforms both inputs and result of this sink using the provided
287
293
  * functions.
@@ -290,14 +296,14 @@ export declare const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, never,
290
296
  * @category mapping
291
297
  */
292
298
  export declare const dimap: {
293
- <In0, In, Z, Z2>(options: {
299
+ <In0, In, A, A2>(options: {
294
300
  readonly onInput: (input: In0) => In;
295
- readonly onDone: (z: Z) => Z2;
296
- }): <R, E, L>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In0, L, Z2>;
297
- <R, E, L, In0, In, Z, Z2>(self: Sink<R, E, In, L, Z>, options: {
301
+ readonly onDone: (a: A) => A2;
302
+ }): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E, R>;
303
+ <A, In, L, E, R, In0, A2>(self: Sink<A, In, L, E, R>, options: {
298
304
  readonly onInput: (input: In0) => In;
299
- readonly onDone: (z: Z) => Z2;
300
- }): Sink<R, E, In0, L, Z2>;
305
+ readonly onDone: (a: A) => A2;
306
+ }): Sink<A2, In0, L, E, R>;
301
307
  };
302
308
  /**
303
309
  * Effectfully transforms both inputs and result of this sink using the
@@ -307,14 +313,14 @@ export declare const dimap: {
307
313
  * @category mapping
308
314
  */
309
315
  export declare const dimapEffect: {
310
- <In0, R2, E2, In, Z, R3, E3, Z2>(options: {
311
- readonly onInput: (input: In0) => Effect.Effect<R2, E2, In>;
312
- readonly onDone: (z: Z) => Effect.Effect<R3, E3, Z2>;
313
- }): <R, E, L>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R3 | R, E2 | E3 | E, In0, L, Z2>;
314
- <R, E, L, In0, R2, E2, In, Z, R3, E3, Z2>(self: Sink<R, E, In, L, Z>, options: {
315
- readonly onInput: (input: In0) => Effect.Effect<R2, E2, In>;
316
- readonly onDone: (z: Z) => Effect.Effect<R3, E3, Z2>;
317
- }): Sink<R | R2 | R3, E | E2 | E3, In0, L, Z2>;
316
+ <In0, R2, E2, In, A, R3, E3, A2>(options: {
317
+ readonly onInput: (input: In0) => Effect.Effect<In, E2, R2>;
318
+ readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>;
319
+ }): <R, E, L>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>;
320
+ <A, In, L, E, R, In0, E2, R2, A2, E3, R3>(self: Sink<A, In, L, E, R>, options: {
321
+ readonly onInput: (input: In0) => Effect.Effect<In, E2, R2>;
322
+ readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>;
323
+ }): Sink<A2, In0, L, E | E2 | E3, R | R2 | R3>;
318
324
  };
319
325
  /**
320
326
  * Transforms both input chunks and result of this sink using the provided
@@ -324,14 +330,14 @@ export declare const dimapEffect: {
324
330
  * @category mapping
325
331
  */
326
332
  export declare const dimapChunks: {
327
- <In0, In, Z, Z2>(options: {
333
+ <In0, In, A, A2>(options: {
328
334
  readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>;
329
- readonly onDone: (z: Z) => Z2;
330
- }): <R, E, L>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In0, L, Z2>;
331
- <R, E, L, In0, In, Z, Z2>(self: Sink<R, E, In, L, Z>, options: {
335
+ readonly onDone: (a: A) => A2;
336
+ }): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E, R>;
337
+ <A, In, L, E, R, In0, A2>(self: Sink<A, In, L, E, R>, options: {
332
338
  readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>;
333
- readonly onDone: (z: Z) => Z2;
334
- }): Sink<R, E, In0, L, Z2>;
339
+ readonly onDone: (a: A) => A2;
340
+ }): Sink<A2, In0, L, E, R>;
335
341
  };
336
342
  /**
337
343
  * Effectfully transforms both input chunks and result of this sink using the
@@ -341,14 +347,14 @@ export declare const dimapChunks: {
341
347
  * @category mapping
342
348
  */
343
349
  export declare const dimapChunksEffect: {
344
- <In0, R2, E2, In, Z, R3, E3, Z2>(options: {
345
- readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<R2, E2, Chunk.Chunk<In>>;
346
- readonly onDone: (z: Z) => Effect.Effect<R3, E3, Z2>;
347
- }): <R, E, L>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R3 | R, E2 | E3 | E, In0, L, Z2>;
348
- <R, E, L, In0, R2, E2, In, Z, R3, E3, Z2>(self: Sink<R, E, In, L, Z>, options: {
349
- readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<R2, E2, Chunk.Chunk<In>>;
350
- readonly onDone: (z: Z) => Effect.Effect<R3, E3, Z2>;
351
- }): Sink<R | R2 | R3, E | E2 | E3, In0, L, Z2>;
350
+ <In0, In, E2, R2, A, A2, E3, R3>(options: {
351
+ readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>;
352
+ readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>;
353
+ }): <R, E, L>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>;
354
+ <A, In, L, E, R, In0, E2, R2, A2, E3, R3>(self: Sink<A, In, L, E, R>, options: {
355
+ readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>;
356
+ readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>;
357
+ }): Sink<A2, In0, L, E | E2 | E3, R | R2 | R3>;
352
358
  };
353
359
  /**
354
360
  * A sink that ignores its inputs.
@@ -356,42 +362,42 @@ export declare const dimapChunksEffect: {
356
362
  * @since 2.0.0
357
363
  * @category constructors
358
364
  */
359
- export declare const drain: Sink<never, never, unknown, never, void>;
365
+ export declare const drain: Sink<void, unknown>;
360
366
  /**
361
367
  * Creates a sink that drops `n` elements.
362
368
  *
363
369
  * @since 2.0.0
364
370
  * @category constructors
365
371
  */
366
- export declare const drop: <In>(n: number) => Sink<never, never, In, In, unknown>;
372
+ export declare const drop: <In>(n: number) => Sink<unknown, In, In>;
367
373
  /**
368
374
  * Drops incoming elements until the predicate is satisfied.
369
375
  *
370
376
  * @since 2.0.0
371
377
  * @category constructors
372
378
  */
373
- export declare const dropUntil: <In>(predicate: Predicate<In>) => Sink<never, never, In, In, unknown>;
379
+ export declare const dropUntil: <In>(predicate: Predicate<In>) => Sink<unknown, In, In>;
374
380
  /**
375
381
  * Drops incoming elements until the effectful predicate is satisfied.
376
382
  *
377
383
  * @since 2.0.0
378
384
  * @category constructors
379
385
  */
380
- export declare const dropUntilEffect: <In, R, E>(predicate: (input: In) => Effect.Effect<R, E, boolean>) => Sink<R, E, In, In, unknown>;
386
+ export declare const dropUntilEffect: <In, E, R>(predicate: (input: In) => Effect.Effect<boolean, E, R>) => Sink<unknown, In, In, E, R>;
381
387
  /**
382
388
  * Drops incoming elements as long as the predicate is satisfied.
383
389
  *
384
390
  * @since 2.0.0
385
391
  * @category constructors
386
392
  */
387
- export declare const dropWhile: <In>(predicate: Predicate<In>) => Sink<never, never, In, In, unknown>;
393
+ export declare const dropWhile: <In>(predicate: Predicate<In>) => Sink<unknown, In, In>;
388
394
  /**
389
395
  * Drops incoming elements as long as the effectful predicate is satisfied.
390
396
  *
391
397
  * @since 2.0.0
392
398
  * @category constructors
393
399
  */
394
- export declare const dropWhileEffect: <In, R, E>(predicate: (input: In) => Effect.Effect<R, E, boolean>) => Sink<R, E, In, In, unknown>;
400
+ export declare const dropWhileEffect: <In, E, R>(predicate: (input: In) => Effect.Effect<boolean, E, R>) => Sink<unknown, In, In, E, R>;
395
401
  /**
396
402
  * Returns a new sink with an attached finalizer. The finalizer is guaranteed
397
403
  * to be executed so long as the sink begins execution (and regardless of
@@ -401,8 +407,8 @@ export declare const dropWhileEffect: <In, R, E>(predicate: (input: In) => Effec
401
407
  * @category finalization
402
408
  */
403
409
  export declare const ensuring: {
404
- <R2, _>(finalizer: Effect.Effect<R2, never, _>): <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E, In, L, Z>;
405
- <R, E, In, L, Z, R2, _>(self: Sink<R, E, In, L, Z>, finalizer: Effect.Effect<R2, never, _>): Sink<R | R2, E, In, L, Z>;
410
+ <_, R2>(finalizer: Effect.Effect<_, never, R2>): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, R2 | R>;
411
+ <A, In, L, E, R, _, R2>(self: Sink<A, In, L, E, R>, finalizer: Effect.Effect<_, never, R2>): Sink<A, In, L, E, R | R2>;
406
412
  };
407
413
  /**
408
414
  * Returns a new sink with an attached finalizer. The finalizer is guaranteed
@@ -413,8 +419,8 @@ export declare const ensuring: {
413
419
  * @category finalization
414
420
  */
415
421
  export declare const ensuringWith: {
416
- <E, Z, R2, _>(finalizer: (exit: Exit.Exit<E, Z>) => Effect.Effect<R2, never, _>): <R, In, L>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E, In, L, Z>;
417
- <R, In, L, E, Z, R2, _>(self: Sink<R, E, In, L, Z>, finalizer: (exit: Exit.Exit<E, Z>) => Effect.Effect<R2, never, _>): Sink<R | R2, E, In, L, Z>;
422
+ <A, E, _, R2>(finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<_, never, R2>): <In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, R2 | R>;
423
+ <A, In, L, E, R, _, R2>(self: Sink<A, In, L, E, R>, finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<_, never, R2>): Sink<A, In, L, E, R | R2>;
418
424
  };
419
425
  /**
420
426
  * Accesses the whole context of the sink.
@@ -422,63 +428,63 @@ export declare const ensuringWith: {
422
428
  * @since 2.0.0
423
429
  * @category constructors
424
430
  */
425
- export declare const context: <R>() => Sink<R, never, unknown, never, Context.Context<R>>;
431
+ export declare const context: <R>() => Sink<Context.Context<R>, unknown, never, never, R>;
426
432
  /**
427
433
  * Accesses the context of the sink.
428
434
  *
429
435
  * @since 2.0.0
430
436
  * @category constructors
431
437
  */
432
- export declare const contextWith: <R, Z>(f: (context: Context.Context<R>) => Z) => Sink<R, never, unknown, never, Z>;
438
+ export declare const contextWith: <R, Z>(f: (context: Context.Context<R>) => Z) => Sink<Z, unknown, never, never, R>;
433
439
  /**
434
440
  * Accesses the context of the sink in the context of an effect.
435
441
  *
436
442
  * @since 2.0.0
437
443
  * @category constructors
438
444
  */
439
- export declare const contextWithEffect: <R, R2, E, Z>(f: (context: Context.Context<R>) => Effect.Effect<R2, E, Z>) => Sink<R | R2, E, unknown, never, Z>;
445
+ export declare const contextWithEffect: <R0, A, E, R>(f: (context: Context.Context<R0>) => Effect.Effect<A, E, R>) => Sink<A, unknown, never, E, R0 | R>;
440
446
  /**
441
447
  * Accesses the context of the sink in the context of a sink.
442
448
  *
443
449
  * @since 2.0.0
444
450
  * @category constructors
445
451
  */
446
- export declare const contextWithSink: <R0, R, E, In, L, Z>(f: (context: Context.Context<R0>) => Sink<R, E, In, L, Z>) => Sink<R0 | R, E, In, L, Z>;
452
+ export declare const contextWithSink: <R0, A, In, L, E, R>(f: (context: Context.Context<R0>) => Sink<A, In, L, E, R>) => Sink<A, In, L, E, R0 | R>;
447
453
  /**
448
454
  * A sink that returns whether all elements satisfy the specified predicate.
449
455
  *
450
456
  * @since 2.0.0
451
457
  * @category constructors
452
458
  */
453
- export declare const every: <In>(predicate: Predicate<In>) => Sink<never, never, In, In, boolean>;
459
+ export declare const every: <In>(predicate: Predicate<In>) => Sink<boolean, In, In>;
454
460
  /**
455
461
  * A sink that always fails with the specified error.
456
462
  *
457
463
  * @since 2.0.0
458
464
  * @category constructors
459
465
  */
460
- export declare const fail: <E>(e: E) => Sink<never, E, unknown, never, never>;
466
+ export declare const fail: <E>(e: E) => Sink<never, unknown, never, E>;
461
467
  /**
462
468
  * A sink that always fails with the specified lazily evaluated error.
463
469
  *
464
470
  * @since 2.0.0
465
471
  * @category constructors
466
472
  */
467
- export declare const failSync: <E>(evaluate: LazyArg<E>) => Sink<never, E, unknown, never, never>;
473
+ export declare const failSync: <E>(evaluate: LazyArg<E>) => Sink<never, unknown, never, E>;
468
474
  /**
469
475
  * Creates a sink halting with a specified `Cause`.
470
476
  *
471
477
  * @since 2.0.0
472
478
  * @category constructors
473
479
  */
474
- export declare const failCause: <E>(cause: Cause.Cause<E>) => Sink<never, E, unknown, never, never>;
480
+ export declare const failCause: <E>(cause: Cause.Cause<E>) => Sink<never, unknown, never, E>;
475
481
  /**
476
482
  * Creates a sink halting with a specified lazily evaluated `Cause`.
477
483
  *
478
484
  * @since 2.0.0
479
485
  * @category constructors
480
486
  */
481
- export declare const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Sink<never, E, unknown, never, never>;
487
+ export declare const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Sink<never, unknown, never, E>;
482
488
  /**
483
489
  * Filters the sink's input with the given predicate.
484
490
  *
@@ -486,8 +492,8 @@ export declare const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Si
486
492
  * @category filtering
487
493
  */
488
494
  export declare const filterInput: {
489
- <In, In1 extends In, In2 extends In1>(f: Refinement<In1, In2>): <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In2, L, Z>;
490
- <In, In1 extends In>(f: Predicate<In1>): <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In1, L, Z>;
495
+ <In, In1 extends In, In2 extends In1>(f: Refinement<In1, In2>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In2, L, E, R>;
496
+ <In, In1 extends In>(f: Predicate<In1>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In1, L, E, R>;
491
497
  };
492
498
  /**
493
499
  * Effectfully filter the input of this sink using the specified predicate.
@@ -496,8 +502,8 @@ export declare const filterInput: {
496
502
  * @category filtering
497
503
  */
498
504
  export declare const filterInputEffect: {
499
- <R2, E2, In, In1 extends In>(f: (input: In1) => Effect.Effect<R2, E2, boolean>): <R, E, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In1, L, Z>;
500
- <R, E, L, Z, R2, E2, In, In1 extends In>(self: Sink<R, E, In, L, Z>, f: (input: In1) => Effect.Effect<R2, E2, boolean>): Sink<R | R2, E | E2, In1, L, Z>;
505
+ <In, In1 extends In, E2, R2>(f: (input: In1) => Effect.Effect<boolean, E2, R2>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In1, L, E2 | E, R2 | R>;
506
+ <A, In, L, E, R, In1 extends In, E2, R2>(self: Sink<A, In, L, E, R>, f: (input: In1) => Effect.Effect<boolean, E2, R2>): Sink<A, In1, L, E | E2, R | R2>;
501
507
  };
502
508
  /**
503
509
  * Creates a sink that produces values until one verifies the predicate `f`.
@@ -506,8 +512,8 @@ export declare const filterInputEffect: {
506
512
  * @category elements
507
513
  */
508
514
  export declare const findEffect: {
509
- <Z, R2, E2>(f: (z: Z) => Effect.Effect<R2, E2, boolean>): <R, E, In, L extends In>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In, L, Option.Option<Z>>;
510
- <R, E, In, L extends In, Z, R2, E2>(self: Sink<R, E, In, L, Z>, f: (z: Z) => Effect.Effect<R2, E2, boolean>): Sink<R | R2, E | E2, In, L, Option.Option<Z>>;
515
+ <A, E2, R2>(f: (a: A) => Effect.Effect<boolean, E2, R2>): <In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<Option.Option<A>, In, L, E2 | E, R2 | R>;
516
+ <A, In, L extends In, E, R, E2, R2>(self: Sink<A, In, L, E, R>, f: (a: A) => Effect.Effect<boolean, E2, R2>): Sink<Option.Option<A>, In, L, E | E2, R | R2>;
511
517
  };
512
518
  /**
513
519
  * A sink that folds its inputs with the provided function, termination
@@ -516,7 +522,7 @@ export declare const findEffect: {
516
522
  * @since 2.0.0
517
523
  * @category folding
518
524
  */
519
- export declare const fold: <S, In>(s: S, contFn: Predicate<S>, f: (z: S, input: In) => S) => Sink<never, never, In, In, S>;
525
+ export declare const fold: <S, In>(s: S, contFn: Predicate<S>, f: (s: S, input: In) => S) => Sink<S, In, In>;
520
526
  /**
521
527
  * Folds over the result of the sink
522
528
  *
@@ -524,14 +530,14 @@ export declare const fold: <S, In>(s: S, contFn: Predicate<S>, f: (z: S, input:
524
530
  * @category folding
525
531
  */
526
532
  export declare const foldSink: {
527
- <R1, R2, E, E1, E2, In, In1 extends In, In2 extends In, L, L1, L2, Z, Z1, Z2>(options: {
528
- readonly onFailure: (err: E) => Sink<R1, E1, In1, L1, Z1>;
529
- readonly onSuccess: (z: Z) => Sink<R2, E2, In2, L2, Z2>;
530
- }): <R>(self: Sink<R, E, In, L, Z>) => Sink<R1 | R2 | R, E1 | E2, In1 & In2, L1 | L2, Z1 | Z2>;
531
- <R, R1, R2, E, E1, E2, In, In1 extends In, In2 extends In, L, L1, L2, Z, Z1, Z2>(self: Sink<R, E, In, L, Z>, options: {
532
- readonly onFailure: (err: E) => Sink<R1, E1, In1, L1, Z1>;
533
- readonly onSuccess: (z: Z) => Sink<R2, E2, In2, L2, Z2>;
534
- }): Sink<R | R1 | R2, E1 | E2, In1 & In2, L1 | L2, Z1 | Z2>;
533
+ <E, A1, In, In1 extends In, L1, E1, R1, A, A2, In2 extends In, L2, E2, R2>(options: {
534
+ readonly onFailure: (err: E) => Sink<A1, In1, L1, E1, R1>;
535
+ readonly onSuccess: (a: A) => Sink<A2, In2, L2, E2, R2>;
536
+ }): <L, R>(self: Sink<A, In, L, E, R>) => Sink<A1 | A2, In1 & In2, L1 | L2, E1 | E2, R1 | R2 | R>;
537
+ <A, In, L, E, R, A1, In1 extends In, L1, E1, R1, A2, In2 extends In, L2, E2, R2>(self: Sink<A, In, L, E, R>, options: {
538
+ readonly onFailure: (err: E) => Sink<A1, In1, L1, E1, R1>;
539
+ readonly onSuccess: (a: A) => Sink<A2, In2, L2, E2, R2>;
540
+ }): Sink<A1 | A2, In1 & In2, L1 | L2, E1 | E2, R | R1 | R2>;
535
541
  };
536
542
  /**
537
543
  * A sink that folds its input chunks with the provided function, termination
@@ -542,7 +548,7 @@ export declare const foldSink: {
542
548
  * @since 2.0.0
543
549
  * @category constructors
544
550
  */
545
- export declare const foldChunks: <S, In>(s: S, contFn: Predicate<S>, f: (s: S, chunk: Chunk.Chunk<In>) => S) => Sink<never, never, In, never, S>;
551
+ export declare const foldChunks: <S, In>(s: S, contFn: Predicate<S>, f: (s: S, chunk: Chunk.Chunk<In>) => S) => Sink<S, In>;
546
552
  /**
547
553
  * A sink that effectfully folds its input chunks with the provided function,
548
554
  * termination predicate and initial state. `contFn` condition is checked only
@@ -552,7 +558,7 @@ export declare const foldChunks: <S, In>(s: S, contFn: Predicate<S>, f: (s: S, c
552
558
  * @since 2.0.0
553
559
  * @category constructors
554
560
  */
555
- export declare const foldChunksEffect: <S, R, E, In>(s: S, contFn: Predicate<S>, f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<R, E, S>) => Sink<R, E, In, In, S>;
561
+ export declare const foldChunksEffect: <S, In, E, R>(s: S, contFn: Predicate<S>, f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<S, E, R>) => Sink<S, In, In, E, R>;
556
562
  /**
557
563
  * A sink that effectfully folds its inputs with the provided function,
558
564
  * termination predicate and initial state.
@@ -560,14 +566,14 @@ export declare const foldChunksEffect: <S, R, E, In>(s: S, contFn: Predicate<S>,
560
566
  * @since 2.0.0
561
567
  * @category constructors
562
568
  */
563
- export declare const foldEffect: <S, R, E, In>(s: S, contFn: Predicate<S>, f: (s: S, input: In) => Effect.Effect<R, E, S>) => Sink<R, E, In, In, S>;
569
+ export declare const foldEffect: <S, In, E, R>(s: S, contFn: Predicate<S>, f: (s: S, input: In) => Effect.Effect<S, E, R>) => Sink<S, In, In, E, R>;
564
570
  /**
565
571
  * A sink that folds its inputs with the provided function and initial state.
566
572
  *
567
573
  * @since 2.0.0
568
574
  * @category constructors
569
575
  */
570
- export declare const foldLeft: <S, In>(s: S, f: (s: S, input: In) => S) => Sink<never, never, In, never, S>;
576
+ export declare const foldLeft: <S, In>(s: S, f: (s: S, input: In) => S) => Sink<S, In>;
571
577
  /**
572
578
  * A sink that folds its input chunks with the provided function and initial
573
579
  * state. `f` must preserve chunking-invariance.
@@ -575,7 +581,7 @@ export declare const foldLeft: <S, In>(s: S, f: (s: S, input: In) => S) => Sink<
575
581
  * @since 2.0.0
576
582
  * @category constructors
577
583
  */
578
- export declare const foldLeftChunks: <S, In>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) => S) => Sink<never, never, In, never, S>;
584
+ export declare const foldLeftChunks: <S, In>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) => S) => Sink<S, In>;
579
585
  /**
580
586
  * A sink that effectfully folds its input chunks with the provided function
581
587
  * and initial state. `f` must preserve chunking-invariance.
@@ -583,7 +589,7 @@ export declare const foldLeftChunks: <S, In>(s: S, f: (s: S, chunk: Chunk.Chunk<
583
589
  * @since 2.0.0
584
590
  * @category constructors
585
591
  */
586
- export declare const foldLeftChunksEffect: <S, R, E, In>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<R, E, S>) => Sink<R, E, In, never, S>;
592
+ export declare const foldLeftChunksEffect: <S, In, E, R>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<S, E, R>) => Sink<S, In, never, E, R>;
587
593
  /**
588
594
  * A sink that effectfully folds its inputs with the provided function and
589
595
  * initial state.
@@ -591,7 +597,7 @@ export declare const foldLeftChunksEffect: <S, R, E, In>(s: S, f: (s: S, chunk:
591
597
  * @since 2.0.0
592
598
  * @category constructors
593
599
  */
594
- export declare const foldLeftEffect: <S, R, E, In>(s: S, f: (s: S, input: In) => Effect.Effect<R, E, S>) => Sink<R, E, In, In, S>;
600
+ export declare const foldLeftEffect: <S, In, E, R>(s: S, f: (s: S, input: In) => Effect.Effect<S, E, R>) => Sink<S, In, In, E, R>;
595
601
  /**
596
602
  * Creates a sink that folds elements of type `In` into a structure of type
597
603
  * `S` until `max` elements have been folded.
@@ -601,7 +607,7 @@ export declare const foldLeftEffect: <S, R, E, In>(s: S, f: (s: S, input: In) =>
601
607
  * @since 2.0.0
602
608
  * @category constructors
603
609
  */
604
- export declare const foldUntil: <In, S>(s: S, max: number, f: (z: S, input: In) => S) => Sink<never, never, In, In, S>;
610
+ export declare const foldUntil: <In, S>(s: S, max: number, f: (s: S, input: In) => S) => Sink<S, In, In>;
605
611
  /**
606
612
  * Creates a sink that effectfully folds elements of type `In` into a
607
613
  * structure of type `S` until `max` elements have been folded.
@@ -611,7 +617,7 @@ export declare const foldUntil: <In, S>(s: S, max: number, f: (z: S, input: In)
611
617
  * @since 2.0.0
612
618
  * @category constructors
613
619
  */
614
- export declare const foldUntilEffect: <S, R, E, In>(s: S, max: number, f: (s: S, input: In) => Effect.Effect<R, E, S>) => Sink<R, E, In, In, S>;
620
+ export declare const foldUntilEffect: <S, In, E, R>(s: S, max: number, f: (s: S, input: In) => Effect.Effect<S, E, R>) => Sink<S, In, In, E, R>;
615
621
  /**
616
622
  * Creates a sink that folds elements of type `In` into a structure of type
617
623
  * `S`, until `max` worth of elements (determined by the `costFn`) have been
@@ -630,7 +636,7 @@ export declare const foldWeighted: <S, In>(options: {
630
636
  readonly maxCost: number;
631
637
  readonly cost: (s: S, input: In) => number;
632
638
  readonly body: (s: S, input: In) => S;
633
- }) => Sink<never, never, In, In, S>;
639
+ }) => Sink<S, In, In>;
634
640
  /**
635
641
  * Creates a sink that folds elements of type `In` into a structure of type
636
642
  * `S`, until `max` worth of elements (determined by the `costFn`) have been
@@ -674,7 +680,7 @@ export declare const foldWeightedDecompose: <S, In>(options: {
674
680
  readonly cost: (s: S, input: In) => number;
675
681
  readonly decompose: (input: In) => Chunk.Chunk<In>;
676
682
  readonly body: (s: S, input: In) => S;
677
- }) => Sink<never, never, In, In, S>;
683
+ }) => Sink<S, In, In>;
678
684
  /**
679
685
  * Creates a sink that effectfully folds elements of type `In` into a
680
686
  * structure of type `S`, until `max` worth of elements (determined by the
@@ -692,13 +698,13 @@ export declare const foldWeightedDecompose: <S, In>(options: {
692
698
  * @since 2.0.0
693
699
  * @category constructors
694
700
  */
695
- export declare const foldWeightedDecomposeEffect: <S, In, R, E, R2, E2, R3, E3>(options: {
701
+ export declare const foldWeightedDecomposeEffect: <S, In, E, R, E2, R2, E3, R3>(options: {
696
702
  readonly initial: S;
697
703
  readonly maxCost: number;
698
- readonly cost: (s: S, input: In) => Effect.Effect<R, E, number>;
699
- readonly decompose: (input: In) => Effect.Effect<R2, E2, Chunk.Chunk<In>>;
700
- readonly body: (s: S, input: In) => Effect.Effect<R3, E3, S>;
701
- }) => Sink<R | R2 | R3, E | E2 | E3, In, In, S>;
704
+ readonly cost: (s: S, input: In) => Effect.Effect<number, E, R>;
705
+ readonly decompose: (input: In) => Effect.Effect<Chunk.Chunk<In>, E2, R2>;
706
+ readonly body: (s: S, input: In) => Effect.Effect<S, E3, R3>;
707
+ }) => Sink<S, In, In, E | E2 | E3, R | R2 | R3>;
702
708
  /**
703
709
  * Creates a sink that effectfully folds elements of type `In` into a
704
710
  * structure of type `S`, until `max` worth of elements (determined by the
@@ -712,12 +718,12 @@ export declare const foldWeightedDecomposeEffect: <S, In, R, E, R2, E2, R3, E3>(
712
718
  * @since 2.0.0
713
719
  * @category constructors
714
720
  */
715
- export declare const foldWeightedEffect: <S, In, R, E, R2, E2>(options: {
721
+ export declare const foldWeightedEffect: <S, In, E, R, E2, R2>(options: {
716
722
  readonly initial: S;
717
723
  readonly maxCost: number;
718
- readonly cost: (s: S, input: In) => Effect.Effect<R, E, number>;
719
- readonly body: (s: S, input: In) => Effect.Effect<R2, E2, S>;
720
- }) => Sink<R | R2, E | E2, In, In, S>;
724
+ readonly cost: (s: S, input: In) => Effect.Effect<number, E, R>;
725
+ readonly body: (s: S, input: In) => Effect.Effect<S, E2, R2>;
726
+ }) => Sink<S, In, In, E | E2, R | R2>;
721
727
  /**
722
728
  * A sink that executes the provided effectful function for every element fed
723
729
  * to it.
@@ -725,7 +731,7 @@ export declare const foldWeightedEffect: <S, In, R, E, R2, E2>(options: {
725
731
  * @since 2.0.0
726
732
  * @category constructors
727
733
  */
728
- export declare const forEach: <In, R, E, _>(f: (input: In) => Effect.Effect<R, E, _>) => Sink<R, E, In, never, void>;
734
+ export declare const forEach: <In, _, E, R>(f: (input: In) => Effect.Effect<_, E, R>) => Sink<void, In, never, E, R>;
729
735
  /**
730
736
  * A sink that executes the provided effectful function for every chunk fed to
731
737
  * it.
@@ -733,7 +739,7 @@ export declare const forEach: <In, R, E, _>(f: (input: In) => Effect.Effect<R, E
733
739
  * @since 2.0.0
734
740
  * @category constructors
735
741
  */
736
- export declare const forEachChunk: <In, R, E, _>(f: (input: Chunk.Chunk<In>) => Effect.Effect<R, E, _>) => Sink<R, E, In, never, void>;
742
+ export declare const forEachChunk: <In, _, E, R>(f: (input: Chunk.Chunk<In>) => Effect.Effect<_, E, R>) => Sink<void, In, never, E, R>;
737
743
  /**
738
744
  * A sink that executes the provided effectful function for every chunk fed to
739
745
  * it until `f` evaluates to `false`.
@@ -741,7 +747,7 @@ export declare const forEachChunk: <In, R, E, _>(f: (input: Chunk.Chunk<In>) =>
741
747
  * @since 2.0.0
742
748
  * @category constructors
743
749
  */
744
- export declare const forEachChunkWhile: <In, R, E>(f: (input: Chunk.Chunk<In>) => Effect.Effect<R, E, boolean>) => Sink<R, E, In, In, void>;
750
+ export declare const forEachChunkWhile: <In, E, R>(f: (input: Chunk.Chunk<In>) => Effect.Effect<boolean, E, R>) => Sink<void, In, In, E, R>;
745
751
  /**
746
752
  * A sink that executes the provided effectful function for every element fed
747
753
  * to it until `f` evaluates to `false`.
@@ -749,7 +755,7 @@ export declare const forEachChunkWhile: <In, R, E>(f: (input: Chunk.Chunk<In>) =
749
755
  * @since 2.0.0
750
756
  * @category constructors
751
757
  */
752
- export declare const forEachWhile: <In, R, E>(f: (input: In) => Effect.Effect<R, E, boolean>) => Sink<R, E, In, In, void>;
758
+ export declare const forEachWhile: <In, E, R>(f: (input: In) => Effect.Effect<boolean, E, R>) => Sink<void, In, In, E, R>;
753
759
  /**
754
760
  * Runs this sink until it yields a result, then uses that result to create
755
761
  * another sink from the provided function which will continue to run until it
@@ -761,8 +767,8 @@ export declare const forEachWhile: <In, R, E>(f: (input: In) => Effect.Effect<R,
761
767
  * @category sequencing
762
768
  */
763
769
  export declare const flatMap: {
764
- <R1, E1, In, In1 extends In, L, L1, Z, Z1>(f: (z: Z) => Sink<R1, E1, In1, L1, Z1>): <R, E>(self: Sink<R, E, In, L, Z>) => Sink<R1 | R, E1 | E, In & In1, L | L1, Z1>;
765
- <R, E, R1, E1, In, In1 extends In, L, L1, Z, Z1>(self: Sink<R, E, In, L, Z>, f: (z: Z) => Sink<R1, E1, In1, L1, Z1>): Sink<R | R1, E | E1, In & In1, L | L1, Z1>;
770
+ <A, A1, In, In1 extends In, L1, E1, R1>(f: (a: A) => Sink<A1, In1, L1, E1, R1>): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A1, In & In1, L1 | L, E1 | E, R1 | R>;
771
+ <A, In, L, E, R, A1, In1 extends In, L1, E1, R1>(self: Sink<A, In, L, E, R>, f: (a: A) => Sink<A1, In1, L1, E1, R1>): Sink<A1, In & In1, L | L1, E | E1, R | R1>;
766
772
  };
767
773
  /**
768
774
  * Creates a sink from a `Channel`.
@@ -770,21 +776,21 @@ export declare const flatMap: {
770
776
  * @since 2.0.0
771
777
  * @category constructors
772
778
  */
773
- export declare const fromChannel: <R, E, In, L, Z>(channel: Channel.Channel<R, never, Chunk.Chunk<In>, unknown, E, Chunk.Chunk<L>, Z>) => Sink<R, E, In, L, Z>;
779
+ export declare const fromChannel: <L, In, E, A, R>(channel: Channel.Channel<Chunk.Chunk<L>, Chunk.Chunk<In>, E, never, A, unknown, R>) => Sink<A, In, L, E, R>;
774
780
  /**
775
781
  * Creates a `Channel` from a Sink.
776
782
  *
777
783
  * @since 2.0.0
778
784
  * @category constructors
779
785
  */
780
- export declare const toChannel: <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Channel.Channel<R, never, Chunk.Chunk<In>, unknown, E, Chunk.Chunk<L>, Z>;
786
+ export declare const toChannel: <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Channel.Channel<Chunk.Chunk<L>, Chunk.Chunk<In>, E, never, A, unknown, R>;
781
787
  /**
782
788
  * Creates a single-value sink produced from an effect.
783
789
  *
784
790
  * @since 2.0.0
785
791
  * @category constructors
786
792
  */
787
- export declare const fromEffect: <R, E, Z>(effect: Effect.Effect<R, E, Z>) => Sink<R, E, unknown, never, Z>;
793
+ export declare const fromEffect: <A, E, R>(effect: Effect.Effect<A, E, R>) => Sink<A, unknown, never, E, R>;
788
794
  /**
789
795
  * Create a sink which publishes each element to the specified `PubSub`.
790
796
  *
@@ -794,14 +800,14 @@ export declare const fromEffect: <R, E, Z>(effect: Effect.Effect<R, E, Z>) => Si
794
800
  */
795
801
  export declare const fromPubSub: <In>(pubsub: PubSub.PubSub<In>, options?: {
796
802
  readonly shutdown?: boolean | undefined;
797
- }) => Sink<never, never, In, never, void>;
803
+ }) => Sink<void, In>;
798
804
  /**
799
805
  * Creates a sink from a chunk processing function.
800
806
  *
801
807
  * @since 2.0.0
802
808
  * @category constructors
803
809
  */
804
- export declare const fromPush: <R, E, In, L, Z>(push: Effect.Effect<R, never, (_: Option.Option<Chunk.Chunk<In>>) => Effect.Effect<R, readonly [Either.Either<E, Z>, Chunk.Chunk<L>], void>>) => Sink<Exclude<R, Scope.Scope>, E, In, L, Z>;
810
+ export declare const fromPush: <In, E, A, L, R>(push: Effect.Effect<(_: Option.Option<Chunk.Chunk<In>>) => Effect.Effect<void, readonly [Either.Either<E, A>, Chunk.Chunk<L>], R>, never, R>) => Sink<A, In, L, E, Exclude<R, Scope.Scope>>;
805
811
  /**
806
812
  * Create a sink which enqueues each element into the specified queue.
807
813
  *
@@ -811,28 +817,28 @@ export declare const fromPush: <R, E, In, L, Z>(push: Effect.Effect<R, never, (_
811
817
  */
812
818
  export declare const fromQueue: <In>(queue: Queue.Enqueue<In>, options?: {
813
819
  readonly shutdown?: boolean | undefined;
814
- }) => Sink<never, never, In, never, void>;
820
+ }) => Sink<void, In>;
815
821
  /**
816
822
  * Creates a sink containing the first value.
817
823
  *
818
824
  * @since 2.0.0
819
825
  * @category constructors
820
826
  */
821
- export declare const head: <In>() => Sink<never, never, In, In, Option.Option<In>>;
827
+ export declare const head: <In>() => Sink<Option.Option<In>, In, In>;
822
828
  /**
823
829
  * Drains the remaining elements from the stream after the sink finishes
824
830
  *
825
831
  * @since 2.0.0
826
832
  * @category utils
827
833
  */
828
- export declare const ignoreLeftover: <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, never, Z>;
834
+ export declare const ignoreLeftover: <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, never, E, R>;
829
835
  /**
830
836
  * Creates a sink containing the last value.
831
837
  *
832
838
  * @since 2.0.0
833
839
  * @category constructors
834
840
  */
835
- export declare const last: <In>() => Sink<never, never, In, In, Option.Option<In>>;
841
+ export declare const last: <In>() => Sink<Option.Option<In>, In, In>;
836
842
  /**
837
843
  * Creates a sink that does not consume any input but provides the given chunk
838
844
  * as its leftovers
@@ -840,7 +846,7 @@ export declare const last: <In>() => Sink<never, never, In, In, Option.Option<In
840
846
  * @since 2.0.0
841
847
  * @category constructors
842
848
  */
843
- export declare const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<never, never, unknown, L, void>;
849
+ export declare const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<void, unknown, L>;
844
850
  /**
845
851
  * Transforms this sink's result.
846
852
  *
@@ -848,8 +854,8 @@ export declare const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<never, never,
848
854
  * @category mapping
849
855
  */
850
856
  export declare const map: {
851
- <Z, Z2>(f: (z: Z) => Z2): <R, E, In, L>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, L, Z2>;
852
- <R, E, In, L, Z, Z2>(self: Sink<R, E, In, L, Z>, f: (z: Z) => Z2): Sink<R, E, In, L, Z2>;
857
+ <A, A2>(f: (a: A) => A2): <In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E, R>;
858
+ <A, In, L, E, R, A2>(self: Sink<A, In, L, E, R>, f: (a: A) => A2): Sink<A2, In, L, E, R>;
853
859
  };
854
860
  /**
855
861
  * Effectfully transforms this sink's result.
@@ -858,8 +864,8 @@ export declare const map: {
858
864
  * @category mapping
859
865
  */
860
866
  export declare const mapEffect: {
861
- <Z, R2, E2, Z2>(f: (z: Z) => Effect.Effect<R2, E2, Z2>): <R, E, In, L>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In, L, Z2>;
862
- <R, E, In, L, Z, R2, E2, Z2>(self: Sink<R, E, In, L, Z>, f: (z: Z) => Effect.Effect<R2, E2, Z2>): Sink<R | R2, E | E2, In, L, Z2>;
867
+ <A, A2, E2, R2>(f: (a: A) => Effect.Effect<A2, E2, R2>): <In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E2 | E, R2 | R>;
868
+ <A, In, L, E, R, A2, E2, R2>(self: Sink<A, In, L, E, R>, f: (a: A) => Effect.Effect<A2, E2, R2>): Sink<A2, In, L, E | E2, R | R2>;
863
869
  };
864
870
  /**
865
871
  * Transforms the errors emitted by this sink using `f`.
@@ -868,8 +874,8 @@ export declare const mapEffect: {
868
874
  * @category mapping
869
875
  */
870
876
  export declare const mapError: {
871
- <E, E2>(f: (error: E) => E2): <R, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E2, In, L, Z>;
872
- <R, In, L, Z, E, E2>(self: Sink<R, E, In, L, Z>, f: (error: E) => E2): Sink<R, E2, In, L, Z>;
877
+ <E, E2>(f: (error: E) => E2): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>;
878
+ <A, In, L, E, R, E2>(self: Sink<A, In, L, E, R>, f: (error: E) => E2): Sink<A, In, L, E2, R>;
873
879
  };
874
880
  /**
875
881
  * Transforms the leftovers emitted by this sink using `f`.
@@ -878,8 +884,8 @@ export declare const mapError: {
878
884
  * @category mapping
879
885
  */
880
886
  export declare const mapLeftover: {
881
- <L, L2>(f: (leftover: L) => L2): <R, E, In, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, L2, Z>;
882
- <R, E, In, Z, L, L2>(self: Sink<R, E, In, L, Z>, f: (leftover: L) => L2): Sink<R, E, In, L2, Z>;
887
+ <L, L2>(f: (leftover: L) => L2): <A, In, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L2, E, R>;
888
+ <A, In, L, E, R, L2>(self: Sink<A, In, L, E, R>, f: (leftover: L) => L2): Sink<A, In, L2, E, R>;
883
889
  };
884
890
  /**
885
891
  * Creates a sink which transforms it's inputs into a string.
@@ -887,14 +893,14 @@ export declare const mapLeftover: {
887
893
  * @since 2.0.0
888
894
  * @category constructors
889
895
  */
890
- export declare const mkString: Sink<never, never, unknown, never, string>;
896
+ export declare const mkString: Sink<string, unknown>;
891
897
  /**
892
898
  * Creates a sink which never terminates.
893
899
  *
894
900
  * @since 2.0.0
895
901
  * @category constructors
896
902
  */
897
- export declare const never: Sink<never, never, unknown, never, never>;
903
+ export declare const never: Sink<never, unknown>;
898
904
  /**
899
905
  * Switch to another sink in case of failure
900
906
  *
@@ -902,8 +908,8 @@ export declare const never: Sink<never, never, unknown, never, never>;
902
908
  * @category error handling
903
909
  */
904
910
  export declare const orElse: {
905
- <R2, E2, In2, L2, Z2>(that: LazyArg<Sink<R2, E2, In2, L2, Z2>>): <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In & In2, L2 | L, Z2 | Z>;
906
- <R, E, In, L, Z, R2, E2, In2, L2, Z2>(self: Sink<R, E, In, L, Z>, that: LazyArg<Sink<R2, E2, In2, L2, Z2>>): Sink<R | R2, E | E2, In & In2, L | L2, Z | Z2>;
911
+ <A2, In2, L2, E2, R2>(that: LazyArg<Sink<A2, In2, L2, E2, R2>>): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2 | A, In & In2, L2 | L, E2 | E, R2 | R>;
912
+ <A, In, L, E, R, A2, In2, L2, E2, R2>(self: Sink<A, In, L, E, R>, that: LazyArg<Sink<A2, In2, L2, E2, R2>>): Sink<A | A2, In & In2, L | L2, E | E2, R | R2>;
907
913
  };
908
914
  /**
909
915
  * Provides the sink with its required context, which eliminates its
@@ -913,8 +919,8 @@ export declare const orElse: {
913
919
  * @category context
914
920
  */
915
921
  export declare const provideContext: {
916
- <R>(context: Context.Context<R>): <E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<never, E, In, L, Z>;
917
- <E, In, L, Z, R>(self: Sink<R, E, In, L, Z>, context: Context.Context<R>): Sink<never, E, In, L, Z>;
922
+ <R>(context: Context.Context<R>): <A, In, L, E>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, never>;
923
+ <A, In, L, E, R>(self: Sink<A, In, L, E, R>, context: Context.Context<R>): Sink<A, In, L, E, never>;
918
924
  };
919
925
  /**
920
926
  * Runs both sinks in parallel on the input, , returning the result or the
@@ -924,8 +930,8 @@ export declare const provideContext: {
924
930
  * @category utils
925
931
  */
926
932
  export declare const race: {
927
- <R1, E1, In1, L1, Z1>(that: Sink<R1, E1, In1, L1, Z1>): <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R1 | R, E1 | E, In & In1, L1 | L, Z1 | Z>;
928
- <R, E, In, L, Z, R1, E1, In1, L1, Z1>(self: Sink<R, E, In, L, Z>, that: Sink<R1, E1, In1, L1, Z1>): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>;
933
+ <R1, E1, In1, L1, A1>(that: Sink<A1, In1, L1, E1, R1>): <R, E, In, L, A>(self: Sink<A, In, L, E, R>) => Sink<A1 | A, In & In1, L1 | L, E1 | E, R1 | R>;
934
+ <A, In, L, E, R, A1, In1, L1, E1, R1>(self: Sink<A, In, L, E, R>, that: Sink<A1, In1, L1, E1, R1>): Sink<A | A1, In & In1, L | L1, E | E1, R | R1>;
929
935
  };
930
936
  /**
931
937
  * Runs both sinks in parallel on the input, returning the result or the error
@@ -935,12 +941,12 @@ export declare const race: {
935
941
  * @category utils
936
942
  */
937
943
  export declare const raceBoth: {
938
- <R1, E1, In1, L1, Z1>(that: Sink<R1, E1, In1, L1, Z1>, options?: {
944
+ <A1, In1, L1, E1, R1>(that: Sink<A1, In1, L1, E1, R1>, options?: {
939
945
  readonly capacity?: number | undefined;
940
- }): <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R1 | R, E1 | E, In & In1, L1 | L, Either.Either<Z, Z1>>;
941
- <R, E, In, L, Z, R1, E1, In1, L1, Z1>(self: Sink<R, E, In, L, Z>, that: Sink<R1, E1, In1, L1, Z1>, options?: {
946
+ } | undefined): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<Either.Either<A, A1>, In & In1, L1 | L, E1 | E, R1 | R>;
947
+ <A, In, L, E, R, A1, In1, L1, E1, R1>(self: Sink<A, In, L, E, R>, that: Sink<A1, In1, L1, E1, R1>, options?: {
942
948
  readonly capacity?: number | undefined;
943
- }): Sink<R | R1, E | E1, In & In1, L | L1, Either.Either<Z, Z1>>;
949
+ } | undefined): Sink<Either.Either<A, A1>, In & In1, L | L1, E | E1, R | R1>;
944
950
  };
945
951
  /**
946
952
  * Runs both sinks in parallel on the input, using the specified merge
@@ -950,39 +956,42 @@ export declare const raceBoth: {
950
956
  * @category utils
951
957
  */
952
958
  export declare const raceWith: {
953
- <R2, E2, In2, L2, Z2, E, Z, Z3, Z4>(options: {
954
- readonly other: Sink<R2, E2, In2, L2, Z2>;
955
- readonly onSelfDone: (exit: Exit.Exit<E, Z>) => MergeDecision.MergeDecision<R2, E2, Z2, E2 | E, Z3>;
956
- readonly onOtherDone: (exit: Exit.Exit<E2, Z2>) => MergeDecision.MergeDecision<R2, E, Z, E2 | E, Z4>;
959
+ <A2, In2, L2, E2, R2, A, E, A3, A4>(options: {
960
+ readonly other: Sink<A2, In2, L2, E2, R2>;
961
+ readonly onSelfDone: (exit: Exit.Exit<A, E>) => MergeDecision.MergeDecision<R2, E2, A2, E2 | E, A3>;
962
+ readonly onOtherDone: (exit: Exit.Exit<A2, E2>) => MergeDecision.MergeDecision<R2, E, A, E2 | E, A4>;
957
963
  readonly capacity?: number | undefined;
958
- }): <R, In, L>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In & In2, L2 | L, Z3 | Z4>;
959
- <R, In, L, R2, E2, In2, L2, Z2, E, Z, Z3, Z4>(self: Sink<R, E, In, L, Z>, options: {
960
- readonly other: Sink<R2, E2, In2, L2, Z2>;
961
- readonly onSelfDone: (exit: Exit.Exit<E, Z>) => MergeDecision.MergeDecision<R2, E2, Z2, E2 | E, Z3>;
962
- readonly onOtherDone: (exit: Exit.Exit<E2, Z2>) => MergeDecision.MergeDecision<R2, E, Z, E2 | E, Z4>;
964
+ }): <In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A3 | A4, In & In2, L2 | L, E2 | E, R2 | R>;
965
+ <A, In, L, E, R, A2, In2, L2, E2, R2, A3, A4>(self: Sink<A, In, L, E, R>, options: {
966
+ readonly other: Sink<A2, In2, L2, E2, R2>;
967
+ readonly onSelfDone: (exit: Exit.Exit<A, E>) => MergeDecision.MergeDecision<R2, E2, A2, E | E2, A3>;
968
+ readonly onOtherDone: (exit: Exit.Exit<A2, E2>) => MergeDecision.MergeDecision<R2, E, A, E | E2, A4>;
963
969
  readonly capacity?: number | undefined;
964
- }): Sink<R | R2, E2 | E, In & In2, L | L2, Z3 | Z4>;
970
+ }): Sink<A3 | A4, In & In2, L | L2, E | E2, R | R2>;
965
971
  };
966
972
  /**
967
973
  * @since 2.0.0
968
974
  * @category error handling
969
975
  */
970
976
  export declare const refineOrDie: {
971
- <E, E2>(pf: (error: E) => Option.Option<E2>): <R, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E2, In, L, Z>;
972
- <R, In, L, Z, E, E2>(self: Sink<R, E, In, L, Z>, pf: (error: E) => Option.Option<E2>): Sink<R, E2, In, L, Z>;
977
+ <E, E2>(pf: (error: E) => Option.Option<E2>): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>;
978
+ <A, In, L, E, R, E2>(self: Sink<A, In, L, E, R>, pf: (error: E) => Option.Option<E2>): Sink<A, In, L, E2, R>;
973
979
  };
974
980
  /**
975
981
  * @since 2.0.0
976
982
  * @category error handling
977
983
  */
978
- export declare const refineOrDieWith: <E, E2>(pf: (error: E) => Option.Option<E2>, f: (error: E) => unknown) => <R, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E2, In, L, Z>;
984
+ export declare const refineOrDieWith: {
985
+ <E, E2>(pf: (error: E) => Option.Option<E2>, f: (error: E) => unknown): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>;
986
+ <A, In, L, E, R, E2>(self: Sink<A, In, L, E, R>, pf: (error: E) => Option.Option<E2>, f: (error: E) => unknown): Sink<A, In, L, E2, R>;
987
+ };
979
988
  /**
980
989
  * A sink that returns whether an element satisfies the specified predicate.
981
990
  *
982
991
  * @since 2.0.0
983
992
  * @category constructors
984
993
  */
985
- export declare const some: <In>(predicate: Predicate<In>) => Sink<never, never, In, In, boolean>;
994
+ export declare const some: <In>(predicate: Predicate<In>) => Sink<boolean, In, In>;
986
995
  /**
987
996
  * Splits the sink on the specified predicate, returning a new sink that
988
997
  * consumes elements until an element after the first satisfies the specified
@@ -992,8 +1001,8 @@ export declare const some: <In>(predicate: Predicate<In>) => Sink<never, never,
992
1001
  * @category utils
993
1002
  */
994
1003
  export declare const splitWhere: {
995
- <In>(f: Predicate<In>): <R, E, L extends In, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, In, Z>;
996
- <R, E, L extends In, Z, In>(self: Sink<R, E, In, L, Z>, f: Predicate<In>): Sink<R, E, In, In, Z>;
1004
+ <In>(f: Predicate<In>): <A, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, In, E, R>;
1005
+ <A, In, L extends In, E, R>(self: Sink<A, In, L, E, R>, f: Predicate<In>): Sink<A, In, In, E, R>;
997
1006
  };
998
1007
  /**
999
1008
  * A sink that immediately ends with the specified value.
@@ -1001,14 +1010,14 @@ export declare const splitWhere: {
1001
1010
  * @since 2.0.0
1002
1011
  * @category constructors
1003
1012
  */
1004
- export declare const succeed: <Z>(z: Z) => Sink<never, never, unknown, never, Z>;
1013
+ export declare const succeed: <A>(a: A) => Sink<A, unknown>;
1005
1014
  /**
1006
1015
  * A sink that sums incoming numeric values.
1007
1016
  *
1008
1017
  * @since 2.0.0
1009
1018
  * @category constructors
1010
1019
  */
1011
- export declare const sum: Sink<never, never, number, never, number>;
1020
+ export declare const sum: Sink<number, number>;
1012
1021
  /**
1013
1022
  * Summarize a sink by running an effect when the sink starts and again when
1014
1023
  * it completes.
@@ -1017,8 +1026,8 @@ export declare const sum: Sink<never, never, number, never, number>;
1017
1026
  * @category utils
1018
1027
  */
1019
1028
  export declare const summarized: {
1020
- <R2, E2, Z2, Z3>(summary: Effect.Effect<R2, E2, Z2>, f: (start: Z2, end: Z2) => Z3): <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In, L, [Z, Z3]>;
1021
- <R, E, In, L, Z, R2, E2, Z2, Z3>(self: Sink<R, E, In, L, Z>, summary: Effect.Effect<R2, E2, Z2>, f: (start: Z2, end: Z2) => Z3): Sink<R | R2, E | E2, In, L, [Z, Z3]>;
1029
+ <A2, E2, R2, A3>(summary: Effect.Effect<A2, E2, R2>, f: (start: A2, end: A2) => A3): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, A3], In, L, E2 | E, R2 | R>;
1030
+ <A, In, L, E, R, A2, E2, R2, A3>(self: Sink<A, In, L, E, R>, summary: Effect.Effect<A2, E2, R2>, f: (start: A2, end: A2) => A3): Sink<[A, A3], In, L, E | E2, R | R2>;
1022
1031
  };
1023
1032
  /**
1024
1033
  * Returns a lazily constructed sink that may require effects for its
@@ -1027,47 +1036,47 @@ export declare const summarized: {
1027
1036
  * @since 2.0.0
1028
1037
  * @category constructors
1029
1038
  */
1030
- export declare const suspend: <R, E, In, L, Z>(evaluate: LazyArg<Sink<R, E, In, L, Z>>) => Sink<R, E, In, L, Z>;
1039
+ export declare const suspend: <A, In, L, E, R>(evaluate: LazyArg<Sink<A, In, L, E, R>>) => Sink<A, In, L, E, R>;
1031
1040
  /**
1032
1041
  * A sink that immediately ends with the specified lazy value.
1033
1042
  *
1034
1043
  * @since 2.0.0
1035
1044
  * @category constructors
1036
1045
  */
1037
- export declare const sync: <Z>(evaluate: LazyArg<Z>) => Sink<never, never, unknown, never, Z>;
1046
+ export declare const sync: <A>(evaluate: LazyArg<A>) => Sink<A, unknown>;
1038
1047
  /**
1039
1048
  * A sink that takes the specified number of values.
1040
1049
  *
1041
1050
  * @since 2.0.0
1042
1051
  * @category constructors
1043
1052
  */
1044
- export declare const take: <In>(n: number) => Sink<never, never, In, In, Chunk.Chunk<In>>;
1053
+ export declare const take: <In>(n: number) => Sink<Chunk.Chunk<In>, In, In>;
1045
1054
  /**
1046
1055
  * @since 2.0.0
1047
1056
  * @category constructors
1048
1057
  */
1049
- export declare const timed: Sink<never, never, unknown, never, Duration.Duration>;
1058
+ export declare const timed: Sink<Duration.Duration, unknown>;
1050
1059
  /**
1051
1060
  * Creates a sink produced from an effect.
1052
1061
  *
1053
1062
  * @since 2.0.0
1054
1063
  * @category constructors
1055
1064
  */
1056
- export declare const unwrap: <R, E, R2, E2, In, L, Z>(effect: Effect.Effect<R, E, Sink<R2, E2, In, L, Z>>) => Sink<R | R2, E | E2, In, L, Z>;
1065
+ export declare const unwrap: <A, In, L, E2, R2, E, R>(effect: Effect.Effect<Sink<A, In, L, E2, R2>, E, R>) => Sink<A, In, L, E2 | E, R2 | R>;
1057
1066
  /**
1058
1067
  * Creates a sink produced from a scoped effect.
1059
1068
  *
1060
1069
  * @since 2.0.0
1061
1070
  * @category constructors
1062
1071
  */
1063
- export declare const unwrapScoped: <R, E, In, L, Z>(effect: Effect.Effect<R, E, Sink<R, E, In, L, Z>>) => Sink<Exclude<R, Scope.Scope>, E, In, L, Z>;
1072
+ export declare const unwrapScoped: <A, In, L, E, R>(effect: Effect.Effect<Sink<A, In, L, E, R>, E, R>) => Sink<A, In, L, E, Exclude<R, Scope.Scope>>;
1064
1073
  /**
1065
1074
  * Returns the sink that executes this one and times its execution.
1066
1075
  *
1067
1076
  * @since 2.0.0
1068
1077
  * @category utils
1069
1078
  */
1070
- export declare const withDuration: <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sink<R, E, In, L, [Z, Duration.Duration]>;
1079
+ export declare const withDuration: <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, Duration.Duration], In, L, E, R>;
1071
1080
  /**
1072
1081
  * Feeds inputs to this sink until it yields a result, then switches over to
1073
1082
  * the provided sink until it yields a result, finally combining the two
@@ -1077,12 +1086,12 @@ export declare const withDuration: <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>)
1077
1086
  * @category zipping
1078
1087
  */
1079
1088
  export declare const zip: {
1080
- <R2, E2, In, In2 extends In, L, L2, Z, Z2>(that: Sink<R2, E2, In2, L2, Z2>, options?: {
1089
+ <A2, In, In2 extends In, L2, E2, R2>(that: Sink<A2, In2, L2, E2, R2>, options?: {
1081
1090
  readonly concurrent?: boolean | undefined;
1082
- }): <R, E>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In & In2, L | L2, [Z, Z2]>;
1083
- <R, E, R2, E2, In, In2 extends In, L, L2, Z, Z2>(self: Sink<R, E, In, L, Z>, that: Sink<R2, E2, In2, L2, Z2>, options?: {
1091
+ } | undefined): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, A2], In & In2, L2 | L, E2 | E, R2 | R>;
1092
+ <A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(self: Sink<A, In, L, E, R>, that: Sink<A2, In2, L2, E2, R2>, options?: {
1084
1093
  readonly concurrent?: boolean | undefined;
1085
- }): Sink<R | R2, E | E2, In & In2, L | L2, [Z, Z2]>;
1094
+ } | undefined): Sink<[A, A2], In & In2, L | L2, E | E2, R | R2>;
1086
1095
  };
1087
1096
  /**
1088
1097
  * Like `Sink.zip` but keeps only the result from this sink.
@@ -1091,12 +1100,12 @@ export declare const zip: {
1091
1100
  * @category zipping
1092
1101
  */
1093
1102
  export declare const zipLeft: {
1094
- <R2, E2, In, In2 extends In, L, L2, Z, Z2>(that: Sink<R2, E2, In2, L2, Z2>, options?: {
1103
+ <A2, In, In2 extends In, L2, E2, R2>(that: Sink<A2, In2, L2, E2, R2>, options?: {
1095
1104
  readonly concurrent?: boolean | undefined;
1096
- }): <R, E>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In & In2, L | L2, Z>;
1097
- <R, E, R2, E2, In, In2 extends In, L, L2, Z, Z2>(self: Sink<R, E, In, L, Z>, that: Sink<R2, E2, In2, L2, Z2>, options?: {
1105
+ } | undefined): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In & In2, L2 | L, E2 | E, R2 | R>;
1106
+ <A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(self: Sink<A, In, L, E, R>, that: Sink<A2, In2, L2, E2, R2>, options?: {
1098
1107
  readonly concurrent?: boolean | undefined;
1099
- }): Sink<R | R2, E | E2, In & In2, L | L2, Z>;
1108
+ } | undefined): Sink<A, In & In2, L | L2, E | E2, R | R2>;
1100
1109
  };
1101
1110
  /**
1102
1111
  * Like `Sink.zip` but keeps only the result from `that` sink.
@@ -1105,12 +1114,12 @@ export declare const zipLeft: {
1105
1114
  * @category zipping
1106
1115
  */
1107
1116
  export declare const zipRight: {
1108
- <R2, E2, In, In2 extends In, L, L2, Z, Z2>(that: Sink<R2, E2, In2, L2, Z2>, options?: {
1117
+ <A2, In, In2 extends In, L2, E2, R2>(that: Sink<A2, In2, L2, E2, R2>, options?: {
1109
1118
  readonly concurrent?: boolean | undefined;
1110
- }): <R, E>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In & In2, L | L2, Z2>;
1111
- <R, E, R2, E2, In, In2 extends In, L, L2, Z, Z2>(self: Sink<R, E, In, L, Z>, that: Sink<R2, E2, In2, L2, Z2>, options?: {
1119
+ } | undefined): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In & In2, L2 | L, E2 | E, R2 | R>;
1120
+ <A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(self: Sink<A, In, L, E, R>, that: Sink<A2, In2, L2, E2, R2>, options?: {
1112
1121
  readonly concurrent?: boolean | undefined;
1113
- }): Sink<R | R2, E | E2, In & In2, L | L2, Z2>;
1122
+ } | undefined): Sink<A2, In & In2, L | L2, E | E2, R | R2>;
1114
1123
  };
1115
1124
  /**
1116
1125
  * Feeds inputs to this sink until it yields a result, then switches over to
@@ -1121,11 +1130,11 @@ export declare const zipRight: {
1121
1130
  * @category zipping
1122
1131
  */
1123
1132
  export declare const zipWith: {
1124
- <R2, E2, In, In2 extends In, L, L2, Z, Z2, Z3>(that: Sink<R2, E2, In2, L2, Z2>, f: (z: Z, z1: Z2) => Z3, options?: {
1133
+ <A2, In, In2 extends In, L2, E2, R2, A, A3>(that: Sink<A2, In2, L2, E2, R2>, f: (a: A, a2: A2) => A3, options?: {
1125
1134
  readonly concurrent?: boolean | undefined;
1126
- }): <R, E>(self: Sink<R, E, In, L, Z>) => Sink<R2 | R, E2 | E, In & In2, L | L2, Z3>;
1127
- <R, E, R2, E2, In, In2 extends In, L, L2, Z, Z2, Z3>(self: Sink<R, E, In, L, Z>, that: Sink<R2, E2, In2, L2, Z2>, f: (z: Z, z1: Z2) => Z3, options?: {
1135
+ } | undefined): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A3, In & In2, L2 | L, E2 | E, R2 | R>;
1136
+ <A, In, L, E, R, A2, In2 extends In, L2, E2, R2, A3>(self: Sink<A, In, L, E, R>, that: Sink<A2, In2, L2, E2, R2>, f: (a: A, a2: A2) => A3, options?: {
1128
1137
  readonly concurrent?: boolean | undefined;
1129
- }): Sink<R | R2, E | E2, In & In2, L | L2, Z3>;
1138
+ } | undefined): Sink<A3, In & In2, L | L2, E | E2, R | R2>;
1130
1139
  };
1131
1140
  //# sourceMappingURL=Sink.d.ts.map