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/List.ts CHANGED
@@ -28,7 +28,7 @@ import * as Equal from "./Equal.js"
28
28
  import * as Equivalence from "./Equivalence.js"
29
29
  import { dual, identity, unsafeCoerce } from "./Function.js"
30
30
  import * as Hash from "./Hash.js"
31
- import { format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
31
+ import { DenoInspectSymbol, format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
32
32
  import type { nonEmpty, NonEmptyIterable } from "./NonEmptyIterable.js"
33
33
  import * as Option from "./Option.js"
34
34
  import type { Pipeable } from "./Pipeable.js"
@@ -110,6 +110,9 @@ const ConsProto: Omit<Cons<unknown>, "head" | "tail" | typeof nonEmpty> = {
110
110
  values: toArray(this).map(toJSON)
111
111
  }
112
112
  },
113
+ [DenoInspectSymbol]() {
114
+ return this.toJSON()
115
+ },
113
116
  [NodeInspectSymbol]() {
114
117
  return this.toJSON()
115
118
  },
@@ -176,6 +179,9 @@ const NilProto: Nil<unknown> = {
176
179
  _tag: "Nil"
177
180
  }
178
181
  },
182
+ [DenoInspectSymbol]() {
183
+ return this.toJSON()
184
+ },
179
185
  [NodeInspectSymbol]() {
180
186
  return this.toJSON()
181
187
  },
@@ -206,7 +212,19 @@ const _Nil = Object.create(NilProto) as Nil<never>
206
212
  * @category refinements
207
213
  */
208
214
  export const isList: {
215
+ /**
216
+ * Returns `true` if the specified value is a `List`, `false` otherwise.
217
+ *
218
+ * @since 2.0.0
219
+ * @category refinements
220
+ */
209
221
  <A>(u: Iterable<A>): u is List<A>
222
+ /**
223
+ * Returns `true` if the specified value is a `List`, `false` otherwise.
224
+ *
225
+ * @since 2.0.0
226
+ * @category refinements
227
+ */
210
228
  (u: unknown): u is List<unknown>
211
229
  } = (u: unknown): u is List<unknown> => hasProperty(u, TypeId)
212
230
 
