effect 3.8.4 → 3.9.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 (757) hide show
  1. package/dist/cjs/Array.js +24 -3
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/BigDecimal.js +5 -3
  4. package/dist/cjs/BigDecimal.js.map +1 -1
  5. package/dist/cjs/BigInt.js.map +1 -1
  6. package/dist/cjs/Boolean.js.map +1 -1
  7. package/dist/cjs/Cause.js.map +1 -1
  8. package/dist/cjs/Channel.js.map +1 -1
  9. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  10. package/dist/cjs/Chunk.js +3 -0
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/Config.js.map +1 -1
  13. package/dist/cjs/ConfigError.js.map +1 -1
  14. package/dist/cjs/ConfigProvider.js.map +1 -1
  15. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
  16. package/dist/cjs/Console.js.map +1 -1
  17. package/dist/cjs/Context.js.map +1 -1
  18. package/dist/cjs/Cron.js +3 -0
  19. package/dist/cjs/Cron.js.map +1 -1
  20. package/dist/cjs/Data.js.map +1 -1
  21. package/dist/cjs/DateTime.js +6 -0
  22. package/dist/cjs/DateTime.js.map +1 -1
  23. package/dist/cjs/Deferred.js.map +1 -1
  24. package/dist/cjs/Differ.js.map +1 -1
  25. package/dist/cjs/Duration.js +3 -0
  26. package/dist/cjs/Duration.js.map +1 -1
  27. package/dist/cjs/Effect.js +122 -35
  28. package/dist/cjs/Effect.js.map +1 -1
  29. package/dist/cjs/Either.js.map +1 -1
  30. package/dist/cjs/Equivalence.js.map +1 -1
  31. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  32. package/dist/cjs/Exit.js.map +1 -1
  33. package/dist/cjs/Fiber.js.map +1 -1
  34. package/dist/cjs/FiberHandle.js +3 -0
  35. package/dist/cjs/FiberHandle.js.map +1 -1
  36. package/dist/cjs/FiberId.js.map +1 -1
  37. package/dist/cjs/FiberMap.js +3 -0
  38. package/dist/cjs/FiberMap.js.map +1 -1
  39. package/dist/cjs/FiberRef.js.map +1 -1
  40. package/dist/cjs/FiberRefs.js.map +1 -1
  41. package/dist/cjs/FiberRefsPatch.js.map +1 -1
  42. package/dist/cjs/FiberSet.js +3 -0
  43. package/dist/cjs/FiberSet.js.map +1 -1
  44. package/dist/cjs/Function.js.map +1 -1
  45. package/dist/cjs/GroupBy.js.map +1 -1
  46. package/dist/cjs/Hash.js.map +1 -1
  47. package/dist/cjs/HashMap.js.map +1 -1
  48. package/dist/cjs/HashSet.js.map +1 -1
  49. package/dist/cjs/Inspectable.js +15 -1
  50. package/dist/cjs/Inspectable.js.map +1 -1
  51. package/dist/cjs/Iterable.js.map +1 -1
  52. package/dist/cjs/KeyedPool.js.map +1 -1
  53. package/dist/cjs/Layer.js.map +1 -1
  54. package/dist/cjs/List.js +6 -0
  55. package/dist/cjs/List.js.map +1 -1
  56. package/dist/cjs/LogLevel.js.map +1 -1
  57. package/dist/cjs/Logger.js.map +1 -1
  58. package/dist/cjs/Mailbox.js.map +1 -1
  59. package/dist/cjs/ManagedRuntime.js +16 -1
  60. package/dist/cjs/ManagedRuntime.js.map +1 -1
  61. package/dist/cjs/MergeDecision.js.map +1 -1
  62. package/dist/cjs/MergeState.js.map +1 -1
  63. package/dist/cjs/MergeStrategy.js.map +1 -1
  64. package/dist/cjs/Metric.js.map +1 -1
  65. package/dist/cjs/MetricHook.js.map +1 -1
  66. package/dist/cjs/MetricKey.js.map +1 -1
  67. package/dist/cjs/MetricPolling.js.map +1 -1
  68. package/dist/cjs/MetricState.js.map +1 -1
  69. package/dist/cjs/Micro.js +6 -0
  70. package/dist/cjs/Micro.js.map +1 -1
  71. package/dist/cjs/MutableHashMap.js +3 -0
  72. package/dist/cjs/MutableHashMap.js.map +1 -1
  73. package/dist/cjs/MutableHashSet.js +3 -0
  74. package/dist/cjs/MutableHashSet.js.map +1 -1
  75. package/dist/cjs/MutableList.js +3 -0
  76. package/dist/cjs/MutableList.js.map +1 -1
  77. package/dist/cjs/MutableQueue.js +3 -0
  78. package/dist/cjs/MutableQueue.js.map +1 -1
  79. package/dist/cjs/MutableRef.js +3 -0
  80. package/dist/cjs/MutableRef.js.map +1 -1
  81. package/dist/cjs/Number.js.map +1 -1
  82. package/dist/cjs/Option.js.map +1 -1
  83. package/dist/cjs/Order.js.map +1 -1
  84. package/dist/cjs/Ordering.js.map +1 -1
  85. package/dist/cjs/Pipeable.js.map +1 -1
  86. package/dist/cjs/Pool.js.map +1 -1
  87. package/dist/cjs/Predicate.js +18 -2
  88. package/dist/cjs/Predicate.js.map +1 -1
  89. package/dist/cjs/PubSub.js.map +1 -1
  90. package/dist/cjs/Queue.js.map +1 -1
  91. package/dist/cjs/RcMap.js.map +1 -1
  92. package/dist/cjs/Readable.js.map +1 -1
  93. package/dist/cjs/Record.js.map +1 -1
  94. package/dist/cjs/RedBlackTree.js.map +1 -1
  95. package/dist/cjs/Ref.js.map +1 -1
  96. package/dist/cjs/RegExp.js +20 -1
  97. package/dist/cjs/RegExp.js.map +1 -1
  98. package/dist/cjs/Request.js.map +1 -1
  99. package/dist/cjs/RequestResolver.js.map +1 -1
  100. package/dist/cjs/Resource.js.map +1 -1
  101. package/dist/cjs/Runtime.js.map +1 -1
  102. package/dist/cjs/RuntimeFlags.js.map +1 -1
  103. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
  104. package/dist/cjs/STM.js.map +1 -1
  105. package/dist/cjs/Schedule.js.map +1 -1
  106. package/dist/cjs/ScheduleInterval.js.map +1 -1
  107. package/dist/cjs/ScheduleIntervals.js.map +1 -1
  108. package/dist/cjs/Scheduler.js.map +1 -1
  109. package/dist/cjs/Scope.js.map +1 -1
  110. package/dist/cjs/ScopedRef.js.map +1 -1
  111. package/dist/cjs/Sink.js.map +1 -1
  112. package/dist/cjs/SortedMap.js +3 -0
  113. package/dist/cjs/SortedMap.js.map +1 -1
  114. package/dist/cjs/SortedSet.js +3 -0
  115. package/dist/cjs/SortedSet.js.map +1 -1
  116. package/dist/cjs/Stream.js +17 -3
  117. package/dist/cjs/Stream.js.map +1 -1
  118. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  119. package/dist/cjs/String.js.map +1 -1
  120. package/dist/cjs/Struct.js.map +1 -1
  121. package/dist/cjs/Subscribable.js.map +1 -1
  122. package/dist/cjs/SubscriptionRef.js.map +1 -1
  123. package/dist/cjs/SynchronizedRef.js.map +1 -1
  124. package/dist/cjs/TArray.js.map +1 -1
  125. package/dist/cjs/TDeferred.js.map +1 -1
  126. package/dist/cjs/TMap.js.map +1 -1
  127. package/dist/cjs/TPriorityQueue.js.map +1 -1
  128. package/dist/cjs/TPubSub.js.map +1 -1
  129. package/dist/cjs/TQueue.js.map +1 -1
  130. package/dist/cjs/TReentrantLock.js.map +1 -1
  131. package/dist/cjs/TRef.js.map +1 -1
  132. package/dist/cjs/TSemaphore.js.map +1 -1
  133. package/dist/cjs/TSet.js.map +1 -1
  134. package/dist/cjs/Take.js.map +1 -1
  135. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  136. package/dist/cjs/TestClock.js.map +1 -1
  137. package/dist/cjs/TestServices.js.map +1 -1
  138. package/dist/cjs/Trie.js.map +1 -1
  139. package/dist/cjs/Tuple.js +21 -2
  140. package/dist/cjs/Tuple.js.map +1 -1
  141. package/dist/cjs/Unify.js.map +1 -1
  142. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  143. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  144. package/dist/cjs/Utils.js +1 -14
  145. package/dist/cjs/Utils.js.map +1 -1
  146. package/dist/cjs/internal/cause.js +3 -0
  147. package/dist/cjs/internal/cause.js.map +1 -1
  148. package/dist/cjs/internal/context.js +6 -1
  149. package/dist/cjs/internal/context.js.map +1 -1
  150. package/dist/cjs/internal/core-effect.js.map +1 -1
  151. package/dist/cjs/internal/core.js +16 -3
  152. package/dist/cjs/internal/core.js.map +1 -1
  153. package/dist/cjs/internal/effect/circular.js +5 -1
  154. package/dist/cjs/internal/effect/circular.js.map +1 -1
  155. package/dist/cjs/internal/fiberId.js +9 -0
  156. package/dist/cjs/internal/fiberId.js.map +1 -1
  157. package/dist/cjs/internal/hashMap.js +3 -0
  158. package/dist/cjs/internal/hashMap.js.map +1 -1
  159. package/dist/cjs/internal/hashSet.js +3 -0
  160. package/dist/cjs/internal/hashSet.js.map +1 -1
  161. package/dist/cjs/internal/layer.js +33 -19
  162. package/dist/cjs/internal/layer.js.map +1 -1
  163. package/dist/cjs/internal/mailbox.js +3 -0
  164. package/dist/cjs/internal/mailbox.js.map +1 -1
  165. package/dist/cjs/internal/managedRuntime/circular.js +10 -0
  166. package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
  167. package/dist/cjs/internal/managedRuntime.js +23 -9
  168. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  169. package/dist/cjs/internal/option.js +3 -0
  170. package/dist/cjs/internal/option.js.map +1 -1
  171. package/dist/cjs/internal/pool.js +6 -1
  172. package/dist/cjs/internal/pool.js.map +1 -1
  173. package/dist/cjs/internal/redBlackTree.js +3 -0
  174. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  175. package/dist/cjs/internal/resource.js +15 -5
  176. package/dist/cjs/internal/resource.js.map +1 -1
  177. package/dist/cjs/internal/runtime.js +4 -1
  178. package/dist/cjs/internal/runtime.js.map +1 -1
  179. package/dist/cjs/internal/scopedRef.js +11 -8
  180. package/dist/cjs/internal/scopedRef.js.map +1 -1
  181. package/dist/cjs/internal/stm/core.js +1 -2
  182. package/dist/cjs/internal/stm/core.js.map +1 -1
  183. package/dist/cjs/internal/stream.js +12 -3
  184. package/dist/cjs/internal/stream.js.map +1 -1
  185. package/dist/cjs/internal/trie.js +3 -0
  186. package/dist/cjs/internal/trie.js.map +1 -1
  187. package/dist/cjs/internal/version.js +1 -1
  188. package/dist/dts/Array.d.ts +2735 -2
  189. package/dist/dts/Array.d.ts.map +1 -1
  190. package/dist/dts/BigDecimal.d.ts +558 -1
  191. package/dist/dts/BigDecimal.d.ts.map +1 -1
  192. package/dist/dts/BigInt.d.ts +490 -0
  193. package/dist/dts/BigInt.d.ts.map +1 -1
  194. package/dist/dts/Boolean.d.ts +228 -0
  195. package/dist/dts/Boolean.d.ts.map +1 -1
  196. package/dist/dts/Cause.d.ts +172 -0
  197. package/dist/dts/Cause.d.ts.map +1 -1
  198. package/dist/dts/Channel.d.ts +750 -0
  199. package/dist/dts/Channel.d.ts.map +1 -1
  200. package/dist/dts/ChildExecutorDecision.d.ts +12 -0
  201. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  202. package/dist/dts/Chunk.d.ts +791 -0
  203. package/dist/dts/Chunk.d.ts.map +1 -1
  204. package/dist/dts/Config.d.ts +174 -0
  205. package/dist/dts/Config.d.ts.map +1 -1
  206. package/dist/dts/ConfigError.d.ts +16 -0
  207. package/dist/dts/ConfigError.d.ts.map +1 -1
  208. package/dist/dts/ConfigProvider.d.ts +84 -0
  209. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  210. package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
  211. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  212. package/dist/dts/Console.d.ts +24 -0
  213. package/dist/dts/Console.d.ts.map +1 -1
  214. package/dist/dts/Context.d.ts +234 -3
  215. package/dist/dts/Context.d.ts.map +1 -1
  216. package/dist/dts/Cron.d.ts +12 -0
  217. package/dist/dts/Cron.d.ts.map +1 -1
  218. package/dist/dts/Data.d.ts +165 -0
  219. package/dist/dts/Data.d.ts.map +1 -1
  220. package/dist/dts/DateTime.d.ts +878 -0
  221. package/dist/dts/DateTime.d.ts.map +1 -1
  222. package/dist/dts/Deferred.d.ts +171 -1
  223. package/dist/dts/Deferred.d.ts.map +1 -1
  224. package/dist/dts/Differ.d.ts +78 -0
  225. package/dist/dts/Differ.d.ts.map +1 -1
  226. package/dist/dts/Duration.d.ts +130 -0
  227. package/dist/dts/Duration.d.ts.map +1 -1
  228. package/dist/dts/Effect.d.ts +4350 -13
  229. package/dist/dts/Effect.d.ts.map +1 -1
  230. package/dist/dts/Either.d.ts +620 -0
  231. package/dist/dts/Either.d.ts.map +1 -1
  232. package/dist/dts/Equivalence.d.ts +24 -0
  233. package/dist/dts/Equivalence.d.ts.map +1 -1
  234. package/dist/dts/ExecutionStrategy.d.ts +14 -0
  235. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  236. package/dist/dts/Exit.d.ts +252 -0
  237. package/dist/dts/Exit.d.ts.map +1 -1
  238. package/dist/dts/Fiber.d.ts +182 -0
  239. package/dist/dts/Fiber.d.ts.map +1 -1
  240. package/dist/dts/FiberHandle.d.ts +42 -0
  241. package/dist/dts/FiberHandle.d.ts.map +1 -1
  242. package/dist/dts/FiberId.d.ts +24 -0
  243. package/dist/dts/FiberId.d.ts.map +1 -1
  244. package/dist/dts/FiberMap.d.ts +102 -0
  245. package/dist/dts/FiberMap.d.ts.map +1 -1
  246. package/dist/dts/FiberRef.d.ts +80 -0
  247. package/dist/dts/FiberRef.d.ts.map +1 -1
  248. package/dist/dts/FiberRefs.d.ts +84 -0
  249. package/dist/dts/FiberRefs.d.ts.map +1 -1
  250. package/dist/dts/FiberRefsPatch.d.ts +30 -0
  251. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  252. package/dist/dts/FiberSet.d.ts +38 -0
  253. package/dist/dts/FiberSet.d.ts.map +1 -1
  254. package/dist/dts/Function.d.ts +144 -28
  255. package/dist/dts/Function.d.ts.map +1 -1
  256. package/dist/dts/GroupBy.d.ts +38 -0
  257. package/dist/dts/GroupBy.d.ts.map +1 -1
  258. package/dist/dts/Hash.d.ts +8 -0
  259. package/dist/dts/Hash.d.ts.map +1 -1
  260. package/dist/dts/HashMap.d.ts +315 -0
  261. package/dist/dts/HashMap.d.ts.map +1 -1
  262. package/dist/dts/HashSet.d.ts +284 -0
  263. package/dist/dts/HashSet.d.ts.map +1 -1
  264. package/dist/dts/Inspectable.d.ts +15 -0
  265. package/dist/dts/Inspectable.d.ts.map +1 -1
  266. package/dist/dts/Iterable.d.ts +454 -0
  267. package/dist/dts/Iterable.d.ts.map +1 -1
  268. package/dist/dts/KeyedPool.d.ts +34 -0
  269. package/dist/dts/KeyedPool.d.ts.map +1 -1
  270. package/dist/dts/Layer.d.ts +460 -5
  271. package/dist/dts/Layer.d.ts.map +1 -1
  272. package/dist/dts/List.d.ts +430 -0
  273. package/dist/dts/List.d.ts.map +1 -1
  274. package/dist/dts/LogLevel.d.ts +46 -0
  275. package/dist/dts/LogLevel.d.ts.map +1 -1
  276. package/dist/dts/Logger.d.ts +194 -0
  277. package/dist/dts/Logger.d.ts.map +1 -1
  278. package/dist/dts/Mailbox.d.ts +16 -0
  279. package/dist/dts/Mailbox.d.ts.map +1 -1
  280. package/dist/dts/ManagedRuntime.d.ts +41 -2
  281. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  282. package/dist/dts/MergeDecision.d.ts +8 -0
  283. package/dist/dts/MergeDecision.d.ts.map +1 -1
  284. package/dist/dts/MergeState.d.ts +8 -0
  285. package/dist/dts/MergeState.d.ts.map +1 -1
  286. package/dist/dts/MergeStrategy.d.ts +12 -0
  287. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  288. package/dist/dts/Metric.d.ts +410 -0
  289. package/dist/dts/Metric.d.ts.map +1 -1
  290. package/dist/dts/MetricHook.d.ts +24 -0
  291. package/dist/dts/MetricHook.d.ts.map +1 -1
  292. package/dist/dts/MetricKey.d.ts +48 -0
  293. package/dist/dts/MetricKey.d.ts.map +1 -1
  294. package/dist/dts/MetricPolling.d.ts +40 -0
  295. package/dist/dts/MetricPolling.d.ts.map +1 -1
  296. package/dist/dts/MetricState.d.ts +16 -0
  297. package/dist/dts/MetricState.d.ts.map +1 -1
  298. package/dist/dts/Micro.d.ts +1110 -0
  299. package/dist/dts/Micro.d.ts.map +1 -1
  300. package/dist/dts/MutableHashMap.d.ts +50 -0
  301. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  302. package/dist/dts/MutableHashSet.d.ts +24 -0
  303. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  304. package/dist/dts/MutableList.d.ts +36 -0
  305. package/dist/dts/MutableList.d.ts.map +1 -1
  306. package/dist/dts/MutableQueue.d.ts +62 -0
  307. package/dist/dts/MutableQueue.d.ts.map +1 -1
  308. package/dist/dts/MutableRef.d.ts +56 -0
  309. package/dist/dts/MutableRef.d.ts.map +1 -1
  310. package/dist/dts/Number.d.ts +474 -0
  311. package/dist/dts/Number.d.ts.map +1 -1
  312. package/dist/dts/Option.d.ts +1019 -0
  313. package/dist/dts/Option.d.ts.map +1 -1
  314. package/dist/dts/Order.d.ts +24 -0
  315. package/dist/dts/Order.d.ts.map +1 -1
  316. package/dist/dts/Ordering.d.ts +66 -0
  317. package/dist/dts/Ordering.d.ts.map +1 -1
  318. package/dist/dts/Pipeable.d.ts +21 -21
  319. package/dist/dts/Pipeable.d.ts.map +1 -1
  320. package/dist/dts/Pool.d.ts +37 -1
  321. package/dist/dts/Pool.d.ts.map +1 -1
  322. package/dist/dts/Predicate.d.ts +513 -0
  323. package/dist/dts/Predicate.d.ts.map +1 -1
  324. package/dist/dts/PubSub.d.ts +28 -0
  325. package/dist/dts/PubSub.d.ts.map +1 -1
  326. package/dist/dts/Queue.d.ts +106 -2
  327. package/dist/dts/Queue.d.ts.map +1 -1
  328. package/dist/dts/RcMap.d.ts +70 -0
  329. package/dist/dts/RcMap.d.ts.map +1 -1
  330. package/dist/dts/Readable.d.ts +16 -0
  331. package/dist/dts/Readable.d.ts.map +1 -1
  332. package/dist/dts/Record.d.ts +800 -0
  333. package/dist/dts/Record.d.ts.map +1 -1
  334. package/dist/dts/RedBlackTree.d.ts +300 -0
  335. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  336. package/dist/dts/Ref.d.ts +88 -0
  337. package/dist/dts/Ref.d.ts.map +1 -1
  338. package/dist/dts/RegExp.d.ts +12 -2
  339. package/dist/dts/RegExp.d.ts.map +1 -1
  340. package/dist/dts/Request.d.ts +76 -0
  341. package/dist/dts/Request.d.ts.map +1 -1
  342. package/dist/dts/RequestResolver.d.ts +144 -0
  343. package/dist/dts/RequestResolver.d.ts.map +1 -1
  344. package/dist/dts/Resource.d.ts +21 -1
  345. package/dist/dts/Resource.d.ts.map +1 -1
  346. package/dist/dts/Runtime.d.ts +126 -0
  347. package/dist/dts/Runtime.d.ts.map +1 -1
  348. package/dist/dts/RuntimeFlags.d.ts +100 -0
  349. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  350. package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
  351. package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
  352. package/dist/dts/STM.d.ts +1090 -0
  353. package/dist/dts/STM.d.ts.map +1 -1
  354. package/dist/dts/Schedule.d.ts +704 -0
  355. package/dist/dts/Schedule.d.ts.map +1 -1
  356. package/dist/dts/ScheduleInterval.d.ts +68 -0
  357. package/dist/dts/ScheduleInterval.d.ts.map +1 -1
  358. package/dist/dts/ScheduleIntervals.d.ts +50 -0
  359. package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
  360. package/dist/dts/Scope.d.ts +36 -0
  361. package/dist/dts/Scope.d.ts.map +1 -1
  362. package/dist/dts/ScopedRef.d.ts +43 -1
  363. package/dist/dts/ScopedRef.d.ts.map +1 -1
  364. package/dist/dts/Sink.d.ts +464 -0
  365. package/dist/dts/Sink.d.ts.map +1 -1
  366. package/dist/dts/SortedMap.d.ts +76 -0
  367. package/dist/dts/SortedMap.d.ts.map +1 -1
  368. package/dist/dts/SortedSet.d.ts +142 -0
  369. package/dist/dts/SortedSet.d.ts.map +1 -1
  370. package/dist/dts/Stream.d.ts +4998 -1
  371. package/dist/dts/Stream.d.ts.map +1 -1
  372. package/dist/dts/StreamHaltStrategy.d.ts +12 -0
  373. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  374. package/dist/dts/String.d.ts +200 -0
  375. package/dist/dts/String.d.ts.map +1 -1
  376. package/dist/dts/Struct.d.ts +84 -0
  377. package/dist/dts/Struct.d.ts.map +1 -1
  378. package/dist/dts/Subscribable.d.ts +16 -0
  379. package/dist/dts/Subscribable.d.ts.map +1 -1
  380. package/dist/dts/SubscriptionRef.d.ts +152 -0
  381. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  382. package/dist/dts/SynchronizedRef.d.ts +152 -0
  383. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  384. package/dist/dts/TArray.d.ts +426 -0
  385. package/dist/dts/TArray.d.ts.map +1 -1
  386. package/dist/dts/TDeferred.d.ts +24 -0
  387. package/dist/dts/TDeferred.d.ts.map +1 -1
  388. package/dist/dts/TMap.d.ts +366 -0
  389. package/dist/dts/TMap.d.ts.map +1 -1
  390. package/dist/dts/TPriorityQueue.d.ts +60 -0
  391. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  392. package/dist/dts/TPubSub.d.ts +28 -0
  393. package/dist/dts/TPubSub.d.ts.map +1 -1
  394. package/dist/dts/TQueue.d.ts +108 -0
  395. package/dist/dts/TQueue.d.ts.map +1 -1
  396. package/dist/dts/TReentrantLock.d.ts +36 -0
  397. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  398. package/dist/dts/TRef.d.ts +88 -0
  399. package/dist/dts/TRef.d.ts.map +1 -1
  400. package/dist/dts/TSemaphore.d.ts +40 -0
  401. package/dist/dts/TSemaphore.d.ts.map +1 -1
  402. package/dist/dts/TSet.d.ts +254 -0
  403. package/dist/dts/TSet.d.ts.map +1 -1
  404. package/dist/dts/Take.d.ts +56 -0
  405. package/dist/dts/Take.d.ts.map +1 -1
  406. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  407. package/dist/dts/TestClock.d.ts.map +1 -1
  408. package/dist/dts/TestServices.d.ts.map +1 -1
  409. package/dist/dts/Trie.d.ts +906 -0
  410. package/dist/dts/Trie.d.ts.map +1 -1
  411. package/dist/dts/Tuple.d.ts +203 -0
  412. package/dist/dts/Tuple.d.ts.map +1 -1
  413. package/dist/dts/Types.d.ts +39 -0
  414. package/dist/dts/Types.d.ts.map +1 -1
  415. package/dist/dts/Unify.d.ts +26 -13
  416. package/dist/dts/Unify.d.ts.map +1 -1
  417. package/dist/dts/UpstreamPullRequest.d.ts +12 -0
  418. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  419. package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
  420. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  421. package/dist/dts/Utils.d.ts.map +1 -1
  422. package/dist/dts/internal/core.d.ts.map +1 -1
  423. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  424. package/dist/dts/internal/layer.d.ts.map +1 -1
  425. package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
  426. package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
  427. package/dist/dts/internal/stream.d.ts.map +1 -1
  428. package/dist/esm/Array.js +21 -0
  429. package/dist/esm/Array.js.map +1 -1
  430. package/dist/esm/BigDecimal.js +6 -3
  431. package/dist/esm/BigDecimal.js.map +1 -1
  432. package/dist/esm/BigInt.js.map +1 -1
  433. package/dist/esm/Boolean.js.map +1 -1
  434. package/dist/esm/Cause.js.map +1 -1
  435. package/dist/esm/Channel.js.map +1 -1
  436. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  437. package/dist/esm/Chunk.js +4 -1
  438. package/dist/esm/Chunk.js.map +1 -1
  439. package/dist/esm/Config.js.map +1 -1
  440. package/dist/esm/ConfigError.js.map +1 -1
  441. package/dist/esm/ConfigProvider.js.map +1 -1
  442. package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
  443. package/dist/esm/Console.js.map +1 -1
  444. package/dist/esm/Context.js.map +1 -1
  445. package/dist/esm/Cron.js +4 -1
  446. package/dist/esm/Cron.js.map +1 -1
  447. package/dist/esm/Data.js.map +1 -1
  448. package/dist/esm/DateTime.js +6 -0
  449. package/dist/esm/DateTime.js.map +1 -1
  450. package/dist/esm/Deferred.js.map +1 -1
  451. package/dist/esm/Differ.js.map +1 -1
  452. package/dist/esm/Duration.js +4 -1
  453. package/dist/esm/Duration.js.map +1 -1
  454. package/dist/esm/Effect.js +116 -30
  455. package/dist/esm/Effect.js.map +1 -1
  456. package/dist/esm/Either.js.map +1 -1
  457. package/dist/esm/Equivalence.js.map +1 -1
  458. package/dist/esm/ExecutionStrategy.js.map +1 -1
  459. package/dist/esm/Exit.js.map +1 -1
  460. package/dist/esm/Fiber.js.map +1 -1
  461. package/dist/esm/FiberHandle.js +3 -0
  462. package/dist/esm/FiberHandle.js.map +1 -1
  463. package/dist/esm/FiberId.js.map +1 -1
  464. package/dist/esm/FiberMap.js +3 -0
  465. package/dist/esm/FiberMap.js.map +1 -1
  466. package/dist/esm/FiberRef.js.map +1 -1
  467. package/dist/esm/FiberRefs.js.map +1 -1
  468. package/dist/esm/FiberRefsPatch.js.map +1 -1
  469. package/dist/esm/FiberSet.js +3 -0
  470. package/dist/esm/FiberSet.js.map +1 -1
  471. package/dist/esm/Function.js.map +1 -1
  472. package/dist/esm/GroupBy.js.map +1 -1
  473. package/dist/esm/Hash.js.map +1 -1
  474. package/dist/esm/HashMap.js.map +1 -1
  475. package/dist/esm/HashSet.js.map +1 -1
  476. package/dist/esm/Inspectable.js +14 -0
  477. package/dist/esm/Inspectable.js.map +1 -1
  478. package/dist/esm/Iterable.js.map +1 -1
  479. package/dist/esm/KeyedPool.js.map +1 -1
  480. package/dist/esm/Layer.js.map +1 -1
  481. package/dist/esm/List.js +7 -1
  482. package/dist/esm/List.js.map +1 -1
  483. package/dist/esm/LogLevel.js.map +1 -1
  484. package/dist/esm/Logger.js.map +1 -1
  485. package/dist/esm/Mailbox.js.map +1 -1
  486. package/dist/esm/ManagedRuntime.js +15 -0
  487. package/dist/esm/ManagedRuntime.js.map +1 -1
  488. package/dist/esm/MergeDecision.js.map +1 -1
  489. package/dist/esm/MergeState.js.map +1 -1
  490. package/dist/esm/MergeStrategy.js.map +1 -1
  491. package/dist/esm/Metric.js.map +1 -1
  492. package/dist/esm/MetricHook.js.map +1 -1
  493. package/dist/esm/MetricKey.js.map +1 -1
  494. package/dist/esm/MetricPolling.js.map +1 -1
  495. package/dist/esm/MetricState.js.map +1 -1
  496. package/dist/esm/Micro.js +7 -1
  497. package/dist/esm/Micro.js.map +1 -1
  498. package/dist/esm/MutableHashMap.js +4 -1
  499. package/dist/esm/MutableHashMap.js.map +1 -1
  500. package/dist/esm/MutableHashSet.js +4 -1
  501. package/dist/esm/MutableHashSet.js.map +1 -1
  502. package/dist/esm/MutableList.js +4 -1
  503. package/dist/esm/MutableList.js.map +1 -1
  504. package/dist/esm/MutableQueue.js +4 -1
  505. package/dist/esm/MutableQueue.js.map +1 -1
  506. package/dist/esm/MutableRef.js +4 -1
  507. package/dist/esm/MutableRef.js.map +1 -1
  508. package/dist/esm/Number.js.map +1 -1
  509. package/dist/esm/Option.js.map +1 -1
  510. package/dist/esm/Order.js.map +1 -1
  511. package/dist/esm/Ordering.js.map +1 -1
  512. package/dist/esm/Pipeable.js.map +1 -1
  513. package/dist/esm/Pool.js.map +1 -1
  514. package/dist/esm/Predicate.js +15 -0
  515. package/dist/esm/Predicate.js.map +1 -1
  516. package/dist/esm/PubSub.js.map +1 -1
  517. package/dist/esm/Queue.js.map +1 -1
  518. package/dist/esm/RcMap.js.map +1 -1
  519. package/dist/esm/Readable.js.map +1 -1
  520. package/dist/esm/Record.js.map +1 -1
  521. package/dist/esm/RedBlackTree.js.map +1 -1
  522. package/dist/esm/Ref.js.map +1 -1
  523. package/dist/esm/RegExp.js +16 -0
  524. package/dist/esm/RegExp.js.map +1 -1
  525. package/dist/esm/Request.js.map +1 -1
  526. package/dist/esm/RequestResolver.js.map +1 -1
  527. package/dist/esm/Resource.js.map +1 -1
  528. package/dist/esm/Runtime.js.map +1 -1
  529. package/dist/esm/RuntimeFlags.js.map +1 -1
  530. package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
  531. package/dist/esm/STM.js.map +1 -1
  532. package/dist/esm/Schedule.js.map +1 -1
  533. package/dist/esm/ScheduleInterval.js.map +1 -1
  534. package/dist/esm/ScheduleIntervals.js.map +1 -1
  535. package/dist/esm/Scheduler.js.map +1 -1
  536. package/dist/esm/Scope.js.map +1 -1
  537. package/dist/esm/ScopedRef.js.map +1 -1
  538. package/dist/esm/Sink.js.map +1 -1
  539. package/dist/esm/SortedMap.js +4 -1
  540. package/dist/esm/SortedMap.js.map +1 -1
  541. package/dist/esm/SortedSet.js +4 -1
  542. package/dist/esm/SortedSet.js.map +1 -1
  543. package/dist/esm/Stream.js +14 -0
  544. package/dist/esm/Stream.js.map +1 -1
  545. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  546. package/dist/esm/String.js.map +1 -1
  547. package/dist/esm/Struct.js.map +1 -1
  548. package/dist/esm/Subscribable.js.map +1 -1
  549. package/dist/esm/SubscriptionRef.js.map +1 -1
  550. package/dist/esm/SynchronizedRef.js.map +1 -1
  551. package/dist/esm/TArray.js.map +1 -1
  552. package/dist/esm/TDeferred.js.map +1 -1
  553. package/dist/esm/TMap.js.map +1 -1
  554. package/dist/esm/TPriorityQueue.js.map +1 -1
  555. package/dist/esm/TPubSub.js.map +1 -1
  556. package/dist/esm/TQueue.js.map +1 -1
  557. package/dist/esm/TReentrantLock.js.map +1 -1
  558. package/dist/esm/TRef.js.map +1 -1
  559. package/dist/esm/TSemaphore.js.map +1 -1
  560. package/dist/esm/TSet.js.map +1 -1
  561. package/dist/esm/Take.js.map +1 -1
  562. package/dist/esm/TestAnnotationMap.js.map +1 -1
  563. package/dist/esm/TestClock.js.map +1 -1
  564. package/dist/esm/TestServices.js.map +1 -1
  565. package/dist/esm/Trie.js.map +1 -1
  566. package/dist/esm/Tuple.js +19 -0
  567. package/dist/esm/Tuple.js.map +1 -1
  568. package/dist/esm/Unify.js.map +1 -1
  569. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  570. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  571. package/dist/esm/Utils.js +1 -14
  572. package/dist/esm/Utils.js.map +1 -1
  573. package/dist/esm/internal/cause.js +4 -1
  574. package/dist/esm/internal/cause.js.map +1 -1
  575. package/dist/esm/internal/context.js +7 -2
  576. package/dist/esm/internal/context.js.map +1 -1
  577. package/dist/esm/internal/core-effect.js.map +1 -1
  578. package/dist/esm/internal/core.js +14 -2
  579. package/dist/esm/internal/core.js.map +1 -1
  580. package/dist/esm/internal/effect/circular.js +5 -1
  581. package/dist/esm/internal/effect/circular.js.map +1 -1
  582. package/dist/esm/internal/fiberId.js +10 -1
  583. package/dist/esm/internal/fiberId.js.map +1 -1
  584. package/dist/esm/internal/hashMap.js +4 -1
  585. package/dist/esm/internal/hashMap.js.map +1 -1
  586. package/dist/esm/internal/hashSet.js +4 -1
  587. package/dist/esm/internal/hashSet.js.map +1 -1
  588. package/dist/esm/internal/layer.js +32 -18
  589. package/dist/esm/internal/layer.js.map +1 -1
  590. package/dist/esm/internal/mailbox.js +3 -0
  591. package/dist/esm/internal/mailbox.js.map +1 -1
  592. package/dist/esm/internal/managedRuntime/circular.js +4 -0
  593. package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
  594. package/dist/esm/internal/managedRuntime.js +21 -8
  595. package/dist/esm/internal/managedRuntime.js.map +1 -1
  596. package/dist/esm/internal/option.js +4 -1
  597. package/dist/esm/internal/option.js.map +1 -1
  598. package/dist/esm/internal/pool.js +6 -1
  599. package/dist/esm/internal/pool.js.map +1 -1
  600. package/dist/esm/internal/redBlackTree.js +4 -1
  601. package/dist/esm/internal/redBlackTree.js.map +1 -1
  602. package/dist/esm/internal/resource.js +15 -5
  603. package/dist/esm/internal/resource.js.map +1 -1
  604. package/dist/esm/internal/runtime.js +4 -1
  605. package/dist/esm/internal/runtime.js.map +1 -1
  606. package/dist/esm/internal/scopedRef.js +11 -8
  607. package/dist/esm/internal/scopedRef.js.map +1 -1
  608. package/dist/esm/internal/stm/core.js +1 -2
  609. package/dist/esm/internal/stm/core.js.map +1 -1
  610. package/dist/esm/internal/stream.js +9 -0
  611. package/dist/esm/internal/stream.js.map +1 -1
  612. package/dist/esm/internal/trie.js +4 -1
  613. package/dist/esm/internal/trie.js.map +1 -1
  614. package/dist/esm/internal/version.js +1 -1
  615. package/package.json +1 -1
  616. package/src/Array.ts +2791 -40
  617. package/src/BigDecimal.ts +589 -19
  618. package/src/BigInt.ts +516 -16
  619. package/src/Boolean.ts +241 -8
  620. package/src/Cause.ts +177 -1
  621. package/src/Channel.ts +766 -49
  622. package/src/ChildExecutorDecision.ts +12 -0
  623. package/src/Chunk.ts +822 -5
  624. package/src/Config.ts +187 -8
  625. package/src/ConfigError.ts +16 -0
  626. package/src/ConfigProvider.ts +89 -1
  627. package/src/ConfigProviderPathPatch.ts +32 -0
  628. package/src/Console.ts +37 -8
  629. package/src/Context.ts +234 -3
  630. package/src/Cron.ts +16 -1
  631. package/src/Data.ts +165 -0
  632. package/src/DateTime.ts +1012 -50
  633. package/src/Deferred.ts +171 -1
  634. package/src/Differ.ts +89 -27
  635. package/src/Duration.ts +160 -17
  636. package/src/Effect.ts +4717 -164
  637. package/src/Either.ts +650 -34
  638. package/src/Equivalence.ts +24 -0
  639. package/src/ExecutionStrategy.ts +29 -10
  640. package/src/Exit.ts +252 -0
  641. package/src/Fiber.ts +182 -0
  642. package/src/FiberHandle.ts +45 -0
  643. package/src/FiberId.ts +24 -0
  644. package/src/FiberMap.ts +147 -21
  645. package/src/FiberRef.ts +80 -0
  646. package/src/FiberRefs.ts +84 -0
  647. package/src/FiberRefsPatch.ts +35 -1
  648. package/src/FiberSet.ts +41 -0
  649. package/src/Function.ts +416 -31
  650. package/src/GroupBy.ts +38 -0
  651. package/src/Hash.ts +8 -0
  652. package/src/HashMap.ts +316 -0
  653. package/src/HashSet.ts +284 -0
  654. package/src/Inspectable.ts +22 -0
  655. package/src/Iterable.ts +456 -6
  656. package/src/KeyedPool.ts +34 -0
  657. package/src/Layer.ts +475 -38
  658. package/src/List.ts +483 -4
  659. package/src/LogLevel.ts +46 -0
  660. package/src/Logger.ts +195 -4
  661. package/src/Mailbox.ts +16 -0
  662. package/src/ManagedRuntime.ts +46 -2
  663. package/src/MergeDecision.ts +8 -0
  664. package/src/MergeState.ts +8 -0
  665. package/src/MergeStrategy.ts +25 -8
  666. package/src/Metric.ts +426 -15
  667. package/src/MetricHook.ts +24 -0
  668. package/src/MetricKey.ts +62 -8
  669. package/src/MetricPolling.ts +42 -6
  670. package/src/MetricState.ts +16 -0
  671. package/src/Micro.ts +1223 -61
  672. package/src/MutableHashMap.ts +109 -2
  673. package/src/MutableHashSet.ts +28 -1
  674. package/src/MutableList.ts +40 -1
  675. package/src/MutableQueue.ts +66 -1
  676. package/src/MutableRef.ts +60 -1
  677. package/src/Number.ts +500 -16
  678. package/src/Option.ts +1042 -16
  679. package/src/Order.ts +24 -0
  680. package/src/Ordering.ts +66 -0
  681. package/src/Pipeable.ts +224 -21
  682. package/src/Pool.ts +42 -1
  683. package/src/Predicate.ts +514 -0
  684. package/src/PubSub.ts +28 -0
  685. package/src/Queue.ts +106 -2
  686. package/src/RcMap.ts +70 -0
  687. package/src/Readable.ts +18 -7
  688. package/src/Record.ts +814 -40
  689. package/src/RedBlackTree.ts +305 -1
  690. package/src/Ref.ts +88 -0
  691. package/src/RegExp.ts +17 -0
  692. package/src/Request.ts +76 -0
  693. package/src/RequestResolver.ts +145 -4
  694. package/src/Resource.ts +22 -1
  695. package/src/Runtime.ts +134 -2
  696. package/src/RuntimeFlags.ts +100 -0
  697. package/src/RuntimeFlagsPatch.ts +112 -0
  698. package/src/STM.ts +1107 -11
  699. package/src/Schedule.ts +704 -0
  700. package/src/ScheduleInterval.ts +68 -0
  701. package/src/ScheduleIntervals.ts +50 -0
  702. package/src/Scheduler.ts +2 -0
  703. package/src/Scope.ts +36 -0
  704. package/src/ScopedRef.ts +44 -1
  705. package/src/Sink.ts +464 -0
  706. package/src/SortedMap.ts +80 -1
  707. package/src/SortedSet.ts +147 -4
  708. package/src/Stream.ts +5041 -54
  709. package/src/StreamHaltStrategy.ts +29 -12
  710. package/src/String.ts +200 -0
  711. package/src/Struct.ts +86 -7
  712. package/src/Subscribable.ts +16 -0
  713. package/src/SubscriptionRef.ts +159 -11
  714. package/src/SynchronizedRef.ts +169 -8
  715. package/src/TArray.ts +431 -1
  716. package/src/TDeferred.ts +24 -0
  717. package/src/TMap.ts +381 -12
  718. package/src/TPriorityQueue.ts +60 -0
  719. package/src/TPubSub.ts +28 -0
  720. package/src/TQueue.ts +108 -0
  721. package/src/TReentrantLock.ts +36 -0
  722. package/src/TRef.ts +88 -0
  723. package/src/TSemaphore.ts +40 -0
  724. package/src/TSet.ts +280 -12
  725. package/src/Take.ts +56 -0
  726. package/src/TestAnnotationMap.ts +45 -1
  727. package/src/TestClock.ts +6 -0
  728. package/src/TestServices.ts +66 -0
  729. package/src/Trie.ts +906 -0
  730. package/src/Tuple.ts +223 -8
  731. package/src/Types.ts +41 -0
  732. package/src/Unify.ts +28 -17
  733. package/src/UpstreamPullRequest.ts +12 -0
  734. package/src/UpstreamPullStrategy.ts +12 -0
  735. package/src/Utils.ts +1 -15
  736. package/src/internal/cause.ts +4 -1
  737. package/src/internal/context.ts +7 -2
  738. package/src/internal/core-effect.ts +7 -7
  739. package/src/internal/core.ts +14 -2
  740. package/src/internal/effect/circular.ts +8 -2
  741. package/src/internal/fiberId.ts +10 -1
  742. package/src/internal/hashMap.ts +4 -1
  743. package/src/internal/hashSet.ts +4 -1
  744. package/src/internal/layer.ts +105 -38
  745. package/src/internal/mailbox.ts +3 -0
  746. package/src/internal/managedRuntime/circular.ts +6 -0
  747. package/src/internal/managedRuntime.ts +36 -22
  748. package/src/internal/option.ts +4 -1
  749. package/src/internal/pool.ts +7 -1
  750. package/src/internal/redBlackTree.ts +4 -1
  751. package/src/internal/resource.ts +16 -5
  752. package/src/internal/runtime.ts +4 -1
  753. package/src/internal/scopedRef.ts +12 -8
  754. package/src/internal/stm/core.ts +2 -3
  755. package/src/internal/stream.ts +27 -0
  756. package/src/internal/trie.ts +4 -1
  757. package/src/internal/version.ts +1 -1
