effect 3.8.4 → 3.8.5

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 (595) hide show
  1. package/dist/cjs/Array.js.map +1 -1
  2. package/dist/cjs/BigDecimal.js +2 -3
  3. package/dist/cjs/BigDecimal.js.map +1 -1
  4. package/dist/cjs/BigInt.js.map +1 -1
  5. package/dist/cjs/Boolean.js.map +1 -1
  6. package/dist/cjs/Cause.js.map +1 -1
  7. package/dist/cjs/Channel.js.map +1 -1
  8. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  9. package/dist/cjs/Chunk.js.map +1 -1
  10. package/dist/cjs/Config.js.map +1 -1
  11. package/dist/cjs/ConfigError.js.map +1 -1
  12. package/dist/cjs/ConfigProvider.js.map +1 -1
  13. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
  14. package/dist/cjs/Console.js.map +1 -1
  15. package/dist/cjs/Context.js.map +1 -1
  16. package/dist/cjs/Cron.js.map +1 -1
  17. package/dist/cjs/Data.js.map +1 -1
  18. package/dist/cjs/DateTime.js.map +1 -1
  19. package/dist/cjs/Deferred.js.map +1 -1
  20. package/dist/cjs/Differ.js.map +1 -1
  21. package/dist/cjs/Duration.js.map +1 -1
  22. package/dist/cjs/Effect.js.map +1 -1
  23. package/dist/cjs/Either.js.map +1 -1
  24. package/dist/cjs/Equivalence.js.map +1 -1
  25. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  26. package/dist/cjs/Exit.js.map +1 -1
  27. package/dist/cjs/Fiber.js.map +1 -1
  28. package/dist/cjs/FiberHandle.js.map +1 -1
  29. package/dist/cjs/FiberId.js.map +1 -1
  30. package/dist/cjs/FiberMap.js.map +1 -1
  31. package/dist/cjs/FiberRef.js.map +1 -1
  32. package/dist/cjs/FiberRefs.js.map +1 -1
  33. package/dist/cjs/FiberRefsPatch.js.map +1 -1
  34. package/dist/cjs/FiberSet.js.map +1 -1
  35. package/dist/cjs/Function.js.map +1 -1
  36. package/dist/cjs/GroupBy.js.map +1 -1
  37. package/dist/cjs/Hash.js.map +1 -1
  38. package/dist/cjs/HashMap.js.map +1 -1
  39. package/dist/cjs/HashSet.js.map +1 -1
  40. package/dist/cjs/Iterable.js.map +1 -1
  41. package/dist/cjs/KeyedPool.js.map +1 -1
  42. package/dist/cjs/Layer.js.map +1 -1
  43. package/dist/cjs/List.js.map +1 -1
  44. package/dist/cjs/LogLevel.js.map +1 -1
  45. package/dist/cjs/Logger.js.map +1 -1
  46. package/dist/cjs/Mailbox.js.map +1 -1
  47. package/dist/cjs/MergeDecision.js.map +1 -1
  48. package/dist/cjs/MergeState.js.map +1 -1
  49. package/dist/cjs/MergeStrategy.js.map +1 -1
  50. package/dist/cjs/Metric.js.map +1 -1
  51. package/dist/cjs/MetricHook.js.map +1 -1
  52. package/dist/cjs/MetricKey.js.map +1 -1
  53. package/dist/cjs/MetricPolling.js.map +1 -1
  54. package/dist/cjs/MetricState.js.map +1 -1
  55. package/dist/cjs/Micro.js.map +1 -1
  56. package/dist/cjs/MutableHashMap.js.map +1 -1
  57. package/dist/cjs/MutableHashSet.js.map +1 -1
  58. package/dist/cjs/MutableList.js.map +1 -1
  59. package/dist/cjs/MutableQueue.js.map +1 -1
  60. package/dist/cjs/MutableRef.js.map +1 -1
  61. package/dist/cjs/Number.js.map +1 -1
  62. package/dist/cjs/Option.js.map +1 -1
  63. package/dist/cjs/Order.js.map +1 -1
  64. package/dist/cjs/Ordering.js.map +1 -1
  65. package/dist/cjs/Pipeable.js.map +1 -1
  66. package/dist/cjs/Pool.js.map +1 -1
  67. package/dist/cjs/Predicate.js.map +1 -1
  68. package/dist/cjs/PubSub.js.map +1 -1
  69. package/dist/cjs/Queue.js.map +1 -1
  70. package/dist/cjs/RcMap.js.map +1 -1
  71. package/dist/cjs/Readable.js.map +1 -1
  72. package/dist/cjs/Record.js.map +1 -1
  73. package/dist/cjs/RedBlackTree.js.map +1 -1
  74. package/dist/cjs/Ref.js.map +1 -1
  75. package/dist/cjs/Request.js.map +1 -1
  76. package/dist/cjs/RequestResolver.js.map +1 -1
  77. package/dist/cjs/Runtime.js.map +1 -1
  78. package/dist/cjs/RuntimeFlags.js.map +1 -1
  79. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
  80. package/dist/cjs/STM.js.map +1 -1
  81. package/dist/cjs/Schedule.js.map +1 -1
  82. package/dist/cjs/ScheduleInterval.js.map +1 -1
  83. package/dist/cjs/ScheduleIntervals.js.map +1 -1
  84. package/dist/cjs/Scheduler.js.map +1 -1
  85. package/dist/cjs/Scope.js.map +1 -1
  86. package/dist/cjs/ScopedRef.js.map +1 -1
  87. package/dist/cjs/Sink.js.map +1 -1
  88. package/dist/cjs/SortedMap.js.map +1 -1
  89. package/dist/cjs/SortedSet.js.map +1 -1
  90. package/dist/cjs/Stream.js +17 -3
  91. package/dist/cjs/Stream.js.map +1 -1
  92. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  93. package/dist/cjs/String.js.map +1 -1
  94. package/dist/cjs/Struct.js.map +1 -1
  95. package/dist/cjs/Subscribable.js.map +1 -1
  96. package/dist/cjs/SubscriptionRef.js.map +1 -1
  97. package/dist/cjs/SynchronizedRef.js.map +1 -1
  98. package/dist/cjs/TArray.js.map +1 -1
  99. package/dist/cjs/TDeferred.js.map +1 -1
  100. package/dist/cjs/TMap.js.map +1 -1
  101. package/dist/cjs/TPriorityQueue.js.map +1 -1
  102. package/dist/cjs/TPubSub.js.map +1 -1
  103. package/dist/cjs/TQueue.js.map +1 -1
  104. package/dist/cjs/TReentrantLock.js.map +1 -1
  105. package/dist/cjs/TRef.js.map +1 -1
  106. package/dist/cjs/TSemaphore.js.map +1 -1
  107. package/dist/cjs/TSet.js.map +1 -1
  108. package/dist/cjs/Take.js.map +1 -1
  109. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  110. package/dist/cjs/TestClock.js.map +1 -1
  111. package/dist/cjs/TestServices.js.map +1 -1
  112. package/dist/cjs/Trie.js.map +1 -1
  113. package/dist/cjs/Tuple.js.map +1 -1
  114. package/dist/cjs/Unify.js.map +1 -1
  115. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  116. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  117. package/dist/cjs/Utils.js +1 -14
  118. package/dist/cjs/Utils.js.map +1 -1
  119. package/dist/cjs/internal/core.js +4 -3
  120. package/dist/cjs/internal/core.js.map +1 -1
  121. package/dist/cjs/internal/runtime.js +1 -1
  122. package/dist/cjs/internal/runtime.js.map +1 -1
  123. package/dist/cjs/internal/stream.js +12 -3
  124. package/dist/cjs/internal/stream.js.map +1 -1
  125. package/dist/cjs/internal/version.js +1 -1
  126. package/dist/dts/Array.d.ts +2684 -0
  127. package/dist/dts/Array.d.ts.map +1 -1
  128. package/dist/dts/BigDecimal.d.ts +558 -1
  129. package/dist/dts/BigDecimal.d.ts.map +1 -1
  130. package/dist/dts/BigInt.d.ts +490 -0
  131. package/dist/dts/BigInt.d.ts.map +1 -1
  132. package/dist/dts/Boolean.d.ts +228 -0
  133. package/dist/dts/Boolean.d.ts.map +1 -1
  134. package/dist/dts/Cause.d.ts +172 -0
  135. package/dist/dts/Cause.d.ts.map +1 -1
  136. package/dist/dts/Channel.d.ts +750 -0
  137. package/dist/dts/Channel.d.ts.map +1 -1
  138. package/dist/dts/ChildExecutorDecision.d.ts +12 -0
  139. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  140. package/dist/dts/Chunk.d.ts +791 -0
  141. package/dist/dts/Chunk.d.ts.map +1 -1
  142. package/dist/dts/Config.d.ts +174 -0
  143. package/dist/dts/Config.d.ts.map +1 -1
  144. package/dist/dts/ConfigError.d.ts +16 -0
  145. package/dist/dts/ConfigError.d.ts.map +1 -1
  146. package/dist/dts/ConfigProvider.d.ts +84 -0
  147. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  148. package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
  149. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  150. package/dist/dts/Console.d.ts +24 -0
  151. package/dist/dts/Console.d.ts.map +1 -1
  152. package/dist/dts/Context.d.ts +232 -0
  153. package/dist/dts/Context.d.ts.map +1 -1
  154. package/dist/dts/Cron.d.ts +12 -0
  155. package/dist/dts/Cron.d.ts.map +1 -1
  156. package/dist/dts/Data.d.ts +165 -0
  157. package/dist/dts/Data.d.ts.map +1 -1
  158. package/dist/dts/DateTime.d.ts +878 -0
  159. package/dist/dts/DateTime.d.ts.map +1 -1
  160. package/dist/dts/Deferred.d.ts +170 -0
  161. package/dist/dts/Deferred.d.ts.map +1 -1
  162. package/dist/dts/Differ.d.ts +78 -0
  163. package/dist/dts/Differ.d.ts.map +1 -1
  164. package/dist/dts/Duration.d.ts +130 -0
  165. package/dist/dts/Duration.d.ts.map +1 -1
  166. package/dist/dts/Effect.d.ts +4117 -3
  167. package/dist/dts/Effect.d.ts.map +1 -1
  168. package/dist/dts/Either.d.ts +620 -0
  169. package/dist/dts/Either.d.ts.map +1 -1
  170. package/dist/dts/Equivalence.d.ts +24 -0
  171. package/dist/dts/Equivalence.d.ts.map +1 -1
  172. package/dist/dts/ExecutionStrategy.d.ts +14 -0
  173. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  174. package/dist/dts/Exit.d.ts +252 -0
  175. package/dist/dts/Exit.d.ts.map +1 -1
  176. package/dist/dts/Fiber.d.ts +182 -0
  177. package/dist/dts/Fiber.d.ts.map +1 -1
  178. package/dist/dts/FiberHandle.d.ts +42 -0
  179. package/dist/dts/FiberHandle.d.ts.map +1 -1
  180. package/dist/dts/FiberId.d.ts +24 -0
  181. package/dist/dts/FiberId.d.ts.map +1 -1
  182. package/dist/dts/FiberMap.d.ts +102 -0
  183. package/dist/dts/FiberMap.d.ts.map +1 -1
  184. package/dist/dts/FiberRef.d.ts +80 -0
  185. package/dist/dts/FiberRef.d.ts.map +1 -1
  186. package/dist/dts/FiberRefs.d.ts +84 -0
  187. package/dist/dts/FiberRefs.d.ts.map +1 -1
  188. package/dist/dts/FiberRefsPatch.d.ts +30 -0
  189. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  190. package/dist/dts/FiberSet.d.ts +38 -0
  191. package/dist/dts/FiberSet.d.ts.map +1 -1
  192. package/dist/dts/Function.d.ts +144 -28
  193. package/dist/dts/Function.d.ts.map +1 -1
  194. package/dist/dts/GroupBy.d.ts +38 -0
  195. package/dist/dts/GroupBy.d.ts.map +1 -1
  196. package/dist/dts/Hash.d.ts +8 -0
  197. package/dist/dts/Hash.d.ts.map +1 -1
  198. package/dist/dts/HashMap.d.ts +300 -0
  199. package/dist/dts/HashMap.d.ts.map +1 -1
  200. package/dist/dts/HashSet.d.ts +284 -0
  201. package/dist/dts/HashSet.d.ts.map +1 -1
  202. package/dist/dts/Iterable.d.ts +454 -0
  203. package/dist/dts/Iterable.d.ts.map +1 -1
  204. package/dist/dts/KeyedPool.d.ts +34 -0
  205. package/dist/dts/KeyedPool.d.ts.map +1 -1
  206. package/dist/dts/Layer.d.ts +414 -0
  207. package/dist/dts/Layer.d.ts.map +1 -1
  208. package/dist/dts/List.d.ts +430 -0
  209. package/dist/dts/List.d.ts.map +1 -1
  210. package/dist/dts/LogLevel.d.ts +46 -0
  211. package/dist/dts/LogLevel.d.ts.map +1 -1
  212. package/dist/dts/Logger.d.ts +194 -0
  213. package/dist/dts/Logger.d.ts.map +1 -1
  214. package/dist/dts/Mailbox.d.ts +16 -0
  215. package/dist/dts/Mailbox.d.ts.map +1 -1
  216. package/dist/dts/MergeDecision.d.ts +8 -0
  217. package/dist/dts/MergeDecision.d.ts.map +1 -1
  218. package/dist/dts/MergeState.d.ts +8 -0
  219. package/dist/dts/MergeState.d.ts.map +1 -1
  220. package/dist/dts/MergeStrategy.d.ts +12 -0
  221. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  222. package/dist/dts/Metric.d.ts +410 -0
  223. package/dist/dts/Metric.d.ts.map +1 -1
  224. package/dist/dts/MetricHook.d.ts +24 -0
  225. package/dist/dts/MetricHook.d.ts.map +1 -1
  226. package/dist/dts/MetricKey.d.ts +48 -0
  227. package/dist/dts/MetricKey.d.ts.map +1 -1
  228. package/dist/dts/MetricPolling.d.ts +40 -0
  229. package/dist/dts/MetricPolling.d.ts.map +1 -1
  230. package/dist/dts/MetricState.d.ts +16 -0
  231. package/dist/dts/MetricState.d.ts.map +1 -1
  232. package/dist/dts/Micro.d.ts +1110 -0
  233. package/dist/dts/Micro.d.ts.map +1 -1
  234. package/dist/dts/MutableHashMap.d.ts +50 -0
  235. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  236. package/dist/dts/MutableHashSet.d.ts +24 -0
  237. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  238. package/dist/dts/MutableList.d.ts +36 -0
  239. package/dist/dts/MutableList.d.ts.map +1 -1
  240. package/dist/dts/MutableQueue.d.ts +62 -0
  241. package/dist/dts/MutableQueue.d.ts.map +1 -1
  242. package/dist/dts/MutableRef.d.ts +56 -0
  243. package/dist/dts/MutableRef.d.ts.map +1 -1
  244. package/dist/dts/Number.d.ts +474 -0
  245. package/dist/dts/Number.d.ts.map +1 -1
  246. package/dist/dts/Option.d.ts +1019 -0
  247. package/dist/dts/Option.d.ts.map +1 -1
  248. package/dist/dts/Order.d.ts +24 -0
  249. package/dist/dts/Order.d.ts.map +1 -1
  250. package/dist/dts/Ordering.d.ts +66 -0
  251. package/dist/dts/Ordering.d.ts.map +1 -1
  252. package/dist/dts/Pipeable.d.ts +21 -21
  253. package/dist/dts/Pipeable.d.ts.map +1 -1
  254. package/dist/dts/Pool.d.ts +16 -0
  255. package/dist/dts/Pool.d.ts.map +1 -1
  256. package/dist/dts/Predicate.d.ts +498 -0
  257. package/dist/dts/Predicate.d.ts.map +1 -1
  258. package/dist/dts/PubSub.d.ts +28 -0
  259. package/dist/dts/PubSub.d.ts.map +1 -1
  260. package/dist/dts/Queue.d.ts +104 -0
  261. package/dist/dts/Queue.d.ts.map +1 -1
  262. package/dist/dts/RcMap.d.ts +70 -0
  263. package/dist/dts/RcMap.d.ts.map +1 -1
  264. package/dist/dts/Readable.d.ts +16 -0
  265. package/dist/dts/Readable.d.ts.map +1 -1
  266. package/dist/dts/Record.d.ts +800 -0
  267. package/dist/dts/Record.d.ts.map +1 -1
  268. package/dist/dts/RedBlackTree.d.ts +300 -0
  269. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  270. package/dist/dts/Ref.d.ts +88 -0
  271. package/dist/dts/Ref.d.ts.map +1 -1
  272. package/dist/dts/Request.d.ts +76 -0
  273. package/dist/dts/Request.d.ts.map +1 -1
  274. package/dist/dts/RequestResolver.d.ts +144 -0
  275. package/dist/dts/RequestResolver.d.ts.map +1 -1
  276. package/dist/dts/Runtime.d.ts +126 -0
  277. package/dist/dts/Runtime.d.ts.map +1 -1
  278. package/dist/dts/RuntimeFlags.d.ts +100 -0
  279. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  280. package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
  281. package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
  282. package/dist/dts/STM.d.ts +1090 -0
  283. package/dist/dts/STM.d.ts.map +1 -1
  284. package/dist/dts/Schedule.d.ts +704 -0
  285. package/dist/dts/Schedule.d.ts.map +1 -1
  286. package/dist/dts/ScheduleInterval.d.ts +68 -0
  287. package/dist/dts/ScheduleInterval.d.ts.map +1 -1
  288. package/dist/dts/ScheduleIntervals.d.ts +50 -0
  289. package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
  290. package/dist/dts/Scope.d.ts +36 -0
  291. package/dist/dts/Scope.d.ts.map +1 -1
  292. package/dist/dts/ScopedRef.d.ts +22 -0
  293. package/dist/dts/ScopedRef.d.ts.map +1 -1
  294. package/dist/dts/Sink.d.ts +464 -0
  295. package/dist/dts/Sink.d.ts.map +1 -1
  296. package/dist/dts/SortedMap.d.ts +76 -0
  297. package/dist/dts/SortedMap.d.ts.map +1 -1
  298. package/dist/dts/SortedSet.d.ts +142 -0
  299. package/dist/dts/SortedSet.d.ts.map +1 -1
  300. package/dist/dts/Stream.d.ts +4998 -1
  301. package/dist/dts/Stream.d.ts.map +1 -1
  302. package/dist/dts/StreamHaltStrategy.d.ts +12 -0
  303. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  304. package/dist/dts/String.d.ts +200 -0
  305. package/dist/dts/String.d.ts.map +1 -1
  306. package/dist/dts/Struct.d.ts +84 -0
  307. package/dist/dts/Struct.d.ts.map +1 -1
  308. package/dist/dts/Subscribable.d.ts +16 -0
  309. package/dist/dts/Subscribable.d.ts.map +1 -1
  310. package/dist/dts/SubscriptionRef.d.ts +152 -0
  311. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  312. package/dist/dts/SynchronizedRef.d.ts +152 -0
  313. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  314. package/dist/dts/TArray.d.ts +426 -0
  315. package/dist/dts/TArray.d.ts.map +1 -1
  316. package/dist/dts/TDeferred.d.ts +24 -0
  317. package/dist/dts/TDeferred.d.ts.map +1 -1
  318. package/dist/dts/TMap.d.ts +366 -0
  319. package/dist/dts/TMap.d.ts.map +1 -1
  320. package/dist/dts/TPriorityQueue.d.ts +60 -0
  321. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  322. package/dist/dts/TPubSub.d.ts +28 -0
  323. package/dist/dts/TPubSub.d.ts.map +1 -1
  324. package/dist/dts/TQueue.d.ts +108 -0
  325. package/dist/dts/TQueue.d.ts.map +1 -1
  326. package/dist/dts/TReentrantLock.d.ts +36 -0
  327. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  328. package/dist/dts/TRef.d.ts +88 -0
  329. package/dist/dts/TRef.d.ts.map +1 -1
  330. package/dist/dts/TSemaphore.d.ts +40 -0
  331. package/dist/dts/TSemaphore.d.ts.map +1 -1
  332. package/dist/dts/TSet.d.ts +254 -0
  333. package/dist/dts/TSet.d.ts.map +1 -1
  334. package/dist/dts/Take.d.ts +56 -0
  335. package/dist/dts/Take.d.ts.map +1 -1
  336. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  337. package/dist/dts/TestClock.d.ts.map +1 -1
  338. package/dist/dts/TestServices.d.ts.map +1 -1
  339. package/dist/dts/Trie.d.ts +906 -0
  340. package/dist/dts/Trie.d.ts.map +1 -1
  341. package/dist/dts/Tuple.d.ts +144 -0
  342. package/dist/dts/Tuple.d.ts.map +1 -1
  343. package/dist/dts/Unify.d.ts +18 -0
  344. package/dist/dts/Unify.d.ts.map +1 -1
  345. package/dist/dts/UpstreamPullRequest.d.ts +12 -0
  346. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  347. package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
  348. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  349. package/dist/dts/Utils.d.ts.map +1 -1
  350. package/dist/dts/internal/stream.d.ts.map +1 -1
  351. package/dist/esm/Array.js.map +1 -1
  352. package/dist/esm/BigDecimal.js +2 -2
  353. package/dist/esm/BigDecimal.js.map +1 -1
  354. package/dist/esm/BigInt.js.map +1 -1
  355. package/dist/esm/Boolean.js.map +1 -1
  356. package/dist/esm/Cause.js.map +1 -1
  357. package/dist/esm/Channel.js.map +1 -1
  358. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  359. package/dist/esm/Chunk.js.map +1 -1
  360. package/dist/esm/Config.js.map +1 -1
  361. package/dist/esm/ConfigError.js.map +1 -1
  362. package/dist/esm/ConfigProvider.js.map +1 -1
  363. package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
  364. package/dist/esm/Console.js.map +1 -1
  365. package/dist/esm/Context.js.map +1 -1
  366. package/dist/esm/Cron.js.map +1 -1
  367. package/dist/esm/Data.js.map +1 -1
  368. package/dist/esm/DateTime.js.map +1 -1
  369. package/dist/esm/Deferred.js.map +1 -1
  370. package/dist/esm/Differ.js.map +1 -1
  371. package/dist/esm/Duration.js.map +1 -1
  372. package/dist/esm/Effect.js.map +1 -1
  373. package/dist/esm/Either.js.map +1 -1
  374. package/dist/esm/Equivalence.js.map +1 -1
  375. package/dist/esm/ExecutionStrategy.js.map +1 -1
  376. package/dist/esm/Exit.js.map +1 -1
  377. package/dist/esm/Fiber.js.map +1 -1
  378. package/dist/esm/FiberHandle.js.map +1 -1
  379. package/dist/esm/FiberId.js.map +1 -1
  380. package/dist/esm/FiberMap.js.map +1 -1
  381. package/dist/esm/FiberRef.js.map +1 -1
  382. package/dist/esm/FiberRefs.js.map +1 -1
  383. package/dist/esm/FiberRefsPatch.js.map +1 -1
  384. package/dist/esm/FiberSet.js.map +1 -1
  385. package/dist/esm/Function.js.map +1 -1
  386. package/dist/esm/GroupBy.js.map +1 -1
  387. package/dist/esm/Hash.js.map +1 -1
  388. package/dist/esm/HashMap.js.map +1 -1
  389. package/dist/esm/HashSet.js.map +1 -1
  390. package/dist/esm/Iterable.js.map +1 -1
  391. package/dist/esm/KeyedPool.js.map +1 -1
  392. package/dist/esm/Layer.js.map +1 -1
  393. package/dist/esm/List.js.map +1 -1
  394. package/dist/esm/LogLevel.js.map +1 -1
  395. package/dist/esm/Logger.js.map +1 -1
  396. package/dist/esm/Mailbox.js.map +1 -1
  397. package/dist/esm/MergeDecision.js.map +1 -1
  398. package/dist/esm/MergeState.js.map +1 -1
  399. package/dist/esm/MergeStrategy.js.map +1 -1
  400. package/dist/esm/Metric.js.map +1 -1
  401. package/dist/esm/MetricHook.js.map +1 -1
  402. package/dist/esm/MetricKey.js.map +1 -1
  403. package/dist/esm/MetricPolling.js.map +1 -1
  404. package/dist/esm/MetricState.js.map +1 -1
  405. package/dist/esm/Micro.js.map +1 -1
  406. package/dist/esm/MutableHashMap.js.map +1 -1
  407. package/dist/esm/MutableHashSet.js.map +1 -1
  408. package/dist/esm/MutableList.js.map +1 -1
  409. package/dist/esm/MutableQueue.js.map +1 -1
  410. package/dist/esm/MutableRef.js.map +1 -1
  411. package/dist/esm/Number.js.map +1 -1
  412. package/dist/esm/Option.js.map +1 -1
  413. package/dist/esm/Order.js.map +1 -1
  414. package/dist/esm/Ordering.js.map +1 -1
  415. package/dist/esm/Pipeable.js.map +1 -1
  416. package/dist/esm/Pool.js.map +1 -1
  417. package/dist/esm/Predicate.js.map +1 -1
  418. package/dist/esm/PubSub.js.map +1 -1
  419. package/dist/esm/Queue.js.map +1 -1
  420. package/dist/esm/RcMap.js.map +1 -1
  421. package/dist/esm/Readable.js.map +1 -1
  422. package/dist/esm/Record.js.map +1 -1
  423. package/dist/esm/RedBlackTree.js.map +1 -1
  424. package/dist/esm/Ref.js.map +1 -1
  425. package/dist/esm/Request.js.map +1 -1
  426. package/dist/esm/RequestResolver.js.map +1 -1
  427. package/dist/esm/Runtime.js.map +1 -1
  428. package/dist/esm/RuntimeFlags.js.map +1 -1
  429. package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
  430. package/dist/esm/STM.js.map +1 -1
  431. package/dist/esm/Schedule.js.map +1 -1
  432. package/dist/esm/ScheduleInterval.js.map +1 -1
  433. package/dist/esm/ScheduleIntervals.js.map +1 -1
  434. package/dist/esm/Scheduler.js.map +1 -1
  435. package/dist/esm/Scope.js.map +1 -1
  436. package/dist/esm/ScopedRef.js.map +1 -1
  437. package/dist/esm/Sink.js.map +1 -1
  438. package/dist/esm/SortedMap.js.map +1 -1
  439. package/dist/esm/SortedSet.js.map +1 -1
  440. package/dist/esm/Stream.js +14 -0
  441. package/dist/esm/Stream.js.map +1 -1
  442. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  443. package/dist/esm/String.js.map +1 -1
  444. package/dist/esm/Struct.js.map +1 -1
  445. package/dist/esm/Subscribable.js.map +1 -1
  446. package/dist/esm/SubscriptionRef.js.map +1 -1
  447. package/dist/esm/SynchronizedRef.js.map +1 -1
  448. package/dist/esm/TArray.js.map +1 -1
  449. package/dist/esm/TDeferred.js.map +1 -1
  450. package/dist/esm/TMap.js.map +1 -1
  451. package/dist/esm/TPriorityQueue.js.map +1 -1
  452. package/dist/esm/TPubSub.js.map +1 -1
  453. package/dist/esm/TQueue.js.map +1 -1
  454. package/dist/esm/TReentrantLock.js.map +1 -1
  455. package/dist/esm/TRef.js.map +1 -1
  456. package/dist/esm/TSemaphore.js.map +1 -1
  457. package/dist/esm/TSet.js.map +1 -1
  458. package/dist/esm/Take.js.map +1 -1
  459. package/dist/esm/TestAnnotationMap.js.map +1 -1
  460. package/dist/esm/TestClock.js.map +1 -1
  461. package/dist/esm/TestServices.js.map +1 -1
  462. package/dist/esm/Trie.js.map +1 -1
  463. package/dist/esm/Tuple.js.map +1 -1
  464. package/dist/esm/Unify.js.map +1 -1
  465. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  466. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  467. package/dist/esm/Utils.js +1 -14
  468. package/dist/esm/Utils.js.map +1 -1
  469. package/dist/esm/internal/core.js +1 -1
  470. package/dist/esm/internal/core.js.map +1 -1
  471. package/dist/esm/internal/runtime.js +1 -1
  472. package/dist/esm/internal/runtime.js.map +1 -1
  473. package/dist/esm/internal/stream.js +9 -0
  474. package/dist/esm/internal/stream.js.map +1 -1
  475. package/dist/esm/internal/version.js +1 -1
  476. package/package.json +1 -1
  477. package/src/Array.ts +2723 -36
  478. package/src/BigDecimal.ts +585 -18
  479. package/src/BigInt.ts +516 -16
  480. package/src/Boolean.ts +241 -8
  481. package/src/Cause.ts +177 -1
  482. package/src/Channel.ts +766 -49
  483. package/src/ChildExecutorDecision.ts +12 -0
  484. package/src/Chunk.ts +818 -4
  485. package/src/Config.ts +187 -8
  486. package/src/ConfigError.ts +16 -0
  487. package/src/ConfigProvider.ts +89 -1
  488. package/src/ConfigProviderPathPatch.ts +32 -0
  489. package/src/Console.ts +37 -8
  490. package/src/Context.ts +232 -0
  491. package/src/Cron.ts +12 -0
  492. package/src/Data.ts +165 -0
  493. package/src/DateTime.ts +1006 -50
  494. package/src/Deferred.ts +170 -0
  495. package/src/Differ.ts +89 -27
  496. package/src/Duration.ts +156 -16
  497. package/src/Effect.ts +4297 -123
  498. package/src/Either.ts +650 -34
  499. package/src/Equivalence.ts +24 -0
  500. package/src/ExecutionStrategy.ts +29 -10
  501. package/src/Exit.ts +252 -0
  502. package/src/Fiber.ts +182 -0
  503. package/src/FiberHandle.ts +42 -0
  504. package/src/FiberId.ts +24 -0
  505. package/src/FiberMap.ts +144 -21
  506. package/src/FiberRef.ts +80 -0
  507. package/src/FiberRefs.ts +84 -0
  508. package/src/FiberRefsPatch.ts +35 -1
  509. package/src/FiberSet.ts +38 -0
  510. package/src/Function.ts +416 -31
  511. package/src/GroupBy.ts +38 -0
  512. package/src/Hash.ts +8 -0
  513. package/src/HashMap.ts +300 -0
  514. package/src/HashSet.ts +284 -0
  515. package/src/Iterable.ts +456 -6
  516. package/src/KeyedPool.ts +34 -0
  517. package/src/Layer.ts +426 -30
  518. package/src/List.ts +476 -3
  519. package/src/LogLevel.ts +46 -0
  520. package/src/Logger.ts +195 -4
  521. package/src/Mailbox.ts +16 -0
  522. package/src/MergeDecision.ts +8 -0
  523. package/src/MergeState.ts +8 -0
  524. package/src/MergeStrategy.ts +25 -8
  525. package/src/Metric.ts +426 -15
  526. package/src/MetricHook.ts +24 -0
  527. package/src/MetricKey.ts +62 -8
  528. package/src/MetricPolling.ts +42 -6
  529. package/src/MetricState.ts +16 -0
  530. package/src/Micro.ts +1212 -56
  531. package/src/MutableHashMap.ts +105 -1
  532. package/src/MutableHashSet.ts +24 -0
  533. package/src/MutableList.ts +36 -0
  534. package/src/MutableQueue.ts +62 -0
  535. package/src/MutableRef.ts +56 -0
  536. package/src/Number.ts +500 -16
  537. package/src/Option.ts +1042 -16
  538. package/src/Order.ts +24 -0
  539. package/src/Ordering.ts +66 -0
  540. package/src/Pipeable.ts +224 -21
  541. package/src/Pool.ts +16 -0
  542. package/src/Predicate.ts +498 -0
  543. package/src/PubSub.ts +28 -0
  544. package/src/Queue.ts +104 -0
  545. package/src/RcMap.ts +70 -0
  546. package/src/Readable.ts +18 -7
  547. package/src/Record.ts +814 -40
  548. package/src/RedBlackTree.ts +305 -1
  549. package/src/Ref.ts +88 -0
  550. package/src/Request.ts +76 -0
  551. package/src/RequestResolver.ts +145 -4
  552. package/src/Runtime.ts +134 -2
  553. package/src/RuntimeFlags.ts +100 -0
  554. package/src/RuntimeFlagsPatch.ts +112 -0
  555. package/src/STM.ts +1107 -11
  556. package/src/Schedule.ts +704 -0
  557. package/src/ScheduleInterval.ts +68 -0
  558. package/src/ScheduleIntervals.ts +50 -0
  559. package/src/Scheduler.ts +2 -0
  560. package/src/Scope.ts +36 -0
  561. package/src/ScopedRef.ts +22 -0
  562. package/src/Sink.ts +464 -0
  563. package/src/SortedMap.ts +76 -0
  564. package/src/SortedSet.ts +143 -3
  565. package/src/Stream.ts +5041 -54
  566. package/src/StreamHaltStrategy.ts +29 -12
  567. package/src/String.ts +200 -0
  568. package/src/Struct.ts +86 -7
  569. package/src/Subscribable.ts +16 -0
  570. package/src/SubscriptionRef.ts +159 -11
  571. package/src/SynchronizedRef.ts +169 -8
  572. package/src/TArray.ts +431 -1
  573. package/src/TDeferred.ts +24 -0
  574. package/src/TMap.ts +381 -12
  575. package/src/TPriorityQueue.ts +60 -0
  576. package/src/TPubSub.ts +28 -0
  577. package/src/TQueue.ts +108 -0
  578. package/src/TReentrantLock.ts +36 -0
  579. package/src/TRef.ts +88 -0
  580. package/src/TSemaphore.ts +40 -0
  581. package/src/TSet.ts +280 -12
  582. package/src/Take.ts +56 -0
  583. package/src/TestAnnotationMap.ts +45 -1
  584. package/src/TestClock.ts +6 -0
  585. package/src/TestServices.ts +66 -0
  586. package/src/Trie.ts +906 -0
  587. package/src/Tuple.ts +157 -8
  588. package/src/Unify.ts +19 -3
  589. package/src/UpstreamPullRequest.ts +12 -0
  590. package/src/UpstreamPullStrategy.ts +12 -0
  591. package/src/Utils.ts +1 -15
  592. package/src/internal/core.ts +1 -1
  593. package/src/internal/runtime.ts +1 -1
  594. package/src/internal/stream.ts +27 -0
  595. package/src/internal/version.ts +1 -1