@@ -316,7 +334,19 @@ export const make = <Elements extends readonly [any, ...Array<any>]>(
316
334
  * @since 2.0.0
317
335
  */
318
336
  export const append: {
337
+ /**
338
+ * Appends the specified element to the end of the `List`, creating a new `Cons`.
339
+ *
340
+ * @category concatenating
341
+ * @since 2.0.0
342
+ */
319
343
  <B>(element: B): <A>(self: List<A>) => Cons<A | B>
344
+ /**
345
+ * Appends the specified element to the end of the `List`, creating a new `Cons`.
346
+ *
347
+ * @category concatenating
348
+ * @since 2.0.0
349
+ */
320
350
  <A, B>(self: List<A>, element: B): Cons<A | B>
321
351
  } = dual(2, <A, B>(self: List<A>, element: B): Cons<A | B> => appendAll(self, of(element)))
322
352
 
@@ -336,9 +366,69 @@ export const append: {
336
366
  * @since 2.0.0
337
367
  */
338
368
  export const appendAll: {
369
+ /**
370
+ * Concatenates two lists, combining their elements.
371
+ * If either list is non-empty, the result is also a non-empty list.
372
+ *
373
+ * @example
374
+ * import { List } from "effect"
375
+ *
376
+ * assert.deepStrictEqual(
377
+ * List.make(1, 2).pipe(List.appendAll(List.make("a", "b")), List.toArray),
378
+ * [1, 2, "a", "b"]
379
+ * )
380
+ *
381
+ * @category concatenating
382
+ * @since 2.0.0
383
+ */
339
384
  <S extends List<any>, T extends List<any>>(that: T): (self: S) => List.OrNonEmpty<S, T, List.Infer<S> | List.Infer<T>>
385
+ /**
386
+ * Concatenates two lists, combining their elements.
387
+ * If either list is non-empty, the result is also a non-empty list.
388
+ *
389
+ * @example
390
+ * import { List } from "effect"
391
+ *
392
+ * assert.deepStrictEqual(
393
+ * List.make(1, 2).pipe(List.appendAll(List.make("a", "b")), List.toArray),
394
+ * [1, 2, "a", "b"]
395
+ * )
396
+ *
397
+ * @category concatenating
398
+ * @since 2.0.0
399
+ */
340
400
  <A, B>(self: List<A>, that: Cons<B>): Cons<A | B>
401
+ /**
402
+ * Concatenates two lists, combining their elements.
403
+ * If either list is non-empty, the result is also a non-empty list.
404
+ *
405
+ * @example
406
+ * import { List } from "effect"
407
+ *
408
+ * assert.deepStrictEqual(
409
+ * List.make(1, 2).pipe(List.appendAll(List.make("a", "b")), List.toArray),
410
+ * [1, 2, "a", "b"]
411
+ * )
412
+ *
413
+ * @category concatenating
414
+ * @since 2.0.0
415
+ */
341
416
  <A, B>(self: Cons<A>, that: List<B>): Cons<A | B>
417
+ /**
418
+ * Concatenates two lists, combining their elements.
419
+ * If either list is non-empty, the result is also a non-empty list.
420
+ *
421
+ * @example
422
+ * import { List } from "effect"
423
+ *
424
+ * assert.deepStrictEqual(
425
+ * List.make(1, 2).pipe(List.appendAll(List.make("a", "b")), List.toArray),
426
+ * [1, 2, "a", "b"]
427
+ * )
428
+ *
429
+ * @category concatenating
430
+ * @since 2.0.0
431
+ */
342
432
  <A, B>(self: List<A>, that: List<B>): List<A | B>
343
433
  } = dual(2, <A, B>(self: List<A>, that: List<B>): List<A | B> => prependAll(that, self))
344
434
 
@@ -349,9 +439,30 @@ export const appendAll: {
349
439
  * @since 2.0.0
350
440
  */
351
441
  export const prepend: {
442
+ /**
443
+ * Prepends the specified element to the beginning of the list.
444
+ *
445
+ * @category concatenating
446
+ * @since 2.0.0
447
+ */
352
448
  <B>(element: B): <A>(self: List<A>) => Cons<A | B>
449
+ /**
450
+ * Prepends the specified element to the beginning of the list.
451
+ *
452
+ * @category concatenating
453
+ * @since 2.0.0
454
+ */
353
455
  <A, B>(self: List<A>, element: B): Cons<A | B>
354
- } = dual(2, <A, B>(self: List<A>, element: B): Cons<A | B> => cons<A | B>(element, self))
456
+ } = dual(2, <A, B>(self: List<A>, element: B): Cons<A | B> =>
457
+ cons<
458
+ /**
459
+ * Prepends the specified element to the beginning of the list.
460
+ *
461
+ * @category concatenating
462
+ * @since 2.0.0
463
+ */
464
+ A | B
465
+ >(element, self))
355
466
 
356
467
  /**
357
468
  * Prepends the specified prefix list to the beginning of the specified list.
@@ -369,9 +480,69 @@ export const prepend: {
369
480
  * @since 2.0.0
370
481
  */
371
482
  export const prependAll: {
483
+ /**
484
+ * Prepends the specified prefix list to the beginning of the specified list.
485
+ * If either list is non-empty, the result is also a non-empty list.
486
+ *
487
+ * @example
488
+ * import { List } from "effect"
489
+ *
490
+ * assert.deepStrictEqual(
491
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
492
+ * ["a", "b", 1, 2]
493
+ * )
494
+ *
495
+ * @category concatenating
496
+ * @since 2.0.0
497
+ */
372
498
  <S extends List<any>, T extends List<any>>(that: T): (self: S) => List.OrNonEmpty<S, T, List.Infer<S> | List.Infer<T>>
499
+ /**
500
+ * Prepends the specified prefix list to the beginning of the specified list.
501
+ * If either list is non-empty, the result is also a non-empty list.
502
+ *
503
+ * @example
504
+ * import { List } from "effect"
505
+ *
506
+ * assert.deepStrictEqual(
507
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
508
+ * ["a", "b", 1, 2]
509
+ * )
510
+ *
511
+ * @category concatenating
512
+ * @since 2.0.0
513
+ */
373
514
  <A, B>(self: List<A>, that: Cons<B>): Cons<A | B>
515
+ /**
516
+ * Prepends the specified prefix list to the beginning of the specified list.
517
+ * If either list is non-empty, the result is also a non-empty list.
518
+ *
519
+ * @example
520
+ * import { List } from "effect"
521
+ *
522
+ * assert.deepStrictEqual(
523
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
524
+ * ["a", "b", 1, 2]
525
+ * )
526
+ *
527
+ * @category concatenating
528
+ * @since 2.0.0
529
+ */
374
530
  <A, B>(self: Cons<A>, that: List<B>): Cons<A | B>
531
+ /**
532
+ * Prepends the specified prefix list to the beginning of the specified list.
533
+ * If either list is non-empty, the result is also a non-empty list.
534
+ *
535
+ * @example
536
+ * import { List } from "effect"
537
+ *
538
+ * assert.deepStrictEqual(
539
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
540
+ * ["a", "b", 1, 2]
541
+ * )
542
+ *
543
+ * @category concatenating
544
+ * @since 2.0.0
545
+ */
375
546
  <A, B>(self: List<A>, that: List<B>): List<A | B>
376
547
  } = dual(2, <A, B>(self: List<A>, prefix: List<B>): List<A | B> => {
377
548
  if (isNil(self)) {
@@ -379,11 +550,45 @@ export const prependAll: {
379
550
  } else if (isNil(prefix)) {
380
551
  return self
381
552
  } else {
382
- const result = makeCons<A | B>(prefix.head, self)
553
+ const result = makeCons<
554
+ /**
555
+ * Prepends the specified prefix list to the beginning of the specified list.
556
+ * If either list is non-empty, the result is also a non-empty list.
557
+ *
558
+ * @example
559
+ * import { List } from "effect"
560
+ *
561
+ * assert.deepStrictEqual(
562
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
563
+ * ["a", "b", 1, 2]
564
+ * )
565
+ *
566
+ * @category concatenating
567
+ * @since 2.0.0
568
+ */
569
+ A | B
570
+ >(prefix.head, self)
383
571
  let curr = result
384
572
  let that = prefix.tail
385
573
  while (!isNil(that)) {
386
- const temp = makeCons<A | B>(that.head, self)
574
+ const temp = makeCons<
575
+ /**
576
+ * Prepends the specified prefix list to the beginning of the specified list.
577
+ * If either list is non-empty, the result is also a non-empty list.
578
+ *
579
+ * @example
580
+ * import { List } from "effect"
581
+ *
582
+ * assert.deepStrictEqual(
583
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
584
+ * ["a", "b", 1, 2]
585
+ * )
586
+ *
587
+ * @category concatenating
588
+ * @since 2.0.0
589
+ */
590
+ A | B
591
+ >(that.head, self)
387
592
  curr.tail = temp
388
593
  curr = temp
389
594
  that = that.tail
@@ -400,7 +605,21 @@ export const prependAll: {
400
605
  * @since 2.0.0
401
606
  */
402
607
  export const prependAllReversed: {
608
+ /**
609
+ * Prepends the specified prefix list (in reverse order) to the beginning of the
610
+ * specified list.
611
+ *
612
+ * @category concatenating
613
+ * @since 2.0.0
614
+ */
403
615
  <B>(prefix: List<B>): <A>(self: List<A>) => List<A | B>
616
+ /**
617
+ * Prepends the specified prefix list (in reverse order) to the beginning of the
618
+ * specified list.
619
+ *
620
+ * @category concatenating
621
+ * @since 2.0.0
622
+ */
404
623
  <A, B>(self: List<A>, prefix: List<B>): List<A | B>
405
624
  } = dual(2, <A, B>(self: List<A>, prefix: List<B>): List<A | B> => {
406
625
  let out: List<A | B> = self
@@ -419,7 +638,19 @@ export const prependAllReversed: {
419
638
  * @category combinators
420
639
  */
421
640
  export const drop: {
641
+ /**
642
+ * Drops the first `n` elements from the specified list.
643
+ *
644
+ * @since 2.0.0
645
+ * @category combinators
646
+ */
422
647
  (n: number): <A>(self: List<A>) => List<A>
648
+ /**
649
+ * Drops the first `n` elements from the specified list.
650
+ *
651
+ * @since 2.0.0
652
+ * @category combinators
653
+ */
423
654
  <A>(self: List<A>, n: number): List<A>
424
655
  } = dual(2, <A>(self: List<A>, n: number): List<A> => {
425
656
  if (n <= 0) {
@@ -444,9 +675,33 @@ export const drop: {
444
675
  * @category elements
445
676
  */
446
677
  export const every: {
678
+ /**
679
+ * Check if a predicate holds true for every `List` element.
680
+ *
681
+ * @since 2.0.0
682
+ * @category elements
683
+ */
447
684
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: List<A>) => self is List<B>
685
+ /**
686
+ * Check if a predicate holds true for every `List` element.
687
+ *
688
+ * @since 2.0.0
689
+ * @category elements
690
+ */
448
691
  <A>(predicate: Predicate<A>): (self: List<A>) => boolean
692
+ /**
693
+ * Check if a predicate holds true for every `List` element.
694
+ *
695
+ * @since 2.0.0
696
+ * @category elements
697
+ */
449
698
  <A, B extends A>(self: List<A>, refinement: Refinement<A, B>): self is List<B>
699
+ /**
700
+ * Check if a predicate holds true for every `List` element.
701
+ *
702
+ * @since 2.0.0
703
+ * @category elements
704
+ */
450
705
  <A>(self: List<A>, predicate: Predicate<A>): boolean
451
706
  } = dual(2, <A, B extends A>(self: List<A>, refinement: Refinement<A, B>): self is List<B> => {
452
707
  for (const a of self) {
@@ -464,7 +719,19 @@ export const every: {
464
719
  * @category elements
465
720
  */
466
721
  export const some: {
722
+ /**
723
+ * Check if a predicate holds true for some `List` element.
724
+ *
725
+ * @since 2.0.0
726
+ * @category elements
727
+ */
467
728
  <A>(predicate: Predicate<NoInfer<A>>): (self: List<A>) => self is Cons<A>
729
+ /**
730
+ * Check if a predicate holds true for some `List` element.
731
+ *
732
+ * @since 2.0.0
733
+ * @category elements
734
+ */
468
735
  <A>(self: List<A>, predicate: Predicate<A>): self is Cons<A>
469
736
  } = dual(2, <A>(self: List<A>, predicate: Predicate<A>): self is Cons<A> => {
470
737
  let these = self
@@ -484,9 +751,33 @@ export const some: {
484
751
  * @category combinators
485
752
  */
486
753
  export const filter: {
754
+ /**
755
+ * Filters a list using the specified predicate.
756
+ *
757
+ * @since 2.0.0
758
+ * @category combinators
759
+ */
487
760
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: List<A>) => List<B>
761
+ /**
762
+ * Filters a list using the specified predicate.
763
+ *
764
+ * @since 2.0.0
765
+ * @category combinators
766
+ */
488
767
  <A>(predicate: Predicate<NoInfer<A>>): (self: List<A>) => List<A>
768
+ /**
769
+ * Filters a list using the specified predicate.
770
+ *
771
+ * @since 2.0.0
772
+ * @category combinators
773
+ */
489
774
  <A, B extends A>(self: List<A>, refinement: Refinement<A, B>): List<B>
775
+ /**
776
+ * Filters a list using the specified predicate.
777
+ *
778
+ * @since 2.0.0
779
+ * @category combinators
780
+ */
490
781
  <A>(self: List<A>, predicate: Predicate<A>): List<A>
491
782
  } = dual(2, <A>(self: List<A>, predicate: Predicate<A>): List<A> => noneIn(self, predicate, false))
492
783
 
@@ -589,7 +880,23 @@ const partialFill = <A>(
589
880
  * @category combinators
590
881
  */
591
882
  export const filterMap: {
883
+ /**
884
+ * Filters and maps a list using the specified partial function. The resulting
885
+ * list may be smaller than the input list due to the possibility of the partial
886
+ * function not being defined for some elements.
887
+ *
888
+ * @since 2.0.0
889
+ * @category combinators
890
+ */
592
891
  <A, B>(f: (a: A) => Option.Option<B>): (self: List<A>) => List<B>
892
+ /**
893
+ * Filters and maps a list using the specified partial function. The resulting
894
+ * list may be smaller than the input list due to the possibility of the partial
895
+ * function not being defined for some elements.
896
+ *
897
+ * @since 2.0.0
898
+ * @category combinators
899
+ */
593
900
  <A, B>(self: List<A>, f: (a: A) => Option.Option<B>): List<B>
594
901
  } = dual(2, <A, B>(self: List<A>, f: (a: A) => Option.Option<B>): List<B> => {
595
902
  const bs: Array<B> = []
@@ -618,9 +925,37 @@ export const compact = <A>(self: List<Option.Option<A>>): List<A> => filterMap(s
618
925
  * @since 2.0.0
619
926
  */
620
927
  export const findFirst: {
928
+ /**
929
+ * Returns the first element that satisfies the specified
930
+ * predicate, or `None` if no such element exists.
931
+ *
932
+ * @category elements
933
+ * @since 2.0.0
934
+ */
621
935
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: List<A>) => Option.Option<B>
936
+ /**
937
+ * Returns the first element that satisfies the specified
938
+ * predicate, or `None` if no such element exists.
939
+ *
940
+ * @category elements
941
+ * @since 2.0.0
942
+ */
622
943
  <A>(predicate: Predicate<NoInfer<A>>): (self: List<A>) => Option.Option<A>
944
+ /**
945
+ * Returns the first element that satisfies the specified
946
+ * predicate, or `None` if no such element exists.
947
+ *
948
+ * @category elements
949
+ * @since 2.0.0
950
+ */
623
951
  <A, B extends A>(self: List<A>, refinement: Refinement<A, B>): Option.Option<B>
952
+ /**
953
+ * Returns the first element that satisfies the specified
954
+ * predicate, or `None` if no such element exists.
955
+ *
956
+ * @category elements
957
+ * @since 2.0.0
958
+ */
624
959
  <A>(self: List<A>, predicate: Predicate<A>): Option.Option<A>
625
960
  } = dual(2, <A>(self: List<A>, predicate: Predicate<A>): Option.Option<A> => {
626
961
  let these = self
@@ -640,10 +975,28 @@ export const findFirst: {
640
975
  * @category sequencing
641
976
  */
642
977
  export const flatMap: {
978
+ /**
979
+ * Applies a function to each element in a list and returns a new list containing the concatenated mapped elements.
980
+ *
981
+ * @since 2.0.0
982
+ * @category sequencing
983
+ */
643
984
  <S extends List<any>, T extends List<any>>(
644
985
  f: (a: List.Infer<S>, i: number) => T
645
986
  ): (self: S) => List.AndNonEmpty<S, T, List.Infer<T>>
987
+ /**
988
+ * Applies a function to each element in a list and returns a new list containing the concatenated mapped elements.
989
+ *
990
+ * @since 2.0.0
991
+ * @category sequencing
992
+ */
646
993
  <A, B>(self: Cons<A>, f: (a: A, i: number) => Cons<B>): Cons<B>
994
+ /**
995
+ * Applies a function to each element in a list and returns a new list containing the concatenated mapped elements.
996
+ *
997
+ * @since 2.0.0
998
+ * @category sequencing
999
+ */
647
1000
  <A, B>(self: List<A>, f: (a: A, i: number) => List<B>): List<B>
648
1001
  } = dual(2, <A, B>(self: List<A>, f: (a: A) => List<B>): List<B> => {
649
1002
  let rest = self
@@ -676,7 +1029,19 @@ export const flatMap: {
676
1029
  * @category combinators
677
1030
  */
678
1031
  export const forEach: {
1032
+ /**
1033
+ * Applies the specified function to each element of the `List`.
1034
+ *
1035
+ * @since 2.0.0
1036
+ * @category combinators
1037
+ */
679
1038
  <A, B>(f: (a: A) => B): (self: List<A>) => void
1039
+ /**
1040
+ * Applies the specified function to each element of the `List`.
1041
+ *
1042
+ * @since 2.0.0
1043
+ * @category combinators
1044
+ */
680
1045
  <A, B>(self: List<A>, f: (a: A) => B): void
681
1046
  } = dual(2, <A, B>(self: List<A>, f: (a: A) => B): void => {
682
1047
  let these = self
@@ -741,7 +1106,19 @@ export declare namespace List {
741
1106
  * @category mapping
742
1107
  */
743
1108
  export const map: {
1109
+ /**
1110
+ * Applies the specified mapping function to each element of the list.
1111
+ *
1112
+ * @since 2.0.0
1113
+ * @category mapping
1114
+ */
744
1115
  <S extends List<any>, B>(f: (a: List.Infer<S>, i: number) => B): (self: S) => List.With<S, B>
1116
+ /**
1117
+ * Applies the specified mapping function to each element of the list.
1118
+ *
1119
+ * @since 2.0.0
1120
+ * @category mapping
1121
+ */
745
1122
  <S extends List<any>, B>(self: S, f: (a: List.Infer<S>, i: number) => B): List.With<S, B>
746
1123
  } = dual(2, <A, B>(self: List<A>, f: (a: A, i: number) => B): List<B> => {
747
1124
  if (isNil(self)) {
@@ -770,11 +1147,43 @@ export const map: {
770
1147
  * @category combinators
771
1148
  */
772
1149
  export const partition: {
1150
+ /**
1151
+ * Partition a list into two lists, where the first list contains all elements
1152
+ * that did not satisfy the specified predicate, and the second list contains
1153
+ * all elements that did satisfy the specified predicate.
1154
+ *
1155
+ * @since 2.0.0
1156
+ * @category combinators
1157
+ */
773
1158
  <A, B extends A>(
774
1159
  refinement: Refinement<NoInfer<A>, B>
775
1160
  ): (self: List<A>) => [excluded: List<Exclude<A, B>>, satisfying: List<B>]
1161
+ /**
1162
+ * Partition a list into two lists, where the first list contains all elements
1163
+ * that did not satisfy the specified predicate, and the second list contains
1164
+ * all elements that did satisfy the specified predicate.
1165
+ *
1166
+ * @since 2.0.0
1167
+ * @category combinators
1168
+ */
776
1169
  <A>(predicate: Predicate<NoInfer<A>>): (self: List<A>) => [excluded: List<A>, satisfying: List<A>]
1170
+ /**
1171
+ * Partition a list into two lists, where the first list contains all elements
1172
+ * that did not satisfy the specified predicate, and the second list contains
1173
+ * all elements that did satisfy the specified predicate.
1174
+ *
1175
+ * @since 2.0.0
1176
+ * @category combinators
1177
+ */
777
1178
  <A, B extends A>(self: List<A>, refinement: Refinement<A, B>): [excluded: List<Exclude<A, B>>, satisfying: List<B>]
1179
+ /**
1180
+ * Partition a list into two lists, where the first list contains all elements
1181
+ * that did not satisfy the specified predicate, and the second list contains
1182
+ * all elements that did satisfy the specified predicate.
1183
+ *
1184
+ * @since 2.0.0
1185
+ * @category combinators
1186
+ */
778
1187
  <A>(self: List<A>, predicate: Predicate<A>): [excluded: List<A>, satisfying: List<A>]
779
1188
  } = dual(2, <A>(self: List<A>, predicate: Predicate<A>): [excluded: List<A>, satisfying: List<A>] => {
780
1189
  const left: Array<A> = []
@@ -798,7 +1207,23 @@ export const partition: {
798
1207
  * @category combinators
799
1208
  */
800
1209
  export const partitionMap: {
1210
+ /**
1211
+ * Partition a list into two lists, where the first list contains all elements
1212
+ * for which the specified function returned a `Left`, and the second list
1213
+ * contains all elements for which the specified function returned a `Right`.
1214
+ *
1215
+ * @since 2.0.0
1216
+ * @category combinators
1217
+ */
801
1218
  <A, B, C>(f: (a: A) => Either.Either<C, B>): (self: List<A>) => [left: List<B>, right: List<C>]
1219
+ /**
1220
+ * Partition a list into two lists, where the first list contains all elements
1221
+ * for which the specified function returned a `Left`, and the second list
1222
+ * contains all elements for which the specified function returned a `Right`.
1223
+ *
1224
+ * @since 2.0.0
1225
+ * @category combinators
1226
+ */
802
1227
  <A, B, C>(self: List<A>, f: (a: A) => Either.Either<C, B>): [left: List<B>, right: List<C>]
803
1228
  } = dual(2, <A, B, C>(self: List<A>, f: (a: A) => Either.Either<C, B>): [left: List<B>, right: List<C>] => {
804
1229
  const left: Array<B> = []
@@ -822,7 +1247,21 @@ export const partitionMap: {
822
1247
  * @category folding
823
1248
  */
824
1249
  export const reduce: {
1250
+ /**
1251
+ * Folds over the elements of the list using the specified function, using the
1252
+ * specified initial value.
1253
+ *
1254
+ * @since 2.0.0
1255
+ * @category folding
1256
+ */
825
1257
  <Z, A>(zero: Z, f: (b: Z, a: A) => Z): (self: List<A>) => Z
1258
+ /**
1259
+ * Folds over the elements of the list using the specified function, using the
1260
+ * specified initial value.
1261
+ *
1262
+ * @since 2.0.0
1263
+ * @category folding
1264
+ */
826
1265
  <A, Z>(self: List<A>, zero: Z, f: (b: Z, a: A) => Z): Z
827
1266
  } = dual(3, <A, Z>(self: List<A>, zero: Z, f: (b: Z, a: A) => Z): Z => {
828
1267
  let acc = zero
@@ -842,7 +1281,21 @@ export const reduce: {
842
1281
  * @category folding
843
1282
  */
844
1283
  export const reduceRight: {
1284
+ /**
1285
+ * Folds over the elements of the list using the specified function, beginning
1286
+ * with the last element of the list, using the specified initial value.
1287
+ *
1288
+ * @since 2.0.0
1289
+ * @category folding
1290
+ */
845
1291
  <Z, A>(zero: Z, f: (accumulator: Z, value: A) => Z): (self: List<A>) => Z
1292
+ /**
1293
+ * Folds over the elements of the list using the specified function, beginning
1294
+ * with the last element of the list, using the specified initial value.
1295
+ *
1296
+ * @since 2.0.0
1297
+ * @category folding
1298
+ */
846
1299
  <Z, A>(self: List<A>, zero: Z, f: (accumulator: Z, value: A) => Z): Z
847
1300
  } = dual(3, <Z, A>(self: List<A>, zero: Z, f: (accumulator: Z, value: A) => Z): Z => {
848
1301
  let acc = zero
@@ -877,7 +1330,19 @@ export const reverse = <A>(self: List<A>): List<A> => {
877
1330
  * @category combinators
878
1331
  */
879
1332
  export const splitAt: {
1333
+ /**
1334
+ * Splits the specified list into two lists at the specified index.
1335
+ *
1336
+ * @since 2.0.0
1337
+ * @category combinators
1338
+ */
880
1339
  (n: number): <A>(self: List<A>) => [beforeIndex: List<A>, fromIndex: List<A>]
1340
+ /**
1341
+ * Splits the specified list into two lists at the specified index.
1342
+ *
1343
+ * @since 2.0.0
1344
+ * @category combinators
1345
+ */
881
1346
  <A>(self: List<A>, n: number): [beforeIndex: List<A>, fromIndex: List<A>]
882
1347
  } = dual(2, <A>(self: List<A>, n: number): [List<A>, List<A>] => [take(self, n), drop(self, n)])
883
1348
 
@@ -897,7 +1362,21 @@ export const tail = <A>(self: List<A>): Option.Option<List<A>> => isNil(self) ?
897
1362
  * @category combinators
898
1363
  */
899
1364
  export const take: {
1365
+ /**
1366
+ * Takes the specified number of elements from the beginning of the specified
1367
+ * list.
1368
+ *
1369
+ * @since 2.0.0
1370
+ * @category combinators
1371
+ */
900
1372
  (n: number): <A>(self: List<A>) => List<A>
1373
+ /**
1374
+ * Takes the specified number of elements from the beginning of the specified
1375
+ * list.
1376
+ *
1377
+ * @since 2.0.0
1378
+ * @category combinators
1379
+ */
901
1380
  <A>(self: List<A>, n: number): List<A>
902
1381
  } = dual(2, <A>(self: List<A>, n: number): List<A> => {
903
1382
  if (n <= 0) {