package/src/Sink.ts CHANGED
@@ -116,7 +116,19 @@ export declare namespace Sink {
116
116
  * @category mapping
117
117
  */
118
118
  export const as: {
119
+ /**
120
+ * Replaces this sink's result with the provided value.
121
+ *
122
+ * @since 2.0.0
123
+ * @category mapping
124
+ */
119
125
  <A2>(a: A2): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E, R>
126
+ /**
127
+ * Replaces this sink's result with the provided value.
128
+ *
129
+ * @since 2.0.0
130
+ * @category mapping
131
+ */
120
132
  <A, In, L, E, R, A2>(self: Sink<A, In, L, E, R>, a: A2): Sink<A2, In, L, E, R>
121
133
  } = internal.as
122
134
 
@@ -217,7 +229,21 @@ export const collectAllUntilEffect: <In, E, R>(
217
229
  * @category constructors
218
230
  */
219
231
  export const collectAllWhile: {
232
+ /**
233
+ * Accumulates incoming elements into a chunk as long as they verify predicate
234
+ * `p`.
235
+ *
236
+ * @since 2.0.0
237
+ * @category constructors
238
+ */
220
239
  <In, Out extends In>(refinement: Refinement<In, Out>): Sink<Chunk.Chunk<Out>, In, In>
240
+ /**
241
+ * Accumulates incoming elements into a chunk as long as they verify predicate
242
+ * `p`.
243
+ *
244
+ * @since 2.0.0
245
+ * @category constructors
246
+ */
221
247
  <In>(predicate: Predicate<In>): Sink<Chunk.Chunk<In>, In, In>
222
248
  } = internal.collectAllWhile
223
249
 
@@ -240,9 +266,23 @@ export const collectAllWhileEffect: <In, E, R>(
240
266
  * @category utils
241
267
  */
242
268
  export const collectAllWhileWith: {
269
+ /**
270
+ * Repeatedly runs the sink for as long as its results satisfy the predicate
271
+ * `p`. The sink's results will be accumulated using the stepping function `f`.
272
+ *
273
+ * @since 2.0.0
274
+ * @category utils
275
+ */
243
276
  <A, S>(
244
277
  options: { readonly initial: S; readonly while: Predicate<A>; readonly body: (s: S, a: A) => S }
245
278
  ): <In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<S, In, L, E, R>
279
+ /**
280
+ * Repeatedly runs the sink for as long as its results satisfy the predicate
281
+ * `p`. The sink's results will be accumulated using the stepping function `f`.
282
+ *
283
+ * @since 2.0.0
284
+ * @category utils
285
+ */
246
286
  <A, In, L extends In, E, R, S>(
247
287
  self: Sink<A, In, L, E, R>,
248
288
  options: { readonly initial: S; readonly while: Predicate<A>; readonly body: (s: S, a: A) => S }
@@ -267,7 +307,19 @@ export const collectLeftover: <A, In, L, E, R>(
267
307
  * @category mapping
268
308
  */
269
309
  export const mapInput: {
310
+ /**
311
+ * Transforms this sink's input elements.
312
+ *
313
+ * @since 2.0.0
314
+ * @category mapping
315
+ */
270
316
  <In0, In>(f: (input: In0) => In): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E, R>
317
+ /**
318
+ * Transforms this sink's input elements.
319
+ *
320
+ * @since 2.0.0
321
+ * @category mapping
322
+ */
271
323
  <A, In, L, E, R, In0>(self: Sink<A, In, L, E, R>, f: (input: In0) => In): Sink<A, In0, L, E, R>
272
324
  } = internal.mapInput
273
325
 
@@ -278,9 +330,21 @@ export const mapInput: {
278
330
  * @category mapping
279
331
  */
280
332
  export const mapInputEffect: {
333
+ /**
334
+ * Effectfully transforms this sink's input elements.
335
+ *
336
+ * @since 2.0.0
337
+ * @category mapping
338
+ */
281
339
  <In0, In, E2, R2>(
282
340
  f: (input: In0) => Effect.Effect<In, E2, R2>
283
341
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E2 | E, R2 | R>
342
+ /**
343
+ * Effectfully transforms this sink's input elements.
344
+ *
345
+ * @since 2.0.0
346
+ * @category mapping
347
+ */
284
348
  <A, In, L, E, R, In0, E2, R2>(
285
349
  self: Sink<A, In, L, E, R>,
286
350
  f: (input: In0) => Effect.Effect<In, E2, R2>
@@ -294,9 +358,21 @@ export const mapInputEffect: {
294
358
  * @category mapping
295
359
  */
296
360
  export const mapInputChunks: {
361
+ /**
362
+ * Transforms this sink's input chunks. `f` must preserve chunking-invariance.
363
+ *
364
+ * @since 2.0.0
365
+ * @category mapping
366
+ */
297
367
  <In0, In>(
298
368
  f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
299
369
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E, R>
370
+ /**
371
+ * Transforms this sink's input chunks. `f` must preserve chunking-invariance.
372
+ *
373
+ * @since 2.0.0
374
+ * @category mapping
375
+ */
300
376
  <A, In, L, E, R, In0>(
301
377
  self: Sink<A, In, L, E, R>,
302
378
  f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
@@ -311,9 +387,23 @@ export const mapInputChunks: {
311
387
  * @category mapping
312
388
  */
313
389
  export const mapInputChunksEffect: {
390
+ /**
391
+ * Effectfully transforms this sink's input chunks. `f` must preserve
392
+ * chunking-invariance.
393
+ *
394
+ * @since 2.0.0
395
+ * @category mapping
396
+ */
314
397
  <In0, In, E2, R2>(
315
398
  f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
316
399
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E2 | E, R2 | R>
400
+ /**
401
+ * Effectfully transforms this sink's input chunks. `f` must preserve
402
+ * chunking-invariance.
403
+ *
404
+ * @since 2.0.0
405
+ * @category mapping
406
+ */
317
407
  <A, In, L, E, R, In0, E2, R2>(
318
408
  self: Sink<A, In, L, E, R>,
319
409
  f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
@@ -361,9 +451,23 @@ export const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, unknown> = int
361
451
  * @category mapping
362
452
  */
363
453
  export const dimap: {
454
+ /**
455
+ * Transforms both inputs and result of this sink using the provided
456
+ * functions.
457
+ *
458
+ * @since 2.0.0
459
+ * @category mapping
460
+ */
364
461
  <In0, In, A, A2>(
365
462
  options: { readonly onInput: (input: In0) => In; readonly onDone: (a: A) => A2 }
366
463
  ): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E, R>
464
+ /**
465
+ * Transforms both inputs and result of this sink using the provided
466
+ * functions.
467
+ *
468
+ * @since 2.0.0
469
+ * @category mapping
470
+ */
367
471
  <A, In, L, E, R, In0, A2>(
368
472
  self: Sink<A, In, L, E, R>,
369
473
  options: { readonly onInput: (input: In0) => In; readonly onDone: (a: A) => A2 }
@@ -378,12 +482,26 @@ export const dimap: {
378
482
  * @category mapping
379
483
  */
380
484
  export const dimapEffect: {
485
+ /**
486
+ * Effectfully transforms both inputs and result of this sink using the
487
+ * provided functions.
488
+ *
489
+ * @since 2.0.0
490
+ * @category mapping
491
+ */
381
492
  <In0, In, E2, R2, A, A2, E3, R3>(
382
493
  options: {
383
494
  readonly onInput: (input: In0) => Effect.Effect<In, E2, R2>
384
495
  readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
385
496
  }
386
497
  ): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>
498
+ /**
499
+ * Effectfully transforms both inputs and result of this sink using the
500
+ * provided functions.
501
+ *
502
+ * @since 2.0.0
503
+ * @category mapping
504
+ */
387
505
  <A, In, L, E, R, In0, E2, R2, A2, E3, R3>(
388
506
  self: Sink<A, In, L, E, R>,
389
507
  options: {
@@ -401,9 +519,23 @@ export const dimapEffect: {
401
519
  * @category mapping
402
520
  */
403
521
  export const dimapChunks: {
522
+ /**
523
+ * Transforms both input chunks and result of this sink using the provided
524
+ * functions.
525
+ *
526
+ * @since 2.0.0
527
+ * @category mapping
528
+ */
404
529
  <In0, In, A, A2>(
405
530
  options: { readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>; readonly onDone: (a: A) => A2 }
406
531
  ): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E, R>
532
+ /**
533
+ * Transforms both input chunks and result of this sink using the provided
534
+ * functions.
535
+ *
536
+ * @since 2.0.0
537
+ * @category mapping
538
+ */
407
539
  <A, In, L, E, R, In0, A2>(
408
540
  self: Sink<A, In, L, E, R>,
409
541
  options: { readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>; readonly onDone: (a: A) => A2 }
@@ -418,12 +550,26 @@ export const dimapChunks: {
418
550
  * @category mapping
419
551
  */
420
552
  export const dimapChunksEffect: {
553
+ /**
554
+ * Effectfully transforms both input chunks and result of this sink using the
555
+ * provided functions. `f` and `g` must preserve chunking-invariance.
556
+ *
557
+ * @since 2.0.0
558
+ * @category mapping
559
+ */
421
560
  <In0, In, E2, R2, A, A2, E3, R3>(
422
561
  options: {
423
562
  readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
424
563
  readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
425
564
  }
426
565
  ): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>
566
+ /**
567
+ * Effectfully transforms both input chunks and result of this sink using the
568
+ * provided functions. `f` and `g` must preserve chunking-invariance.
569
+ *
570
+ * @since 2.0.0
571
+ * @category mapping
572
+ */
427
573
  <A, In, L, E, R, In0, E2, R2, A2, E3, R3>(
428
574
  self: Sink<A, In, L, E, R>,
429
575
  options: {
@@ -494,9 +640,25 @@ export const dropWhileEffect: <In, E, R>(
494
640
  * @category finalization
495
641
  */
496
642
  export const ensuring: {
643
+ /**
644
+ * Returns a new sink with an attached finalizer. The finalizer is guaranteed
645
+ * to be executed so long as the sink begins execution (and regardless of
646
+ * whether or not it completes).
647
+ *
648
+ * @since 2.0.0
649
+ * @category finalization
650
+ */
497
651
  <X, R2>(
498
652
  finalizer: Effect.Effect<X, never, R2>
499
653
  ): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, R2 | R>
654
+ /**
655
+ * Returns a new sink with an attached finalizer. The finalizer is guaranteed
656
+ * to be executed so long as the sink begins execution (and regardless of
657
+ * whether or not it completes).
658
+ *
659
+ * @since 2.0.0
660
+ * @category finalization
661
+ */
500
662
  <A, In, L, E, R, X, R2>(self: Sink<A, In, L, E, R>, finalizer: Effect.Effect<X, never, R2>): Sink<A, In, L, E, R | R2>
501
663
  } = internal.ensuring
502
664
 
@@ -509,9 +671,25 @@ export const ensuring: {
509
671
  * @category finalization
510
672
  */
511
673
  export const ensuringWith: {
674
+ /**
675
+ * Returns a new sink with an attached finalizer. The finalizer is guaranteed
676
+ * to be executed so long as the sink begins execution (and regardless of
677
+ * whether or not it completes).
678
+ *
679
+ * @since 2.0.0
680
+ * @category finalization
681
+ */
512
682
  <A, E, X, R2>(
513
683
  finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<X, never, R2>
514
684
  ): <In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, R2 | R>
685
+ /**
686
+ * Returns a new sink with an attached finalizer. The finalizer is guaranteed
687
+ * to be executed so long as the sink begins execution (and regardless of
688
+ * whether or not it completes).
689
+ *
690
+ * @since 2.0.0
691
+ * @category finalization
692
+ */
515
693
  <A, In, L, E, R, X, R2>(
516
694
  self: Sink<A, In, L, E, R>,
517
695
  finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<X, never, R2>
@@ -603,9 +781,21 @@ export const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Sink<never
603
781
  * @category filtering
604
782
  */
605
783
  export const filterInput: {
784
+ /**
785
+ * Filters the sink's input with the given predicate.
786
+ *
787
+ * @since 2.0.0
788
+ * @category filtering
789
+ */
606
790
  <In, In1 extends In, In2 extends In1>(
607
791
  f: Refinement<In1, In2>
608
792
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In2, L, E, R>
793
+ /**
794
+ * Filters the sink's input with the given predicate.
795
+ *
796
+ * @since 2.0.0
797
+ * @category filtering
798
+ */
609
799
  <In, In1 extends In>(f: Predicate<In1>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In1, L, E, R>
610
800
  } = internal.filterInput
611
801
 
@@ -616,9 +806,21 @@ export const filterInput: {
616
806
  * @category filtering
617
807
  */
618
808
  export const filterInputEffect: {
809
+ /**
810
+ * Effectfully filter the input of this sink using the specified predicate.
811
+ *
812
+ * @since 2.0.0
813
+ * @category filtering
814
+ */
619
815
  <In, In1 extends In, E2, R2>(
620
816
  f: (input: In1) => Effect.Effect<boolean, E2, R2>
621
817
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In1, L, E2 | E, R2 | R>
818
+ /**
819
+ * Effectfully filter the input of this sink using the specified predicate.
820
+ *
821
+ * @since 2.0.0
822
+ * @category filtering
823
+ */
622
824
  <A, In, L, E, R, In1 extends In, E2, R2>(
623
825
  self: Sink<A, In, L, E, R>,
624
826
  f: (input: In1) => Effect.Effect<boolean, E2, R2>
@@ -632,9 +834,21 @@ export const filterInputEffect: {
632
834
  * @category elements
633
835
  */
634
836
  export const findEffect: {
837
+ /**
838
+ * Creates a sink that produces values until one verifies the predicate `f`.
839
+ *
840
+ * @since 2.0.0
841
+ * @category elements
842
+ */
635
843
  <A, E2, R2>(
636
844
  f: (a: A) => Effect.Effect<boolean, E2, R2>
637
845
  ): <In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<Option.Option<A>, In, L, E2 | E, R2 | R>
846
+ /**
847
+ * Creates a sink that produces values until one verifies the predicate `f`.
848
+ *
849
+ * @since 2.0.0
850
+ * @category elements
851
+ */
638
852
  <A, In, L extends In, E, R, E2, R2>(
639
853
  self: Sink<A, In, L, E, R>,
640
854
  f: (a: A) => Effect.Effect<boolean, E2, R2>
@@ -657,12 +871,24 @@ export const fold: <S, In>(s: S, contFn: Predicate<S>, f: (s: S, input: In) => S
657
871
  * @category folding
658
872
  */
659
873
  export const foldSink: {
874
+ /**
875
+ * Folds over the result of the sink
876
+ *
877
+ * @since 2.0.0
878
+ * @category folding
879
+ */
660
880
  <E, A1, In, In1 extends In, L1, E1, R1, A, A2, In2 extends In, L2, E2, R2>(
661
881
  options: {
662
882
  readonly onFailure: (err: E) => Sink<A1, In1, L1, E1, R1>
663
883
  readonly onSuccess: (a: A) => Sink<A2, In2, L2, E2, R2>
664
884
  }
665
885
  ): <L, R>(self: Sink<A, In, L, E, R>) => Sink<A1 | A2, In1 & In2, L1 | L2, E1 | E2, R1 | R2 | R>
886
+ /**
887
+ * Folds over the result of the sink
888
+ *
889
+ * @since 2.0.0
890
+ * @category folding
891
+ */
666
892
  <A, In, L, E, R, A1, In1 extends In, L1, E1, R1, A2, In2 extends In, L2, E2, R2>(
667
893
  self: Sink<A, In, L, E, R>,
668
894
  options: {
@@ -954,9 +1180,29 @@ export const forEachWhile: <In, E, R>(f: (input: In) => Effect.Effect<boolean, E
954
1180
  * @category sequencing
955
1181
  */
956
1182
  export const flatMap: {
1183
+ /**
1184
+ * Runs this sink until it yields a result, then uses that result to create
1185
+ * another sink from the provided function which will continue to run until it
1186
+ * yields a result.
1187
+ *
1188
+ * This function essentially runs sinks in sequence.
1189
+ *
1190
+ * @since 2.0.0
1191
+ * @category sequencing
1192
+ */
957
1193
  <A, A1, In, In1 extends In, L1, E1, R1>(
958
1194
  f: (a: A) => Sink<A1, In1, L1, E1, R1>
959
1195
  ): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A1, In & In1, L1 | L, E1 | E, R1 | R>
1196
+ /**
1197
+ * Runs this sink until it yields a result, then uses that result to create
1198
+ * another sink from the provided function which will continue to run until it
1199
+ * yields a result.
1200
+ *
1201
+ * This function essentially runs sinks in sequence.
1202
+ *
1203
+ * @since 2.0.0
1204
+ * @category sequencing
1205
+ */
960
1206
  <A, In, L, E, R, A1, In1 extends In, L1, E1, R1>(
961
1207
  self: Sink<A, In, L, E, R>,
962
1208
  f: (a: A) => Sink<A1, In1, L1, E1, R1>
@@ -1075,7 +1321,19 @@ export const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<void, unknown, L> = in
1075
1321
  * @category mapping
1076
1322
  */
1077
1323
  export const map: {
1324
+ /**
1325
+ * Transforms this sink's result.
1326
+ *
1327
+ * @since 2.0.0
1328
+ * @category mapping
1329
+ */
1078
1330
  <A, A2>(f: (a: A) => A2): <In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E, R>
1331
+ /**
1332
+ * Transforms this sink's result.
1333
+ *
1334
+ * @since 2.0.0
1335
+ * @category mapping
1336
+ */
1079
1337
  <A, In, L, E, R, A2>(self: Sink<A, In, L, E, R>, f: (a: A) => A2): Sink<A2, In, L, E, R>
1080
1338
  } = internal.map
1081
1339
 
@@ -1086,9 +1344,21 @@ export const map: {
1086
1344
  * @category mapping
1087
1345
  */
1088
1346
  export const mapEffect: {
1347
+ /**
1348
+ * Effectfully transforms this sink's result.
1349
+ *
1350
+ * @since 2.0.0
1351
+ * @category mapping
1352
+ */
1089
1353
  <A, A2, E2, R2>(
1090
1354
  f: (a: A) => Effect.Effect<A2, E2, R2>
1091
1355
  ): <In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E2 | E, R2 | R>
1356
+ /**
1357
+ * Effectfully transforms this sink's result.
1358
+ *
1359
+ * @since 2.0.0
1360
+ * @category mapping
1361
+ */
1092
1362
  <A, In, L, E, R, A2, E2, R2>(
1093
1363
  self: Sink<A, In, L, E, R>,
1094
1364
  f: (a: A) => Effect.Effect<A2, E2, R2>
@@ -1102,7 +1372,19 @@ export const mapEffect: {
1102
1372
  * @category mapping
1103
1373
  */
1104
1374
  export const mapError: {
1375
+ /**
1376
+ * Transforms the errors emitted by this sink using `f`.
1377
+ *
1378
+ * @since 2.0.0
1379
+ * @category mapping
1380
+ */
1105
1381
  <E, E2>(f: (error: E) => E2): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>
1382
+ /**
1383
+ * Transforms the errors emitted by this sink using `f`.
1384
+ *
1385
+ * @since 2.0.0
1386
+ * @category mapping
1387
+ */
1106
1388
  <A, In, L, E, R, E2>(self: Sink<A, In, L, E, R>, f: (error: E) => E2): Sink<A, In, L, E2, R>
1107
1389
  } = internal.mapError
1108
1390
 
@@ -1113,7 +1395,19 @@ export const mapError: {
1113
1395
  * @category mapping
1114
1396
  */
1115
1397
  export const mapLeftover: {
1398
+ /**
1399
+ * Transforms the leftovers emitted by this sink using `f`.
1400
+ *
1401
+ * @since 2.0.0
1402
+ * @category mapping
1403
+ */
1116
1404
  <L, L2>(f: (leftover: L) => L2): <A, In, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L2, E, R>
1405
+ /**
1406
+ * Transforms the leftovers emitted by this sink using `f`.
1407
+ *
1408
+ * @since 2.0.0
1409
+ * @category mapping
1410
+ */
1117
1411
  <A, In, L, E, R, L2>(self: Sink<A, In, L, E, R>, f: (leftover: L) => L2): Sink<A, In, L2, E, R>
1118
1412
  } = internal.mapLeftover
1119
1413
 
@@ -1140,9 +1434,21 @@ export const never: Sink<never, unknown> = internal.never
1140
1434
  * @category error handling
1141
1435
  */
1142
1436
  export const orElse: {
1437
+ /**
1438
+ * Switch to another sink in case of failure
1439
+ *
1440
+ * @since 2.0.0
1441
+ * @category error handling
1442
+ */
1143
1443
  <A2, In2, L2, E2, R2>(
1144
1444
  that: LazyArg<Sink<A2, In2, L2, E2, R2>>
1145
1445
  ): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2 | A, In & In2, L2 | L, E2 | E, R2 | R>
1446
+ /**
1447
+ * Switch to another sink in case of failure
1448
+ *
1449
+ * @since 2.0.0
1450
+ * @category error handling
1451
+ */
1146
1452
  <A, In, L, E, R, A2, In2, L2, E2, R2>(
1147
1453
  self: Sink<A, In, L, E, R>,
1148
1454
  that: LazyArg<Sink<A2, In2, L2, E2, R2>>
@@ -1157,7 +1463,21 @@ export const orElse: {
1157
1463
  * @category context
1158
1464
  */
1159
1465
  export const provideContext: {
1466
+ /**
1467
+ * Provides the sink with its required context, which eliminates its
1468
+ * dependency on `R`.
1469
+ *
1470
+ * @since 2.0.0
1471
+ * @category context
1472
+ */
1160
1473
  <R>(context: Context.Context<R>): <A, In, L, E>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, never>
1474
+ /**
1475
+ * Provides the sink with its required context, which eliminates its
1476
+ * dependency on `R`.
1477
+ *
1478
+ * @since 2.0.0
1479
+ * @category context
1480
+ */
1161
1481
  <A, In, L, E, R>(self: Sink<A, In, L, E, R>, context: Context.Context<R>): Sink<A, In, L, E, never>
1162
1482
  } = internal.provideContext
1163
1483
 
@@ -1169,9 +1489,23 @@ export const provideContext: {
1169
1489
  * @category utils
1170
1490
  */
1171
1491
  export const race: {
1492
+ /**
1493
+ * Runs both sinks in parallel on the input, , returning the result or the
1494
+ * error from the one that finishes first.
1495
+ *
1496
+ * @since 2.0.0
1497
+ * @category utils
1498
+ */
1172
1499
  <R1, E1, In1, L1, A1>(
1173
1500
  that: Sink<A1, In1, L1, E1, R1>
1174
1501
  ): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A1 | A, In & In1, L1 | L, E1 | E, R1 | R>
1502
+ /**
1503
+ * Runs both sinks in parallel on the input, , returning the result or the
1504
+ * error from the one that finishes first.
1505
+ *
1506
+ * @since 2.0.0
1507
+ * @category utils
1508
+ */
1175
1509
  <A, In, L, E, R, A1, In1, L1, E1, R1>(
1176
1510
  self: Sink<A, In, L, E, R>,
1177
1511
  that: Sink<A1, In1, L1, E1, R1>
@@ -1186,10 +1520,24 @@ export const race: {
1186
1520
  * @category utils
1187
1521
  */
1188
1522
  export const raceBoth: {
1523
+ /**
1524
+ * Runs both sinks in parallel on the input, returning the result or the error
1525
+ * from the one that finishes first.
1526
+ *
1527
+ * @since 2.0.0
1528
+ * @category utils
1529
+ */
1189
1530
  <A1, In1, L1, E1, R1>(
1190
1531
  that: Sink<A1, In1, L1, E1, R1>,
1191
1532
  options?: { readonly capacity?: number | undefined } | undefined
1192
1533
  ): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<Either.Either<A1, A>, In & In1, L1 | L, E1 | E, R1 | R>
1534
+ /**
1535
+ * Runs both sinks in parallel on the input, returning the result or the error
1536
+ * from the one that finishes first.
1537
+ *
1538
+ * @since 2.0.0
1539
+ * @category utils
1540
+ */
1193
1541
  <A, In, L, E, R, A1, In1, L1, E1, R1>(
1194
1542
  self: Sink<A, In, L, E, R>,
1195
1543
  that: Sink<A1, In1, L1, E1, R1>,
@@ -1205,6 +1553,13 @@ export const raceBoth: {
1205
1553
  * @category utils
1206
1554
  */
1207
1555
  export const raceWith: {
1556
+ /**
1557
+ * Runs both sinks in parallel on the input, using the specified merge
1558
+ * function as soon as one result or the other has been computed.
1559
+ *
1560
+ * @since 2.0.0
1561
+ * @category utils
1562
+ */
1208
1563
  <A2, In2, L2, E2, R2, A, E, A3, A4>(
1209
1564
  options: {
1210
1565
  readonly other: Sink<A2, In2, L2, E2, R2>
@@ -1213,6 +1568,13 @@ export const raceWith: {
1213
1568
  readonly capacity?: number | undefined
1214
1569
  }
1215
1570
  ): <In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A3 | A4, In & In2, L2 | L, E2 | E, R2 | R>
1571
+ /**
1572
+ * Runs both sinks in parallel on the input, using the specified merge
1573
+ * function as soon as one result or the other has been computed.
1574
+ *
1575
+ * @since 2.0.0
1576
+ * @category utils
1577
+ */
1216
1578
  <A, In, L, E, R, A2, In2, L2, E2, R2, A3, A4>(
1217
1579
  self: Sink<A, In, L, E, R>,
1218
1580
  options: {
@@ -1229,7 +1591,15 @@ export const raceWith: {
1229
1591
  * @category error handling
1230
1592
  */
1231
1593
  export const refineOrDie: {
1594
+ /**
1595
+ * @since 2.0.0
1596
+ * @category error handling
1597
+ */
1232
1598
  <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>
1599
+ /**
1600
+ * @since 2.0.0
1601
+ * @category error handling
1602
+ */
1233
1603
  <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>
1234
1604
  } = internal.refineOrDie
1235
1605
 
@@ -1238,10 +1608,18 @@ export const refineOrDie: {
1238
1608
  * @category error handling
1239
1609
  */
1240
1610
  export const refineOrDieWith: {
1611
+ /**
1612
+ * @since 2.0.0
1613
+ * @category error handling
1614
+ */
1241
1615
  <E, E2>(
1242
1616
  pf: (error: E) => Option.Option<E2>,
1243
1617
  f: (error: E) => unknown
1244
1618
  ): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>
1619
+ /**
1620
+ * @since 2.0.0
1621
+ * @category error handling
1622
+ */
1245
1623
  <A, In, L, E, R, E2>(
1246
1624
  self: Sink<A, In, L, E, R>,
1247
1625
  pf: (error: E) => Option.Option<E2>,
@@ -1266,7 +1644,23 @@ export const some: <In>(predicate: Predicate<In>) => Sink<boolean, In, In> = int
1266
1644
  * @category utils
1267
1645
  */
1268
1646
  export const splitWhere: {
1647
+ /**
1648
+ * Splits the sink on the specified predicate, returning a new sink that
1649
+ * consumes elements until an element after the first satisfies the specified
1650
+ * predicate.
1651
+ *
1652
+ * @since 2.0.0
1653
+ * @category utils
1654
+ */
1269
1655
  <In>(f: Predicate<In>): <A, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, In, E, R>
1656
+ /**
1657
+ * Splits the sink on the specified predicate, returning a new sink that
1658
+ * consumes elements until an element after the first satisfies the specified
1659
+ * predicate.
1660
+ *
1661
+ * @since 2.0.0
1662
+ * @category utils
1663
+ */
1270
1664
  <A, In, L extends In, E, R>(self: Sink<A, In, L, E, R>, f: Predicate<In>): Sink<A, In, In, E, R>
1271
1665
  } = internal.splitWhere
1272
1666
 
@@ -1294,10 +1688,24 @@ export const sum: Sink<number, number> = internal.sum
1294
1688
  * @category utils
1295
1689
  */
1296
1690
  export const summarized: {
1691
+ /**
1692
+ * Summarize a sink by running an effect when the sink starts and again when
1693
+ * it completes.
1694
+ *
1695
+ * @since 2.0.0
1696
+ * @category utils
1697
+ */
1297
1698
  <A2, E2, R2, A3>(
1298
1699
  summary: Effect.Effect<A2, E2, R2>,
1299
1700
  f: (start: A2, end: A2) => A3
1300
1701
  ): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, A3], In, L, E2 | E, R2 | R>
1702
+ /**
1703
+ * Summarize a sink by running an effect when the sink starts and again when
1704
+ * it completes.
1705
+ *
1706
+ * @since 2.0.0
1707
+ * @category utils
1708
+ */
1301
1709
  <A, In, L, E, R, A2, E2, R2, A3>(
1302
1710
  self: Sink<A, In, L, E, R>,
1303
1711
  summary: Effect.Effect<A2, E2, R2>,
@@ -1376,10 +1784,26 @@ export const withDuration: <A, In, L, E, R>(
1376
1784
  * @category zipping
1377
1785
  */
1378
1786
  export const zip: {
1787
+ /**
1788
+ * Feeds inputs to this sink until it yields a result, then switches over to
1789
+ * the provided sink until it yields a result, finally combining the two
1790
+ * results into a tuple.
1791
+ *
1792
+ * @since 2.0.0
1793
+ * @category zipping
1794
+ */
1379
1795
  <A2, In, In2 extends In, L2, E2, R2>(
1380
1796
  that: Sink<A2, In2, L2, E2, R2>,
1381
1797
  options?: { readonly concurrent?: boolean | undefined } | undefined
1382
1798
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, A2], In & In2, L2 | L, E2 | E, R2 | R>
1799
+ /**
1800
+ * Feeds inputs to this sink until it yields a result, then switches over to
1801
+ * the provided sink until it yields a result, finally combining the two
1802
+ * results into a tuple.
1803
+ *
1804
+ * @since 2.0.0
1805
+ * @category zipping
1806
+ */
1383
1807
  <A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(
1384
1808
  self: Sink<A, In, L, E, R>,
1385
1809
  that: Sink<A2, In2, L2, E2, R2>,
@@ -1394,10 +1818,22 @@ export const zip: {
1394
1818
  * @category zipping
1395
1819
  */
1396
1820
  export const zipLeft: {
1821
+ /**
1822
+ * Like `Sink.zip` but keeps only the result from this sink.
1823
+ *
1824
+ * @since 2.0.0
1825
+ * @category zipping
1826
+ */
1397
1827
  <A2, In, In2 extends In, L2, E2, R2>(
1398
1828
  that: Sink<A2, In2, L2, E2, R2>,
1399
1829
  options?: { readonly concurrent?: boolean | undefined } | undefined
1400
1830
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In & In2, L2 | L, E2 | E, R2 | R>
1831
+ /**
1832
+ * Like `Sink.zip` but keeps only the result from this sink.
1833
+ *
1834
+ * @since 2.0.0
1835
+ * @category zipping
1836
+ */
1401
1837
  <A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(
1402
1838
  self: Sink<A, In, L, E, R>,
1403
1839
  that: Sink<A2, In2, L2, E2, R2>,
@@ -1412,10 +1848,22 @@ export const zipLeft: {
1412
1848
  * @category zipping
1413
1849
  */
1414
1850
  export const zipRight: {
1851
+ /**
1852
+ * Like `Sink.zip` but keeps only the result from `that` sink.
1853
+ *
1854
+ * @since 2.0.0
1855
+ * @category zipping
1856
+ */
1415
1857
  <A2, In, In2 extends In, L2, E2, R2>(
1416
1858
  that: Sink<A2, In2, L2, E2, R2>,
1417
1859
  options?: { readonly concurrent?: boolean | undefined } | undefined
1418
1860
  ): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In & In2, L2 | L, E2 | E, R2 | R>
1861
+ /**
1862
+ * Like `Sink.zip` but keeps only the result from `that` sink.
1863
+ *
1864
+ * @since 2.0.0
1865
+ * @category zipping
1866
+ */
1419
1867
  <A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(
1420
1868
  self: Sink<A, In, L, E, R>,
1421
1869
  that: Sink<A2, In2, L2, E2, R2>,
@@ -1432,11 +1880,27 @@ export const zipRight: {
1432
1880
  * @category zipping
1433
1881
  */
1434
1882
  export const zipWith: {
1883
+ /**
1884
+ * Feeds inputs to this sink until it yields a result, then switches over to
1885
+ * the provided sink until it yields a result, finally combining the two
1886
+ * results with `f`.
1887
+ *
1888
+ * @since 2.0.0
1889
+ * @category zipping
1890
+ */
1435
1891
  <A2, In, In2 extends In, L2, E2, R2, A, A3>(
1436
1892
  that: Sink<A2, In2, L2, E2, R2>,
1437
1893
  f: (a: A, a2: A2) => A3,
1438
1894
  options?: { readonly concurrent?: boolean | undefined } | undefined
1439
1895
  ): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A3, In & In2, L2 | L, E2 | E, R2 | R>
1896
+ /**
1897
+ * Feeds inputs to this sink until it yields a result, then switches over to
1898
+ * the provided sink until it yields a result, finally combining the two
1899
+ * results with `f`.
1900
+ *
1901
+ * @since 2.0.0
1902
+ * @category zipping
1903
+ */
1440
1904
  <A, In, L, E, R, A2, In2 extends In, L2, E2, R2, A3>(
1441
1905
  self: Sink<A, In, L, E, R>,
1442
1906
  that: Sink<A2, In2, L2, E2, R2>,