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/Chunk.ts CHANGED
@@ -9,7 +9,7 @@ import * as Equivalence from "./Equivalence.js"
9
9
  import { dual, identity, pipe } from "./Function.js"
10
10
  import * as Hash from "./Hash.js"
11
11
  import type { TypeLambda } from "./HKT.js"
12
- import { format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
12
+ import { DenoInspectSymbol, format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
13
13
  import type { NonEmptyIterable } from "./NonEmptyIterable.js"
14
14
  import type { Option } from "./Option.js"
15
15
  import * as O from "./Option.js"
@@ -135,6 +135,9 @@ const ChunkProto: Omit<Chunk<unknown>, "backing" | "depth" | "left" | "length" |
135
135
  values: toReadonlyArray(this).map(toJSON)
136
136
  }
137
137
  },
138
+ [DenoInspectSymbol]<A>(this: Chunk<A>) {
139
+ return this.toJSON()
140
+ },
138
141
  [NodeInspectSymbol]<A>(this: Chunk<A>) {
139
142
  return this.toJSON()
140
143
  },
@@ -212,7 +215,19 @@ const makeChunk = <A>(backing: Backing<A>): Chunk<A> => {
212
215
  * @since 2.0.0
213
216
  */
214
217
  export const isChunk: {
218
+ /**
219
+ * Checks if `u` is a `Chunk<unknown>`
220
+ *
221
+ * @category constructors
222
+ * @since 2.0.0
223
+ */
215
224
  <A>(u: Iterable<A>): u is Chunk<A>
225
+ /**
226
+ * Checks if `u` is a `Chunk<unknown>`
227
+ *
228
+ * @category constructors
229
+ * @since 2.0.0
230
+ */
216
231
  (u: unknown): u is Chunk<unknown>
217
232
  } = (u: unknown): u is Chunk<unknown> => hasProperty(u, TypeId)
218
233
 
@@ -368,7 +383,19 @@ export const reverse: <S extends Chunk<any>>(self: S) => Chunk.With<S, Chunk.Inf
368
383
  * @since 2.0.0
369
384
  */
370
385
  export const get: {
386
+ /**
387
+ * This function provides a safe way to read a value at a particular index from a `Chunk`.
388
+ *
389
+ * @category elements
390
+ * @since 2.0.0
391
+ */
371
392
  (index: number): <A>(self: Chunk<A>) => Option<A>
393
+ /**
394
+ * This function provides a safe way to read a value at a particular index from a `Chunk`.
395
+ *
396
+ * @category elements
397
+ * @since 2.0.0
398
+ */
372
399
  <A>(self: Chunk<A>, index: number): Option<A>
373
400
  } = dual(
374
401
  2,
@@ -400,7 +427,19 @@ export const unsafeFromNonEmptyArray = <A>(self: NonEmptyReadonlyArray<A>): NonE
400
427
  * @category unsafe
401
428
  */
402
429
  export const unsafeGet: {
430
+ /**
431
+ * Gets an element unsafely, will throw on out of bounds
432
+ *
433
+ * @since 2.0.0
434
+ * @category unsafe
435
+ */
403
436
  (index: number): <A>(self: Chunk<A>) => A
437
+ /**
438
+ * Gets an element unsafely, will throw on out of bounds
439
+ *
440
+ * @since 2.0.0
441
+ * @category unsafe
442
+ */
404
443
  <A>(self: Chunk<A>, index: number): A
405
444
  } = dual(2, <A>(self: Chunk<A>, index: number): A => {
406
445
  switch (self.backing._tag) {
@@ -437,7 +476,19 @@ export const unsafeGet: {
437
476
  * @since 2.0.0
438
477
  */
439
478
  export const append: {
479
+ /**
480
+ * Appends the specified element to the end of the `Chunk`.
481
+ *
482
+ * @category concatenating
483
+ * @since 2.0.0
484
+ */
440
485
  <A2>(a: A2): <A>(self: Chunk<A>) => NonEmptyChunk<A2 | A>
486
+ /**
487
+ * Appends the specified element to the end of the `Chunk`.
488
+ *
489
+ * @category concatenating
490
+ * @since 2.0.0
491
+ */
441
492
  <A, A2>(self: Chunk<A>, a: A2): NonEmptyChunk<A | A2>
442
493
  } = dual(2, <A, A2>(self: Chunk<A>, a: A2): NonEmptyChunk<A | A2> => appendAll(self, of(a)))
443
494
 
@@ -448,7 +499,19 @@ export const append: {
448
499
  * @since 2.0.0
449
500
  */
450
501
  export const prepend: {
502
+ /**
503
+ * Prepend an element to the front of a `Chunk`, creating a new `NonEmptyChunk`.
504
+ *
505
+ * @category concatenating
506
+ * @since 2.0.0
507
+ */
451
508
  <B>(elem: B): <A>(self: Chunk<A>) => NonEmptyChunk<B | A>
509
+ /**
510
+ * Prepend an element to the front of a `Chunk`, creating a new `NonEmptyChunk`.
511
+ *
512
+ * @category concatenating
513
+ * @since 2.0.0
514
+ */
452
515
  <A, B>(self: Chunk<A>, elem: B): NonEmptyChunk<A | B>
453
516
  } = dual(2, <A, B>(self: Chunk<A>, elem: B): NonEmptyChunk<A | B> => appendAll(of(elem), self))
454
517
 
@@ -458,7 +521,17 @@ export const prepend: {
458
521
  * @since 2.0.0
459
522
  */
460
523
  export const take: {
524
+ /**
525
+ * Takes the first up to `n` elements from the chunk
526
+ *
527
+ * @since 2.0.0
528
+ */
461
529
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
530
+ /**
531
+ * Takes the first up to `n` elements from the chunk
532
+ *
533
+ * @since 2.0.0
534
+ */
462
535
  <A>(self: Chunk<A>, n: number): Chunk<A>
463
536
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => {
464
537
  if (n <= 0) {
@@ -504,7 +577,17 @@ export const take: {
504
577
  * @since 2.0.0
505
578
  */
506
579
  export const drop: {
580
+ /**
581
+ * Drops the first up to `n` elements from the chunk
582
+ *
583
+ * @since 2.0.0
584
+ */
507
585
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
586
+ /**
587
+ * Drops the first up to `n` elements from the chunk
588
+ *
589
+ * @since 2.0.0
590
+ */
508
591
  <A>(self: Chunk<A>, n: number): Chunk<A>
509
592
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => {
510
593
  if (n <= 0) {
@@ -549,7 +632,17 @@ export const drop: {
549
632
  * @since 2.0.0
550
633
  */
551
634
  export const dropRight: {
635
+ /**
636
+ * Drops the last `n` elements.
637
+ *
638
+ * @since 2.0.0
639
+ */
552
640
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
641
+ /**
642
+ * Drops the last `n` elements.
643
+ *
644
+ * @since 2.0.0
645
+ */
553
646
  <A>(self: Chunk<A>, n: number): Chunk<A>
554
647
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => take(self, Math.max(0, self.length - n)))
555
648
 
@@ -559,7 +652,17 @@ export const dropRight: {
559
652
  * @since 2.0.0
560
653
  */
561
654
  export const dropWhile: {
655
+ /**
656
+ * Drops all elements so long as the predicate returns true.
657
+ *
658
+ * @since 2.0.0
659
+ */
562
660
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
661
+ /**
662
+ * Drops all elements so long as the predicate returns true.
663
+ *
664
+ * @since 2.0.0
665
+ */
563
666
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
564
667
  } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
565
668
  const arr = toReadonlyArray(self)
@@ -587,11 +690,71 @@ export const dropWhile: {
587
690
  * @since 2.0.0
588
691
  */
589
692
  export const prependAll: {
693
+ /**
694
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
695
+ * If either chunk is non-empty, the result is also a non-empty chunk.
696
+ *
697
+ * @example
698
+ * import { Chunk } from "effect"
699
+ *
700
+ * assert.deepStrictEqual(
701
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
702
+ * ["a", "b", 1, 2]
703
+ * )
704
+ *
705
+ * @category concatenating
706
+ * @since 2.0.0
707
+ */
590
708
  <S extends Chunk<any>, T extends Chunk<any>>(
591
709
  that: T
592
710
  ): (self: S) => Chunk.OrNonEmpty<S, T, Chunk.Infer<S> | Chunk.Infer<T>>
711
+ /**
712
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
713
+ * If either chunk is non-empty, the result is also a non-empty chunk.
714
+ *
715
+ * @example
716
+ * import { Chunk } from "effect"
717
+ *
718
+ * assert.deepStrictEqual(
719
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
720
+ * ["a", "b", 1, 2]
721
+ * )
722
+ *
723
+ * @category concatenating
724
+ * @since 2.0.0
725
+ */
593
726
  <A, B>(self: Chunk<A>, that: NonEmptyChunk<B>): NonEmptyChunk<A | B>
727
+ /**
728
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
729
+ * If either chunk is non-empty, the result is also a non-empty chunk.
730
+ *
731
+ * @example
732
+ * import { Chunk } from "effect"
733
+ *
734
+ * assert.deepStrictEqual(
735
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
736
+ * ["a", "b", 1, 2]
737
+ * )
738
+ *
739
+ * @category concatenating
740
+ * @since 2.0.0
741
+ */
594
742
  <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): NonEmptyChunk<A | B>
743
+ /**
744
+ * Prepends the specified prefix chunk to the beginning of the specified chunk.
745
+ * If either chunk is non-empty, the result is also a non-empty chunk.
746
+ *
747
+ * @example
748
+ * import { Chunk } from "effect"
749
+ *
750
+ * assert.deepStrictEqual(
751
+ * Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
752
+ * ["a", "b", 1, 2]
753
+ * )
754
+ *
755
+ * @category concatenating
756
+ * @since 2.0.0
757
+ */
595
758
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
596
759
  } = dual(2, <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): Chunk<A | B> => appendAll(that, self))
597
760
 
@@ -611,11 +774,71 @@ export const prependAll: {
611
774
  * @since 2.0.0
612
775
  */
613
776
  export const appendAll: {
777
+ /**
778
+ * Concatenates two chunks, combining their elements.
779
+ * If either chunk is non-empty, the result is also a non-empty chunk.
780
+ *
781
+ * @example
782
+ * import { Chunk } from "effect"
783
+ *
784
+ * assert.deepStrictEqual(
785
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
786
+ * [1, 2, "a", "b"]
787
+ * )
788
+ *
789
+ * @category concatenating
790
+ * @since 2.0.0
791
+ */
614
792
  <S extends Chunk<any>, T extends Chunk<any>>(
615
793
  that: T
616
794
  ): (self: S) => Chunk.OrNonEmpty<S, T, Chunk.Infer<S> | Chunk.Infer<T>>
795
+ /**
796
+ * Concatenates two chunks, combining their elements.
797
+ * If either chunk is non-empty, the result is also a non-empty chunk.
798
+ *
799
+ * @example
800
+ * import { Chunk } from "effect"
801
+ *
802
+ * assert.deepStrictEqual(
803
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
804
+ * [1, 2, "a", "b"]
805
+ * )
806
+ *
807
+ * @category concatenating
808
+ * @since 2.0.0
809
+ */
617
810
  <A, B>(self: Chunk<A>, that: NonEmptyChunk<B>): NonEmptyChunk<A | B>
811
+ /**
812
+ * Concatenates two chunks, combining their elements.
813
+ * If either chunk is non-empty, the result is also a non-empty chunk.
814
+ *
815
+ * @example
816
+ * import { Chunk } from "effect"
817
+ *
818
+ * assert.deepStrictEqual(
819
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
820
+ * [1, 2, "a", "b"]
821
+ * )
822
+ *
823
+ * @category concatenating
824
+ * @since 2.0.0
825
+ */
618
826
  <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): NonEmptyChunk<A | B>
827
+ /**
828
+ * Concatenates two chunks, combining their elements.
829
+ * If either chunk is non-empty, the result is also a non-empty chunk.
830
+ *
831
+ * @example
832
+ * import { Chunk } from "effect"
833
+ *
834
+ * assert.deepStrictEqual(
835
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
836
+ * [1, 2, "a", "b"]
837
+ * )
838
+ *
839
+ * @category concatenating
840
+ * @since 2.0.0
841
+ */
619
842
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
620
843
  } = dual(2, <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B> => {
621
844
  if (self.backing._tag === "IEmpty") {
@@ -626,7 +849,24 @@ export const appendAll: {
626
849
  }
627
850
  const diff = that.depth - self.depth
628
851
  if (Math.abs(diff) <= 1) {
629
- return makeChunk<A | B>({ _tag: "IConcat", left: self, right: that })
852
+ return makeChunk<
853
+ /**
854
+ * Concatenates two chunks, combining their elements.
855
+ * If either chunk is non-empty, the result is also a non-empty chunk.
856
+ *
857
+ * @example
858
+ * import { Chunk } from "effect"
859
+ *
860
+ * assert.deepStrictEqual(
861
+ * Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
862
+ * [1, 2, "a", "b"]
863
+ * )
864
+ *
865
+ * @category concatenating
866
+ * @since 2.0.0
867
+ */
868
+ A | B
869
+ >({ _tag: "IConcat", left: self, right: that })
630
870
  } else if (diff < -1) {
631
871
  if (self.left.depth >= self.right.depth) {
632
872
  const nr = appendAll(self.right, that)
@@ -665,7 +905,19 @@ export const appendAll: {
665
905
  * @category filtering
666
906
  */
667
907
  export const filterMap: {
908
+ /**
909
+ * Returns a filtered and mapped subset of the elements.
910
+ *
911
+ * @since 2.0.0
912
+ * @category filtering
913
+ */
668
914
  <A, B>(f: (a: A, i: number) => Option<B>): (self: Chunk<A>) => Chunk<B>
915
+ /**
916
+ * Returns a filtered and mapped subset of the elements.
917
+ *
918
+ * @since 2.0.0
919
+ * @category filtering
920
+ */
669
921
  <A, B>(self: Chunk<A>, f: (a: A, i: number) => Option<B>): Chunk<B>
670
922
  } = dual(
671
923
  2,
@@ -679,9 +931,33 @@ export const filterMap: {
679
931
  * @category filtering
680
932
  */
681
933
  export const filter: {
934
+ /**
935
+ * Returns a filtered and mapped subset of the elements.
936
+ *
937
+ * @since 2.0.0
938
+ * @category filtering
939
+ */
682
940
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Chunk<B>
941
+ /**
942
+ * Returns a filtered and mapped subset of the elements.
943
+ *
944
+ * @since 2.0.0
945
+ * @category filtering
946
+ */
683
947
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
948
+ /**
949
+ * Returns a filtered and mapped subset of the elements.
950
+ *
951
+ * @since 2.0.0
952
+ * @category filtering
953
+ */
684
954
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
955
+ /**
956
+ * Returns a filtered and mapped subset of the elements.
957
+ *
958
+ * @since 2.0.0
959
+ * @category filtering
960
+ */
685
961
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
686
962
  } = dual(
687
963
  2,
@@ -695,7 +971,19 @@ export const filter: {
695
971
  * @category filtering
696
972
  */
697
973
  export const filterMapWhile: {
974
+ /**
975
+ * Transforms all elements of the chunk for as long as the specified function returns some value
976
+ *
977
+ * @since 2.0.0
978
+ * @category filtering
979
+ */
698
980
  <A, B>(f: (a: A) => Option<B>): (self: Chunk<A>) => Chunk<B>
981
+ /**
982
+ * Transforms all elements of the chunk for as long as the specified function returns some value
983
+ *
984
+ * @since 2.0.0
985
+ * @category filtering
986
+ */
699
987
  <A, B>(self: Chunk<A>, f: (a: A) => Option<B>): Chunk<B>
700
988
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A) => Option<B>) => unsafeFromArray(RA.filterMapWhile(self, f)))
701
989
 
@@ -714,10 +1002,28 @@ export const compact = <A>(self: Chunk<Option<A>>): Chunk<A> => filterMap(self,
714
1002
  * @category sequencing
715
1003
  */
716
1004
  export const flatMap: {
1005
+ /**
1006
+ * Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
1007
+ *
1008
+ * @since 2.0.0
1009
+ * @category sequencing
1010
+ */
717
1011
  <S extends Chunk<any>, T extends Chunk<any>>(
718
1012
  f: (a: Chunk.Infer<S>, i: number) => T
719
1013
  ): (self: S) => Chunk.AndNonEmpty<S, T, Chunk.Infer<T>>
1014
+ /**
1015
+ * Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
1016
+ *
1017
+ * @since 2.0.0
1018
+ * @category sequencing
1019
+ */
720
1020
  <A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => NonEmptyChunk<B>): NonEmptyChunk<B>
1021
+ /**
1022
+ * Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
1023
+ *
1024
+ * @since 2.0.0
1025
+ * @category sequencing
1026
+ */
721
1027
  <A, B>(self: Chunk<A>, f: (a: A, i: number) => Chunk<B>): Chunk<B>
722
1028
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => Chunk<B>) => {
723
1029
  if (self.backing._tag === "ISingleton") {
@@ -738,7 +1044,19 @@ export const flatMap: {
738
1044
  * @category combinators
739
1045
  */
740
1046
  export const forEach: {
1047
+ /**
1048
+ * Applies the specified function to each element of the `List`.
1049
+ *
1050
+ * @since 2.0.0
1051
+ * @category combinators
1052
+ */
741
1053
  <A, B>(f: (a: A) => B): (self: Chunk<A>) => void
1054
+ /**
1055
+ * Applies the specified function to each element of the `List`.
1056
+ *
1057
+ * @since 2.0.0
1058
+ * @category combinators
1059
+ */
742
1060
  <A, B>(self: Chunk<A>, f: (a: A) => B): void
743
1061
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A) => B): void => toReadonlyArray(self).forEach(f))
744
1062
 
@@ -757,7 +1075,19 @@ export const flatten: <S extends Chunk<Chunk<any>>>(self: S) => Chunk.Flatten<S>
757
1075
  * @category elements
758
1076
  */
759
1077
  export const chunksOf: {
1078
+ /**
1079
+ * Groups elements in chunks of up to `n` elements.
1080
+ *
1081
+ * @since 2.0.0
1082
+ * @category elements
1083
+ */
760
1084
  (n: number): <A>(self: Chunk<A>) => Chunk<Chunk<A>>
1085
+ /**
1086
+ * Groups elements in chunks of up to `n` elements.
1087
+ *
1088
+ * @since 2.0.0
1089
+ * @category elements
1090
+ */
761
1091
  <A>(self: Chunk<A>, n: number): Chunk<Chunk<A>>
762
1092
  } = dual(2, <A>(self: Chunk<A>, n: number) => {
763
1093
  const gr: Array<Chunk<A>> = []
@@ -784,7 +1114,23 @@ export const chunksOf: {
784
1114
  * @category elements
785
1115
  */
786
1116
  export const intersection: {
1117
+ /**
1118
+ * Creates a Chunk of unique values that are included in all given Chunks.
1119
+ *
1120
+ * The order and references of result values are determined by the Chunk.
1121
+ *
1122
+ * @since 2.0.0
1123
+ * @category elements
1124
+ */
787
1125
  <A>(that: Chunk<A>): <B>(self: Chunk<B>) => Chunk<A & B>
1126
+ /**
1127
+ * Creates a Chunk of unique values that are included in all given Chunks.
1128
+ *
1129
+ * The order and references of result values are determined by the Chunk.
1130
+ *
1131
+ * @since 2.0.0
1132
+ * @category elements
1133
+ */
788
1134
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A & B>
789
1135
  } = dual(
790
1136
  2,
@@ -914,8 +1260,53 @@ export declare namespace Chunk {
914
1260
  * @category mapping
915
1261
  */
916
1262
  export const map: {
1263
+ /**
1264
+ * Transforms the elements of a chunk using the specified mapping function.
1265
+ * If the input chunk is non-empty, the resulting chunk will also be non-empty.
1266
+ *
1267
+ * @example
1268
+ * import { Chunk } from "effect"
1269
+ *
1270
+ * assert.deepStrictEqual(
1271
+ * Chunk.map(Chunk.make(1, 2), (n) => n + 1),
1272
+ * Chunk.make(2, 3)
1273
+ * )
1274
+ *
1275
+ * @since 2.0.0
1276
+ * @category mapping
1277
+ */
917
1278
  <S extends Chunk<any>, B>(f: (a: Chunk.Infer<S>, i: number) => B): (self: S) => Chunk.With<S, B>
1279
+ /**
1280
+ * Transforms the elements of a chunk using the specified mapping function.
1281
+ * If the input chunk is non-empty, the resulting chunk will also be non-empty.
1282
+ *
1283
+ * @example
1284
+ * import { Chunk } from "effect"
1285
+ *
1286
+ * assert.deepStrictEqual(
1287
+ * Chunk.map(Chunk.make(1, 2), (n) => n + 1),
1288
+ * Chunk.make(2, 3)
1289
+ * )
1290
+ *
1291
+ * @since 2.0.0
1292
+ * @category mapping
1293
+ */
918
1294
  <A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => B): NonEmptyChunk<B>
1295
+ /**
1296
+ * Transforms the elements of a chunk using the specified mapping function.
1297
+ * If the input chunk is non-empty, the resulting chunk will also be non-empty.
1298
+ *
1299
+ * @example
1300
+ * import { Chunk } from "effect"
1301
+ *
1302
+ * assert.deepStrictEqual(
1303
+ * Chunk.map(Chunk.make(1, 2), (n) => n + 1),
1304
+ * Chunk.make(2, 3)
1305
+ * )
1306
+ *
1307
+ * @since 2.0.0
1308
+ * @category mapping
1309
+ */
919
1310
  <A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B>
920
1311
  } = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B> =>
921
1312
  self.backing._tag === "ISingleton" ?
@@ -929,7 +1320,19 @@ export const map: {
929
1320
  * @category folding
930
1321
  */
931
1322
  export const mapAccum: {
1323
+ /**
1324
+ * Statefully maps over the chunk, producing new elements of type `B`.
1325
+ *
1326
+ * @since 2.0.0
1327
+ * @category folding
1328
+ */
932
1329
  <S, A, B>(s: S, f: (s: S, a: A) => readonly [S, B]): (self: Chunk<A>) => [S, Chunk<B>]
1330
+ /**
1331
+ * Statefully maps over the chunk, producing new elements of type `B`.
1332
+ *
1333
+ * @since 2.0.0
1334
+ * @category folding
1335
+ */
933
1336
  <S, A, B>(self: Chunk<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Chunk<B>]
934
1337
  } = dual(3, <S, A, B>(self: Chunk<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Chunk<B>] => {
935
1338
  const [s1, as] = RA.mapAccum(self, s, f)
@@ -943,16 +1346,38 @@ export const mapAccum: {
943
1346
  * @since 2.0.0
944
1347
  */
945
1348
  export const partition: {
1349
+ /**
1350
+ * Separate elements based on a predicate that also exposes the index of the element.
1351
+ *
1352
+ * @category filtering
1353
+ * @since 2.0.0
1354
+ */
946
1355
  <A, B extends A>(
947
1356
  refinement: (a: NoInfer<A>, i: number) => a is B
948
1357
  ): (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>]
1358
+ /**
1359
+ * Separate elements based on a predicate that also exposes the index of the element.
1360
+ *
1361
+ * @category filtering
1362
+ * @since 2.0.0
1363
+ */
1364
+ <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Chunk<A>) => [excluded: Chunk<A>, satisfying: Chunk<A>]
1365
+ /**
1366
+ * Separate elements based on a predicate that also exposes the index of the element.
1367
+ *
1368
+ * @category filtering
1369
+ * @since 2.0.0
1370
+ */
952
1371
  <A, B extends A>(
953
1372
  self: Chunk<A>,
954
1373
  refinement: (a: A, i: number) => a is B
955
1374
  ): [excluded: Chunk<Exclude<A, B>>, satisfying: Chunk<B>]
1375
+ /**
1376
+ * Separate elements based on a predicate that also exposes the index of the element.
1377
+ *
1378
+ * @category filtering
1379
+ * @since 2.0.0
1380
+ */
956
1381
  <A>(self: Chunk<A>, predicate: (a: A, i: number) => boolean): [excluded: Chunk<A>, satisfying: Chunk<A>]
957
1382
  } = dual(
958
1383
  2,
@@ -970,7 +1395,19 @@ export const partition: {
970
1395
  * @since 2.0.0
971
1396
  */
972
1397
  export const partitionMap: {
1398
+ /**
1399
+ * Partitions the elements of this chunk into two chunks using f.
1400
+ *
1401
+ * @category filtering
1402
+ * @since 2.0.0
1403
+ */
973
1404
  <A, B, C>(f: (a: A) => Either<C, B>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
1405
+ /**
1406
+ * Partitions the elements of this chunk into two chunks using f.
1407
+ *
1408
+ * @category filtering
1409
+ * @since 2.0.0
1410
+ */
974
1411
  <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>]
975
1412
  } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>] =>
976
1413
  pipe(
@@ -1005,7 +1442,19 @@ export const size = <A>(self: Chunk<A>): number => self.length
1005
1442
  * @category sorting
1006
1443
  */
1007
1444
  export const sort: {
1445
+ /**
1446
+ * Sort the elements of a Chunk in increasing order, creating a new Chunk.
1447
+ *
1448
+ * @since 2.0.0
1449
+ * @category sorting
1450
+ */
1008
1451
  <B>(O: Order.Order<B>): <A extends B>(self: Chunk<A>) => Chunk<A>
1452
+ /**
1453
+ * Sort the elements of a Chunk in increasing order, creating a new Chunk.
1454
+ *
1455
+ * @since 2.0.0
1456
+ * @category sorting
1457
+ */
1009
1458
  <A extends B, B>(self: Chunk<A>, O: Order.Order<B>): Chunk<A>
1010
1459
  } = dual(
1011
1460
  2,
@@ -1017,7 +1466,15 @@ export const sort: {
1017
1466
  * @category sorting
1018
1467
  */
1019
1468
  export const sortWith: {
1469
+ /**
1470
+ * @since 2.0.0
1471
+ * @category sorting
1472
+ */
1020
1473
  <A, B>(f: (a: A) => B, order: Order.Order<B>): (self: Chunk<A>) => Chunk<A>
1474
+ /**
1475
+ * @since 2.0.0
1476
+ * @category sorting
1477
+ */
1021
1478
  <A, B>(self: Chunk<A>, f: (a: A) => B, order: Order.Order<B>): Chunk<A>
1022
1479
  } = dual(
1023
1480
  3,
@@ -1031,7 +1488,19 @@ export const sortWith: {
1031
1488
  * @category splitting
1032
1489
  */
1033
1490
  export const splitAt: {
1491
+ /**
1492
+ * Returns two splits of this chunk at the specified index.
1493
+ *
1494
+ * @since 2.0.0
1495
+ * @category splitting
1496
+ */
1034
1497
  (n: number): <A>(self: Chunk<A>) => [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
1498
+ /**
1499
+ * Returns two splits of this chunk at the specified index.
1500
+ *
1501
+ * @since 2.0.0
1502
+ * @category splitting
1503
+ */
1035
1504
  <A>(self: Chunk<A>, n: number): [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
1036
1505
  } = dual(2, <A>(self: Chunk<A>, n: number): [Chunk<A>, Chunk<A>] => [take(self, n), drop(self, n)])
1037
1506
 
@@ -1043,7 +1512,21 @@ export const splitAt: {
1043
1512
  * @since 2.0.0
1044
1513
  */
1045
1514
  export const splitNonEmptyAt: {
1515
+ /**
1516
+ * Splits a `NonEmptyChunk` into two segments, with the first segment containing a maximum of `n` elements.
1517
+ * The value of `n` must be `>= 1`.
1518
+ *
1519
+ * @category splitting
1520
+ * @since 2.0.0
1521
+ */
1046
1522
  (n: number): <A>(self: NonEmptyChunk<A>) => [beforeIndex: NonEmptyChunk<A>, fromIndex: Chunk<A>]
1523
+ /**
1524
+ * Splits a `NonEmptyChunk` into two segments, with the first segment containing a maximum of `n` elements.
1525
+ * The value of `n` must be `>= 1`.
1526
+ *
1527
+ * @category splitting
1528
+ * @since 2.0.0
1529
+ */
1047
1530
  <A>(self: NonEmptyChunk<A>, n: number): [beforeIndex: NonEmptyChunk<A>, fromIndex: Chunk<A>]
1048
1531
  } = dual(2, <A>(self: NonEmptyChunk<A>, n: number): [Chunk<A>, Chunk<A>] => {
1049
1532
  const _n = Math.max(1, Math.floor(n))
@@ -1059,7 +1542,19 @@ export const splitNonEmptyAt: {
1059
1542
  * @category splitting
1060
1543
  */
1061
1544
  export const split: {
1545
+ /**
1546
+ * Splits this chunk into `n` equally sized chunks.
1547
+ *
1548
+ * @since 2.0.0
1549
+ * @category splitting
1550
+ */
1062
1551
  (n: number): <A>(self: Chunk<A>) => Chunk<Chunk<A>>
1552
+ /**
1553
+ * Splits this chunk into `n` equally sized chunks.
1554
+ *
1555
+ * @since 2.0.0
1556
+ * @category splitting
1557
+ */
1063
1558
  <A>(self: Chunk<A>, n: number): Chunk<Chunk<A>>
1064
1559
  } = dual(2, <A>(self: Chunk<A>, n: number) => chunksOf(self, Math.ceil(self.length / Math.floor(n))))
1065
1560
 
@@ -1071,7 +1566,21 @@ export const split: {
1071
1566
  * @since 2.0.0
1072
1567
  */
1073
1568
  export const splitWhere: {
1569
+ /**
1570
+ * Splits this chunk on the first element that matches this predicate.
1571
+ * Returns a tuple containing two chunks: the first one is before the match, and the second one is from the match onward.
1572
+ *
1573
+ * @category splitting
1574
+ * @since 2.0.0
1575
+ */
1074
1576
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
1577
+ /**
1578
+ * Splits this chunk on the first element that matches this predicate.
1579
+ * Returns a tuple containing two chunks: the first one is before the match, and the second one is from the match onward.
1580
+ *
1581
+ * @category splitting
1582
+ * @since 2.0.0
1583
+ */
1075
1584
  <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
1076
1585
  } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>] => {
1077
1586
  let i = 0
@@ -1108,7 +1617,19 @@ export const tailNonEmpty = <A>(self: NonEmptyChunk<A>): Chunk<A> => drop(self,
1108
1617
  * @category elements
1109
1618
  */
1110
1619
  export const takeRight: {
1620
+ /**
1621
+ * Takes the last `n` elements.
1622
+ *
1623
+ * @since 2.0.0
1624
+ * @category elements
1625
+ */
1111
1626
  (n: number): <A>(self: Chunk<A>) => Chunk<A>
1627
+ /**
1628
+ * Takes the last `n` elements.
1629
+ *
1630
+ * @since 2.0.0
1631
+ * @category elements
1632
+ */
1112
1633
  <A>(self: Chunk<A>, n: number): Chunk<A>
1113
1634
  } = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => drop(self, self.length - n))
1114
1635
 
@@ -1119,9 +1640,33 @@ export const takeRight: {
1119
1640
  * @category elements
1120
1641
  */
1121
1642
  export const takeWhile: {
1643
+ /**
1644
+ * Takes all elements so long as the predicate returns true.
1645
+ *
1646
+ * @since 2.0.0
1647
+ * @category elements
1648
+ */
1122
1649
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Chunk<B>
1650
+ /**
1651
+ * Takes all elements so long as the predicate returns true.
1652
+ *
1653
+ * @since 2.0.0
1654
+ * @category elements
1655
+ */
1123
1656
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
1657
+ /**
1658
+ * Takes all elements so long as the predicate returns true.
1659
+ *
1660
+ * @since 2.0.0
1661
+ * @category elements
1662
+ */
1124
1663
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
1664
+ /**
1665
+ * Takes all elements so long as the predicate returns true.
1666
+ *
1667
+ * @since 2.0.0
1668
+ * @category elements
1669
+ */
1125
1670
  <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
1126
1671
  } = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
1127
1672
  const out: Array<A> = []
@@ -1142,7 +1687,19 @@ export const takeWhile: {
1142
1687
  * @category elements
1143
1688
  */
1144
1689
  export const union: {
1690
+ /**
1691
+ * Creates a Chunks of unique values, in order, from all given Chunks.
1692
+ *
1693
+ * @since 2.0.0
1694
+ * @category elements
1695
+ */
1145
1696
  <A>(that: Chunk<A>): <B>(self: Chunk<B>) => Chunk<A | B>
1697
+ /**
1698
+ * Creates a Chunks of unique values, in order, from all given Chunks.
1699
+ *
1700
+ * @since 2.0.0
1701
+ * @category elements
1702
+ */
1146
1703
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
1147
1704
  } = dual(
1148
1705
  2,
@@ -1185,7 +1742,19 @@ export const unzip = <A, B>(self: Chunk<readonly [A, B]>): [Chunk<A>, Chunk<B>]
1185
1742
  * @category zipping
1186
1743
  */
1187
1744
  export const zipWith: {
1745
+ /**
1746
+ * Zips this chunk pointwise with the specified chunk using the specified combiner.
1747
+ *
1748
+ * @since 2.0.0
1749
+ * @category zipping
1750
+ */
1188
1751
  <A, B, C>(that: Chunk<B>, f: (a: A, b: B) => C): (self: Chunk<A>) => Chunk<C>
1752
+ /**
1753
+ * Zips this chunk pointwise with the specified chunk using the specified combiner.
1754
+ *
1755
+ * @since 2.0.0
1756
+ * @category zipping
1757
+ */
1189
1758
  <A, B, C>(self: Chunk<A>, that: Chunk<B>, f: (a: A, b: B) => C): Chunk<C>
1190
1759
  } = dual(
1191
1760
  3,
@@ -1200,7 +1769,19 @@ export const zipWith: {
1200
1769
  * @category zipping
1201
1770
  */
1202
1771
  export const zip: {
1772
+ /**
1773
+ * Zips this chunk pointwise with the specified chunk.
1774
+ *
1775
+ * @since 2.0.0
1776
+ * @category zipping
1777
+ */
1203
1778
  <B>(that: Chunk<B>): <A>(self: Chunk<A>) => Chunk<[A, B]>
1779
+ /**
1780
+ * Zips this chunk pointwise with the specified chunk.
1781
+ *
1782
+ * @since 2.0.0
1783
+ * @category zipping
1784
+ */
1204
1785
  <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<[A, B]>
1205
1786
  } = dual(
1206
1787
  2,
@@ -1214,7 +1795,19 @@ export const zip: {
1214
1795
  * @since 2.0.0
1215
1796
  */
1216
1797
  export const remove: {
1798
+ /**
1799
+ * Delete the element at the specified index, creating a new `Chunk`,
1800
+ * or returning the input if the index is out of bounds.
1801
+ *
1802
+ * @since 2.0.0
1803
+ */
1217
1804
  (i: number): <A>(self: Chunk<A>) => Chunk<A>
1805
+ /**
1806
+ * Delete the element at the specified index, creating a new `Chunk`,
1807
+ * or returning the input if the index is out of bounds.
1808
+ *
1809
+ * @since 2.0.0
1810
+ */
1218
1811
  <A>(self: Chunk<A>, i: number): Chunk<A>
1219
1812
  } = dual(
1220
1813
  2,
@@ -1225,7 +1818,13 @@ export const remove: {
1225
1818
  * @since 2.0.0
1226
1819
  */
1227
1820
  export const modifyOption: {
1821
+ /**
1822
+ * @since 2.0.0
1823
+ */
1228
1824
  <A, B>(i: number, f: (a: A) => B): (self: Chunk<A>) => Option<Chunk<A | B>>
1825
+ /**
1826
+ * @since 2.0.0
1827
+ */
1229
1828
  <A, B>(self: Chunk<A>, i: number, f: (a: A) => B): Option<Chunk<A | B>>
1230
1829
  } = dual(
1231
1830
  3,
@@ -1240,7 +1839,19 @@ export const modifyOption: {
1240
1839
  * @since 2.0.0
1241
1840
  */
1242
1841
  export const modify: {
1842
+ /**
1843
+ * Apply a function to the element at the specified index, creating a new `Chunk`,
1844
+ * or returning the input if the index is out of bounds.
1845
+ *
1846
+ * @since 2.0.0
1847
+ */
1243
1848
  <A, B>(i: number, f: (a: A) => B): (self: Chunk<A>) => Chunk<A | B>
1849
+ /**
1850
+ * Apply a function to the element at the specified index, creating a new `Chunk`,
1851
+ * or returning the input if the index is out of bounds.
1852
+ *
1853
+ * @since 2.0.0
1854
+ */
1244
1855
  <A, B>(self: Chunk<A>, i: number, f: (a: A) => B): Chunk<A | B>
1245
1856
  } = dual(
1246
1857
  3,
@@ -1254,7 +1865,19 @@ export const modify: {
1254
1865
  * @since 2.0.0
1255
1866
  */
1256
1867
  export const replace: {
1868
+ /**
1869
+ * Change the element at the specified index, creating a new `Chunk`,
1870
+ * or returning the input if the index is out of bounds.
1871
+ *
1872
+ * @since 2.0.0
1873
+ */
1257
1874
  <B>(i: number, b: B): <A>(self: Chunk<A>) => Chunk<B | A>
1875
+ /**
1876
+ * Change the element at the specified index, creating a new `Chunk`,
1877
+ * or returning the input if the index is out of bounds.
1878
+ *
1879
+ * @since 2.0.0
1880
+ */
1258
1881
  <A, B>(self: Chunk<A>, i: number, b: B): Chunk<B | A>
1259
1882
  } = dual(3, <A, B>(self: Chunk<A>, i: number, b: B): Chunk<B | A> => modify(self, i, () => b))
1260
1883
 
@@ -1262,7 +1885,13 @@ export const replace: {
1262
1885
  * @since 2.0.0
1263
1886
  */
1264
1887
  export const replaceOption: {
1888
+ /**
1889
+ * @since 2.0.0
1890
+ */
1265
1891
  <B>(i: number, b: B): <A>(self: Chunk<A>) => Option<Chunk<B | A>>
1892
+ /**
1893
+ * @since 2.0.0
1894
+ */
1266
1895
  <A, B>(self: Chunk<A>, i: number, b: B): Option<Chunk<B | A>>
1267
1896
  } = dual(3, <A, B>(self: Chunk<A>, i: number, b: B): Option<Chunk<B | A>> => modifyOption(self, i, () => b))
1268
1897
 
@@ -1275,7 +1904,23 @@ export const replaceOption: {
1275
1904
  * @since 2.0.0
1276
1905
  */
1277
1906
  export const makeBy: {
1907
+ /**
1908
+ * Return a Chunk of length n with element i initialized with f(i).
1909
+ *
1910
+ * **Note**. `n` is normalized to an integer >= 1.
1911
+ *
1912
+ * @category constructors
1913
+ * @since 2.0.0
1914
+ */
1278
1915
  <A>(f: (i: number) => A): (n: number) => NonEmptyChunk<A>
1916
+ /**
1917
+ * Return a Chunk of length n with element i initialized with f(i).
1918
+ *
1919
+ * **Note**. `n` is normalized to an integer >= 1.
1920
+ *
1921
+ * @category constructors
1922
+ * @since 2.0.0
1923
+ */
1279
1924
  <A>(n: number, f: (i: number) => A): NonEmptyChunk<A>
1280
1925
  } = dual(2, (n, f) => fromIterable(RA.makeBy(n, f)))
1281
1926
 
@@ -1299,7 +1944,27 @@ export const range = (start: number, end: number): NonEmptyChunk<number> =>
1299
1944
  * @since 2.0.0
1300
1945
  */
1301
1946
  export const contains: {
1947
+ // -------------------------------------------------------------------------------------
1948
+ // re-exports from ReadonlyArray
1949
+ // -------------------------------------------------------------------------------------
1950
+
1951
+ /**
1952
+ * Returns a function that checks if a `Chunk` contains a given value using the default `Equivalence`.
1953
+ *
1954
+ * @category elements
1955
+ * @since 2.0.0
1956
+ */
1302
1957
  <A>(a: A): (self: Chunk<A>) => boolean
1958
+ // -------------------------------------------------------------------------------------
1959
+ // re-exports from ReadonlyArray
1960
+ // -------------------------------------------------------------------------------------
1961
+
1962
+ /**
1963
+ * Returns a function that checks if a `Chunk` contains a given value using the default `Equivalence`.
1964
+ *
1965
+ * @category elements
1966
+ * @since 2.0.0
1967
+ */
1303
1968
  <A>(self: Chunk<A>, a: A): boolean
1304
1969
  } = RA.contains
1305
1970
 
@@ -1324,9 +1989,37 @@ export const containsWith: <A>(
1324
1989
  * @since 2.0.0
1325
1990
  */
1326
1991
  export const findFirst: {
1992
+ /**
1993
+ * Returns the first element that satisfies the specified
1994
+ * predicate, or `None` if no such element exists.
1995
+ *
1996
+ * @category elements
1997
+ * @since 2.0.0
1998
+ */
1327
1999
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Option<B>
2000
+ /**
2001
+ * Returns the first element that satisfies the specified
2002
+ * predicate, or `None` if no such element exists.
2003
+ *
2004
+ * @category elements
2005
+ * @since 2.0.0
2006
+ */
1328
2007
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Option<A>
2008
+ /**
2009
+ * Returns the first element that satisfies the specified
2010
+ * predicate, or `None` if no such element exists.
2011
+ *
2012
+ * @category elements
2013
+ * @since 2.0.0
2014
+ */
1329
2015
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
2016
+ /**
2017
+ * Returns the first element that satisfies the specified
2018
+ * predicate, or `None` if no such element exists.
2019
+ *
2020
+ * @category elements
2021
+ * @since 2.0.0
2022
+ */
1330
2023
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
1331
2024
  } = RA.findFirst
1332
2025
 
@@ -1337,7 +2030,19 @@ export const findFirst: {
1337
2030
  * @since 2.0.0
1338
2031
  */
1339
2032
  export const findFirstIndex: {
2033
+ /**
2034
+ * Return the first index for which a predicate holds.
2035
+ *
2036
+ * @category elements
2037
+ * @since 2.0.0
2038
+ */
1340
2039
  <A>(predicate: Predicate<A>): (self: Chunk<A>) => Option<number>
2040
+ /**
2041
+ * Return the first index for which a predicate holds.
2042
+ *
2043
+ * @category elements
2044
+ * @since 2.0.0
2045
+ */
1341
2046
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<number>
1342
2047
  } = RA.findFirstIndex
1343
2048
 
@@ -1348,9 +2053,33 @@ export const findFirstIndex: {
1348
2053
  * @since 2.0.0
1349
2054
  */
1350
2055
  export const findLast: {
2056
+ /**
2057
+ * Find the last element for which a predicate holds.
2058
+ *
2059
+ * @category elements
2060
+ * @since 2.0.0
2061
+ */
1351
2062
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Option<B>
2063
+ /**
2064
+ * Find the last element for which a predicate holds.
2065
+ *
2066
+ * @category elements
2067
+ * @since 2.0.0
2068
+ */
1352
2069
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Option<A>
2070
+ /**
2071
+ * Find the last element for which a predicate holds.
2072
+ *
2073
+ * @category elements
2074
+ * @since 2.0.0
2075
+ */
1353
2076
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
2077
+ /**
2078
+ * Find the last element for which a predicate holds.
2079
+ *
2080
+ * @category elements
2081
+ * @since 2.0.0
2082
+ */
1354
2083
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
1355
2084
  } = RA.findLast
1356
2085
 
@@ -1361,7 +2090,19 @@ export const findLast: {
1361
2090
  * @since 2.0.0
1362
2091
  */
1363
2092
  export const findLastIndex: {
2093
+ /**
2094
+ * Return the last index for which a predicate holds.
2095
+ *
2096
+ * @category elements
2097
+ * @since 2.0.0
2098
+ */
1364
2099
  <A>(predicate: Predicate<A>): (self: Chunk<A>) => Option<number>
2100
+ /**
2101
+ * Return the last index for which a predicate holds.
2102
+ *
2103
+ * @category elements
2104
+ * @since 2.0.0
2105
+ */
1365
2106
  <A>(self: Chunk<A>, predicate: Predicate<A>): Option<number>
1366
2107
  } = RA.findLastIndex
1367
2108
 
@@ -1372,9 +2113,33 @@ export const findLastIndex: {
1372
2113
  * @since 2.0.0
1373
2114
  */
1374
2115
  export const every: {
2116
+ /**
2117
+ * Check if a predicate holds true for every `Chunk` element.
2118
+ *
2119
+ * @category elements
2120
+ * @since 2.0.0
2121
+ */
1375
2122
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => self is Chunk<B>
2123
+ /**
2124
+ * Check if a predicate holds true for every `Chunk` element.
2125
+ *
2126
+ * @category elements
2127
+ * @since 2.0.0
2128
+ */
1376
2129
  <A>(predicate: Predicate<A>): (self: Chunk<A>) => boolean
2130
+ /**
2131
+ * Check if a predicate holds true for every `Chunk` element.
2132
+ *
2133
+ * @category elements
2134
+ * @since 2.0.0
2135
+ */
1377
2136
  <A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): self is Chunk<B>
2137
+ /**
2138
+ * Check if a predicate holds true for every `Chunk` element.
2139
+ *
2140
+ * @category elements
2141
+ * @since 2.0.0
2142
+ */
1378
2143
  <A>(self: Chunk<A>, predicate: Predicate<A>): boolean
1379
2144
  } = dual(
1380
2145
  2,
@@ -1389,7 +2154,19 @@ export const every: {
1389
2154
  * @since 2.0.0
1390
2155
  */
1391
2156
  export const some: {
2157
+ /**
2158
+ * Check if a predicate holds true for some `Chunk` element.
2159
+ *
2160
+ * @category elements
2161
+ * @since 2.0.0
2162
+ */
1392
2163
  <A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => self is NonEmptyChunk<A>
2164
+ /**
2165
+ * Check if a predicate holds true for some `Chunk` element.
2166
+ *
2167
+ * @category elements
2168
+ * @since 2.0.0
2169
+ */
1393
2170
  <A>(self: Chunk<A>, predicate: Predicate<A>): self is NonEmptyChunk<A>
1394
2171
  } = dual(
1395
2172
  2,
@@ -1403,7 +2180,19 @@ export const some: {
1403
2180
  * @since 2.0.0
1404
2181
  */
1405
2182
  export const join: {
2183
+ /**
2184
+ * Joins the elements together with "sep" in the middle.
2185
+ *
2186
+ * @category folding
2187
+ * @since 2.0.0
2188
+ */
1406
2189
  (sep: string): (self: Chunk<string>) => string
2190
+ /**
2191
+ * Joins the elements together with "sep" in the middle.
2192
+ *
2193
+ * @category folding
2194
+ * @since 2.0.0
2195
+ */
1407
2196
  (self: Chunk<string>, sep: string): string
1408
2197
  } = RA.join
1409
2198
 
@@ -1412,7 +2201,15 @@ export const join: {
1412
2201
  * @since 2.0.0
1413
2202
  */
1414
2203
  export const reduce: {
2204
+ /**
2205
+ * @category folding
2206
+ * @since 2.0.0
2207
+ */
1415
2208
  <B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Chunk<A>) => B
2209
+ /**
2210
+ * @category folding
2211
+ * @since 2.0.0
2212
+ */
1416
2213
  <A, B>(self: Chunk<A>, b: B, f: (b: B, a: A, i: number) => B): B
1417
2214
  } = RA.reduce
1418
2215
 
@@ -1421,7 +2218,15 @@ export const reduce: {
1421
2218
  * @since 2.0.0
1422
2219
  */
1423
2220
  export const reduceRight: {
2221
+ /**
2222
+ * @category folding
2223
+ * @since 2.0.0
2224
+ */
1424
2225
  <B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Chunk<A>) => B
2226
+ /**
2227
+ * @category folding
2228
+ * @since 2.0.0
2229
+ */
1425
2230
  <A, B>(self: Chunk<A>, b: B, f: (b: B, a: A, i: number) => B): B
1426
2231
  } = RA.reduceRight
1427
2232
 
@@ -1448,7 +2253,19 @@ export const differenceWith = <A>(isEquivalent: (self: A, that: A) => boolean):
1448
2253
  * @since 3.2.0
1449
2254
  */
1450
2255
  export const difference: {
2256
+ /**
2257
+ * Creates a `Chunk` of values not included in the other given `Chunk`.
2258
+ * The order and references of result values are determined by the first `Chunk`.
2259
+ *
2260
+ * @since 3.2.0
2261
+ */
1451
2262
  <A>(that: Chunk<A>): (self: Chunk<A>) => Chunk<A>
2263
+ /**
2264
+ * Creates a `Chunk` of values not included in the other given `Chunk`.
2265
+ * The order and references of result values are determined by the first `Chunk`.
2266
+ *
2267
+ * @since 3.2.0
2268
+ */
1452
2269
  <A>(self: Chunk<A>, that: Chunk<A>): Chunk<A>
1453
2270
  } = dual(
1454
2271
  2,