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/Iterable.ts CHANGED
@@ -86,7 +86,33 @@ export const range = (start: number, end?: number): Iterable<number> => {
86
86
  * @since 2.0.0
87
87
  */
88
88
  export const replicate: {
89
+ /**
90
+ * Return a `Iterable` containing a value repeated the specified number of times.
91
+ *
92
+ * **Note**. `n` is normalized to an integer >= 1.
93
+ *
94
+ * @example
95
+ * import { replicate } from "effect/Iterable"
96
+ *
97
+ * assert.deepStrictEqual(Array.from(replicate("a", 3)), ["a", "a", "a"])
98
+ *
99
+ * @category constructors
100
+ * @since 2.0.0
101
+ */
89
102
  (n: number): <A>(a: A) => Iterable<A>
103
+ /**
104
+ * Return a `Iterable` containing a value repeated the specified number of times.
105
+ *
106
+ * **Note**. `n` is normalized to an integer >= 1.
107
+ *
108
+ * @example
109
+ * import { replicate } from "effect/Iterable"
110
+ *
111
+ * assert.deepStrictEqual(Array.from(replicate("a", 3)), ["a", "a", "a"])
112
+ *
113
+ * @category constructors
114
+ * @since 2.0.0
115
+ */
90
116
  <A>(a: A, n: number): Iterable<A>
91
117
  } = dual(2, <A>(a: A, n: number): Iterable<A> => makeBy(() => a, { length: n }))
92
118
 
@@ -121,7 +147,19 @@ export const fromRecord = <K extends string, A>(self: Readonly<Record<K, A>>): I
121
147
  * @since 2.0.0
122
148
  */
123
149
  export const prepend: {
150
+ /**
151
+ * Prepend an element to the front of an `Iterable`, creating a new `Iterable`.
152
+ *
153
+ * @category concatenating
154
+ * @since 2.0.0
155
+ */
124
156
  <B>(head: B): <A>(self: Iterable<A>) => Iterable<A | B>
157
+ /**
158
+ * Prepend an element to the front of an `Iterable`, creating a new `Iterable`.
159
+ *
160
+ * @category concatenating
161
+ * @since 2.0.0
162
+ */
125
163
  <A, B>(self: Iterable<A>, head: B): Iterable<A | B>
126
164
  } = dual(2, <A, B>(self: Iterable<A>, head: B): Iterable<A | B> => prependAll(self, [head]))
127
165
 
@@ -140,7 +178,35 @@ export const prepend: {
140
178
  * @since 2.0.0
141
179
  */
142
180
  export const prependAll: {
181
+ /**
182
+ * Prepends the specified prefix iterable to the beginning of the specified iterable.
183
+ *
184
+ * @example
185
+ * import { Iterable } from "effect"
186
+ *
187
+ * assert.deepStrictEqual(
188
+ * Array.from(Iterable.prependAll([1, 2], ["a", "b"])),
189
+ * ["a", "b", 1, 2]
190
+ * )
191
+ *
192
+ * @category concatenating
193
+ * @since 2.0.0
194
+ */
143
195
  <B>(that: Iterable<B>): <A>(self: Iterable<A>) => Iterable<A | B>
196
+ /**
197
+ * Prepends the specified prefix iterable to the beginning of the specified iterable.
198
+ *
199
+ * @example
200
+ * import { Iterable } from "effect"
201
+ *
202
+ * assert.deepStrictEqual(
203
+ * Array.from(Iterable.prependAll([1, 2], ["a", "b"])),
204
+ * ["a", "b", 1, 2]
205
+ * )
206
+ *
207
+ * @category concatenating
208
+ * @since 2.0.0
209
+ */
144
210
  <A, B>(self: Iterable<A>, that: Iterable<B>): Iterable<A | B>
145
211
  } = dual(
146
212
  2,
@@ -154,7 +220,19 @@ export const prependAll: {
154
220
  * @since 2.0.0
155
221
  */
156
222
  export const append: {
223
+ /**
224
+ * Append an element to the end of an `Iterable`, creating a new `Iterable`.
225
+ *
226
+ * @category concatenating
227
+ * @since 2.0.0
228
+ */
157
229
  <B>(last: B): <A>(self: Iterable<A>) => Iterable<A | B>
230
+ /**
231
+ * Append an element to the end of an `Iterable`, creating a new `Iterable`.
232
+ *
233
+ * @category concatenating
234
+ * @since 2.0.0
235
+ */
158
236
  <A, B>(self: Iterable<A>, last: B): Iterable<A | B>
159
237
  } = dual(2, <A, B>(self: Iterable<A>, last: B): Iterable<A | B> => appendAll(self, [last]))
160
238
 
@@ -165,7 +243,19 @@ export const append: {
165
243
  * @since 2.0.0
166
244
  */
167
245
  export const appendAll: {
246
+ /**
247
+ * Concatenates two iterables, combining their elements.
248
+ *
249
+ * @category concatenating
250
+ * @since 2.0.0
251
+ */
168
252
  <B>(that: Iterable<B>): <A>(self: Iterable<A>) => Iterable<A | B>
253
+ /**
254
+ * Concatenates two iterables, combining their elements.
255
+ *
256
+ * @category concatenating
257
+ * @since 2.0.0
258
+ */
169
259
  <A, B>(self: Iterable<A>, that: Iterable<B>): Iterable<A | B>
170
260
  } = dual(
171
261
  2,
@@ -199,7 +289,19 @@ export const appendAll: {
199
289
  * @since 2.0.0
200
290
  */
201
291
  export const scan: {
292
+ /**
293
+ * Reduce an `Iterable` from the left, keeping all intermediate results instead of only the final result.
294
+ *
295
+ * @category folding
296
+ * @since 2.0.0
297
+ */
202
298
  <B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<A>) => Iterable<B>
299
+ /**
300
+ * Reduce an `Iterable` from the left, keeping all intermediate results instead of only the final result.
301
+ *
302
+ * @category folding
303
+ * @since 2.0.0
304
+ */
203
305
  <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A) => B): Iterable<B>
204
306
  } = dual(3, <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A) => B): Iterable<B> => ({
205
307
  [Symbol.iterator]() {
@@ -287,7 +389,23 @@ export const unsafeHead = <A>(self: Iterable<A>): A => {
287
389
  * @since 2.0.0
288
390
  */
289
391
  export const take: {
392
+ /**
393
+ * Keep only a max number of elements from the start of an `Iterable`, creating a new `Iterable`.
394
+ *
395
+ * **Note**. `n` is normalized to a non negative integer.
396
+ *
397
+ * @category getters
398
+ * @since 2.0.0
399
+ */
290
400
  (n: number): <A>(self: Iterable<A>) => Iterable<A>
401
+ /**
402
+ * Keep only a max number of elements from the start of an `Iterable`, creating a new `Iterable`.
403
+ *
404
+ * **Note**. `n` is normalized to a non negative integer.
405
+ *
406
+ * @category getters
407
+ * @since 2.0.0
408
+ */
291
409
  <A>(self: Iterable<A>, n: number): Iterable<A>
292
410
  } = dual(2, <A>(self: Iterable<A>, n: number): Iterable<A> => ({
293
411
  [Symbol.iterator]() {
@@ -312,9 +430,33 @@ export const take: {
312
430
  * @since 2.0.0
313
431
  */
314
432
  export const takeWhile: {
433
+ /**
434
+ * Calculate the longest initial Iterable for which all element satisfy the specified predicate, creating a new `Iterable`.
435
+ *
436
+ * @category getters
437
+ * @since 2.0.0
438
+ */
315
439
  <A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Iterable<B>
440
+ /**
441
+ * Calculate the longest initial Iterable for which all element satisfy the specified predicate, creating a new `Iterable`.
442
+ *
443
+ * @category getters
444
+ * @since 2.0.0
445
+ */
316
446
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Iterable<A>
447
+ /**
448
+ * Calculate the longest initial Iterable for which all element satisfy the specified predicate, creating a new `Iterable`.
449
+ *
450
+ * @category getters
451
+ * @since 2.0.0
452
+ */
317
453
  <A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Iterable<B>
454
+ /**
455
+ * Calculate the longest initial Iterable for which all element satisfy the specified predicate, creating a new `Iterable`.
456
+ *
457
+ * @category getters
458
+ * @since 2.0.0
459
+ */
318
460
  <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Iterable<A>
319
461
  } = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Iterable<A> => ({
320
462
  [Symbol.iterator]() {
@@ -341,7 +483,23 @@ export const takeWhile: {
341
483
  * @since 2.0.0
342
484
  */
343
485
  export const drop: {
486
+ /**
487
+ * Drop a max number of elements from the start of an `Iterable`
488
+ *
489
+ * **Note**. `n` is normalized to a non negative integer.
490
+ *
491
+ * @category getters
492
+ * @since 2.0.0
493
+ */
344
494
  (n: number): <A>(self: Iterable<A>) => Iterable<A>
495
+ /**
496
+ * Drop a max number of elements from the start of an `Iterable`
497
+ *
498
+ * **Note**. `n` is normalized to a non negative integer.
499
+ *
500
+ * @category getters
501
+ * @since 2.0.0
502
+ */
345
503
  <A>(self: Iterable<A>, n: number): Iterable<A>
346
504
  } = dual(2, <A>(self: Iterable<A>, n: number): Iterable<A> => ({
347
505
  [Symbol.iterator]() {
@@ -370,11 +528,53 @@ export const drop: {
370
528
  * @since 2.0.0
371
529
  */
372
530
  export const findFirst: {
531
+ /**
532
+ * Returns the first element that satisfies the specified
533
+ * predicate, or `None` if no such element exists.
534
+ *
535
+ * @category elements
536
+ * @since 2.0.0
537
+ */
373
538
  <A, B>(f: (a: NoInfer<A>, i: number) => Option<B>): (self: Iterable<A>) => Option<B>
539
+ /**
540
+ * Returns the first element that satisfies the specified
541
+ * predicate, or `None` if no such element exists.
542
+ *
543
+ * @category elements
544
+ * @since 2.0.0
545
+ */
374
546
  <A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Option<B>
547
+ /**
548
+ * Returns the first element that satisfies the specified
549
+ * predicate, or `None` if no such element exists.
550
+ *
551
+ * @category elements
552
+ * @since 2.0.0
553
+ */
375
554
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Option<A>
555
+ /**
556
+ * Returns the first element that satisfies the specified
557
+ * predicate, or `None` if no such element exists.
558
+ *
559
+ * @category elements
560
+ * @since 2.0.0
561
+ */
376
562
  <A, B>(self: Iterable<A>, f: (a: A, i: number) => Option<B>): Option<B>
563
+ /**
564
+ * Returns the first element that satisfies the specified
565
+ * predicate, or `None` if no such element exists.
566
+ *
567
+ * @category elements
568
+ * @since 2.0.0
569
+ */
377
570
  <A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Option<B>
571
+ /**
572
+ * Returns the first element that satisfies the specified
573
+ * predicate, or `None` if no such element exists.
574
+ *
575
+ * @category elements
576
+ * @since 2.0.0
577
+ */
378
578
  <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option<A>
379
579
  } = dual(
380
580
  2,
@@ -404,11 +604,47 @@ export const findFirst: {
404
604
  * @since 2.0.0
405
605
  */
406
606
  export const findLast: {
607
+ /**
608
+ * Find the last element for which a predicate holds.
609
+ *
610
+ * @category elements
611
+ * @since 2.0.0
612
+ */
407
613
  <A, B>(f: (a: NoInfer<A>, i: number) => Option<B>): (self: Iterable<A>) => Option<B>
614
+ /**
615
+ * Find the last element for which a predicate holds.
616
+ *
617
+ * @category elements
618
+ * @since 2.0.0
619
+ */
408
620
  <A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Option<B>
621
+ /**
622
+ * Find the last element for which a predicate holds.
623
+ *
624
+ * @category elements
625
+ * @since 2.0.0
626
+ */
409
627
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Option<A>
628
+ /**
629
+ * Find the last element for which a predicate holds.
630
+ *
631
+ * @category elements
632
+ * @since 2.0.0
633
+ */
410
634
  <A, B>(self: Iterable<A>, f: (a: A, i: number) => Option<B>): Option<B>
635
+ /**
636
+ * Find the last element for which a predicate holds.
637
+ *
638
+ * @category elements
639
+ * @since 2.0.0
640
+ */
411
641
  <A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Option<B>
642
+ /**
643
+ * Find the last element for which a predicate holds.
644
+ *
645
+ * @category elements
646
+ * @since 2.0.0
647
+ */
412
648
  <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option<A>
413
649
  } = dual(
414
650
  2,
@@ -439,7 +675,19 @@ export const findLast: {
439
675
  * @since 2.0.0
440
676
  */
441
677
  export const zip: {
678
+ /**
679
+ * Takes two `Iterable`s and returns an `Iterable` of corresponding pairs.
680
+ *
681
+ * @category zipping
682
+ * @since 2.0.0
683
+ */
442
684
  <B>(that: Iterable<B>): <A>(self: Iterable<A>) => Iterable<[A, B]>
685
+ /**
686
+ * Takes two `Iterable`s and returns an `Iterable` of corresponding pairs.
687
+ *
688
+ * @category zipping
689
+ * @since 2.0.0
690
+ */
443
691
  <A, B>(self: Iterable<A>, that: Iterable<B>): Iterable<[A, B]>
444
692
  } = dual(
445
693
  2,
@@ -454,7 +702,21 @@ export const zip: {
454
702
  * @since 2.0.0
455
703
  */
456
704
  export const zipWith: {
705
+ /**
706
+ * Apply a function to pairs of elements at the same index in two `Iterable`s, collecting the results. If one
707
+ * input `Iterable` is short, excess elements of the longer `Iterable` are discarded.
708
+ *
709
+ * @category zipping
710
+ * @since 2.0.0
711
+ */
457
712
  <B, A, C>(that: Iterable<B>, f: (a: A, b: B) => C): (self: Iterable<A>) => Iterable<C>
713
+ /**
714
+ * Apply a function to pairs of elements at the same index in two `Iterable`s, collecting the results. If one
715
+ * input `Iterable` is short, excess elements of the longer `Iterable` are discarded.
716
+ *
717
+ * @category zipping
718
+ * @since 2.0.0
719
+ */
458
720
  <A, B, C>(self: Iterable<A>, that: Iterable<B>, f: (a: A, b: B) => C): Iterable<C>
459
721
  } = dual(3, <B, A, C>(self: Iterable<A>, that: Iterable<B>, f: (a: A, b: B) => C): Iterable<C> => ({
460
722
  [Symbol.iterator]() {
@@ -480,7 +742,19 @@ export const zipWith: {
480
742
  * @since 2.0.0
481
743
  */
482
744
  export const intersperse: {
745
+ /**
746
+ * Places an element in between members of an `Iterable`.
747
+ * If the input is a non-empty array, the result is also a non-empty array.
748
+ *
749
+ * @since 2.0.0
750
+ */
483
751
  <B>(middle: B): <A>(self: Iterable<A>) => Iterable<A | B>
752
+ /**
753
+ * Places an element in between members of an `Iterable`.
754
+ * If the input is a non-empty array, the result is also a non-empty array.
755
+ *
756
+ * @since 2.0.0
757
+ */
484
758
  <A, B>(self: Iterable<A>, middle: B): Iterable<A | B>
485
759
  } = dual(2, <A, B>(self: Iterable<A>, middle: B): Iterable<A | B> => ({
486
760
  [Symbol.iterator]() {
@@ -532,7 +806,19 @@ const _equivalence = Equal.equivalence()
532
806
  * @since 2.0.0
533
807
  */
534
808
  export const contains: {
809
+ /**
810
+ * Returns a function that checks if a `Iterable` contains a given value using the default `Equivalence`.
811
+ *
812
+ * @category elements
813
+ * @since 2.0.0
814
+ */
535
815
  <A>(a: A): (self: Iterable<A>) => boolean
816
+ /**
817
+ * Returns a function that checks if a `Iterable` contains a given value using the default `Equivalence`.
818
+ *
819
+ * @category elements
820
+ * @since 2.0.0
821
+ */
536
822
  <A>(self: Iterable<A>, a: A): boolean
537
823
  } = containsWith(_equivalence)
538
824
 
@@ -544,7 +830,21 @@ export const contains: {
544
830
  * @since 2.0.0
545
831
  */
546
832
  export const chunksOf: {
833
+ /**
834
+ * Splits an `Iterable` into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
835
+ * the `Iterable`.
836
+ *
837
+ * @category splitting
838
+ * @since 2.0.0
839
+ */
547
840
  (n: number): <A>(self: Iterable<A>) => Iterable<Array<A>>
841
+ /**
842
+ * Splits an `Iterable` into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
843
+ * the `Iterable`.
844
+ *
845
+ * @category splitting
846
+ * @since 2.0.0
847
+ */
548
848
  <A>(self: Iterable<A>, n: number): Iterable<Array<A>>
549
849
  } = dual(2, <A>(self: Iterable<A>, n: number): Iterable<Array<A>> => {
550
850
  const safeN = Math.max(1, Math.floor(n))
@@ -581,7 +881,19 @@ export const chunksOf: {
581
881
  * @since 2.0.0
582
882
  */
583
883
  export const groupWith: {
884
+ /**
885
+ * Group equal, consecutive elements of an `Iterable` into `NonEmptyArray`s using the provided `isEquivalent` function.
886
+ *
887
+ * @category grouping
888
+ * @since 2.0.0
889
+ */
584
890
  <A>(isEquivalent: (self: A, that: A) => boolean): (self: Iterable<A>) => Iterable<NonEmptyArray<A>>
891
+ /**
892
+ * Group equal, consecutive elements of an `Iterable` into `NonEmptyArray`s using the provided `isEquivalent` function.
893
+ *
894
+ * @category grouping
895
+ * @since 2.0.0
896
+ */
585
897
  <A>(self: Iterable<A>, isEquivalent: (self: A, that: A) => boolean): Iterable<NonEmptyArray<A>>
586
898
  } = dual(
587
899
  2,
@@ -638,9 +950,23 @@ export const group: <A>(self: Iterable<A>) => Iterable<NonEmptyArray<A>> = group
638
950
  * @since 2.0.0
639
951
  */
640
952
  export const groupBy: {
953
+ /**
954
+ * Splits an `Iterable` into sub-non-empty-arrays stored in an object, based on the result of calling a `string`-returning
955
+ * function on each element, and grouping the results according to values returned
956
+ *
957
+ * @category grouping
958
+ * @since 2.0.0
959
+ */
641
960
  <A, K extends string | symbol>(
642
961
  f: (a: A) => K
643
962
  ): (self: Iterable<A>) => Record<Record.ReadonlyRecord.NonLiteralKey<K>, NonEmptyArray<A>>
963
+ /**
964
+ * Splits an `Iterable` into sub-non-empty-arrays stored in an object, based on the result of calling a `string`-returning
965
+ * function on each element, and grouping the results according to values returned
966
+ *
967
+ * @category grouping
968
+ * @since 2.0.0
969
+ */
644
970
  <A, K extends string | symbol>(
645
971
  self: Iterable<A>,
646
972
  f: (a: A) => K
@@ -691,9 +1017,15 @@ export const of = <A>(a: A): Iterable<A> => [a]
691
1017
  * @since 2.0.0
692
1018
  */
693
1019
  export const map: {
694
- <A, B>(
695
- f: (a: NoInfer<A>, i: number) => B
696
- ): (self: Iterable<A>) => Iterable<B>
1020
+ /**
1021
+ * @category mapping
1022
+ * @since 2.0.0
1023
+ */
1024
+ <A, B>(f: (a: NoInfer<A>, i: number) => B): (self: Iterable<A>) => Iterable<B>
1025
+ /**
1026
+ * @category mapping
1027
+ * @since 2.0.0
1028
+ */
697
1029
  <A, B>(self: Iterable<A>, f: (a: NoInfer<A>, i: number) => B): Iterable<B>
698
1030
  } = dual(2, <A, B>(self: Iterable<A>, f: (a: A, i: number) => B): Iterable<B> => ({
699
1031
  [Symbol.iterator]() {
@@ -718,9 +1050,19 @@ export const map: {
718
1050
  * @since 2.0.0
719
1051
  */
720
1052
  export const flatMap: {
721
- <A, B>(
722
- f: (a: NoInfer<A>, i: number) => Iterable<B>
723
- ): (self: Iterable<A>) => Iterable<B>
1053
+ /**
1054
+ * Applies a function to each element in an Iterable and returns a new Iterable containing the concatenated mapped elements.
1055
+ *
1056
+ * @category sequencing
1057
+ * @since 2.0.0
1058
+ */
1059
+ <A, B>(f: (a: NoInfer<A>, i: number) => Iterable<B>): (self: Iterable<A>) => Iterable<B>
1060
+ /**
1061
+ * Applies a function to each element in an Iterable and returns a new Iterable containing the concatenated mapped elements.
1062
+ *
1063
+ * @category sequencing
1064
+ * @since 2.0.0
1065
+ */
724
1066
  <A, B>(self: Iterable<A>, f: (a: NoInfer<A>, i: number) => Iterable<B>): Iterable<B>
725
1067
  } = dual(
726
1068
  2,
@@ -761,7 +1103,15 @@ export const flatten = <A>(self: Iterable<Iterable<A>>): Iterable<A> => ({
761
1103
  * @since 2.0.0
762
1104
  */
763
1105
  export const filterMap: {
1106
+ /**
1107
+ * @category filtering
1108
+ * @since 2.0.0
1109
+ */
764
1110
  <A, B>(f: (a: A, i: number) => Option<B>): (self: Iterable<A>) => Iterable<B>
1111
+ /**
1112
+ * @category filtering
1113
+ * @since 2.0.0
1114
+ */
765
1115
  <A, B>(self: Iterable<A>, f: (a: A, i: number) => Option<B>): Iterable<B>
766
1116
  } = dual(
767
1117
  2,
@@ -793,7 +1143,19 @@ export const filterMap: {
793
1143
  * @since 2.0.0
794
1144
  */
795
1145
  export const filterMapWhile: {
1146
+ /**
1147
+ * Transforms all elements of the `Iterable` for as long as the specified function returns some value
1148
+ *
1149
+ * @category filtering
1150
+ * @since 2.0.0
1151
+ */
796
1152
  <A, B>(f: (a: A, i: number) => Option<B>): (self: Iterable<A>) => Iterable<B>
1153
+ /**
1154
+ * Transforms all elements of the `Iterable` for as long as the specified function returns some value
1155
+ *
1156
+ * @category filtering
1157
+ * @since 2.0.0
1158
+ */
797
1159
  <A, B>(self: Iterable<A>, f: (a: A, i: number) => Option<B>): Iterable<B>
798
1160
  } = dual(2, <A, B>(self: Iterable<A>, f: (a: A, i: number) => Option<B>) => ({
799
1161
  [Symbol.iterator]() {
@@ -868,9 +1230,25 @@ export const getRights = <R, L>(self: Iterable<Either<R, L>>): Iterable<R> => fi
868
1230
  * @since 2.0.0
869
1231
  */
870
1232
  export const filter: {
1233
+ /**
1234
+ * @category filtering
1235
+ * @since 2.0.0
1236
+ */
871
1237
  <A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Iterable<B>
1238
+ /**
1239
+ * @category filtering
1240
+ * @since 2.0.0
1241
+ */
872
1242
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Iterable<A>
1243
+ /**
1244
+ * @category filtering
1245
+ * @since 2.0.0
1246
+ */
873
1247
  <A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Iterable<B>
1248
+ /**
1249
+ * @category filtering
1250
+ * @since 2.0.0
1251
+ */
874
1252
  <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Iterable<A>
875
1253
  } = dual(
876
1254
  2,
@@ -899,7 +1277,15 @@ export const filter: {
899
1277
  * @since 2.0.0
900
1278
  */
901
1279
  export const flatMapNullable: {
1280
+ /**
1281
+ * @category sequencing
1282
+ * @since 2.0.0
1283
+ */
902
1284
  <A, B>(f: (a: A) => B | null | undefined): (self: Iterable<A>) => Iterable<NonNullable<B>>
1285
+ /**
1286
+ * @category sequencing
1287
+ * @since 2.0.0
1288
+ */
903
1289
  <A, B>(self: Iterable<A>, f: (a: A) => B | null | undefined): Iterable<NonNullable<B>>
904
1290
  } = dual(
905
1291
  2,
@@ -917,7 +1303,19 @@ export const flatMapNullable: {
917
1303
  * @since 2.0.0
918
1304
  */
919
1305
  export const some: {
1306
+ /**
1307
+ * Check if a predicate holds true for some `Iterable` element.
1308
+ *
1309
+ * @category elements
1310
+ * @since 2.0.0
1311
+ */
920
1312
  <A>(predicate: (a: A, i: number) => boolean): (self: Iterable<A>) => boolean
1313
+ /**
1314
+ * Check if a predicate holds true for some `Iterable` element.
1315
+ *
1316
+ * @category elements
1317
+ * @since 2.0.0
1318
+ */
921
1319
  <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): boolean
922
1320
  } = dual(
923
1321
  2,
@@ -959,7 +1357,17 @@ export const unfold = <B, A>(b: B, f: (b: B) => Option<readonly [A, B]>): Iterab
959
1357
  * @since 2.0.0
960
1358
  */
961
1359
  export const forEach: {
1360
+ /**
1361
+ * Iterate over the `Iterable` applying `f`.
1362
+ *
1363
+ * @since 2.0.0
1364
+ */
962
1365
  <A>(f: (a: A, i: number) => void): (self: Iterable<A>) => void
1366
+ /**
1367
+ * Iterate over the `Iterable` applying `f`.
1368
+ *
1369
+ * @since 2.0.0
1370
+ */
963
1371
  <A>(self: Iterable<A>, f: (a: A, i: number) => void): void
964
1372
  } = dual(2, <A>(self: Iterable<A>, f: (a: A, i: number) => void): void => {
965
1373
  let i = 0
@@ -973,7 +1381,15 @@ export const forEach: {
973
1381
  * @since 2.0.0
974
1382
  */
975
1383
  export const reduce: {
1384
+ /**
1385
+ * @category folding
1386
+ * @since 2.0.0
1387
+ */
976
1388
  <B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Iterable<A>) => B
1389
+ /**
1390
+ * @category folding
1391
+ * @since 2.0.0
1392
+ */
977
1393
  <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A, i: number) => B): B
978
1394
  } = dual(3, <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A, i: number) => B): B => {
979
1395
  if (Array.isArray(self)) {
@@ -993,7 +1409,17 @@ export const reduce: {
993
1409
  * @since 2.0.0
994
1410
  */
995
1411
  export const dedupeAdjacentWith: {
1412
+ /**
1413
+ * Deduplicates adjacent elements that are identical using the provided `isEquivalent` function.
1414
+ *
1415
+ * @since 2.0.0
1416
+ */
996
1417
  <A>(isEquivalent: (self: A, that: A) => boolean): (self: Iterable<A>) => Iterable<A>
1418
+ /**
1419
+ * Deduplicates adjacent elements that are identical using the provided `isEquivalent` function.
1420
+ *
1421
+ * @since 2.0.0
1422
+ */
997
1423
  <A>(self: Iterable<A>, isEquivalent: (self: A, that: A) => boolean): Iterable<A>
998
1424
  } = dual(2, <A>(self: Iterable<A>, isEquivalent: (self: A, that: A) => boolean): Iterable<A> => ({
999
1425
  [Symbol.iterator]() {
@@ -1035,7 +1461,19 @@ export const dedupeAdjacent: <A>(self: Iterable<A>) => Iterable<A> = dedupeAdjac
1035
1461
  * @category elements
1036
1462
  */
1037
1463
  export const cartesianWith: {
1464
+ /**
1465
+ * Zips this Iterable crosswise with the specified Iterable using the specified combiner.
1466
+ *
1467
+ * @since 2.0.0
1468
+ * @category elements
1469
+ */
1038
1470
  <A, B, C>(that: Iterable<B>, f: (a: A, b: B) => C): (self: Iterable<A>) => Iterable<C>
1471
+ /**
1472
+ * Zips this Iterable crosswise with the specified Iterable using the specified combiner.
1473
+ *
1474
+ * @since 2.0.0
1475
+ * @category elements
1476
+ */
1039
1477
  <A, B, C>(self: Iterable<A>, that: Iterable<B>, f: (a: A, b: B) => C): Iterable<C>
1040
1478
  } = dual(
1041
1479
  3,
@@ -1050,7 +1488,19 @@ export const cartesianWith: {
1050
1488
  * @category elements
1051
1489
  */
1052
1490
  export const cartesian: {
1491
+ /**
1492
+ * Zips this Iterable crosswise with the specified Iterable.
1493
+ *
1494
+ * @since 2.0.0
1495
+ * @category elements
1496
+ */
1053
1497
  <B>(that: Iterable<B>): <A>(self: Iterable<A>) => Iterable<[A, B]>
1498
+ /**
1499
+ * Zips this Iterable crosswise with the specified Iterable.
1500
+ *
1501
+ * @since 2.0.0
1502
+ * @category elements
1503
+ */
1054
1504
  <A, B>(self: Iterable<A>, that: Iterable<B>): Iterable<[A, B]>
1055
1505
  } = dual(
1056
1506
  2,