package/src/Chunk.ts CHANGED
@@ -212,7 +212,19 @@ const makeChunk = <A>(backing: Backing<A>): Chunk<A> => {
212
212
  * @since 2.0.0
213
213
  */
214
214
  export const isChunk: {
215
+ /**
216
+ * Checks if `u` is a `Chunk<unknown>`
217
+ *
218
+ * @category constructors
219
+ * @since 2.0.0
220
+ */
215
221
  <A>(u: Iterable<A>): u is Chunk<A>
222
+ /**
223
+ * Checks if `u` is a `Chunk<unknown>`
224
+ *
225
+ * @category constructors
226
+ * @since 2.0.0
227
+ */
216
228
  (u: unknown): u is Chunk<unknown>
217
229
  } = (u: unknown): u is Chunk<unknown> => hasProperty(u, TypeId)
218
230
 
@@ -368,7 +380,19 @@ export const reverse: <S extends Chunk<any>>(self: S) => Chunk.With<S, Chunk.Inf
368
380
  * @since 2.0.0
369
381
  */
370
382
  export const get: {
383
+ /**
384
+ * This function provides a safe way to read a value at a particular index from a `Chunk`.
385
+ *
386
+ * @category elements
387
+ * @since 2.0.0
388
+ */
371
389
  (index: number): <A>(self: Chunk<A>) => Option<A>
390
+ /**
391
+ * This function provides a safe way to read a value at a particular index from a `Chunk`.
392
+ *
393
+ * @category elements
394
+ * @since 2.0.0
395
+ */
372
396
  <A>(self: Chunk<A>, index: number): Option<A>
373
397
  } = dual(
374
398
  2,
@@ -400,7 +424,19 @@ export const unsafeFromNonEmptyArray = <A>(self: NonEmptyReadonlyArray<A>): NonE
400
424
  * @category unsafe
401
425
  */
402
426
  export const unsafeGet: {
427
+ /**
428
+ * Gets an element unsafely, will throw on out of bounds
429
+ *
430
+ * @since 2.0.0
431
+ * @category unsafe
432
+ */
403
433
  (index: number): <A>(self: Chunk<A>) => A
434
+ /**
435
+ * Gets an element unsafely, will throw on out of bounds
436
+ *
437
+ * @since 2.0.0
438
+ * @category unsafe
439
+ */
404
440
  <A>(self: Chunk<A>, index: number): A
405
441
  } = dual(2, <A>(self: Chunk<A>, index: number): A => {
406
442
  switch (self.backing._tag) {
@@ -437,7 +473,19 @@ export const unsafeGet: {
437
473
  * @since 2.0.0
438
474
  */
439
475
  export const append: {
476
+ /**
477
+ * Appends the specified element to the end of the `Chunk`.
478
+ *
479
+ * @category concatenating
480
+ * @since 2.0.0
481
+ */
440
482
  <A2>(a: A2): <A>(self: Chunk<A>) => NonEmptyChunk<A2 | A>
483
+ /**
484
+ * Appends the specified element to the end of the `Chunk`.
485
+ *
486
+ * @category concatenating
487
+ * @since 2.0.0
488
+ */
441
489
  <A, A2>(self: Chunk<A>, a: A2): NonEmptyChunk<A | A2>
442
490
  } = dual(2, <A, A2>(self: Chunk<A>, a: A2): NonEmptyChunk<A | A2> => appendAll(self, of(a)))
443
491
 
@@ -448,7 +496,19 @@ export const append: {
448
496
  * @since 2.0.0
449
497
  */
450
498
  export const prepend: {
499
+ /**
500
+ * Prepend an element to the front of a `Chunk`, creating a new `NonEmptyChunk`.
501
+ *
502
+ * @category concatenating
503
+ * @since 2.0.0
504
+ */
451
505
  <B>(elem: B): <A>(self: Chunk<A>) => NonEmptyChunk<B | A>
506
+ /**
507
+ * Prepend an element to the front of a `Chunk`, creating a new `NonEmptyChunk`.
508
+ *
509
+ * @category concatenating
510
+ * @since 2.0.0
511
+ */
452
512
  <A, B>(self: Chunk<A>, elem: B): NonEmptyChunk<A | B>
453
513
  } = dual(2, <A, B>(self: Chunk<A>, elem: B): NonEmptyChunk<A | B> => appendAll(of(elem), self))
454
514
 
@@ -458,7 +518,17 @@ export const prepend: {
458
518
  * @since 2.0.0
459
519
  */
460
520
  export const take: {
521
+ /**
522
+ * Takes the first up to `n` elements from the chunk
523
+ *
524
+ * @since 2.0.0
525
+ */
461
526
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
527
+ /**
528
+ * Takes the first up to `n` elements from the chunk
529
+ *
530
+ * @since 2.0.0
531
+ */
462
532
  <A>(self: Chunk<A>, n: number): Chunk<A>
463
533
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => {
464
534
  if (n <= 0) {
@@ -504,7 +574,17 @@ export const take: {
504
574
  * @since 2.0.0
505
575
  */
506
576
  export const drop: {
577
+ /**
578
+ * Drops the first up to `n` elements from the chunk
579
+ *
580
+ * @since 2.0.0
581
+ */
507
582
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
583
+ /**
584
+ * Drops the first up to `n` elements from the chunk
585
+ *
586
+ * @since 2.0.0
587
+ */
508
588
  <A>(self: Chunk<A>, n: number): Chunk<A>
509
589
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => {
510
590
  if (n <= 0) {
@@ -549,7 +629,17 @@ export const drop: {
549
629
  * @since 2.0.0
550
630
  */
551
631
  export const dropRight: {
632
+ /**
633
+ * Drops the last `n` elements.
634
+ *
635
+ * @since 2.0.0
636
+ */
552
637
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
638
+ /**
639
+ * Drops the last `n` elements.
640
+ *
641
+ * @since 2.0.0
642
+ */
553
643
  <A>(self: Chunk<A>, n: number): Chunk<A>
554
644
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => take(self, Math.max(0, self.length - n)))
555
645
 
@@ -559,7 +649,17 @@ export const dropRight: {
559
649
  * @since 2.0.0
560
650
  */
561
651
  export const dropWhile: {
652
+ /**
653
+ * Drops all elements so long as the predicate returns true.
654
+ *
655
+ * @since 2.0.0
656
+ */
562
657
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
658
+ /**
659
+ * Drops all elements so long as the predicate returns true.
660
+ *
661
+ * @since 2.0.0
662
+ */
563
663
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
564
664
  } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
565
665
  const arr = toReadonlyArray(self)
@@ -587,11 +687,71 @@ export const dropWhile: {
587
687
  * @since 2.0.0
588
688
  */
589
689
  export const prependAll: {
690
+ /**
691
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
692
+ * If either chunk is non-empty, the result is also a non-empty chunk.
693
+ *
694
+ * @example
695
+ * import { Chunk } from "effect"
696
+ *
697
+ * assert.deepStrictEqual(
698
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
699
+ * ["a", "b", 1, 2]
700
+ * )
701
+ *
702
+ * @category concatenating
703
+ * @since 2.0.0
704
+ */
590
705
  <S extends Chunk<any>, T extends Chunk<any>>(
591
706
  that: T
592
707
  ): (self: S) => Chunk.OrNonEmpty<S, T, Chunk.Infer<S> | Chunk.Infer<T>>
708
+ /**
709
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
710
+ * If either chunk is non-empty, the result is also a non-empty chunk.
711
+ *
712
+ * @example
713
+ * import { Chunk } from "effect"
714
+ *
715
+ * assert.deepStrictEqual(
716
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
717
+ * ["a", "b", 1, 2]
718
+ * )
719
+ *
720
+ * @category concatenating
721
+ * @since 2.0.0
722
+ */
593
723
  <A, B>(self: Chunk<A>, that: NonEmptyChunk<B>): NonEmptyChunk<A | B>
724
+ /**
725
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
726
+ * If either chunk is non-empty, the result is also a non-empty chunk.
727
+ *
728
+ * @example
729
+ * import { Chunk } from "effect"
730
+ *
731
+ * assert.deepStrictEqual(
732
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
733
+ * ["a", "b", 1, 2]
734
+ * )
735
+ *
736
+ * @category concatenating
737
+ * @since 2.0.0
738
+ */
594
739
  <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): NonEmptyChunk<A | B>
740
+ /**
741
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
742
+ * If either chunk is non-empty, the result is also a non-empty chunk.
743
+ *
744
+ * @example
745
+ * import { Chunk } from "effect"
746
+ *
747
+ * assert.deepStrictEqual(
748
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
749
+ * ["a", "b", 1, 2]
750
+ * )
751
+ *
752
+ * @category concatenating
753
+ * @since 2.0.0
754
+ */
595
755
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
596
756
  } = dual(2, <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): Chunk<A | B> => appendAll(that, self))
597
757
 
@@ -611,11 +771,71 @@ export const prependAll: {
611
771
  * @since 2.0.0
612
772
  */
613
773
  export const appendAll: {
774
+ /**
775
+ * Concatenates two chunks, combining their elements.
776
+ * If either chunk is non-empty, the result is also a non-empty chunk.
777
+ *
778
+ * @example
779
+ * import { Chunk } from "effect"
780
+ *
781
+ * assert.deepStrictEqual(
782
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
783
+ * [1, 2, "a", "b"]
784
+ * )
785
+ *
786
+ * @category concatenating
787
+ * @since 2.0.0
788
+ */
614
789
  <S extends Chunk<any>, T extends Chunk<any>>(
615
790
  that: T
616
791
  ): (self: S) => Chunk.OrNonEmpty<S, T, Chunk.Infer<S> | Chunk.Infer<T>>
792
+ /**
793
+ * Concatenates two chunks, combining their elements.
794
+ * If either chunk is non-empty, the result is also a non-empty chunk.
795
+ *
796
+ * @example
797
+ * import { Chunk } from "effect"
798
+ *
799
+ * assert.deepStrictEqual(
800
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
801
+ * [1, 2, "a", "b"]
802
+ * )
803
+ *
804
+ * @category concatenating
805
+ * @since 2.0.0
806
+ */
617
807
  <A, B>(self: Chunk<A>, that: NonEmptyChunk<B>): NonEmptyChunk<A | B>
808
+ /**
809
+ * Concatenates two chunks, combining their elements.
810
+ * If either chunk is non-empty, the result is also a non-empty chunk.
811
+ *
812
+ * @example
813
+ * import { Chunk } from "effect"
814
+ *
815
+ * assert.deepStrictEqual(
816
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
817
+ * [1, 2, "a", "b"]
818
+ * )
819
+ *
820
+ * @category concatenating
821
+ * @since 2.0.0
822
+ */
618
823
  <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): NonEmptyChunk<A | B>
824
+ /**
825
+ * Concatenates two chunks, combining their elements.
826
+ * If either chunk is non-empty, the result is also a non-empty chunk.
827
+ *
828
+ * @example
829
+ * import { Chunk } from "effect"
830
+ *
831
+ * assert.deepStrictEqual(
832
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
833
+ * [1, 2, "a", "b"]
834
+ * )
835
+ *
836
+ * @category concatenating
837
+ * @since 2.0.0
838
+ */
619
839
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
620
840
  } = dual(2, <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B> => {
621
841
  if (self.backing._tag === "IEmpty") {
@@ -626,7 +846,24 @@ export const appendAll: {
626
846
  }
627
847
  const diff = that.depth - self.depth
628
848
  if (Math.abs(diff) <= 1) {
629
- return makeChunk<A | B>({ _tag: "IConcat", left: self, right: that })
849
+ return makeChunk<
850
+ /**
851
+ * Concatenates two chunks, combining their elements.
852
+ * If either chunk is non-empty, the result is also a non-empty chunk.
853
+ *
854
+ * @example
855
+ * import { Chunk } from "effect"
856
+ *
857
+ * assert.deepStrictEqual(
858
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
859
+ * [1, 2, "a", "b"]
860
+ * )
861
+ *
862
+ * @category concatenating
863
+ * @since 2.0.0
864
+ */
865
+ A | B
866
+ >({ _tag: "IConcat", left: self, right: that })
630
867
  } else if (diff < -1) {
631
868
  if (self.left.depth >= self.right.depth) {
632
869
  const nr = appendAll(self.right, that)
@@ -665,7 +902,19 @@ export const appendAll: {
665
902
  * @category filtering
666
903
  */
667
904
  export const filterMap: {
905
+ /**
906
+ * Returns a filtered and mapped subset of the elements.
907
+ *
908
+ * @since 2.0.0
909
+ * @category filtering
910
+ */
668
911
  <A, B>(f: (a: A, i: number) => Option<B>): (self: Chunk<A>) => Chunk<B>
912
+ /**
913
+ * Returns a filtered and mapped subset of the elements.
914
+ *
915
+ * @since 2.0.0
916
+ * @category filtering
917
+ */
669
918
  <A, B>(self: Chunk<A>, f: (a: A, i: number) => Option<B>): Chunk<B>
670
919
  } = dual(
671
920
  2,
@@ -679,9 +928,33 @@ export const filterMap: {
679
928
  * @category filtering
680
929
  */
681
930
  export const filter: {
931
+ /**
932
+ * Returns a filtered and mapped subset of the elements.
933
+ *
934
+ * @since 2.0.0
935
+ * @category filtering
936
+ */
682
937
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Chunk<B>
938
+ /**
939
+ * Returns a filtered and mapped subset of the elements.
940
+ *
941
+ * @since 2.0.0
942
+ * @category filtering
943
+ */
683
944
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
945
+ /**
946
+ * Returns a filtered and mapped subset of the elements.
947
+ *
948
+ * @since 2.0.0
949
+ * @category filtering
950
+ */
684
951
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
952
+ /**
953
+ * Returns a filtered and mapped subset of the elements.
954
+ *
955
+ * @since 2.0.0
956
+ * @category filtering
957
+ */
685
958
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
686
959
  } = dual(
687
960
  2,
@@ -695,7 +968,19 @@ export const filter: {
695
968
  * @category filtering
696
969
  */
697
970
  export const filterMapWhile: {
971
+ /**
972
+ * Transforms all elements of the chunk for as long as the specified function returns some value
973
+ *
974
+ * @since 2.0.0
975
+ * @category filtering
976
+ */
698
977
  <A, B>(f: (a: A) => Option<B>): (self: Chunk<A>) => Chunk<B>
978
+ /**
979
+ * Transforms all elements of the chunk for as long as the specified function returns some value
980
+ *
981
+ * @since 2.0.0
982
+ * @category filtering
983
+ */
699
984
  <A, B>(self: Chunk<A>, f: (a: A) => Option<B>): Chunk<B>
700
985
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A) => Option<B>) => unsafeFromArray(RA.filterMapWhile(self, f)))
701
986
 
@@ -714,10 +999,28 @@ export const compact = <A>(self: Chunk<Option<A>>): Chunk<A> => filterMap(self,
714
999
  * @category sequencing
715
1000
  */
716
1001
  export const flatMap: {
1002
+ /**
1003
+ * Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
1004
+ *
1005
+ * @since 2.0.0
1006
+ * @category sequencing
1007
+ */
717
1008
  <S extends Chunk<any>, T extends Chunk<any>>(
718
1009
  f: (a: Chunk.Infer<S>, i: number) => T
719
1010
  ): (self: S) => Chunk.AndNonEmpty<S, T, Chunk.Infer<T>>
1011
+ /**
1012
+ * Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
1013
+ *
1014
+ * @since 2.0.0
1015
+ * @category sequencing
1016
+ */
720
1017
  <A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => NonEmptyChunk<B>): NonEmptyChunk<B>
1018
+ /**
1019
+ * Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
1020
+ *
1021
+ * @since 2.0.0
1022
+ * @category sequencing
1023
+ */
721
1024
  <A, B>(self: Chunk<A>, f: (a: A, i: number) => Chunk<B>): Chunk<B>
722
1025
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => Chunk<B>) => {
723
1026
  if (self.backing._tag === "ISingleton") {
@@ -738,7 +1041,19 @@ export const flatMap: {
738
1041
  * @category combinators
739
1042
  */
740
1043
  export const forEach: {
1044
+ /**
1045
+ * Applies the specified function to each element of the `List`.
1046
+ *
1047
+ * @since 2.0.0
1048
+ * @category combinators
1049
+ */
741
1050
  <A, B>(f: (a: A) => B): (self: Chunk<A>) => void
1051
+ /**
1052
+ * Applies the specified function to each element of the `List`.
1053
+ *
1054
+ * @since 2.0.0
1055
+ * @category combinators
1056
+ */
742
1057
  <A, B>(self: Chunk<A>, f: (a: A) => B): void
743
1058
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A) => B): void => toReadonlyArray(self).forEach(f))
744
1059
 
@@ -757,7 +1072,19 @@ export const flatten: <S extends Chunk<Chunk<any>>>(self: S) => Chunk.Flatten<S>
757
1072
  * @category elements
758
1073
  */
759
1074
  export const chunksOf: {
1075
+ /**
1076
+ * Groups elements in chunks of up to `n` elements.
1077
+ *
1078
+ * @since 2.0.0
1079
+ * @category elements
1080
+ */
760
1081
  (n: number): <A>(self: Chunk<A>) => Chunk<Chunk<A>>
1082
+ /**
1083
+ * Groups elements in chunks of up to `n` elements.
1084
+ *
1085
+ * @since 2.0.0
1086
+ * @category elements
1087
+ */
761
1088
  <A>(self: Chunk<A>, n: number): Chunk<Chunk<A>>
762
1089
  } = dual(2, <A>(self: Chunk<A>, n: number) => {
763
1090
  const gr: Array<Chunk<A>> = []
@@ -784,7 +1111,23 @@ export const chunksOf: {
784
1111
  * @category elements
785
1112
  */
786
1113
  export const intersection: {
1114
+ /**
1115
+ * Creates a Chunk of unique values that are included in all given Chunks.
1116
+ *
1117
+ * The order and references of result values are determined by the Chunk.
1118
+ *
1119
+ * @since 2.0.0
1120
+ * @category elements
1121
+ */
787
1122
  <A>(that: Chunk<A>): <B>(self: Chunk<B>) => Chunk<A & B>
1123
+ /**
1124
+ * Creates a Chunk of unique values that are included in all given Chunks.
1125
+ *
1126
+ * The order and references of result values are determined by the Chunk.
1127
+ *
1128
+ * @since 2.0.0
1129
+ * @category elements
1130
+ */
788
1131
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A & B>
789
1132
  } = dual(
790
1133
  2,
@@ -914,8 +1257,53 @@ export declare namespace Chunk {
914
1257
  * @category mapping
915
1258
  */
916
1259
  export const map: {
1260
+ /**
1261
+ * Transforms the elements of a chunk using the specified mapping function.
1262
+ * If the input chunk is non-empty, the resulting chunk will also be non-empty.
1263
+ *
1264
+ * @example
1265
+ * import { Chunk } from "effect"
1266
+ *
1267
+ * assert.deepStrictEqual(
1268
+ * Chunk.map(Chunk.make(1, 2), (n) => n + 1),
1269
+ * Chunk.make(2, 3)
1270
+ * )
1271
+ *
1272
+ * @since 2.0.0
1273
+ * @category mapping
1274
+ */
917
1275
  <S extends Chunk<any>, B>(f: (a: Chunk.Infer<S>, i: number) => B): (self: S) => Chunk.With<S, B>
1276
+ /**
1277
+ * Transforms the elements of a chunk using the specified mapping function.
1278
+ * If the input chunk is non-empty, the resulting chunk will also be non-empty.
1279
+ *
1280
+ * @example
1281
+ * import { Chunk } from "effect"
1282
+ *
1283
+ * assert.deepStrictEqual(
1284
+ * Chunk.map(Chunk.make(1, 2), (n) => n + 1),
1285
+ * Chunk.make(2, 3)
1286
+ * )
1287
+ *
1288
+ * @since 2.0.0
1289
+ * @category mapping
1290
+ */
918
1291
  <A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => B): NonEmptyChunk<B>
1292
+ /**
1293
+ * Transforms the elements of a chunk using the specified mapping function.
1294
+ * If the input chunk is non-empty, the resulting chunk will also be non-empty.
1295
+ *
1296
+ * @example
1297
+ * import { Chunk } from "effect"
1298
+ *
1299
+ * assert.deepStrictEqual(
1300
+ * Chunk.map(Chunk.make(1, 2), (n) => n + 1),
1301
+ * Chunk.make(2, 3)
1302
+ * )
1303
+ *
1304
+ * @since 2.0.0
1305
+ * @category mapping
1306
+ */
919
1307
  <A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B>
920
1308
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B> =>
921
1309
  self.backing._tag === "ISingleton" ?
@@ -929,7 +1317,19 @@ export const map: {
929
1317
  * @category folding
930
1318
  */
931
1319
  export const mapAccum: {
1320
+ /**
1321
+ * Statefully maps over the chunk, producing new elements of type `B`.
1322
+ *
1323
+ * @since 2.0.0
1324
+ * @category folding
1325
+ */
932
1326
  <S, A, B>(s: S, f: (s: S, a: A) => readonly [S, B]): (self: Chunk<A>) => [S, Chunk<B>]
1327
+ /**
1328
+ * Statefully maps over the chunk, producing new elements of type `B`.
1329
+ *
1330
+ * @since 2.0.0
1331
+ * @category folding
1332
+ */
933
1333
  <S, A, B>(self: Chunk<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Chunk<B>]
934
1334
  } = dual(3, <S, A, B>(self: Chunk<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Chunk<B>] => {
935
1335
  const [s1, as] = RA.mapAccum(self, s, f)
@@ -943,16 +1343,38 @@ export const mapAccum: {
943
1343
  * @since 2.0.0
944
1344
  */
945
1345
  export const partition: {
1346
+ /**
1347
+ * Separate elements based on a predicate that also exposes the index of the element.
1348
+ *
1349
+ * @category filtering
1350
+ * @since 2.0.0
1351
+ */
946
1352
  <A, B extends A>(
947
1353
  refinement: (a: NoInfer<A>, i: number) => a is B
948
1354
  ): (self: Chunk<A>) => [excluded: Chunk<Exclude<A, B>>, satisfying: Chunk<B>]
949
- <A>(
950
- predicate: (a: NoInfer<A>, i: number) => boolean
951
- ): (self: Chunk<A>) => [excluded: Chunk<A>, satisfying: Chunk<A>]
1355
+ /**
1356
+ * Separate elements based on a predicate that also exposes the index of the element.
1357
+ *
1358
+ * @category filtering
1359
+ * @since 2.0.0
1360
+ */
1361
+ <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Chunk<A>) => [excluded: Chunk<A>, satisfying: Chunk<A>]
1362
+ /**
1363
+ * Separate elements based on a predicate that also exposes the index of the element.
1364
+ *
1365
+ * @category filtering
1366
+ * @since 2.0.0
1367
+ */
952
1368
  <A, B extends A>(
953
1369
  self: Chunk<A>,
954
1370
  refinement: (a: A, i: number) => a is B
955
1371
  ): [excluded: Chunk<Exclude<A, B>>, satisfying: Chunk<B>]
1372
+ /**
1373
+ * Separate elements based on a predicate that also exposes the index of the element.
1374
+ *
1375
+ * @category filtering
1376
+ * @since 2.0.0
1377
+ */
956
1378
  <A>(self: Chunk<A>, predicate: (a: A, i: number) => boolean): [excluded: Chunk<A>, satisfying: Chunk<A>]
957
1379
  } = dual(
958
1380
  2,
@@ -970,7 +1392,19 @@ export const partition: {
970
1392
  * @since 2.0.0
971
1393
  */
972
1394
  export const partitionMap: {
1395
+ /**
1396
+ * Partitions the elements of this chunk into two chunks using f.
1397
+ *
1398
+ * @category filtering
1399
+ * @since 2.0.0
1400
+ */
973
1401
  <A, B, C>(f: (a: A) => Either<C, B>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
1402
+ /**
1403
+ * Partitions the elements of this chunk into two chunks using f.
1404
+ *
1405
+ * @category filtering
1406
+ * @since 2.0.0
1407
+ */
974
1408
  <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>]
975
1409
  } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>] =>
976
1410
  pipe(
@@ -1005,7 +1439,19 @@ export const size = <A>(self: Chunk<A>): number => self.length
1005
1439
  * @category sorting
1006
1440
  */
1007
1441
  export const sort: {
1442
+ /**
1443
+ * Sort the elements of a Chunk in increasing order, creating a new Chunk.
1444
+ *
1445
+ * @since 2.0.0
1446
+ * @category sorting
1447
+ */
1008
1448
  <B>(O: Order.Order<B>): <A extends B>(self: Chunk<A>) => Chunk<A>
1449
+ /**
1450
+ * Sort the elements of a Chunk in increasing order, creating a new Chunk.
1451
+ *
1452
+ * @since 2.0.0
1453
+ * @category sorting
1454
+ */
1009
1455
  <A extends B, B>(self: Chunk<A>, O: Order.Order<B>): Chunk<A>
1010
1456
  } = dual(
1011
1457
  2,
@@ -1017,7 +1463,15 @@ export const sort: {
1017
1463
  * @category sorting
1018
1464
  */
1019
1465
  export const sortWith: {
1466
+ /**
1467
+ * @since 2.0.0
1468
+ * @category sorting
1469
+ */
1020
1470
  <A, B>(f: (a: A) => B, order: Order.Order<B>): (self: Chunk<A>) => Chunk<A>
1471
+ /**
1472
+ * @since 2.0.0
1473
+ * @category sorting
1474
+ */
1021
1475
  <A, B>(self: Chunk<A>, f: (a: A) => B, order: Order.Order<B>): Chunk<A>
1022
1476
  } = dual(
1023
1477
  3,
@@ -1031,7 +1485,19 @@ export const sortWith: {
1031
1485
  * @category splitting
1032
1486
  */
1033
1487
  export const splitAt: {
1488
+ /**
1489
+ * Returns two splits of this chunk at the specified index.
1490
+ *
1491
+ * @since 2.0.0
1492
+ * @category splitting
1493
+ */
1034
1494
  (n: number): <A>(self: Chunk<A>) => [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
1495
+ /**
1496
+ * Returns two splits of this chunk at the specified index.
1497
+ *
1498
+ * @since 2.0.0
1499
+ * @category splitting
1500
+ */
1035
1501
  <A>(self: Chunk<A>, n: number): [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
1036
1502
  } = dual(2, <A>(self: Chunk<A>, n: number): [Chunk<A>, Chunk<A>] => [take(self, n), drop(self, n)])
1037
1503
 
@@ -1043,7 +1509,21 @@ export const splitAt: {
1043
1509
  * @since 2.0.0
1044
1510
  */
1045
1511
  export const splitNonEmptyAt: {
1512
+ /**
1513
+ * Splits a `NonEmptyChunk` into two segments, with the first segment containing a maximum of `n` elements.
1514
+ * The value of `n` must be `>= 1`.
1515
+ *
1516
+ * @category splitting
1517
+ * @since 2.0.0
1518
+ */
1046
1519
  (n: number): <A>(self: NonEmptyChunk<A>) => [beforeIndex: NonEmptyChunk<A>, fromIndex: Chunk<A>]
1520
+ /**
1521
+ * Splits a `NonEmptyChunk` into two segments, with the first segment containing a maximum of `n` elements.
1522
+ * The value of `n` must be `>= 1`.
1523
+ *
1524
+ * @category splitting
1525
+ * @since 2.0.0
1526
+ */
1047
1527
  <A>(self: NonEmptyChunk<A>, n: number): [beforeIndex: NonEmptyChunk<A>, fromIndex: Chunk<A>]
1048
1528
  } = dual(2, <A>(self: NonEmptyChunk<A>, n: number): [Chunk<A>, Chunk<A>] => {
1049
1529
  const _n = Math.max(1, Math.floor(n))
@@ -1059,7 +1539,19 @@ export const splitNonEmptyAt: {
1059
1539
  * @category splitting
1060
1540
  */
1061
1541
  export const split: {
1542
+ /**
1543
+ * Splits this chunk into `n` equally sized chunks.
1544
+ *
1545
+ * @since 2.0.0
1546
+ * @category splitting
1547
+ */
1062
1548
  (n: number): <A>(self: Chunk<A>) => Chunk<Chunk<A>>
1549
+ /**
1550
+ * Splits this chunk into `n` equally sized chunks.
1551
+ *
1552
+ * @since 2.0.0
1553
+ * @category splitting
1554
+ */
1063
1555
  <A>(self: Chunk<A>, n: number): Chunk<Chunk<A>>
1064
1556
  } = dual(2, <A>(self: Chunk<A>, n: number) => chunksOf(self, Math.ceil(self.length / Math.floor(n))))
1065
1557
 
@@ -1071,7 +1563,21 @@ export const split: {
1071
1563
  * @since 2.0.0
1072
1564
  */
1073
1565
  export const splitWhere: {
1566
+ /**
1567
+ * Splits this chunk on the first element that matches this predicate.
1568
+ * Returns a tuple containing two chunks: the first one is before the match, and the second one is from the match onward.
1569
+ *
1570
+ * @category splitting
1571
+ * @since 2.0.0
1572
+ */
1074
1573
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
1574
+ /**
1575
+ * Splits this chunk on the first element that matches this predicate.
1576
+ * Returns a tuple containing two chunks: the first one is before the match, and the second one is from the match onward.
1577
+ *
1578
+ * @category splitting
1579
+ * @since 2.0.0
1580
+ */
1075
1581
  <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
1076
1582
  } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>] => {
1077
1583
  let i = 0
@@ -1108,7 +1614,19 @@ export const tailNonEmpty = <A>(self: NonEmptyChunk<A>): Chunk<A> => drop(self,
1108
1614
  * @category elements
1109
1615
  */
1110
1616
  export const takeRight: {
1617
+ /**
1618
+ * Takes the last `n` elements.
1619
+ *
1620
+ * @since 2.0.0
1621
+ * @category elements
1622
+ */
1111
1623
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
1624
+ /**
1625
+ * Takes the last `n` elements.
1626
+ *
1627
+ * @since 2.0.0
1628
+ * @category elements
1629
+ */
1112
1630
  <A>(self: Chunk<A>, n: number): Chunk<A>
1113
1631
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => drop(self, self.length - n))
1114
1632
 
@@ -1119,9 +1637,33 @@ export const takeRight: {
1119
1637
  * @category elements
1120
1638
  */
1121
1639
  export const takeWhile: {
1640
+ /**
1641
+ * Takes all elements so long as the predicate returns true.
1642
+ *
1643
+ * @since 2.0.0
1644
+ * @category elements
1645
+ */
1122
1646
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Chunk<B>
1647
+ /**
1648
+ * Takes all elements so long as the predicate returns true.
1649
+ *
1650
+ * @since 2.0.0
1651
+ * @category elements
1652
+ */
1123
1653
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
1654
+ /**
1655
+ * Takes all elements so long as the predicate returns true.
1656
+ *
1657
+ * @since 2.0.0
1658
+ * @category elements
1659
+ */
1124
1660
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
1661
+ /**
1662
+ * Takes all elements so long as the predicate returns true.
1663
+ *
1664
+ * @since 2.0.0
1665
+ * @category elements
1666
+ */
1125
1667
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
1126
1668
  } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
1127
1669
  const out: Array<A> = []
@@ -1142,7 +1684,19 @@ export const takeWhile: {
1142
1684
  * @category elements
1143
1685
  */
1144
1686
  export const union: {
1687
+ /**
1688
+ * Creates a Chunks of unique values, in order, from all given Chunks.
1689
+ *
1690
+ * @since 2.0.0
1691
+ * @category elements
1692
+ */
1145
1693
  <A>(that: Chunk<A>): <B>(self: Chunk<B>) => Chunk<A | B>
1694
+ /**
1695
+ * Creates a Chunks of unique values, in order, from all given Chunks.
1696
+ *
1697
+ * @since 2.0.0
1698
+ * @category elements
1699
+ */
1146
1700
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
1147
1701
  } = dual(
1148
1702
  2,
@@ -1185,7 +1739,19 @@ export const unzip = <A, B>(self: Chunk<readonly [A, B]>): [Chunk<A>, Chunk<B>]
1185
1739
  * @category zipping
1186
1740
  */
1187
1741
  export const zipWith: {
1742
+ /**
1743
+ * Zips this chunk pointwise with the specified chunk using the specified combiner.
1744
+ *
1745
+ * @since 2.0.0
1746
+ * @category zipping
1747
+ */
1188
1748
  <A, B, C>(that: Chunk<B>, f: (a: A, b: B) => C): (self: Chunk<A>) => Chunk<C>
1749
+ /**
1750
+ * Zips this chunk pointwise with the specified chunk using the specified combiner.
1751
+ *
1752
+ * @since 2.0.0
1753
+ * @category zipping
1754
+ */
1189
1755
  <A, B, C>(self: Chunk<A>, that: Chunk<B>, f: (a: A, b: B) => C): Chunk<C>
1190
1756
  } = dual(
1191
1757
  3,
@@ -1200,7 +1766,19 @@ export const zipWith: {
1200
1766
  * @category zipping
1201
1767
  */
1202
1768
  export const zip: {
1769
+ /**
1770
+ * Zips this chunk pointwise with the specified chunk.
1771
+ *
1772
+ * @since 2.0.0
1773
+ * @category zipping
1774
+ */
1203
1775
  <B>(that: Chunk<B>): <A>(self: Chunk<A>) => Chunk<[A, B]>
1776
+ /**
1777
+ * Zips this chunk pointwise with the specified chunk.
1778
+ *
1779
+ * @since 2.0.0
1780
+ * @category zipping
1781
+ */
1204
1782
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<[A, B]>
1205
1783
  } = dual(
1206
1784
  2,
@@ -1214,7 +1792,19 @@ export const zip: {
1214
1792
  * @since 2.0.0
1215
1793
  */
1216
1794
  export const remove: {
1795
+ /**
1796
+ * Delete the element at the specified index, creating a new `Chunk`,
1797
+ * or returning the input if the index is out of bounds.
1798
+ *
1799
+ * @since 2.0.0
1800
+ */
1217
1801
  (i: number): <A>(self: Chunk<A>) => Chunk<A>
1802
+ /**
1803
+ * Delete the element at the specified index, creating a new `Chunk`,
1804
+ * or returning the input if the index is out of bounds.
1805
+ *
1806
+ * @since 2.0.0
1807
+ */
1218
1808
  <A>(self: Chunk<A>, i: number): Chunk<A>
1219
1809
  } = dual(
1220
1810
  2,
@@ -1225,7 +1815,13 @@ export const remove: {
1225
1815
  * @since 2.0.0
1226
1816
  */
1227
1817
  export const modifyOption: {
1818
+ /**
1819
+ * @since 2.0.0
1820
+ */
1228
1821
  <A, B>(i: number, f: (a: A) => B): (self: Chunk<A>) => Option<Chunk<A | B>>
1822
+ /**
1823
+ * @since 2.0.0
1824
+ */
1229
1825
  <A, B>(self: Chunk<A>, i: number, f: (a: A) => B): Option<Chunk<A | B>>
1230
1826
  } = dual(
1231
1827
  3,
@@ -1240,7 +1836,19 @@ export const modifyOption: {
1240
1836
  * @since 2.0.0
1241
1837
  */
1242
1838
  export const modify: {
1839
+ /**
1840
+ * Apply a function to the element at the specified index, creating a new `Chunk`,
1841
+ * or returning the input if the index is out of bounds.
1842
+ *
1843
+ * @since 2.0.0
1844
+ */
1243
1845
  <A, B>(i: number, f: (a: A) => B): (self: Chunk<A>) => Chunk<A | B>
1846
+ /**
1847
+ * Apply a function to the element at the specified index, creating a new `Chunk`,
1848
+ * or returning the input if the index is out of bounds.
1849
+ *
1850
+ * @since 2.0.0
1851
+ */
1244
1852
  <A, B>(self: Chunk<A>, i: number, f: (a: A) => B): Chunk<A | B>
1245
1853
  } = dual(
1246
1854
  3,
@@ -1254,7 +1862,19 @@ export const modify: {
1254
1862
  * @since 2.0.0
1255
1863
  */
1256
1864
  export const replace: {
1865
+ /**
1866
+ * Change the element at the specified index, creating a new `Chunk`,
1867
+ * or returning the input if the index is out of bounds.
1868
+ *
1869
+ * @since 2.0.0
1870
+ */
1257
1871
  <B>(i: number, b: B): <A>(self: Chunk<A>) => Chunk<B | A>
1872
+ /**
1873
+ * Change the element at the specified index, creating a new `Chunk`,
1874
+ * or returning the input if the index is out of bounds.
1875
+ *
1876
+ * @since 2.0.0
1877
+ */
1258
1878
  <A, B>(self: Chunk<A>, i: number, b: B): Chunk<B | A>
1259
1879
  } = dual(3, <A, B>(self: Chunk<A>, i: number, b: B): Chunk<B | A> => modify(self, i, () => b))
1260
1880
 
@@ -1262,7 +1882,13 @@ export const replace: {
1262
1882
  * @since 2.0.0
1263
1883
  */
1264
1884
  export const replaceOption: {
1885
+ /**
1886
+ * @since 2.0.0
1887
+ */
1265
1888
  <B>(i: number, b: B): <A>(self: Chunk<A>) => Option<Chunk<B | A>>
1889
+ /**
1890
+ * @since 2.0.0
1891
+ */
1266
1892
  <A, B>(self: Chunk<A>, i: number, b: B): Option<Chunk<B | A>>
1267
1893
  } = dual(3, <A, B>(self: Chunk<A>, i: number, b: B): Option<Chunk<B | A>> => modifyOption(self, i, () => b))
1268
1894
 
@@ -1275,7 +1901,23 @@ export const replaceOption: {
1275
1901
  * @since 2.0.0
1276
1902
  */
1277
1903
  export const makeBy: {
1904
+ /**
1905
+ * Return a Chunk of length n with element i initialized with f(i).
1906
+ *
1907
+ * **Note**. `n` is normalized to an integer >= 1.
1908
+ *
1909
+ * @category constructors
1910
+ * @since 2.0.0
1911
+ */
1278
1912
  <A>(f: (i: number) => A): (n: number) => NonEmptyChunk<A>
1913
+ /**
1914
+ * Return a Chunk of length n with element i initialized with f(i).
1915
+ *
1916
+ * **Note**. `n` is normalized to an integer >= 1.
1917
+ *
1918
+ * @category constructors
1919
+ * @since 2.0.0
1920
+ */
1279
1921
  <A>(n: number, f: (i: number) => A): NonEmptyChunk<A>
1280
1922
  } = dual(2, (n, f) => fromIterable(RA.makeBy(n, f)))
1281
1923
 
@@ -1299,7 +1941,27 @@ export const range = (start: number, end: number): NonEmptyChunk<number> =>
1299
1941
  * @since 2.0.0
1300
1942
  */
1301
1943
  export const contains: {
1944
+ // -------------------------------------------------------------------------------------
1945
+ // re-exports from ReadonlyArray
1946
+ // -------------------------------------------------------------------------------------
1947
+
1948
+ /**
1949
+ * Returns a function that checks if a `Chunk` contains a given value using the default `Equivalence`.
1950
+ *
1951
+ * @category elements
1952
+ * @since 2.0.0
1953
+ */
1302
1954
  <A>(a: A): (self: Chunk<A>) => boolean
1955
+ // -------------------------------------------------------------------------------------
1956
+ // re-exports from ReadonlyArray
1957
+ // -------------------------------------------------------------------------------------
1958
+
1959
+ /**
1960
+ * Returns a function that checks if a `Chunk` contains a given value using the default `Equivalence`.
1961
+ *
1962
+ * @category elements
1963
+ * @since 2.0.0
1964
+ */
1303
1965
  <A>(self: Chunk<A>, a: A): boolean
1304
1966
  } = RA.contains
1305
1967
 
@@ -1324,9 +1986,37 @@ export const containsWith: <A>(
1324
1986
  * @since 2.0.0
1325
1987
  */
1326
1988
  export const findFirst: {
1989
+ /**
1990
+ * Returns the first element that satisfies the specified
1991
+ * predicate, or `None` if no such element exists.
1992
+ *
1993
+ * @category elements
1994
+ * @since 2.0.0
1995
+ */
1327
1996
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Option<B>
1997
+ /**
1998
+ * Returns the first element that satisfies the specified
1999
+ * predicate, or `None` if no such element exists.
2000
+ *
2001
+ * @category elements
2002
+ * @since 2.0.0
2003
+ */
1328
2004
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Option<A>
2005
+ /**
2006
+ * Returns the first element that satisfies the specified
2007
+ * predicate, or `None` if no such element exists.
2008
+ *
2009
+ * @category elements
2010
+ * @since 2.0.0
2011
+ */
1329
2012
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
2013
+ /**
2014
+ * Returns the first element that satisfies the specified
2015
+ * predicate, or `None` if no such element exists.
2016
+ *
2017
+ * @category elements
2018
+ * @since 2.0.0
2019
+ */
1330
2020
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
1331
2021
  } = RA.findFirst
1332
2022
 
@@ -1337,7 +2027,19 @@ export const findFirst: {
1337
2027
  * @since 2.0.0
1338
2028
  */
1339
2029
  export const findFirstIndex: {
2030
+ /**
2031
+ * Return the first index for which a predicate holds.
2032
+ *
2033
+ * @category elements
2034
+ * @since 2.0.0
2035
+ */
1340
2036
  <A>(predicate: Predicate<A>): (self: Chunk<A>) => Option<number>
2037
+ /**
2038
+ * Return the first index for which a predicate holds.
2039
+ *
2040
+ * @category elements
2041
+ * @since 2.0.0
2042
+ */
1341
2043
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<number>
1342
2044
  } = RA.findFirstIndex
1343
2045
 
@@ -1348,9 +2050,33 @@ export const findFirstIndex: {
1348
2050
  * @since 2.0.0
1349
2051
  */
1350
2052
  export const findLast: {
2053
+ /**
2054
+ * Find the last element for which a predicate holds.
2055
+ *
2056
+ * @category elements
2057
+ * @since 2.0.0
2058
+ */
1351
2059
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Option<B>
2060
+ /**
2061
+ * Find the last element for which a predicate holds.
2062
+ *
2063
+ * @category elements
2064
+ * @since 2.0.0
2065
+ */
1352
2066
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Option<A>
2067
+ /**
2068
+ * Find the last element for which a predicate holds.
2069
+ *
2070
+ * @category elements
2071
+ * @since 2.0.0
2072
+ */
1353
2073
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
2074
+ /**
2075
+ * Find the last element for which a predicate holds.
2076
+ *
2077
+ * @category elements
2078
+ * @since 2.0.0
2079
+ */
1354
2080
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
1355
2081
  } = RA.findLast
1356
2082
 
@@ -1361,7 +2087,19 @@ export const findLast: {
1361
2087
  * @since 2.0.0
1362
2088
  */
1363
2089
  export const findLastIndex: {
2090
+ /**
2091
+ * Return the last index for which a predicate holds.
2092
+ *
2093
+ * @category elements
2094
+ * @since 2.0.0
2095
+ */
1364
2096
  <A>(predicate: Predicate<A>): (self: Chunk<A>) => Option<number>
2097
+ /**
2098
+ * Return the last index for which a predicate holds.
2099
+ *
2100
+ * @category elements
2101
+ * @since 2.0.0
2102
+ */
1365
2103
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<number>
1366
2104
  } = RA.findLastIndex
1367
2105
 
@@ -1372,9 +2110,33 @@ export const findLastIndex: {
1372
2110
  * @since 2.0.0
1373
2111
  */
1374
2112
  export const every: {
2113
+ /**
2114
+ * Check if a predicate holds true for every `Chunk` element.
2115
+ *
2116
+ * @category elements
2117
+ * @since 2.0.0
2118
+ */
1375
2119
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => self is Chunk<B>
2120
+ /**
2121
+ * Check if a predicate holds true for every `Chunk` element.
2122
+ *
2123
+ * @category elements
2124
+ * @since 2.0.0
2125
+ */
1376
2126
  <A>(predicate: Predicate<A>): (self: Chunk<A>) => boolean
2127
+ /**
2128
+ * Check if a predicate holds true for every `Chunk` element.
2129
+ *
2130
+ * @category elements
2131
+ * @since 2.0.0
2132
+ */
1377
2133
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): self is Chunk<B>
2134
+ /**
2135
+ * Check if a predicate holds true for every `Chunk` element.
2136
+ *
2137
+ * @category elements
2138
+ * @since 2.0.0
2139
+ */
1378
2140
  <A>(self: Chunk<A>, predicate: Predicate<A>): boolean
1379
2141
  } = dual(
1380
2142
  2,
@@ -1389,7 +2151,19 @@ export const every: {
1389
2151
  * @since 2.0.0
1390
2152
  */
1391
2153
  export const some: {
2154
+ /**
2155
+ * Check if a predicate holds true for some `Chunk` element.
2156
+ *
2157
+ * @category elements
2158
+ * @since 2.0.0
2159
+ */
1392
2160
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => self is NonEmptyChunk<A>
2161
+ /**
2162
+ * Check if a predicate holds true for some `Chunk` element.
2163
+ *
2164
+ * @category elements
2165
+ * @since 2.0.0
2166
+ */
1393
2167
  <A>(self: Chunk<A>, predicate: Predicate<A>): self is NonEmptyChunk<A>
1394
2168
  } = dual(
1395
2169
  2,
@@ -1403,7 +2177,19 @@ export const some: {
1403
2177
  * @since 2.0.0
1404
2178
  */
1405
2179
  export const join: {
2180
+ /**
2181
+ * Joins the elements together with "sep" in the middle.
2182
+ *
2183
+ * @category folding
2184
+ * @since 2.0.0
2185
+ */
1406
2186
  (sep: string): (self: Chunk<string>) => string
2187
+ /**
2188
+ * Joins the elements together with "sep" in the middle.
2189
+ *
2190
+ * @category folding
2191
+ * @since 2.0.0
2192
+ */
1407
2193
  (self: Chunk<string>, sep: string): string
1408
2194
  } = RA.join
1409
2195
 
@@ -1412,7 +2198,15 @@ export const join: {
1412
2198
  * @since 2.0.0
1413
2199
  */
1414
2200
  export const reduce: {
2201
+ /**
2202
+ * @category folding
2203
+ * @since 2.0.0
2204
+ */
1415
2205
  <B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Chunk<A>) => B
2206
+ /**
2207
+ * @category folding
2208
+ * @since 2.0.0
2209
+ */
1416
2210
  <A, B>(self: Chunk<A>, b: B, f: (b: B, a: A, i: number) => B): B
1417
2211
  } = RA.reduce
1418
2212
 
@@ -1421,7 +2215,15 @@ export const reduce: {
1421
2215
  * @since 2.0.0
1422
2216
  */
1423
2217
  export const reduceRight: {
2218
+ /**
2219
+ * @category folding
2220
+ * @since 2.0.0
2221
+ */
1424
2222
  <B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Chunk<A>) => B
2223
+ /**
2224
+ * @category folding
2225
+ * @since 2.0.0
2226
+ */
1425
2227
  <A, B>(self: Chunk<A>, b: B, f: (b: B, a: A, i: number) => B): B
1426
2228
  } = RA.reduceRight
1427
2229
 
@@ -1448,7 +2250,19 @@ export const differenceWith = <A>(isEquivalent: (self: A, that: A) => boolean):
1448
2250
  * @since 3.2.0
1449
2251
  */
1450
2252
  export const difference: {
2253
+ /**
2254
+ * Creates a `Chunk` of values not included in the other given `Chunk`.
2255
+ * The order and references of result values are determined by the first `Chunk`.
2256
+ *
2257
+ * @since 3.2.0
2258
+ */
1451
2259
  <A>(that: Chunk<A>): (self: Chunk<A>) => Chunk<A>
2260
+ /**
2261
+ * Creates a `Chunk` of values not included in the other given `Chunk`.
2262
+ * The order and references of result values are determined by the first `Chunk`.
2263
+ *
2264
+ * @since 3.2.0
2265
+ */
1452
2266
  <A>(self: Chunk<A>, that: Chunk<A>): Chunk<A>
1453
2267
  } = dual(
1454
2268
  2,