effect 4.0.0-beta.70 → 4.0.0-beta.72

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 (1586) hide show
  1. package/dist/Array.d.ts +1483 -239
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +617 -164
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +646 -52
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +331 -28
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +474 -18
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +292 -14
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +239 -19
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +163 -13
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +53 -8
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +82 -11
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +73 -12
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +53 -15
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +488 -200
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +349 -129
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +539 -158
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +222 -89
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +81 -6
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +45 -4
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +179 -54
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +65 -22
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Clock.d.ts +60 -3
  42. package/dist/Clock.d.ts.map +1 -1
  43. package/dist/Clock.js +31 -1
  44. package/dist/Clock.js.map +1 -1
  45. package/dist/Combiner.d.ts +21 -21
  46. package/dist/Combiner.d.ts.map +1 -1
  47. package/dist/Combiner.js +14 -18
  48. package/dist/Combiner.js.map +1 -1
  49. package/dist/Config.d.ts +135 -50
  50. package/dist/Config.d.ts.map +1 -1
  51. package/dist/Config.js +109 -37
  52. package/dist/Config.js.map +1 -1
  53. package/dist/ConfigProvider.d.ts +52 -29
  54. package/dist/ConfigProvider.d.ts.map +1 -1
  55. package/dist/ConfigProvider.js +21 -21
  56. package/dist/ConfigProvider.js.map +1 -1
  57. package/dist/Console.d.ts +32 -7
  58. package/dist/Console.d.ts.map +1 -1
  59. package/dist/Console.js +32 -7
  60. package/dist/Console.js.map +1 -1
  61. package/dist/Context.d.ts +503 -48
  62. package/dist/Context.d.ts.map +1 -1
  63. package/dist/Context.js +191 -17
  64. package/dist/Context.js.map +1 -1
  65. package/dist/Cron.d.ts +116 -6
  66. package/dist/Cron.d.ts.map +1 -1
  67. package/dist/Cron.js +92 -6
  68. package/dist/Cron.js.map +1 -1
  69. package/dist/Crypto.d.ts +30 -1
  70. package/dist/Crypto.d.ts.map +1 -1
  71. package/dist/Crypto.js +30 -1
  72. package/dist/Crypto.js.map +1 -1
  73. package/dist/Data.d.ts +92 -47
  74. package/dist/Data.d.ts.map +1 -1
  75. package/dist/Data.js +16 -12
  76. package/dist/Data.js.map +1 -1
  77. package/dist/DateTime.d.ts +313 -128
  78. package/dist/DateTime.d.ts.map +1 -1
  79. package/dist/DateTime.js +167 -68
  80. package/dist/DateTime.js.map +1 -1
  81. package/dist/Deferred.d.ts +345 -79
  82. package/dist/Deferred.d.ts.map +1 -1
  83. package/dist/Deferred.js +131 -12
  84. package/dist/Deferred.js.map +1 -1
  85. package/dist/Differ.d.ts +5 -0
  86. package/dist/Differ.d.ts.map +1 -1
  87. package/dist/Duration.d.ts +203 -50
  88. package/dist/Duration.d.ts.map +1 -1
  89. package/dist/Duration.js +112 -32
  90. package/dist/Duration.js.map +1 -1
  91. package/dist/Effect.d.ts +2006 -810
  92. package/dist/Effect.d.ts.map +1 -1
  93. package/dist/Effect.js +785 -350
  94. package/dist/Effect.js.map +1 -1
  95. package/dist/Effectable.d.ts +16 -2
  96. package/dist/Effectable.d.ts.map +1 -1
  97. package/dist/Effectable.js +16 -2
  98. package/dist/Effectable.js.map +1 -1
  99. package/dist/Encoding.d.ts +100 -8
  100. package/dist/Encoding.d.ts.map +1 -1
  101. package/dist/Encoding.js +141 -8
  102. package/dist/Encoding.js.map +1 -1
  103. package/dist/Equal.d.ts +10 -11
  104. package/dist/Equal.d.ts.map +1 -1
  105. package/dist/Equal.js +7 -8
  106. package/dist/Equal.js.map +1 -1
  107. package/dist/Equivalence.d.ts +46 -43
  108. package/dist/Equivalence.d.ts.map +1 -1
  109. package/dist/Equivalence.js +43 -35
  110. package/dist/Equivalence.js.map +1 -1
  111. package/dist/ErrorReporter.d.ts +135 -16
  112. package/dist/ErrorReporter.d.ts.map +1 -1
  113. package/dist/ErrorReporter.js +93 -12
  114. package/dist/ErrorReporter.js.map +1 -1
  115. package/dist/ExecutionPlan.d.ts +96 -26
  116. package/dist/ExecutionPlan.d.ts.map +1 -1
  117. package/dist/ExecutionPlan.js +28 -2
  118. package/dist/ExecutionPlan.js.map +1 -1
  119. package/dist/Exit.d.ts +149 -101
  120. package/dist/Exit.d.ts.map +1 -1
  121. package/dist/Exit.js +117 -80
  122. package/dist/Exit.js.map +1 -1
  123. package/dist/Fiber.d.ts +321 -72
  124. package/dist/Fiber.d.ts.map +1 -1
  125. package/dist/Fiber.js +152 -3
  126. package/dist/Fiber.js.map +1 -1
  127. package/dist/FiberHandle.d.ts +6 -6
  128. package/dist/FiberHandle.js +4 -4
  129. package/dist/FiberMap.d.ts +18 -18
  130. package/dist/FiberMap.js +8 -8
  131. package/dist/FiberSet.d.ts +21 -13
  132. package/dist/FiberSet.d.ts.map +1 -1
  133. package/dist/FiberSet.js +17 -9
  134. package/dist/FiberSet.js.map +1 -1
  135. package/dist/FileSystem.d.ts +79 -16
  136. package/dist/FileSystem.d.ts.map +1 -1
  137. package/dist/FileSystem.js +93 -33
  138. package/dist/FileSystem.js.map +1 -1
  139. package/dist/Filter.d.ts +221 -2
  140. package/dist/Filter.d.ts.map +1 -1
  141. package/dist/Filter.js +155 -2
  142. package/dist/Filter.js.map +1 -1
  143. package/dist/Formatter.d.ts +4 -6
  144. package/dist/Formatter.d.ts.map +1 -1
  145. package/dist/Formatter.js +3 -5
  146. package/dist/Formatter.js.map +1 -1
  147. package/dist/Function.d.ts +164 -18
  148. package/dist/Function.d.ts.map +1 -1
  149. package/dist/Function.js +116 -15
  150. package/dist/Function.js.map +1 -1
  151. package/dist/Graph.d.ts +297 -25
  152. package/dist/Graph.d.ts.map +1 -1
  153. package/dist/Graph.js +75 -12
  154. package/dist/Graph.js.map +1 -1
  155. package/dist/HKT.d.ts +59 -26
  156. package/dist/HKT.d.ts.map +1 -1
  157. package/dist/Hash.d.ts +95 -19
  158. package/dist/Hash.d.ts.map +1 -1
  159. package/dist/Hash.js +119 -17
  160. package/dist/Hash.js.map +1 -1
  161. package/dist/HashMap.d.ts +35 -37
  162. package/dist/HashMap.d.ts.map +1 -1
  163. package/dist/HashMap.js +13 -15
  164. package/dist/HashMap.js.map +1 -1
  165. package/dist/HashRing.d.ts +210 -9
  166. package/dist/HashRing.d.ts.map +1 -1
  167. package/dist/HashRing.js +95 -5
  168. package/dist/HashRing.js.map +1 -1
  169. package/dist/HashSet.d.ts +16 -16
  170. package/dist/HashSet.js +6 -6
  171. package/dist/Inspectable.d.ts +47 -4
  172. package/dist/Inspectable.d.ts.map +1 -1
  173. package/dist/Inspectable.js +74 -17
  174. package/dist/Inspectable.js.map +1 -1
  175. package/dist/Iterable.d.ts +261 -81
  176. package/dist/Iterable.d.ts.map +1 -1
  177. package/dist/Iterable.js +123 -43
  178. package/dist/Iterable.js.map +1 -1
  179. package/dist/JsonPatch.d.ts +34 -19
  180. package/dist/JsonPatch.d.ts.map +1 -1
  181. package/dist/JsonPatch.js +52 -44
  182. package/dist/JsonPatch.js.map +1 -1
  183. package/dist/JsonPointer.d.ts +5 -5
  184. package/dist/JsonPointer.js +5 -5
  185. package/dist/JsonSchema.d.ts +77 -33
  186. package/dist/JsonSchema.d.ts.map +1 -1
  187. package/dist/JsonSchema.js +45 -31
  188. package/dist/JsonSchema.js.map +1 -1
  189. package/dist/Latch.d.ts +158 -13
  190. package/dist/Latch.d.ts.map +1 -1
  191. package/dist/Latch.js +79 -4
  192. package/dist/Latch.js.map +1 -1
  193. package/dist/Layer.d.ts +297 -101
  194. package/dist/Layer.d.ts.map +1 -1
  195. package/dist/Layer.js +94 -36
  196. package/dist/Layer.js.map +1 -1
  197. package/dist/LayerMap.d.ts +9 -2
  198. package/dist/LayerMap.d.ts.map +1 -1
  199. package/dist/LayerMap.js +1 -2
  200. package/dist/LayerMap.js.map +1 -1
  201. package/dist/LogLevel.d.ts +96 -21
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +68 -9
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +21 -7
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +26 -13
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +82 -10
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +33 -2
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +215 -42
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +242 -59
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +68 -41
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +60 -33
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +285 -40
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +128 -7
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +111 -4
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +98 -39
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +24 -6
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +23 -5
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +141 -4
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +73 -2
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +20 -11
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +6 -6
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +22 -6
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +6 -1
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +434 -17
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +268 -13
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +26 -33
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +18 -25
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +186 -150
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +75 -72
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +93 -120
  258. package/dist/Order.d.ts.map +1 -1
  259. package/dist/Order.js +149 -142
  260. package/dist/Order.js.map +1 -1
  261. package/dist/Ordering.d.ts +37 -5
  262. package/dist/Ordering.d.ts.map +1 -1
  263. package/dist/Ordering.js +22 -3
  264. package/dist/Ordering.js.map +1 -1
  265. package/dist/PartitionedSemaphore.d.ts +238 -15
  266. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  267. package/dist/PartitionedSemaphore.js +106 -8
  268. package/dist/PartitionedSemaphore.js.map +1 -1
  269. package/dist/Path.d.ts +34 -6
  270. package/dist/Path.d.ts.map +1 -1
  271. package/dist/Path.js +19 -5
  272. package/dist/Path.js.map +1 -1
  273. package/dist/Pipeable.d.ts +29 -4
  274. package/dist/Pipeable.d.ts.map +1 -1
  275. package/dist/Pipeable.js +16 -4
  276. package/dist/Pipeable.js.map +1 -1
  277. package/dist/PlatformError.d.ts +53 -4
  278. package/dist/PlatformError.d.ts.map +1 -1
  279. package/dist/PlatformError.js +45 -4
  280. package/dist/PlatformError.js.map +1 -1
  281. package/dist/Pool.d.ts +140 -14
  282. package/dist/Pool.d.ts.map +1 -1
  283. package/dist/Pool.js +63 -8
  284. package/dist/Pool.js.map +1 -1
  285. package/dist/Predicate.d.ts +98 -168
  286. package/dist/Predicate.d.ts.map +1 -1
  287. package/dist/Predicate.js +109 -120
  288. package/dist/Predicate.js.map +1 -1
  289. package/dist/PrimaryKey.d.ts +75 -9
  290. package/dist/PrimaryKey.d.ts.map +1 -1
  291. package/dist/PrimaryKey.js +70 -9
  292. package/dist/PrimaryKey.js.map +1 -1
  293. package/dist/PubSub.d.ts +241 -66
  294. package/dist/PubSub.d.ts.map +1 -1
  295. package/dist/PubSub.js +187 -52
  296. package/dist/PubSub.js.map +1 -1
  297. package/dist/Pull.d.ts +148 -3
  298. package/dist/Pull.d.ts.map +1 -1
  299. package/dist/Pull.js +69 -2
  300. package/dist/Pull.js.map +1 -1
  301. package/dist/Queue.d.ts +167 -59
  302. package/dist/Queue.d.ts.map +1 -1
  303. package/dist/Queue.js +163 -55
  304. package/dist/Queue.js.map +1 -1
  305. package/dist/Random.d.ts +71 -16
  306. package/dist/Random.d.ts.map +1 -1
  307. package/dist/Random.js +35 -0
  308. package/dist/Random.js.map +1 -1
  309. package/dist/RcMap.d.ts +171 -9
  310. package/dist/RcMap.d.ts.map +1 -1
  311. package/dist/RcMap.js +49 -3
  312. package/dist/RcMap.js.map +1 -1
  313. package/dist/RcRef.d.ts +73 -18
  314. package/dist/RcRef.d.ts.map +1 -1
  315. package/dist/RcRef.js +23 -3
  316. package/dist/RcRef.js.map +1 -1
  317. package/dist/Record.d.ts +174 -53
  318. package/dist/Record.d.ts.map +1 -1
  319. package/dist/Record.js +128 -23
  320. package/dist/Record.js.map +1 -1
  321. package/dist/Redactable.d.ts +27 -23
  322. package/dist/Redactable.d.ts.map +1 -1
  323. package/dist/Redactable.js +22 -18
  324. package/dist/Redactable.js.map +1 -1
  325. package/dist/Redacted.d.ts +82 -4
  326. package/dist/Redacted.d.ts.map +1 -1
  327. package/dist/Redacted.js +64 -4
  328. package/dist/Redacted.js.map +1 -1
  329. package/dist/Reducer.d.ts +17 -7
  330. package/dist/Reducer.d.ts.map +1 -1
  331. package/dist/Reducer.js +2 -4
  332. package/dist/Reducer.js.map +1 -1
  333. package/dist/Ref.d.ts +168 -32
  334. package/dist/Ref.d.ts.map +1 -1
  335. package/dist/Ref.js +135 -30
  336. package/dist/Ref.js.map +1 -1
  337. package/dist/References.d.ts +226 -30
  338. package/dist/References.d.ts.map +1 -1
  339. package/dist/References.js +162 -23
  340. package/dist/References.js.map +1 -1
  341. package/dist/RegExp.d.ts +15 -2
  342. package/dist/RegExp.d.ts.map +1 -1
  343. package/dist/RegExp.js +49 -3
  344. package/dist/RegExp.js.map +1 -1
  345. package/dist/Request.d.ts +218 -35
  346. package/dist/Request.d.ts.map +1 -1
  347. package/dist/Request.js +57 -10
  348. package/dist/Request.js.map +1 -1
  349. package/dist/RequestResolver.d.ts +213 -29
  350. package/dist/RequestResolver.d.ts.map +1 -1
  351. package/dist/RequestResolver.js +99 -11
  352. package/dist/RequestResolver.js.map +1 -1
  353. package/dist/Resource.d.ts +62 -3
  354. package/dist/Resource.d.ts.map +1 -1
  355. package/dist/Resource.js +52 -3
  356. package/dist/Resource.js.map +1 -1
  357. package/dist/Result.d.ts +380 -57
  358. package/dist/Result.d.ts.map +1 -1
  359. package/dist/Result.js +176 -32
  360. package/dist/Result.js.map +1 -1
  361. package/dist/Runtime.d.ts +124 -14
  362. package/dist/Runtime.d.ts.map +1 -1
  363. package/dist/Runtime.js +150 -25
  364. package/dist/Runtime.js.map +1 -1
  365. package/dist/Schedule.d.ts +436 -115
  366. package/dist/Schedule.d.ts.map +1 -1
  367. package/dist/Schedule.js +344 -107
  368. package/dist/Schedule.js.map +1 -1
  369. package/dist/Scheduler.d.ts +53 -4
  370. package/dist/Scheduler.d.ts.map +1 -1
  371. package/dist/Scheduler.js +42 -3
  372. package/dist/Scheduler.js.map +1 -1
  373. package/dist/Schema.d.ts +934 -239
  374. package/dist/Schema.d.ts.map +1 -1
  375. package/dist/Schema.js +655 -217
  376. package/dist/Schema.js.map +1 -1
  377. package/dist/SchemaAST.d.ts +239 -28
  378. package/dist/SchemaAST.d.ts.map +1 -1
  379. package/dist/SchemaAST.js +239 -28
  380. package/dist/SchemaAST.js.map +1 -1
  381. package/dist/SchemaGetter.d.ts +127 -129
  382. package/dist/SchemaGetter.d.ts.map +1 -1
  383. package/dist/SchemaGetter.js +115 -117
  384. package/dist/SchemaGetter.js.map +1 -1
  385. package/dist/SchemaIssue.d.ts +45 -56
  386. package/dist/SchemaIssue.d.ts.map +1 -1
  387. package/dist/SchemaIssue.js +39 -50
  388. package/dist/SchemaIssue.js.map +1 -1
  389. package/dist/SchemaParser.d.ts +254 -15
  390. package/dist/SchemaParser.d.ts.map +1 -1
  391. package/dist/SchemaParser.js +295 -33
  392. package/dist/SchemaParser.js.map +1 -1
  393. package/dist/SchemaRepresentation.d.ts +106 -77
  394. package/dist/SchemaRepresentation.d.ts.map +1 -1
  395. package/dist/SchemaRepresentation.js +101 -71
  396. package/dist/SchemaRepresentation.js.map +1 -1
  397. package/dist/SchemaTransformation.d.ts +92 -56
  398. package/dist/SchemaTransformation.d.ts.map +1 -1
  399. package/dist/SchemaTransformation.js +86 -50
  400. package/dist/SchemaTransformation.js.map +1 -1
  401. package/dist/SchemaUtils.d.ts +9 -0
  402. package/dist/SchemaUtils.d.ts.map +1 -1
  403. package/dist/SchemaUtils.js +38 -11
  404. package/dist/SchemaUtils.js.map +1 -1
  405. package/dist/Scope.d.ts +127 -25
  406. package/dist/Scope.d.ts.map +1 -1
  407. package/dist/Scope.js +91 -21
  408. package/dist/Scope.js.map +1 -1
  409. package/dist/ScopedCache.d.ts +364 -19
  410. package/dist/ScopedCache.d.ts.map +1 -1
  411. package/dist/ScopedCache.js +155 -7
  412. package/dist/ScopedCache.js.map +1 -1
  413. package/dist/ScopedRef.d.ts +69 -7
  414. package/dist/ScopedRef.d.ts.map +1 -1
  415. package/dist/ScopedRef.js +49 -5
  416. package/dist/ScopedRef.js.map +1 -1
  417. package/dist/Semaphore.d.ts +348 -29
  418. package/dist/Semaphore.d.ts.map +1 -1
  419. package/dist/Semaphore.js +103 -8
  420. package/dist/Semaphore.js.map +1 -1
  421. package/dist/Sink.d.ts +343 -45
  422. package/dist/Sink.d.ts.map +1 -1
  423. package/dist/Sink.js +194 -26
  424. package/dist/Sink.js.map +1 -1
  425. package/dist/Stdio.d.ts +72 -17
  426. package/dist/Stdio.d.ts.map +1 -1
  427. package/dist/Stdio.js +62 -16
  428. package/dist/Stdio.js.map +1 -1
  429. package/dist/Stream.d.ts +774 -224
  430. package/dist/Stream.d.ts.map +1 -1
  431. package/dist/Stream.js +333 -91
  432. package/dist/Stream.js.map +1 -1
  433. package/dist/String.d.ts +219 -47
  434. package/dist/String.d.ts.map +1 -1
  435. package/dist/String.js +179 -29
  436. package/dist/String.js.map +1 -1
  437. package/dist/Struct.d.ts +54 -110
  438. package/dist/Struct.d.ts.map +1 -1
  439. package/dist/Struct.js +26 -42
  440. package/dist/Struct.js.map +1 -1
  441. package/dist/SubscriptionRef.d.ts +341 -105
  442. package/dist/SubscriptionRef.d.ts.map +1 -1
  443. package/dist/SubscriptionRef.js +162 -44
  444. package/dist/SubscriptionRef.js.map +1 -1
  445. package/dist/Symbol.d.ts +25 -7
  446. package/dist/Symbol.d.ts.map +1 -1
  447. package/dist/Symbol.js +25 -7
  448. package/dist/Symbol.js.map +1 -1
  449. package/dist/SynchronizedRef.d.ts +529 -29
  450. package/dist/SynchronizedRef.d.ts.map +1 -1
  451. package/dist/SynchronizedRef.js +193 -11
  452. package/dist/SynchronizedRef.js.map +1 -1
  453. package/dist/Take.d.ts +36 -13
  454. package/dist/Take.d.ts.map +1 -1
  455. package/dist/Take.js +5 -0
  456. package/dist/Take.js.map +1 -1
  457. package/dist/Terminal.d.ts +76 -20
  458. package/dist/Terminal.d.ts.map +1 -1
  459. package/dist/Terminal.js +41 -5
  460. package/dist/Terminal.js.map +1 -1
  461. package/dist/Tracer.d.ts +74 -7
  462. package/dist/Tracer.d.ts.map +1 -1
  463. package/dist/Tracer.js +74 -7
  464. package/dist/Tracer.js.map +1 -1
  465. package/dist/Trie.d.ts +67 -30
  466. package/dist/Trie.d.ts.map +1 -1
  467. package/dist/Trie.js +7 -7
  468. package/dist/Trie.js.map +1 -1
  469. package/dist/Tuple.d.ts +96 -108
  470. package/dist/Tuple.d.ts.map +1 -1
  471. package/dist/Tuple.js +42 -52
  472. package/dist/Tuple.js.map +1 -1
  473. package/dist/TxChunk.d.ts +42 -9
  474. package/dist/TxChunk.d.ts.map +1 -1
  475. package/dist/TxChunk.js +42 -9
  476. package/dist/TxChunk.js.map +1 -1
  477. package/dist/TxDeferred.d.ts +85 -2
  478. package/dist/TxDeferred.d.ts.map +1 -1
  479. package/dist/TxDeferred.js +56 -2
  480. package/dist/TxDeferred.js.map +1 -1
  481. package/dist/TxHashMap.d.ts +20 -20
  482. package/dist/TxHashMap.js +8 -8
  483. package/dist/TxHashSet.d.ts +14 -14
  484. package/dist/TxHashSet.js +6 -6
  485. package/dist/TxPriorityQueue.d.ts +43 -8
  486. package/dist/TxPriorityQueue.d.ts.map +1 -1
  487. package/dist/TxPriorityQueue.js +41 -6
  488. package/dist/TxPriorityQueue.js.map +1 -1
  489. package/dist/TxPubSub.d.ts +98 -8
  490. package/dist/TxPubSub.d.ts.map +1 -1
  491. package/dist/TxPubSub.js +70 -8
  492. package/dist/TxPubSub.js.map +1 -1
  493. package/dist/TxQueue.d.ts +58 -17
  494. package/dist/TxQueue.d.ts.map +1 -1
  495. package/dist/TxQueue.js +10 -10
  496. package/dist/TxQueue.js.map +1 -1
  497. package/dist/TxReentrantLock.d.ts +88 -16
  498. package/dist/TxReentrantLock.d.ts.map +1 -1
  499. package/dist/TxReentrantLock.js +78 -14
  500. package/dist/TxReentrantLock.js.map +1 -1
  501. package/dist/TxRef.d.ts +113 -8
  502. package/dist/TxRef.d.ts.map +1 -1
  503. package/dist/TxRef.js +82 -8
  504. package/dist/TxRef.js.map +1 -1
  505. package/dist/TxSemaphore.d.ts +173 -14
  506. package/dist/TxSemaphore.d.ts.map +1 -1
  507. package/dist/TxSemaphore.js +130 -14
  508. package/dist/TxSemaphore.js.map +1 -1
  509. package/dist/TxSubscriptionRef.d.ts +206 -3
  510. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  511. package/dist/TxSubscriptionRef.js +111 -3
  512. package/dist/TxSubscriptionRef.js.map +1 -1
  513. package/dist/Types.d.ts +68 -13
  514. package/dist/Types.d.ts.map +1 -1
  515. package/dist/UndefinedOr.d.ts +171 -30
  516. package/dist/UndefinedOr.d.ts.map +1 -1
  517. package/dist/UndefinedOr.js +115 -30
  518. package/dist/UndefinedOr.js.map +1 -1
  519. package/dist/Unify.d.ts +130 -22
  520. package/dist/Unify.d.ts.map +1 -1
  521. package/dist/Unify.js +36 -12
  522. package/dist/Unify.js.map +1 -1
  523. package/dist/Utils.d.ts +21 -16
  524. package/dist/Utils.d.ts.map +1 -1
  525. package/dist/Utils.js +14 -6
  526. package/dist/Utils.js.map +1 -1
  527. package/dist/index.d.ts +0 -5205
  528. package/dist/index.d.ts.map +1 -1
  529. package/dist/index.js +0 -5205
  530. package/dist/index.js.map +1 -1
  531. package/dist/internal/effect.js.map +1 -1
  532. package/dist/internal/request.js +3 -1
  533. package/dist/internal/request.js.map +1 -1
  534. package/dist/internal/schema/arbitrary.js +11 -1
  535. package/dist/internal/schema/arbitrary.js.map +1 -1
  536. package/dist/internal/schema/representation.js +21 -12
  537. package/dist/internal/schema/representation.js.map +1 -1
  538. package/dist/testing/TestConsole.d.ts +69 -0
  539. package/dist/testing/TestConsole.d.ts.map +1 -1
  540. package/dist/testing/TestConsole.js +73 -9
  541. package/dist/testing/TestConsole.js.map +1 -1
  542. package/dist/testing/TestSchema.d.ts +79 -30
  543. package/dist/testing/TestSchema.d.ts.map +1 -1
  544. package/dist/testing/TestSchema.js +69 -31
  545. package/dist/testing/TestSchema.js.map +1 -1
  546. package/dist/testing/index.d.ts +0 -107
  547. package/dist/testing/index.d.ts.map +1 -1
  548. package/dist/testing/index.js +0 -107
  549. package/dist/testing/index.js.map +1 -1
  550. package/dist/unstable/ai/AiError.d.ts +33 -5
  551. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  552. package/dist/unstable/ai/AiError.js +33 -5
  553. package/dist/unstable/ai/AiError.js.map +1 -1
  554. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +9 -0
  555. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  556. package/dist/unstable/ai/AnthropicStructuredOutput.js +43 -11
  557. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  558. package/dist/unstable/ai/Chat.d.ts +45 -6
  559. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  560. package/dist/unstable/ai/Chat.js +73 -33
  561. package/dist/unstable/ai/Chat.js.map +1 -1
  562. package/dist/unstable/ai/EmbeddingModel.d.ts +104 -8
  563. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  564. package/dist/unstable/ai/EmbeddingModel.js +103 -7
  565. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  566. package/dist/unstable/ai/IdGenerator.d.ts +8 -3
  567. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  568. package/dist/unstable/ai/IdGenerator.js +8 -3
  569. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  570. package/dist/unstable/ai/LanguageModel.d.ts +51 -7
  571. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  572. package/dist/unstable/ai/LanguageModel.js +50 -6
  573. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  574. package/dist/unstable/ai/McpSchema.d.ts +299 -169
  575. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  576. package/dist/unstable/ai/McpSchema.js +278 -147
  577. package/dist/unstable/ai/McpSchema.js.map +1 -1
  578. package/dist/unstable/ai/McpServer.d.ts +108 -14
  579. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  580. package/dist/unstable/ai/McpServer.js +80 -10
  581. package/dist/unstable/ai/McpServer.js.map +1 -1
  582. package/dist/unstable/ai/Model.d.ts +35 -13
  583. package/dist/unstable/ai/Model.d.ts.map +1 -1
  584. package/dist/unstable/ai/Model.js +34 -12
  585. package/dist/unstable/ai/Model.js.map +1 -1
  586. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  587. package/dist/unstable/ai/OpenAiStructuredOutput.js +48 -1
  588. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  589. package/dist/unstable/ai/Prompt.d.ts +24 -3
  590. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  591. package/dist/unstable/ai/Prompt.js +23 -2
  592. package/dist/unstable/ai/Prompt.js.map +1 -1
  593. package/dist/unstable/ai/Response.d.ts +71 -13
  594. package/dist/unstable/ai/Response.d.ts.map +1 -1
  595. package/dist/unstable/ai/Response.js +35 -1
  596. package/dist/unstable/ai/Response.js.map +1 -1
  597. package/dist/unstable/ai/ResponseIdTracker.d.ts +34 -12
  598. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  599. package/dist/unstable/ai/ResponseIdTracker.js +33 -11
  600. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  601. package/dist/unstable/ai/Telemetry.d.ts +40 -27
  602. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  603. package/dist/unstable/ai/Telemetry.js +34 -26
  604. package/dist/unstable/ai/Telemetry.js.map +1 -1
  605. package/dist/unstable/ai/Tokenizer.d.ts +41 -25
  606. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  607. package/dist/unstable/ai/Tokenizer.js +41 -25
  608. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  609. package/dist/unstable/ai/Tool.d.ts +85 -24
  610. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  611. package/dist/unstable/ai/Tool.js +84 -23
  612. package/dist/unstable/ai/Tool.js.map +1 -1
  613. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  614. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  615. package/dist/unstable/ai/Toolkit.js +1 -1
  616. package/dist/unstable/ai/Toolkit.js.map +1 -1
  617. package/dist/unstable/ai/index.d.ts +0 -560
  618. package/dist/unstable/ai/index.d.ts.map +1 -1
  619. package/dist/unstable/ai/index.js +0 -560
  620. package/dist/unstable/ai/index.js.map +1 -1
  621. package/dist/unstable/cli/Argument.js +1 -1
  622. package/dist/unstable/cli/Argument.js.map +1 -1
  623. package/dist/unstable/cli/CliError.d.ts +3 -3
  624. package/dist/unstable/cli/CliError.js +3 -3
  625. package/dist/unstable/cli/CliOutput.d.ts +1 -1
  626. package/dist/unstable/cli/Command.d.ts +136 -8
  627. package/dist/unstable/cli/Command.d.ts.map +1 -1
  628. package/dist/unstable/cli/Command.js +50 -4
  629. package/dist/unstable/cli/Command.js.map +1 -1
  630. package/dist/unstable/cli/Completions.d.ts +13 -0
  631. package/dist/unstable/cli/Completions.d.ts.map +1 -1
  632. package/dist/unstable/cli/Completions.js +41 -1
  633. package/dist/unstable/cli/Completions.js.map +1 -1
  634. package/dist/unstable/cli/Flag.d.ts +24 -12
  635. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  636. package/dist/unstable/cli/Flag.js +18 -6
  637. package/dist/unstable/cli/Flag.js.map +1 -1
  638. package/dist/unstable/cli/GlobalFlag.d.ts +39 -8
  639. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  640. package/dist/unstable/cli/GlobalFlag.js +39 -8
  641. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  642. package/dist/unstable/cli/Param.d.ts +128 -2
  643. package/dist/unstable/cli/Param.d.ts.map +1 -1
  644. package/dist/unstable/cli/Param.js +59 -7
  645. package/dist/unstable/cli/Param.js.map +1 -1
  646. package/dist/unstable/cli/Primitive.d.ts +3 -3
  647. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  648. package/dist/unstable/cli/Primitive.js +59 -10
  649. package/dist/unstable/cli/Primitive.js.map +1 -1
  650. package/dist/unstable/cli/Prompt.d.ts +37 -7
  651. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  652. package/dist/unstable/cli/Prompt.js +51 -9
  653. package/dist/unstable/cli/Prompt.js.map +1 -1
  654. package/dist/unstable/cli/index.d.ts +0 -220
  655. package/dist/unstable/cli/index.d.ts.map +1 -1
  656. package/dist/unstable/cli/index.js +0 -220
  657. package/dist/unstable/cli/index.js.map +1 -1
  658. package/dist/unstable/cli/internal/parser.js +1 -1
  659. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  660. package/dist/unstable/cluster/ClusterError.d.ts +61 -22
  661. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  662. package/dist/unstable/cluster/ClusterError.js +61 -22
  663. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  664. package/dist/unstable/cluster/ClusterMetrics.d.ts +58 -5
  665. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  666. package/dist/unstable/cluster/ClusterMetrics.js +58 -5
  667. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  668. package/dist/unstable/cluster/ClusterSchema.d.ts +87 -26
  669. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  670. package/dist/unstable/cluster/ClusterSchema.js +87 -26
  671. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  672. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  673. package/dist/unstable/cluster/ClusterWorkflowEngine.js +49 -10
  674. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  675. package/dist/unstable/cluster/DeliverAt.d.ts +6 -1
  676. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  677. package/dist/unstable/cluster/DeliverAt.js +6 -1
  678. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  679. package/dist/unstable/cluster/Entity.d.ts +33 -6
  680. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  681. package/dist/unstable/cluster/Entity.js +32 -5
  682. package/dist/unstable/cluster/Entity.js.map +1 -1
  683. package/dist/unstable/cluster/EntityAddress.d.ts +19 -0
  684. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  685. package/dist/unstable/cluster/EntityAddress.js +19 -0
  686. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  687. package/dist/unstable/cluster/EntityId.d.ts +44 -7
  688. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  689. package/dist/unstable/cluster/EntityId.js +44 -7
  690. package/dist/unstable/cluster/EntityId.js.map +1 -1
  691. package/dist/unstable/cluster/EntityResource.d.ts +5 -6
  692. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  693. package/dist/unstable/cluster/EntityResource.js +4 -5
  694. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  695. package/dist/unstable/cluster/EntityType.d.ts +19 -0
  696. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  697. package/dist/unstable/cluster/EntityType.js +19 -0
  698. package/dist/unstable/cluster/EntityType.js.map +1 -1
  699. package/dist/unstable/cluster/Envelope.d.ts +11 -11
  700. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  701. package/dist/unstable/cluster/Envelope.js +11 -11
  702. package/dist/unstable/cluster/Envelope.js.map +1 -1
  703. package/dist/unstable/cluster/HttpRunner.d.ts +42 -22
  704. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  705. package/dist/unstable/cluster/HttpRunner.js +42 -22
  706. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  707. package/dist/unstable/cluster/K8sHttpClient.d.ts +33 -14
  708. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  709. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  710. package/dist/unstable/cluster/MachineId.d.ts +35 -9
  711. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  712. package/dist/unstable/cluster/MachineId.js +35 -9
  713. package/dist/unstable/cluster/MachineId.js.map +1 -1
  714. package/dist/unstable/cluster/Message.d.ts +11 -11
  715. package/dist/unstable/cluster/Message.js +11 -11
  716. package/dist/unstable/cluster/MessageStorage.d.ts +38 -24
  717. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  718. package/dist/unstable/cluster/MessageStorage.js +37 -23
  719. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  720. package/dist/unstable/cluster/Reply.d.ts +18 -8
  721. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  722. package/dist/unstable/cluster/Reply.js +18 -8
  723. package/dist/unstable/cluster/Reply.js.map +1 -1
  724. package/dist/unstable/cluster/Runner.d.ts +47 -14
  725. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  726. package/dist/unstable/cluster/Runner.js +47 -14
  727. package/dist/unstable/cluster/Runner.js.map +1 -1
  728. package/dist/unstable/cluster/RunnerAddress.d.ts +52 -10
  729. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  730. package/dist/unstable/cluster/RunnerAddress.js +52 -10
  731. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  732. package/dist/unstable/cluster/RunnerHealth.d.ts +33 -16
  733. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  734. package/dist/unstable/cluster/RunnerHealth.js +33 -16
  735. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  736. package/dist/unstable/cluster/RunnerServer.d.ts +19 -4
  737. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  738. package/dist/unstable/cluster/RunnerServer.js +19 -4
  739. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  740. package/dist/unstable/cluster/Runners.d.ts +25 -1
  741. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  742. package/dist/unstable/cluster/Runners.js +24 -0
  743. package/dist/unstable/cluster/Runners.js.map +1 -1
  744. package/dist/unstable/cluster/ShardId.d.ts +24 -2
  745. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  746. package/dist/unstable/cluster/ShardId.js +24 -2
  747. package/dist/unstable/cluster/ShardId.js.map +1 -1
  748. package/dist/unstable/cluster/Sharding.d.ts +27 -3
  749. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  750. package/dist/unstable/cluster/Sharding.js +63 -20
  751. package/dist/unstable/cluster/Sharding.js.map +1 -1
  752. package/dist/unstable/cluster/ShardingConfig.d.ts +60 -16
  753. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  754. package/dist/unstable/cluster/ShardingConfig.js +61 -17
  755. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  756. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -14
  757. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  758. package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -15
  759. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  760. package/dist/unstable/cluster/SingleRunner.d.ts +26 -1
  761. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  762. package/dist/unstable/cluster/SingleRunner.js +26 -1
  763. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  764. package/dist/unstable/cluster/Singleton.d.ts +51 -9
  765. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  766. package/dist/unstable/cluster/Singleton.js +51 -9
  767. package/dist/unstable/cluster/Singleton.js.map +1 -1
  768. package/dist/unstable/cluster/SingletonAddress.d.ts +27 -13
  769. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  770. package/dist/unstable/cluster/SingletonAddress.js +27 -13
  771. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  772. package/dist/unstable/cluster/Snowflake.d.ts +19 -5
  773. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  774. package/dist/unstable/cluster/Snowflake.js +19 -5
  775. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  776. package/dist/unstable/cluster/SocketRunner.d.ts +27 -1
  777. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  778. package/dist/unstable/cluster/SocketRunner.js +27 -1
  779. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  780. package/dist/unstable/cluster/SqlMessageStorage.d.ts +38 -0
  781. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  782. package/dist/unstable/cluster/SqlMessageStorage.js +73 -13
  783. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  784. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +20 -0
  785. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -0
  787. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/TestRunner.d.ts +25 -14
  789. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  790. package/dist/unstable/cluster/TestRunner.js +25 -14
  791. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  792. package/dist/unstable/cluster/index.d.ts +0 -790
  793. package/dist/unstable/cluster/index.d.ts.map +1 -1
  794. package/dist/unstable/cluster/index.js +0 -790
  795. package/dist/unstable/cluster/index.js.map +1 -1
  796. package/dist/unstable/devtools/DevTools.d.ts +41 -11
  797. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  798. package/dist/unstable/devtools/DevTools.js +41 -11
  799. package/dist/unstable/devtools/DevTools.js.map +1 -1
  800. package/dist/unstable/devtools/DevToolsClient.d.ts +38 -0
  801. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  802. package/dist/unstable/devtools/DevToolsClient.js +68 -11
  803. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  804. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  805. package/dist/unstable/devtools/DevToolsSchema.js +24 -16
  806. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  807. package/dist/unstable/devtools/DevToolsServer.d.ts +20 -13
  808. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  809. package/dist/unstable/devtools/DevToolsServer.js +20 -13
  810. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  811. package/dist/unstable/devtools/index.d.ts +0 -58
  812. package/dist/unstable/devtools/index.d.ts.map +1 -1
  813. package/dist/unstable/devtools/index.js +0 -58
  814. package/dist/unstable/devtools/index.js.map +1 -1
  815. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  816. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  817. package/dist/unstable/encoding/Msgpack.js +30 -14
  818. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  819. package/dist/unstable/encoding/Ndjson.d.ts +28 -14
  820. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  821. package/dist/unstable/encoding/Ndjson.js +28 -14
  822. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  823. package/dist/unstable/encoding/Sse.d.ts +38 -17
  824. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  825. package/dist/unstable/encoding/Sse.js +3 -3
  826. package/dist/unstable/encoding/Sse.js.map +1 -1
  827. package/dist/unstable/encoding/index.d.ts +0 -49
  828. package/dist/unstable/encoding/index.d.ts.map +1 -1
  829. package/dist/unstable/encoding/index.js +0 -49
  830. package/dist/unstable/encoding/index.js.map +1 -1
  831. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  832. package/dist/unstable/eventlog/Event.js +28 -13
  833. package/dist/unstable/eventlog/Event.js.map +1 -1
  834. package/dist/unstable/eventlog/EventGroup.d.ts +23 -15
  835. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  836. package/dist/unstable/eventlog/EventGroup.js +22 -14
  837. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  838. package/dist/unstable/eventlog/EventJournal.d.ts +7 -7
  839. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  840. package/dist/unstable/eventlog/EventJournal.js +36 -19
  841. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  842. package/dist/unstable/eventlog/EventLog.d.ts +63 -25
  843. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  844. package/dist/unstable/eventlog/EventLog.js +61 -23
  845. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  846. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -3
  847. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  848. package/dist/unstable/eventlog/EventLogEncryption.js +8 -3
  849. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  850. package/dist/unstable/eventlog/EventLogMessage.d.ts +49 -40
  851. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  852. package/dist/unstable/eventlog/EventLogMessage.js +28 -28
  853. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  854. package/dist/unstable/eventlog/EventLogRemote.d.ts +14 -4
  855. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  856. package/dist/unstable/eventlog/EventLogRemote.js +14 -4
  857. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  858. package/dist/unstable/eventlog/EventLogServer.d.ts +7 -2
  859. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  860. package/dist/unstable/eventlog/EventLogServer.js +7 -2
  861. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  862. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +24 -2
  863. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  864. package/dist/unstable/eventlog/EventLogServerEncrypted.js +24 -2
  865. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  866. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +82 -7
  867. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  868. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +119 -22
  869. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  870. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +33 -7
  871. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  872. package/dist/unstable/eventlog/EventLogSessionAuth.js +68 -24
  873. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  874. package/dist/unstable/eventlog/SqlEventJournal.d.ts +21 -0
  875. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  876. package/dist/unstable/eventlog/SqlEventJournal.js +50 -14
  877. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  878. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +39 -15
  879. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  880. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +39 -15
  881. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  882. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  883. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +30 -11
  884. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  885. package/dist/unstable/eventlog/index.d.ts +0 -240
  886. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  887. package/dist/unstable/eventlog/index.js +0 -240
  888. package/dist/unstable/eventlog/index.js.map +1 -1
  889. package/dist/unstable/http/Cookies.d.ts +99 -52
  890. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  891. package/dist/unstable/http/Cookies.js +77 -30
  892. package/dist/unstable/http/Cookies.js.map +1 -1
  893. package/dist/unstable/http/Etag.d.ts +43 -13
  894. package/dist/unstable/http/Etag.d.ts.map +1 -1
  895. package/dist/unstable/http/Etag.js +43 -13
  896. package/dist/unstable/http/Etag.js.map +1 -1
  897. package/dist/unstable/http/FetchHttpClient.d.ts +59 -17
  898. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  899. package/dist/unstable/http/FetchHttpClient.js +59 -17
  900. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  901. package/dist/unstable/http/Headers.d.ts +60 -22
  902. package/dist/unstable/http/Headers.d.ts.map +1 -1
  903. package/dist/unstable/http/Headers.js +58 -20
  904. package/dist/unstable/http/Headers.js.map +1 -1
  905. package/dist/unstable/http/HttpBody.d.ts +6 -2
  906. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  907. package/dist/unstable/http/HttpBody.js +59 -15
  908. package/dist/unstable/http/HttpBody.js.map +1 -1
  909. package/dist/unstable/http/HttpClient.d.ts +66 -30
  910. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  911. package/dist/unstable/http/HttpClient.js +17 -7
  912. package/dist/unstable/http/HttpClient.js.map +1 -1
  913. package/dist/unstable/http/HttpClientError.d.ts +15 -14
  914. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  915. package/dist/unstable/http/HttpClientError.js +39 -22
  916. package/dist/unstable/http/HttpClientError.js.map +1 -1
  917. package/dist/unstable/http/HttpClientRequest.d.ts +37 -16
  918. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  919. package/dist/unstable/http/HttpClientRequest.js +37 -16
  920. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  921. package/dist/unstable/http/HttpClientResponse.d.ts +35 -16
  922. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  923. package/dist/unstable/http/HttpClientResponse.js +33 -14
  924. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  925. package/dist/unstable/http/HttpEffect.d.ts +3 -3
  926. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  927. package/dist/unstable/http/HttpEffect.js +3 -3
  928. package/dist/unstable/http/HttpEffect.js.map +1 -1
  929. package/dist/unstable/http/HttpMethod.d.ts +46 -20
  930. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  931. package/dist/unstable/http/HttpMethod.js +46 -20
  932. package/dist/unstable/http/HttpMethod.js.map +1 -1
  933. package/dist/unstable/http/HttpRouter.d.ts +19 -14
  934. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  935. package/dist/unstable/http/HttpRouter.js +54 -26
  936. package/dist/unstable/http/HttpRouter.js.map +1 -1
  937. package/dist/unstable/http/HttpServer.d.ts +34 -21
  938. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  939. package/dist/unstable/http/HttpServer.js +34 -21
  940. package/dist/unstable/http/HttpServer.js.map +1 -1
  941. package/dist/unstable/http/HttpServerError.d.ts +41 -28
  942. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  943. package/dist/unstable/http/HttpServerError.js +39 -26
  944. package/dist/unstable/http/HttpServerError.js.map +1 -1
  945. package/dist/unstable/http/HttpServerRequest.d.ts +53 -21
  946. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  947. package/dist/unstable/http/HttpServerRequest.js +20 -5
  948. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  949. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  950. package/dist/unstable/http/HttpServerRespondable.js +28 -14
  951. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  952. package/dist/unstable/http/HttpServerResponse.d.ts +64 -42
  953. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  954. package/dist/unstable/http/HttpServerResponse.js +48 -26
  955. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  956. package/dist/unstable/http/HttpStaticServer.d.ts +30 -13
  957. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  958. package/dist/unstable/http/HttpStaticServer.js +29 -12
  959. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  960. package/dist/unstable/http/HttpTraceContext.d.ts +32 -19
  961. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpTraceContext.js +32 -19
  963. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  964. package/dist/unstable/http/Multipart.d.ts +39 -19
  965. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  966. package/dist/unstable/http/Multipart.js +39 -19
  967. package/dist/unstable/http/Multipart.js.map +1 -1
  968. package/dist/unstable/http/Template.d.ts +27 -14
  969. package/dist/unstable/http/Template.d.ts.map +1 -1
  970. package/dist/unstable/http/Template.js +25 -12
  971. package/dist/unstable/http/Template.js.map +1 -1
  972. package/dist/unstable/http/Url.d.ts +41 -28
  973. package/dist/unstable/http/Url.d.ts.map +1 -1
  974. package/dist/unstable/http/Url.js +32 -17
  975. package/dist/unstable/http/Url.js.map +1 -1
  976. package/dist/unstable/http/UrlParams.d.ts +43 -28
  977. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  978. package/dist/unstable/http/UrlParams.js +40 -25
  979. package/dist/unstable/http/UrlParams.js.map +1 -1
  980. package/dist/unstable/http/index.d.ts +0 -452
  981. package/dist/unstable/http/index.d.ts.map +1 -1
  982. package/dist/unstable/http/index.js +0 -452
  983. package/dist/unstable/http/index.js.map +1 -1
  984. package/dist/unstable/httpapi/HttpApi.d.ts +50 -26
  985. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  986. package/dist/unstable/httpapi/HttpApi.js +3 -3
  987. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  988. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +3 -3
  989. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  990. package/dist/unstable/httpapi/HttpApiBuilder.js +39 -25
  991. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  992. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  993. package/dist/unstable/httpapi/HttpApiClient.js +28 -16
  994. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  995. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  996. package/dist/unstable/httpapi/HttpApiEndpoint.js +51 -23
  997. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  998. package/dist/unstable/httpapi/HttpApiError.d.ts +2 -2
  999. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1000. package/dist/unstable/httpapi/HttpApiError.js +37 -17
  1001. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1002. package/dist/unstable/httpapi/HttpApiGroup.d.ts +34 -23
  1003. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  1004. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1005. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -25
  1006. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1007. package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -25
  1008. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1009. package/dist/unstable/httpapi/HttpApiScalar.d.ts +4 -1
  1010. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1011. package/dist/unstable/httpapi/HttpApiScalar.js +28 -16
  1012. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1013. package/dist/unstable/httpapi/HttpApiSchema.d.ts +43 -43
  1014. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1015. package/dist/unstable/httpapi/HttpApiSchema.js +42 -42
  1016. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1017. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +54 -24
  1018. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  1019. package/dist/unstable/httpapi/HttpApiSecurity.js +54 -24
  1020. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1021. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  1022. package/dist/unstable/httpapi/HttpApiSwagger.js +28 -16
  1023. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1024. package/dist/unstable/httpapi/HttpApiTest.d.ts +1 -1
  1025. package/dist/unstable/httpapi/HttpApiTest.js +1 -1
  1026. package/dist/unstable/httpapi/OpenApi.d.ts +7 -1
  1027. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1028. package/dist/unstable/httpapi/OpenApi.js +45 -27
  1029. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1030. package/dist/unstable/httpapi/index.d.ts +0 -311
  1031. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  1032. package/dist/unstable/httpapi/index.js +0 -311
  1033. package/dist/unstable/httpapi/index.js.map +1 -1
  1034. package/dist/unstable/observability/Otlp.d.ts +31 -16
  1035. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  1036. package/dist/unstable/observability/Otlp.js.map +1 -1
  1037. package/dist/unstable/observability/OtlpLogger.d.ts +1 -1
  1038. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1039. package/dist/unstable/observability/OtlpLogger.js +31 -15
  1040. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1041. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1042. package/dist/unstable/observability/OtlpResource.js +33 -15
  1043. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1044. package/dist/unstable/observability/OtlpSerialization.d.ts +27 -16
  1045. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  1046. package/dist/unstable/observability/OtlpSerialization.js +27 -16
  1047. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1048. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  1049. package/dist/unstable/observability/PrometheusMetrics.js +3 -3
  1050. package/dist/unstable/observability/index.d.ts +0 -183
  1051. package/dist/unstable/observability/index.d.ts.map +1 -1
  1052. package/dist/unstable/observability/index.js +0 -183
  1053. package/dist/unstable/observability/index.js.map +1 -1
  1054. package/dist/unstable/persistence/KeyValueStore.d.ts +12 -4
  1055. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1056. package/dist/unstable/persistence/KeyValueStore.js +10 -2
  1057. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1058. package/dist/unstable/persistence/Persistable.d.ts +8 -3
  1059. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1060. package/dist/unstable/persistence/Persistable.js +8 -3
  1061. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1062. package/dist/unstable/persistence/PersistedCache.d.ts +29 -16
  1063. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  1064. package/dist/unstable/persistence/PersistedCache.js +27 -14
  1065. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1066. package/dist/unstable/persistence/PersistedQueue.d.ts +10 -5
  1067. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1068. package/dist/unstable/persistence/PersistedQueue.js +9 -4
  1069. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1070. package/dist/unstable/persistence/RateLimiter.d.ts +20 -10
  1071. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1072. package/dist/unstable/persistence/RateLimiter.js +19 -9
  1073. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1074. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1075. package/dist/unstable/persistence/Redis.js +33 -15
  1076. package/dist/unstable/persistence/Redis.js.map +1 -1
  1077. package/dist/unstable/persistence/index.d.ts +0 -147
  1078. package/dist/unstable/persistence/index.d.ts.map +1 -1
  1079. package/dist/unstable/persistence/index.js +0 -147
  1080. package/dist/unstable/persistence/index.js.map +1 -1
  1081. package/dist/unstable/process/ChildProcess.d.ts +14 -14
  1082. package/dist/unstable/process/ChildProcess.js +7 -7
  1083. package/dist/unstable/process/ChildProcessSpawner.d.ts +17 -5
  1084. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1085. package/dist/unstable/process/ChildProcessSpawner.js +17 -5
  1086. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1087. package/dist/unstable/process/index.d.ts +0 -45
  1088. package/dist/unstable/process/index.d.ts.map +1 -1
  1089. package/dist/unstable/process/index.js +0 -45
  1090. package/dist/unstable/process/index.js.map +1 -1
  1091. package/dist/unstable/reactivity/AsyncResult.d.ts +74 -22
  1092. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1093. package/dist/unstable/reactivity/AsyncResult.js +52 -20
  1094. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1095. package/dist/unstable/reactivity/Atom.d.ts +81 -35
  1096. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1097. package/dist/unstable/reactivity/Atom.js +70 -32
  1098. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1099. package/dist/unstable/reactivity/AtomRef.d.ts +32 -16
  1100. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1101. package/dist/unstable/reactivity/AtomRef.js +52 -25
  1102. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1103. package/dist/unstable/reactivity/AtomRegistry.d.ts +81 -20
  1104. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1105. package/dist/unstable/reactivity/AtomRegistry.js +81 -20
  1106. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1107. package/dist/unstable/reactivity/Hydration.d.ts +6 -1
  1108. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1109. package/dist/unstable/reactivity/Hydration.js +37 -17
  1110. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1111. package/dist/unstable/reactivity/Reactivity.d.ts +44 -21
  1112. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1113. package/dist/unstable/reactivity/Reactivity.js +44 -21
  1114. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1115. package/dist/unstable/reactivity/index.d.ts +0 -166
  1116. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1117. package/dist/unstable/reactivity/index.js +0 -166
  1118. package/dist/unstable/reactivity/index.js.map +1 -1
  1119. package/dist/unstable/rpc/Rpc.d.ts +47 -32
  1120. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1121. package/dist/unstable/rpc/Rpc.js +15 -11
  1122. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1123. package/dist/unstable/rpc/RpcClient.d.ts +27 -12
  1124. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1125. package/dist/unstable/rpc/RpcClient.js +27 -12
  1126. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1127. package/dist/unstable/rpc/RpcClientError.d.ts +31 -17
  1128. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1129. package/dist/unstable/rpc/RpcClientError.js +31 -17
  1130. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1131. package/dist/unstable/rpc/RpcGroup.d.ts +29 -18
  1132. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1133. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1134. package/dist/unstable/rpc/RpcMessage.d.ts +37 -19
  1135. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1136. package/dist/unstable/rpc/RpcMessage.js +4 -4
  1137. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1138. package/dist/unstable/rpc/RpcMiddleware.d.ts +31 -21
  1139. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1140. package/dist/unstable/rpc/RpcMiddleware.js +31 -21
  1141. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1142. package/dist/unstable/rpc/RpcSchema.d.ts +30 -20
  1143. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1144. package/dist/unstable/rpc/RpcSchema.js +30 -20
  1145. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1146. package/dist/unstable/rpc/RpcSerialization.d.ts +50 -33
  1147. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1148. package/dist/unstable/rpc/RpcSerialization.js +48 -31
  1149. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1150. package/dist/unstable/rpc/RpcServer.d.ts +22 -17
  1151. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1152. package/dist/unstable/rpc/RpcServer.js +22 -17
  1153. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1154. package/dist/unstable/rpc/RpcTest.d.ts +31 -15
  1155. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1156. package/dist/unstable/rpc/RpcTest.js +31 -15
  1157. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1158. package/dist/unstable/rpc/RpcWorker.d.ts +29 -14
  1159. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1160. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1161. package/dist/unstable/rpc/index.d.ts +0 -272
  1162. package/dist/unstable/rpc/index.d.ts.map +1 -1
  1163. package/dist/unstable/rpc/index.js +0 -272
  1164. package/dist/unstable/rpc/index.js.map +1 -1
  1165. package/dist/unstable/schema/Model.d.ts +32 -33
  1166. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1167. package/dist/unstable/schema/Model.js +25 -26
  1168. package/dist/unstable/schema/Model.js.map +1 -1
  1169. package/dist/unstable/schema/VariantSchema.d.ts +1 -1
  1170. package/dist/unstable/schema/VariantSchema.js +1 -1
  1171. package/dist/unstable/schema/index.d.ts +0 -37
  1172. package/dist/unstable/schema/index.d.ts.map +1 -1
  1173. package/dist/unstable/schema/index.js +0 -37
  1174. package/dist/unstable/schema/index.js.map +1 -1
  1175. package/dist/unstable/socket/Socket.d.ts +8 -2
  1176. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1177. package/dist/unstable/socket/Socket.js +8 -2
  1178. package/dist/unstable/socket/Socket.js.map +1 -1
  1179. package/dist/unstable/socket/SocketServer.d.ts +2 -2
  1180. package/dist/unstable/socket/SocketServer.js +1 -1
  1181. package/dist/unstable/socket/index.d.ts +0 -44
  1182. package/dist/unstable/socket/index.d.ts.map +1 -1
  1183. package/dist/unstable/socket/index.js +0 -44
  1184. package/dist/unstable/socket/index.js.map +1 -1
  1185. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1186. package/dist/unstable/sql/Migrator.js +39 -18
  1187. package/dist/unstable/sql/Migrator.js.map +1 -1
  1188. package/dist/unstable/sql/SqlClient.d.ts +7 -2
  1189. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1190. package/dist/unstable/sql/SqlClient.js +7 -2
  1191. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1192. package/dist/unstable/sql/SqlConnection.d.ts +1 -1
  1193. package/dist/unstable/sql/SqlConnection.js +1 -1
  1194. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1195. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1196. package/dist/unstable/sql/SqlError.js +33 -17
  1197. package/dist/unstable/sql/SqlError.js.map +1 -1
  1198. package/dist/unstable/sql/SqlResolver.d.ts +3 -3
  1199. package/dist/unstable/sql/SqlResolver.js +1 -1
  1200. package/dist/unstable/sql/SqlSchema.d.ts +51 -21
  1201. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1202. package/dist/unstable/sql/SqlSchema.js +51 -21
  1203. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1204. package/dist/unstable/sql/Statement.d.ts +1 -1
  1205. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1206. package/dist/unstable/sql/Statement.js +34 -14
  1207. package/dist/unstable/sql/Statement.js.map +1 -1
  1208. package/dist/unstable/sql/index.d.ts +0 -178
  1209. package/dist/unstable/sql/index.d.ts.map +1 -1
  1210. package/dist/unstable/sql/index.js +0 -178
  1211. package/dist/unstable/sql/index.js.map +1 -1
  1212. package/dist/unstable/workers/Transferable.d.ts +32 -21
  1213. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1214. package/dist/unstable/workers/Transferable.js +32 -21
  1215. package/dist/unstable/workers/Transferable.js.map +1 -1
  1216. package/dist/unstable/workers/Worker.d.ts +37 -24
  1217. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1218. package/dist/unstable/workers/Worker.js +35 -22
  1219. package/dist/unstable/workers/Worker.js.map +1 -1
  1220. package/dist/unstable/workers/WorkerError.d.ts +1 -1
  1221. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1222. package/dist/unstable/workers/WorkerError.js +32 -16
  1223. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1224. package/dist/unstable/workers/WorkerRunner.d.ts +31 -20
  1225. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1226. package/dist/unstable/workers/WorkerRunner.js +31 -20
  1227. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1228. package/dist/unstable/workers/index.d.ts +0 -80
  1229. package/dist/unstable/workers/index.d.ts.map +1 -1
  1230. package/dist/unstable/workers/index.js +0 -80
  1231. package/dist/unstable/workers/index.js.map +1 -1
  1232. package/dist/unstable/workflow/DurableClock.d.ts +2 -2
  1233. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1234. package/dist/unstable/workflow/DurableClock.js +25 -13
  1235. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1236. package/dist/unstable/workflow/DurableDeferred.d.ts +12 -12
  1237. package/dist/unstable/workflow/DurableDeferred.js +7 -7
  1238. package/dist/unstable/workflow/DurableQueue.d.ts +36 -18
  1239. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1240. package/dist/unstable/workflow/DurableQueue.js +36 -18
  1241. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1242. package/dist/unstable/workflow/Workflow.d.ts +22 -23
  1243. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1244. package/dist/unstable/workflow/Workflow.js +17 -18
  1245. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1246. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -8
  1247. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1248. package/dist/unstable/workflow/WorkflowEngine.js +25 -7
  1249. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1250. package/dist/unstable/workflow/index.d.ts +0 -160
  1251. package/dist/unstable/workflow/index.d.ts.map +1 -1
  1252. package/dist/unstable/workflow/index.js +0 -160
  1253. package/dist/unstable/workflow/index.js.map +1 -1
  1254. package/package.json +1 -1
  1255. package/src/Array.ts +1557 -312
  1256. package/src/BigDecimal.ts +646 -52
  1257. package/src/BigInt.ts +474 -18
  1258. package/src/Boolean.ts +239 -19
  1259. package/src/Brand.ts +102 -11
  1260. package/src/Cache.ts +96 -24
  1261. package/src/Cause.ts +488 -200
  1262. package/src/Channel.ts +647 -191
  1263. package/src/ChannelSchema.ts +99 -6
  1264. package/src/Chunk.ts +187 -54
  1265. package/src/Clock.ts +60 -3
  1266. package/src/Combiner.ts +21 -21
  1267. package/src/Config.ts +135 -50
  1268. package/src/ConfigProvider.ts +52 -29
  1269. package/src/Console.ts +32 -7
  1270. package/src/Context.ts +516 -50
  1271. package/src/Cron.ts +116 -6
  1272. package/src/Crypto.ts +30 -1
  1273. package/src/Data.ts +92 -47
  1274. package/src/DateTime.ts +313 -128
  1275. package/src/Deferred.ts +345 -79
  1276. package/src/Differ.ts +5 -0
  1277. package/src/Duration.ts +203 -50
  1278. package/src/Effect.ts +2044 -816
  1279. package/src/Effectable.ts +16 -2
  1280. package/src/Encoding.ts +146 -9
  1281. package/src/Equal.ts +10 -11
  1282. package/src/Equivalence.ts +49 -46
  1283. package/src/ErrorReporter.ts +135 -16
  1284. package/src/ExecutionPlan.ts +96 -26
  1285. package/src/Exit.ts +149 -101
  1286. package/src/Fiber.ts +321 -72
  1287. package/src/FiberHandle.ts +6 -6
  1288. package/src/FiberMap.ts +20 -20
  1289. package/src/FiberSet.ts +21 -13
  1290. package/src/FileSystem.ts +119 -39
  1291. package/src/Filter.ts +221 -2
  1292. package/src/Formatter.ts +4 -6
  1293. package/src/Function.ts +164 -18
  1294. package/src/Graph.ts +297 -25
  1295. package/src/HKT.ts +59 -26
  1296. package/src/Hash.ts +143 -23
  1297. package/src/HashMap.ts +35 -37
  1298. package/src/HashRing.ts +210 -9
  1299. package/src/HashSet.ts +16 -16
  1300. package/src/Inspectable.ts +86 -17
  1301. package/src/Iterable.ts +261 -81
  1302. package/src/JsonPatch.ts +79 -56
  1303. package/src/JsonPointer.ts +5 -5
  1304. package/src/JsonSchema.ts +77 -33
  1305. package/src/Latch.ts +164 -13
  1306. package/src/Layer.ts +297 -101
  1307. package/src/LayerMap.ts +9 -2
  1308. package/src/LogLevel.ts +96 -21
  1309. package/src/Logger.ts +31 -15
  1310. package/src/ManagedRuntime.ts +82 -10
  1311. package/src/Match.ts +250 -59
  1312. package/src/Metric.ts +68 -41
  1313. package/src/MutableHashMap.ts +381 -52
  1314. package/src/MutableHashSet.ts +145 -41
  1315. package/src/MutableList.ts +24 -6
  1316. package/src/MutableRef.ts +141 -4
  1317. package/src/Newtype.ts +20 -11
  1318. package/src/NonEmptyIterable.ts +22 -6
  1319. package/src/Number.ts +434 -17
  1320. package/src/Optic.ts +26 -33
  1321. package/src/Option.ts +186 -150
  1322. package/src/Order.ts +163 -161
  1323. package/src/Ordering.ts +37 -5
  1324. package/src/PartitionedSemaphore.ts +238 -15
  1325. package/src/Path.ts +34 -6
  1326. package/src/Pipeable.ts +29 -4
  1327. package/src/PlatformError.ts +53 -4
  1328. package/src/Pool.ts +174 -32
  1329. package/src/Predicate.ts +151 -196
  1330. package/src/PrimaryKey.ts +75 -9
  1331. package/src/PubSub.ts +241 -66
  1332. package/src/Pull.ts +148 -3
  1333. package/src/Queue.ts +167 -59
  1334. package/src/Random.ts +71 -16
  1335. package/src/RcMap.ts +171 -9
  1336. package/src/RcRef.ts +73 -18
  1337. package/src/Record.ts +174 -53
  1338. package/src/Redactable.ts +27 -23
  1339. package/src/Redacted.ts +82 -4
  1340. package/src/Reducer.ts +17 -7
  1341. package/src/Ref.ts +332 -54
  1342. package/src/References.ts +226 -30
  1343. package/src/RegExp.ts +49 -3
  1344. package/src/Request.ts +218 -35
  1345. package/src/RequestResolver.ts +268 -36
  1346. package/src/Resource.ts +62 -3
  1347. package/src/Result.ts +380 -57
  1348. package/src/Runtime.ts +172 -32
  1349. package/src/Schedule.ts +510 -145
  1350. package/src/Scheduler.ts +53 -4
  1351. package/src/Schema.ts +975 -264
  1352. package/src/SchemaAST.ts +239 -28
  1353. package/src/SchemaGetter.ts +127 -129
  1354. package/src/SchemaIssue.ts +45 -56
  1355. package/src/SchemaParser.ts +295 -33
  1356. package/src/SchemaRepresentation.ts +106 -77
  1357. package/src/SchemaTransformation.ts +92 -56
  1358. package/src/SchemaUtils.ts +38 -11
  1359. package/src/Scope.ts +127 -25
  1360. package/src/ScopedCache.ts +418 -21
  1361. package/src/ScopedRef.ts +69 -7
  1362. package/src/Semaphore.ts +348 -29
  1363. package/src/Sink.ts +343 -45
  1364. package/src/Stdio.ts +72 -17
  1365. package/src/Stream.ts +880 -242
  1366. package/src/String.ts +221 -49
  1367. package/src/Struct.ts +54 -110
  1368. package/src/SubscriptionRef.ts +341 -105
  1369. package/src/Symbol.ts +25 -7
  1370. package/src/SynchronizedRef.ts +529 -29
  1371. package/src/Take.ts +36 -13
  1372. package/src/Terminal.ts +76 -20
  1373. package/src/Tracer.ts +74 -7
  1374. package/src/Trie.ts +67 -30
  1375. package/src/Tuple.ts +96 -108
  1376. package/src/TxChunk.ts +42 -9
  1377. package/src/TxDeferred.ts +85 -2
  1378. package/src/TxHashMap.ts +22 -22
  1379. package/src/TxHashSet.ts +22 -22
  1380. package/src/TxPriorityQueue.ts +43 -8
  1381. package/src/TxPubSub.ts +98 -8
  1382. package/src/TxQueue.ts +58 -17
  1383. package/src/TxReentrantLock.ts +88 -16
  1384. package/src/TxRef.ts +113 -8
  1385. package/src/TxSemaphore.ts +173 -14
  1386. package/src/TxSubscriptionRef.ts +206 -3
  1387. package/src/Types.ts +68 -13
  1388. package/src/UndefinedOr.ts +171 -30
  1389. package/src/Unify.ts +130 -22
  1390. package/src/Utils.ts +21 -16
  1391. package/src/index.ts +0 -5205
  1392. package/src/internal/effect.ts +59 -29
  1393. package/src/internal/request.ts +3 -1
  1394. package/src/internal/schema/arbitrary.ts +14 -1
  1395. package/src/internal/schema/representation.ts +37 -14
  1396. package/src/testing/TestConsole.ts +105 -9
  1397. package/src/testing/TestSchema.ts +81 -31
  1398. package/src/testing/index.ts +0 -107
  1399. package/src/unstable/ai/AiError.ts +33 -5
  1400. package/src/unstable/ai/AnthropicStructuredOutput.ts +43 -11
  1401. package/src/unstable/ai/Chat.ts +82 -33
  1402. package/src/unstable/ai/EmbeddingModel.ts +104 -8
  1403. package/src/unstable/ai/IdGenerator.ts +8 -3
  1404. package/src/unstable/ai/LanguageModel.ts +51 -7
  1405. package/src/unstable/ai/McpSchema.ts +299 -169
  1406. package/src/unstable/ai/McpServer.ts +108 -14
  1407. package/src/unstable/ai/Model.ts +35 -13
  1408. package/src/unstable/ai/OpenAiStructuredOutput.ts +48 -1
  1409. package/src/unstable/ai/Prompt.ts +24 -3
  1410. package/src/unstable/ai/Response.ts +71 -13
  1411. package/src/unstable/ai/ResponseIdTracker.ts +34 -12
  1412. package/src/unstable/ai/Telemetry.ts +40 -27
  1413. package/src/unstable/ai/Tokenizer.ts +41 -25
  1414. package/src/unstable/ai/Tool.ts +85 -24
  1415. package/src/unstable/ai/Toolkit.ts +32 -4
  1416. package/src/unstable/ai/index.ts +0 -560
  1417. package/src/unstable/cli/Argument.ts +1 -1
  1418. package/src/unstable/cli/CliError.ts +3 -3
  1419. package/src/unstable/cli/CliOutput.ts +1 -1
  1420. package/src/unstable/cli/Command.ts +136 -8
  1421. package/src/unstable/cli/Completions.ts +41 -1
  1422. package/src/unstable/cli/Flag.ts +24 -12
  1423. package/src/unstable/cli/GlobalFlag.ts +39 -8
  1424. package/src/unstable/cli/Param.ts +137 -11
  1425. package/src/unstable/cli/Primitive.ts +59 -10
  1426. package/src/unstable/cli/Prompt.ts +63 -14
  1427. package/src/unstable/cli/index.ts +0 -220
  1428. package/src/unstable/cli/internal/parser.ts +1 -1
  1429. package/src/unstable/cluster/ClusterCron.ts +1 -1
  1430. package/src/unstable/cluster/ClusterError.ts +61 -22
  1431. package/src/unstable/cluster/ClusterMetrics.ts +58 -5
  1432. package/src/unstable/cluster/ClusterSchema.ts +87 -26
  1433. package/src/unstable/cluster/ClusterWorkflowEngine.ts +63 -11
  1434. package/src/unstable/cluster/DeliverAt.ts +6 -1
  1435. package/src/unstable/cluster/Entity.ts +33 -6
  1436. package/src/unstable/cluster/EntityAddress.ts +19 -0
  1437. package/src/unstable/cluster/EntityId.ts +44 -7
  1438. package/src/unstable/cluster/EntityResource.ts +5 -6
  1439. package/src/unstable/cluster/EntityType.ts +19 -0
  1440. package/src/unstable/cluster/Envelope.ts +11 -11
  1441. package/src/unstable/cluster/HttpRunner.ts +42 -22
  1442. package/src/unstable/cluster/K8sHttpClient.ts +32 -13
  1443. package/src/unstable/cluster/MachineId.ts +35 -9
  1444. package/src/unstable/cluster/Message.ts +11 -11
  1445. package/src/unstable/cluster/MessageStorage.ts +38 -24
  1446. package/src/unstable/cluster/Reply.ts +18 -8
  1447. package/src/unstable/cluster/Runner.ts +47 -14
  1448. package/src/unstable/cluster/RunnerAddress.ts +52 -10
  1449. package/src/unstable/cluster/RunnerHealth.ts +33 -16
  1450. package/src/unstable/cluster/RunnerServer.ts +19 -4
  1451. package/src/unstable/cluster/Runners.ts +25 -1
  1452. package/src/unstable/cluster/ShardId.ts +24 -2
  1453. package/src/unstable/cluster/Sharding.ts +63 -20
  1454. package/src/unstable/cluster/ShardingConfig.ts +60 -16
  1455. package/src/unstable/cluster/ShardingRegistrationEvent.ts +27 -14
  1456. package/src/unstable/cluster/SingleRunner.ts +26 -1
  1457. package/src/unstable/cluster/Singleton.ts +51 -9
  1458. package/src/unstable/cluster/SingletonAddress.ts +27 -13
  1459. package/src/unstable/cluster/Snowflake.ts +19 -5
  1460. package/src/unstable/cluster/SocketRunner.ts +27 -1
  1461. package/src/unstable/cluster/SqlMessageStorage.ts +73 -13
  1462. package/src/unstable/cluster/SqlRunnerStorage.ts +20 -0
  1463. package/src/unstable/cluster/TestRunner.ts +25 -14
  1464. package/src/unstable/cluster/index.ts +0 -790
  1465. package/src/unstable/devtools/DevTools.ts +41 -11
  1466. package/src/unstable/devtools/DevToolsClient.ts +68 -11
  1467. package/src/unstable/devtools/DevToolsSchema.ts +24 -16
  1468. package/src/unstable/devtools/DevToolsServer.ts +18 -11
  1469. package/src/unstable/devtools/index.ts +0 -58
  1470. package/src/unstable/encoding/Msgpack.ts +30 -14
  1471. package/src/unstable/encoding/Ndjson.ts +28 -14
  1472. package/src/unstable/encoding/Sse.ts +38 -17
  1473. package/src/unstable/encoding/index.ts +0 -49
  1474. package/src/unstable/eventlog/Event.ts +30 -15
  1475. package/src/unstable/eventlog/EventGroup.ts +23 -15
  1476. package/src/unstable/eventlog/EventJournal.ts +38 -21
  1477. package/src/unstable/eventlog/EventLog.ts +63 -25
  1478. package/src/unstable/eventlog/EventLogEncryption.ts +8 -3
  1479. package/src/unstable/eventlog/EventLogMessage.ts +49 -40
  1480. package/src/unstable/eventlog/EventLogRemote.ts +14 -4
  1481. package/src/unstable/eventlog/EventLogServer.ts +36 -17
  1482. package/src/unstable/eventlog/EventLogServerEncrypted.ts +24 -2
  1483. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +119 -22
  1484. package/src/unstable/eventlog/EventLogSessionAuth.ts +68 -24
  1485. package/src/unstable/eventlog/SqlEventJournal.ts +50 -14
  1486. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +39 -15
  1487. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +30 -11
  1488. package/src/unstable/eventlog/index.ts +0 -240
  1489. package/src/unstable/http/Cookies.ts +97 -50
  1490. package/src/unstable/http/Etag.ts +43 -13
  1491. package/src/unstable/http/FetchHttpClient.ts +59 -17
  1492. package/src/unstable/http/Headers.ts +62 -24
  1493. package/src/unstable/http/HttpBody.ts +59 -15
  1494. package/src/unstable/http/HttpClient.ts +119 -33
  1495. package/src/unstable/http/HttpClientError.ts +41 -24
  1496. package/src/unstable/http/HttpClientRequest.ts +37 -16
  1497. package/src/unstable/http/HttpClientResponse.ts +33 -14
  1498. package/src/unstable/http/HttpEffect.ts +35 -18
  1499. package/src/unstable/http/HttpMethod.ts +46 -20
  1500. package/src/unstable/http/HttpRouter.ts +58 -30
  1501. package/src/unstable/http/HttpServer.ts +34 -21
  1502. package/src/unstable/http/HttpServerError.ts +41 -28
  1503. package/src/unstable/http/HttpServerRequest.ts +51 -19
  1504. package/src/unstable/http/HttpServerRespondable.ts +28 -14
  1505. package/src/unstable/http/HttpServerResponse.ts +66 -44
  1506. package/src/unstable/http/HttpStaticServer.ts +29 -12
  1507. package/src/unstable/http/HttpTraceContext.ts +32 -19
  1508. package/src/unstable/http/Multipart.ts +39 -19
  1509. package/src/unstable/http/Template.ts +25 -12
  1510. package/src/unstable/http/Url.ts +41 -28
  1511. package/src/unstable/http/UrlParams.ts +43 -28
  1512. package/src/unstable/http/index.ts +0 -452
  1513. package/src/unstable/httpapi/HttpApi.ts +48 -24
  1514. package/src/unstable/httpapi/HttpApiBuilder.ts +40 -26
  1515. package/src/unstable/httpapi/HttpApiClient.ts +28 -16
  1516. package/src/unstable/httpapi/HttpApiEndpoint.ts +51 -23
  1517. package/src/unstable/httpapi/HttpApiError.ts +38 -18
  1518. package/src/unstable/httpapi/HttpApiGroup.ts +34 -23
  1519. package/src/unstable/httpapi/HttpApiMiddleware.ts +49 -25
  1520. package/src/unstable/httpapi/HttpApiScalar.ts +32 -17
  1521. package/src/unstable/httpapi/HttpApiSchema.ts +43 -43
  1522. package/src/unstable/httpapi/HttpApiSecurity.ts +54 -24
  1523. package/src/unstable/httpapi/HttpApiSwagger.ts +28 -16
  1524. package/src/unstable/httpapi/HttpApiTest.ts +1 -1
  1525. package/src/unstable/httpapi/OpenApi.ts +43 -25
  1526. package/src/unstable/httpapi/index.ts +0 -311
  1527. package/src/unstable/observability/Otlp.ts +31 -16
  1528. package/src/unstable/observability/OtlpLogger.ts +31 -15
  1529. package/src/unstable/observability/OtlpResource.ts +33 -15
  1530. package/src/unstable/observability/OtlpSerialization.ts +25 -14
  1531. package/src/unstable/observability/PrometheusMetrics.ts +3 -3
  1532. package/src/unstable/observability/index.ts +0 -183
  1533. package/src/unstable/persistence/KeyValueStore.ts +12 -4
  1534. package/src/unstable/persistence/Persistable.ts +8 -3
  1535. package/src/unstable/persistence/PersistedCache.ts +27 -14
  1536. package/src/unstable/persistence/PersistedQueue.ts +10 -5
  1537. package/src/unstable/persistence/RateLimiter.ts +20 -10
  1538. package/src/unstable/persistence/Redis.ts +33 -15
  1539. package/src/unstable/persistence/index.ts +0 -147
  1540. package/src/unstable/process/ChildProcess.ts +14 -14
  1541. package/src/unstable/process/ChildProcessSpawner.ts +17 -5
  1542. package/src/unstable/process/index.ts +0 -45
  1543. package/src/unstable/reactivity/AsyncResult.ts +96 -24
  1544. package/src/unstable/reactivity/Atom.ts +89 -35
  1545. package/src/unstable/reactivity/AtomRef.ts +58 -25
  1546. package/src/unstable/reactivity/AtomRegistry.ts +79 -18
  1547. package/src/unstable/reactivity/Hydration.ts +37 -17
  1548. package/src/unstable/reactivity/Reactivity.ts +42 -19
  1549. package/src/unstable/reactivity/index.ts +0 -166
  1550. package/src/unstable/rpc/Rpc.ts +47 -32
  1551. package/src/unstable/rpc/RpcClient.ts +58 -34
  1552. package/src/unstable/rpc/RpcClientError.ts +29 -15
  1553. package/src/unstable/rpc/RpcGroup.ts +28 -17
  1554. package/src/unstable/rpc/RpcMessage.ts +37 -19
  1555. package/src/unstable/rpc/RpcMiddleware.ts +31 -21
  1556. package/src/unstable/rpc/RpcSchema.ts +30 -20
  1557. package/src/unstable/rpc/RpcSerialization.ts +48 -31
  1558. package/src/unstable/rpc/RpcServer.ts +53 -40
  1559. package/src/unstable/rpc/RpcTest.ts +29 -13
  1560. package/src/unstable/rpc/RpcWorker.ts +29 -14
  1561. package/src/unstable/rpc/index.ts +0 -272
  1562. package/src/unstable/schema/Model.ts +32 -33
  1563. package/src/unstable/schema/VariantSchema.ts +1 -1
  1564. package/src/unstable/schema/index.ts +0 -37
  1565. package/src/unstable/socket/Socket.ts +8 -2
  1566. package/src/unstable/socket/SocketServer.ts +2 -2
  1567. package/src/unstable/socket/index.ts +0 -44
  1568. package/src/unstable/sql/Migrator.ts +39 -18
  1569. package/src/unstable/sql/SqlClient.ts +7 -2
  1570. package/src/unstable/sql/SqlConnection.ts +1 -1
  1571. package/src/unstable/sql/SqlError.ts +33 -17
  1572. package/src/unstable/sql/SqlResolver.ts +3 -3
  1573. package/src/unstable/sql/SqlSchema.ts +51 -21
  1574. package/src/unstable/sql/Statement.ts +35 -15
  1575. package/src/unstable/sql/index.ts +0 -178
  1576. package/src/unstable/workers/Transferable.ts +32 -21
  1577. package/src/unstable/workers/Worker.ts +35 -22
  1578. package/src/unstable/workers/WorkerError.ts +35 -19
  1579. package/src/unstable/workers/WorkerRunner.ts +29 -18
  1580. package/src/unstable/workers/index.ts +0 -80
  1581. package/src/unstable/workflow/DurableClock.ts +25 -13
  1582. package/src/unstable/workflow/DurableDeferred.ts +12 -12
  1583. package/src/unstable/workflow/DurableQueue.ts +34 -16
  1584. package/src/unstable/workflow/Workflow.ts +22 -23
  1585. package/src/unstable/workflow/WorkflowEngine.ts +26 -8
  1586. package/src/unstable/workflow/index.ts +0 -160
package/dist/Array.d.ts CHANGED
@@ -9,12 +9,12 @@ import * as Reducer from "./Reducer.ts";
9
9
  import * as Result from "./Result.ts";
10
10
  import type { NoInfer, TupleOf } from "./Types.ts";
11
11
  /**
12
- * Reference to the global `Array` constructor.
12
+ * Exposes the global array constructor.
13
13
  *
14
14
  * **When to use**
15
15
  *
16
- * Use this when you need the native `Array` constructor while the `Array`
17
- * namespace is in scope (e.g. `Array.Array.isArray`, `Array.Array.from`).
16
+ * Use to access native JavaScript array constructor methods such as `isArray`
17
+ * or `from` from the Effect module namespace.
18
18
  *
19
19
  * **Example** (Using the Array constructor)
20
20
  *
@@ -43,7 +43,7 @@ export interface ReadonlyArrayTypeLambda extends TypeLambda {
43
43
  *
44
44
  * **When to use**
45
45
  *
46
- * Use this type when you need to ensure non-emptiness at the type level while
46
+ * Use when you use this type when you need to ensure non-emptiness at the type level while
47
47
  * preventing mutation. Many Array module functions accept or return this type.
48
48
  *
49
49
  * **Example** (Typing a non-empty array)
@@ -65,6 +65,11 @@ export type NonEmptyReadonlyArray<A> = readonly [A, ...Array<A>];
65
65
  /**
66
66
  * A mutable array guaranteed to have at least one element.
67
67
  *
68
+ * **When to use**
69
+ *
70
+ * Use when mutation is acceptable and non-emptiness must be tracked at the type
71
+ * level.
72
+ *
68
73
  * **Details**
69
74
  *
70
75
  * This is the mutable counterpart of {@link NonEmptyReadonlyArray}. Most Array
@@ -92,7 +97,7 @@ export type NonEmptyArray<A> = [A, ...Array<A>];
92
97
  *
93
98
  * **When to use**
94
99
  *
95
- * - Use when you have literal values and want a typed non-empty array.
100
+ * Use when you have literal values and want a typed non-empty array.
96
101
  * - The element type is inferred as the union of all arguments.
97
102
  * - Always returns a `NonEmptyArray` since at least one argument is required.
98
103
  *
@@ -117,7 +122,7 @@ export declare const make: <Elements extends NonEmptyArray<unknown>>(...elements
117
122
  *
118
123
  * **When to use**
119
124
  *
120
- * - Use when you need a pre-sized array and will fill it imperatively.
125
+ * Use when you need a pre-sized array and will fill it imperatively.
121
126
  * - Elements are typed as `A | undefined` since slots are empty.
122
127
  * - Prefer {@link makeBy} when you can compute each element from its index.
123
128
  *
@@ -141,7 +146,7 @@ export declare const allocate: <A = never>(n: number) => Array<A | undefined>;
141
146
  *
142
147
  * **When to use**
143
148
  *
144
- * - Use when you need an array whose values depend on the index.
149
+ * Use when you need an array whose values depend on the index.
145
150
  * - `n` is normalized to an integer >= 1 — always returns at least one element.
146
151
  * - Dual: `Array.makeBy(5, f)` or `pipe(5, Array.makeBy(f))`.
147
152
  *
@@ -166,7 +171,7 @@ export declare const makeBy: {
166
171
  *
167
172
  * **When to use**
168
173
  *
169
- * - Use when you need an array whose values depend on the index.
174
+ * Use when you need an array whose values depend on the index.
170
175
  * - `n` is normalized to an integer >= 1 — always returns at least one element.
171
176
  * - Dual: `Array.makeBy(5, f)` or `pipe(5, Array.makeBy(f))`.
172
177
  *
@@ -191,7 +196,7 @@ export declare const makeBy: {
191
196
  *
192
197
  * **When to use**
193
198
  *
194
- * - Use when you need an array whose values depend on the index.
199
+ * Use when you need an array whose values depend on the index.
195
200
  * - `n` is normalized to an integer >= 1 — always returns at least one element.
196
201
  * - Dual: `Array.makeBy(5, f)` or `pipe(5, Array.makeBy(f))`.
197
202
  *
@@ -218,7 +223,7 @@ export declare const makeBy: {
218
223
  *
219
224
  * **When to use**
220
225
  *
221
- * - Use when you need a sequence of consecutive integers.
226
+ * Use when you need a sequence of consecutive integers.
222
227
  * - If `start > end`, returns `[start]`.
223
228
  * - Always returns a `NonEmptyArray`.
224
229
  *
@@ -242,7 +247,7 @@ export declare const range: (start: number, end: number) => NonEmptyArray<number
242
247
  *
243
248
  * **When to use**
244
249
  *
245
- * - Use when you need multiple copies of the same value.
250
+ * Use when you need multiple copies of the same value.
246
251
  * - `n` is normalized to an integer >= 1 — always returns at least one element.
247
252
  * - Dual: `Array.replicate("a", 3)` or `pipe("a", Array.replicate(3))`.
248
253
  *
@@ -266,7 +271,7 @@ export declare const replicate: {
266
271
  *
267
272
  * **When to use**
268
273
  *
269
- * - Use when you need multiple copies of the same value.
274
+ * Use when you need multiple copies of the same value.
270
275
  * - `n` is normalized to an integer >= 1 — always returns at least one element.
271
276
  * - Dual: `Array.replicate("a", 3)` or `pipe("a", Array.replicate(3))`.
272
277
  *
@@ -290,7 +295,7 @@ export declare const replicate: {
290
295
  *
291
296
  * **When to use**
292
297
  *
293
- * - Use when you need multiple copies of the same value.
298
+ * Use when you need multiple copies of the same value.
294
299
  * - `n` is normalized to an integer >= 1 — always returns at least one element.
295
300
  * - Dual: `Array.replicate("a", 3)` or `pipe("a", Array.replicate(3))`.
296
301
  *
@@ -313,6 +318,10 @@ export declare const replicate: {
313
318
  /**
314
319
  * Converts an `Iterable` to an `Array`.
315
320
  *
321
+ * **When to use**
322
+ *
323
+ * Use to convert any `Iterable` (Set, Generator, etc.) into an array.
324
+ *
316
325
  * **Details**
317
326
  *
318
327
  * - If the input is already an array, returns it **by reference** (no copy).
@@ -339,6 +348,11 @@ export declare const fromIterable: <A>(collection: Iterable<A>) => Array<A>;
339
348
  /**
340
349
  * Normalizes a value that is either a single element or an array into an array.
341
350
  *
351
+ * **When to use**
352
+ *
353
+ * Use to normalize input that may be a single value or an array into a consistent
354
+ * array.
355
+ *
342
356
  * **Details**
343
357
  *
344
358
  * - If the input is already an array, returns it by reference.
@@ -364,6 +378,11 @@ export declare const ensure: <A>(self: ReadonlyArray<A> | A) => Array<A>;
364
378
  /**
365
379
  * Converts a record into an array of `[key, value]` tuples.
366
380
  *
381
+ * **When to use**
382
+ *
383
+ * Use to convert a record into an array of key-value tuples for iteration or
384
+ * transformation.
385
+ *
367
386
  * **Details**
368
387
  *
369
388
  * - Key order follows `Object.entries` semantics.
@@ -378,6 +397,9 @@ export declare const ensure: <A>(self: ReadonlyArray<A> | A) => Array<A>;
378
397
  * console.log(result) // [["a", 1], ["b", 2], ["c", 3]]
379
398
  * ```
380
399
  *
400
+ * @see {@link Record.toEntries} the equivalent function from the Record module
401
+ * @see {@link Record.fromEntries} to build a record from an array of tuples
402
+ *
381
403
  * @category converting
382
404
  * @since 2.0.0
383
405
  */
@@ -385,6 +407,10 @@ export declare const fromRecord: <K extends string, A>(self: Readonly<Record<K,
385
407
  /**
386
408
  * Converts an `Option` to an array: `Some(a)` becomes `[a]`, `None` becomes `[]`.
387
409
  *
410
+ * **When to use**
411
+ *
412
+ * Use to convert a single `Option` into an array for downstream array operations.
413
+ *
388
414
  * **Example** (Option to array)
389
415
  *
390
416
  * ```ts
@@ -405,7 +431,7 @@ export declare const fromOption: <A>(self: Option.Option<A>) => Array<A>;
405
431
  *
406
432
  * **When to use**
407
433
  *
408
- * - Use when you need to branch on whether an array has elements.
434
+ * Use when you need to branch on whether an array has elements.
409
435
  * - `onNonEmpty` receives a `NonEmptyReadonlyArray`.
410
436
  * - Dual: data-first or data-last.
411
437
  *
@@ -434,7 +460,7 @@ export declare const match: {
434
460
  *
435
461
  * **When to use**
436
462
  *
437
- * - Use when you need to branch on whether an array has elements.
463
+ * Use when you need to branch on whether an array has elements.
438
464
  * - `onNonEmpty` receives a `NonEmptyReadonlyArray`.
439
465
  * - Dual: data-first or data-last.
440
466
  *
@@ -466,7 +492,7 @@ export declare const match: {
466
492
  *
467
493
  * **When to use**
468
494
  *
469
- * - Use when you need to branch on whether an array has elements.
495
+ * Use when you need to branch on whether an array has elements.
470
496
  * - `onNonEmpty` receives a `NonEmptyReadonlyArray`.
471
497
  * - Dual: data-first or data-last.
472
498
  *
@@ -498,10 +524,14 @@ export declare const match: {
498
524
  * Pattern-matches on an array from the left, providing the first element and
499
525
  * the remaining elements separately.
500
526
  *
527
+ * **When to use**
528
+ *
529
+ * Use to pattern-match when you need the first element and remaining elements as
530
+ * separate values.
531
+ *
501
532
  * **Details**
502
533
  *
503
- * - `onNonEmpty` receives `(head, tail)` where `tail` is the rest of the array.
504
- * - Use when you want to process the first element differently from the rest.
534
+ * `onNonEmpty` receives `(head, tail)` where `tail` is the rest of the array.
505
535
  *
506
536
  * **Example** (Head and tail destructuring)
507
537
  *
@@ -527,10 +557,14 @@ export declare const matchLeft: {
527
557
  * Pattern-matches on an array from the left, providing the first element and
528
558
  * the remaining elements separately.
529
559
  *
560
+ * **When to use**
561
+ *
562
+ * Use to pattern-match when you need the first element and remaining elements as
563
+ * separate values.
564
+ *
530
565
  * **Details**
531
566
  *
532
- * - `onNonEmpty` receives `(head, tail)` where `tail` is the rest of the array.
533
- * - Use when you want to process the first element differently from the rest.
567
+ * `onNonEmpty` receives `(head, tail)` where `tail` is the rest of the array.
534
568
  *
535
569
  * **Example** (Head and tail destructuring)
536
570
  *
@@ -559,10 +593,14 @@ export declare const matchLeft: {
559
593
  * Pattern-matches on an array from the left, providing the first element and
560
594
  * the remaining elements separately.
561
595
  *
596
+ * **When to use**
597
+ *
598
+ * Use to pattern-match when you need the first element and remaining elements as
599
+ * separate values.
600
+ *
562
601
  * **Details**
563
602
  *
564
- * - `onNonEmpty` receives `(head, tail)` where `tail` is the rest of the array.
565
- * - Use when you want to process the first element differently from the rest.
603
+ * `onNonEmpty` receives `(head, tail)` where `tail` is the rest of the array.
566
604
  *
567
605
  * **Example** (Head and tail destructuring)
568
606
  *
@@ -592,10 +630,14 @@ export declare const matchLeft: {
592
630
  * Pattern-matches on an array from the right, providing all elements except the
593
631
  * last and the last element separately.
594
632
  *
633
+ * **When to use**
634
+ *
635
+ * Use to pattern-match when you need all but the last element and the last element
636
+ * as separate values.
637
+ *
595
638
  * **Details**
596
639
  *
597
- * - `onNonEmpty` receives `(init, last)` where `init` is everything but the last element.
598
- * - Use when you want to process the last element differently from the rest.
640
+ * `onNonEmpty` receives `(init, last)` where `init` is everything but the last element.
599
641
  *
600
642
  * **Example** (Init and last destructuring)
601
643
  *
@@ -621,10 +663,14 @@ export declare const matchRight: {
621
663
  * Pattern-matches on an array from the right, providing all elements except the
622
664
  * last and the last element separately.
623
665
  *
666
+ * **When to use**
667
+ *
668
+ * Use to pattern-match when you need all but the last element and the last element
669
+ * as separate values.
670
+ *
624
671
  * **Details**
625
672
  *
626
- * - `onNonEmpty` receives `(init, last)` where `init` is everything but the last element.
627
- * - Use when you want to process the last element differently from the rest.
673
+ * `onNonEmpty` receives `(init, last)` where `init` is everything but the last element.
628
674
  *
629
675
  * **Example** (Init and last destructuring)
630
676
  *
@@ -653,10 +699,14 @@ export declare const matchRight: {
653
699
  * Pattern-matches on an array from the right, providing all elements except the
654
700
  * last and the last element separately.
655
701
  *
702
+ * **When to use**
703
+ *
704
+ * Use to pattern-match when you need all but the last element and the last element
705
+ * as separate values.
706
+ *
656
707
  * **Details**
657
708
  *
658
- * - `onNonEmpty` receives `(init, last)` where `init` is everything but the last element.
659
- * - Use when you want to process the last element differently from the rest.
709
+ * `onNonEmpty` receives `(init, last)` where `init` is everything but the last element.
660
710
  *
661
711
  * **Example** (Init and last destructuring)
662
712
  *
@@ -685,10 +735,13 @@ export declare const matchRight: {
685
735
  /**
686
736
  * Adds a single element to the front of an iterable, returning a `NonEmptyArray`.
687
737
  *
738
+ * **When to use**
739
+ *
740
+ * Use to add a single element at the start of an iterable and get a `NonEmptyArray`.
741
+ *
688
742
  * **Details**
689
743
  *
690
744
  * - Always returns a non-empty array.
691
- * - Does not mutate the input.
692
745
  *
693
746
  * **Example** (Prepending an element)
694
747
  *
@@ -709,10 +762,13 @@ export declare const prepend: {
709
762
  /**
710
763
  * Adds a single element to the front of an iterable, returning a `NonEmptyArray`.
711
764
  *
765
+ * **When to use**
766
+ *
767
+ * Use to add a single element at the start of an iterable and get a `NonEmptyArray`.
768
+ *
712
769
  * **Details**
713
770
  *
714
771
  * - Always returns a non-empty array.
715
- * - Does not mutate the input.
716
772
  *
717
773
  * **Example** (Prepending an element)
718
774
  *
@@ -733,10 +789,13 @@ export declare const prepend: {
733
789
  /**
734
790
  * Adds a single element to the front of an iterable, returning a `NonEmptyArray`.
735
791
  *
792
+ * **When to use**
793
+ *
794
+ * Use to add a single element at the start of an iterable and get a `NonEmptyArray`.
795
+ *
736
796
  * **Details**
737
797
  *
738
798
  * - Always returns a non-empty array.
739
- * - Does not mutate the input.
740
799
  *
741
800
  * **Example** (Prepending an element)
742
801
  *
@@ -758,10 +817,13 @@ export declare const prepend: {
758
817
  /**
759
818
  * Prepends all elements from a prefix iterable to the front of an array.
760
819
  *
820
+ * **When to use**
821
+ *
822
+ * Use to prepend multiple elements from an iterable to the front of an array.
823
+ *
761
824
  * **Details**
762
825
  *
763
826
  * - If either input is non-empty, the result is a `NonEmptyArray`.
764
- * - Does not mutate the input.
765
827
  *
766
828
  * **Example** (Prepending multiple elements)
767
829
  *
@@ -782,10 +844,13 @@ export declare const prependAll: {
782
844
  /**
783
845
  * Prepends all elements from a prefix iterable to the front of an array.
784
846
  *
847
+ * **When to use**
848
+ *
849
+ * Use to prepend multiple elements from an iterable to the front of an array.
850
+ *
785
851
  * **Details**
786
852
  *
787
853
  * - If either input is non-empty, the result is a `NonEmptyArray`.
788
- * - Does not mutate the input.
789
854
  *
790
855
  * **Example** (Prepending multiple elements)
791
856
  *
@@ -806,10 +871,13 @@ export declare const prependAll: {
806
871
  /**
807
872
  * Prepends all elements from a prefix iterable to the front of an array.
808
873
  *
874
+ * **When to use**
875
+ *
876
+ * Use to prepend multiple elements from an iterable to the front of an array.
877
+ *
809
878
  * **Details**
810
879
  *
811
880
  * - If either input is non-empty, the result is a `NonEmptyArray`.
812
- * - Does not mutate the input.
813
881
  *
814
882
  * **Example** (Prepending multiple elements)
815
883
  *
@@ -830,10 +898,13 @@ export declare const prependAll: {
830
898
  /**
831
899
  * Prepends all elements from a prefix iterable to the front of an array.
832
900
  *
901
+ * **When to use**
902
+ *
903
+ * Use to prepend multiple elements from an iterable to the front of an array.
904
+ *
833
905
  * **Details**
834
906
  *
835
907
  * - If either input is non-empty, the result is a `NonEmptyArray`.
836
- * - Does not mutate the input.
837
908
  *
838
909
  * **Example** (Prepending multiple elements)
839
910
  *
@@ -854,10 +925,13 @@ export declare const prependAll: {
854
925
  /**
855
926
  * Prepends all elements from a prefix iterable to the front of an array.
856
927
  *
928
+ * **When to use**
929
+ *
930
+ * Use to prepend multiple elements from an iterable to the front of an array.
931
+ *
857
932
  * **Details**
858
933
  *
859
934
  * - If either input is non-empty, the result is a `NonEmptyArray`.
860
- * - Does not mutate the input.
861
935
  *
862
936
  * **Example** (Prepending multiple elements)
863
937
  *
@@ -879,10 +953,14 @@ export declare const prependAll: {
879
953
  /**
880
954
  * Adds a single element to the end of an iterable, returning a `NonEmptyArray`.
881
955
  *
956
+ * **When to use**
957
+ *
958
+ * Use to add one element to the end of an iterable and get a new
959
+ * `NonEmptyArray`.
960
+ *
882
961
  * **Details**
883
962
  *
884
963
  * - Always returns a non-empty array.
885
- * - Does not mutate the input.
886
964
  *
887
965
  * **Example** (Appending an element)
888
966
  *
@@ -903,10 +981,14 @@ export declare const append: {
903
981
  /**
904
982
  * Adds a single element to the end of an iterable, returning a `NonEmptyArray`.
905
983
  *
984
+ * **When to use**
985
+ *
986
+ * Use to add one element to the end of an iterable and get a new
987
+ * `NonEmptyArray`.
988
+ *
906
989
  * **Details**
907
990
  *
908
991
  * - Always returns a non-empty array.
909
- * - Does not mutate the input.
910
992
  *
911
993
  * **Example** (Appending an element)
912
994
  *
@@ -927,10 +1009,14 @@ export declare const append: {
927
1009
  /**
928
1010
  * Adds a single element to the end of an iterable, returning a `NonEmptyArray`.
929
1011
  *
1012
+ * **When to use**
1013
+ *
1014
+ * Use to add one element to the end of an iterable and get a new
1015
+ * `NonEmptyArray`.
1016
+ *
930
1017
  * **Details**
931
1018
  *
932
1019
  * - Always returns a non-empty array.
933
- * - Does not mutate the input.
934
1020
  *
935
1021
  * **Example** (Appending an element)
936
1022
  *
@@ -952,10 +1038,14 @@ export declare const append: {
952
1038
  /**
953
1039
  * Concatenates two iterables into a single array.
954
1040
  *
1041
+ * **When to use**
1042
+ *
1043
+ * Use to combine two iterable inputs into a new array with the second input's
1044
+ * elements after the first.
1045
+ *
955
1046
  * **Details**
956
1047
  *
957
1048
  * - If either input is non-empty, the result is a `NonEmptyArray`.
958
- * - Does not mutate the inputs.
959
1049
  *
960
1050
  * **Example** (Concatenating arrays)
961
1051
  *
@@ -976,10 +1066,14 @@ export declare const appendAll: {
976
1066
  /**
977
1067
  * Concatenates two iterables into a single array.
978
1068
  *
1069
+ * **When to use**
1070
+ *
1071
+ * Use to combine two iterable inputs into a new array with the second input's
1072
+ * elements after the first.
1073
+ *
979
1074
  * **Details**
980
1075
  *
981
1076
  * - If either input is non-empty, the result is a `NonEmptyArray`.
982
- * - Does not mutate the inputs.
983
1077
  *
984
1078
  * **Example** (Concatenating arrays)
985
1079
  *
@@ -1000,10 +1094,14 @@ export declare const appendAll: {
1000
1094
  /**
1001
1095
  * Concatenates two iterables into a single array.
1002
1096
  *
1097
+ * **When to use**
1098
+ *
1099
+ * Use to combine two iterable inputs into a new array with the second input's
1100
+ * elements after the first.
1101
+ *
1003
1102
  * **Details**
1004
1103
  *
1005
1104
  * - If either input is non-empty, the result is a `NonEmptyArray`.
1006
- * - Does not mutate the inputs.
1007
1105
  *
1008
1106
  * **Example** (Concatenating arrays)
1009
1107
  *
@@ -1024,10 +1122,14 @@ export declare const appendAll: {
1024
1122
  /**
1025
1123
  * Concatenates two iterables into a single array.
1026
1124
  *
1125
+ * **When to use**
1126
+ *
1127
+ * Use to combine two iterable inputs into a new array with the second input's
1128
+ * elements after the first.
1129
+ *
1027
1130
  * **Details**
1028
1131
  *
1029
1132
  * - If either input is non-empty, the result is a `NonEmptyArray`.
1030
- * - Does not mutate the inputs.
1031
1133
  *
1032
1134
  * **Example** (Concatenating arrays)
1033
1135
  *
@@ -1048,10 +1150,14 @@ export declare const appendAll: {
1048
1150
  /**
1049
1151
  * Concatenates two iterables into a single array.
1050
1152
  *
1153
+ * **When to use**
1154
+ *
1155
+ * Use to combine two iterable inputs into a new array with the second input's
1156
+ * elements after the first.
1157
+ *
1051
1158
  * **Details**
1052
1159
  *
1053
1160
  * - If either input is non-empty, the result is a `NonEmptyArray`.
1054
- * - Does not mutate the inputs.
1055
1161
  *
1056
1162
  * **Example** (Concatenating arrays)
1057
1163
  *
@@ -1071,7 +1177,11 @@ export declare const appendAll: {
1071
1177
  <A, B>(self: Iterable<A>, that: Iterable<B>): Array<A | B>;
1072
1178
  };
1073
1179
  /**
1074
- * Left-to-right fold that keeps every intermediate accumulator value.
1180
+ * Folds left-to-right while keeping every intermediate accumulator value.
1181
+ *
1182
+ * **When to use**
1183
+ *
1184
+ * Use to compute a running accumulator where each intermediate value is needed.
1075
1185
  *
1076
1186
  * **Details**
1077
1187
  *
@@ -1096,7 +1206,11 @@ export declare const appendAll: {
1096
1206
  */
1097
1207
  export declare const scan: {
1098
1208
  /**
1099
- * Left-to-right fold that keeps every intermediate accumulator value.
1209
+ * Folds left-to-right while keeping every intermediate accumulator value.
1210
+ *
1211
+ * **When to use**
1212
+ *
1213
+ * Use to compute a running accumulator where each intermediate value is needed.
1100
1214
  *
1101
1215
  * **Details**
1102
1216
  *
@@ -1121,7 +1235,11 @@ export declare const scan: {
1121
1235
  */
1122
1236
  <B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<A>) => NonEmptyArray<B>;
1123
1237
  /**
1124
- * Left-to-right fold that keeps every intermediate accumulator value.
1238
+ * Folds left-to-right while keeping every intermediate accumulator value.
1239
+ *
1240
+ * **When to use**
1241
+ *
1242
+ * Use to compute a running accumulator where each intermediate value is needed.
1125
1243
  *
1126
1244
  * **Details**
1127
1245
  *
@@ -1147,7 +1265,12 @@ export declare const scan: {
1147
1265
  <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A) => B): NonEmptyArray<B>;
1148
1266
  };
1149
1267
  /**
1150
- * Right-to-left fold that keeps every intermediate accumulator value.
1268
+ * Folds right-to-left while keeping every intermediate accumulator value.
1269
+ *
1270
+ * **When to use**
1271
+ *
1272
+ * Use to compute a running accumulator from right to left where each intermediate
1273
+ * value is needed.
1151
1274
  *
1152
1275
  * **Details**
1153
1276
  *
@@ -1171,7 +1294,12 @@ export declare const scan: {
1171
1294
  */
1172
1295
  export declare const scanRight: {
1173
1296
  /**
1174
- * Right-to-left fold that keeps every intermediate accumulator value.
1297
+ * Folds right-to-left while keeping every intermediate accumulator value.
1298
+ *
1299
+ * **When to use**
1300
+ *
1301
+ * Use to compute a running accumulator from right to left where each intermediate
1302
+ * value is needed.
1175
1303
  *
1176
1304
  * **Details**
1177
1305
  *
@@ -1195,7 +1323,12 @@ export declare const scanRight: {
1195
1323
  */
1196
1324
  <B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<A>) => NonEmptyArray<B>;
1197
1325
  /**
1198
- * Right-to-left fold that keeps every intermediate accumulator value.
1326
+ * Folds right-to-left while keeping every intermediate accumulator value.
1327
+ *
1328
+ * **When to use**
1329
+ *
1330
+ * Use to compute a running accumulator from right to left where each intermediate
1331
+ * value is needed.
1199
1332
  *
1200
1333
  * **Details**
1201
1334
  *
@@ -1220,7 +1353,11 @@ export declare const scanRight: {
1220
1353
  <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A) => B): NonEmptyArray<B>;
1221
1354
  };
1222
1355
  /**
1223
- * Tests whether a value is an `Array`.
1356
+ * Checks whether a value is an `Array`.
1357
+ *
1358
+ * **When to use**
1359
+ *
1360
+ * Use to verify a value is a mutable array, narrowing its type to `Array<unknown>`.
1224
1361
  *
1225
1362
  * **Details**
1226
1363
  *
@@ -1244,7 +1381,11 @@ export declare const scanRight: {
1244
1381
  */
1245
1382
  export declare const isArray: {
1246
1383
  /**
1247
- * Tests whether a value is an `Array`.
1384
+ * Checks whether a value is an `Array`.
1385
+ *
1386
+ * **When to use**
1387
+ *
1388
+ * Use to verify a value is a mutable array, narrowing its type to `Array<unknown>`.
1248
1389
  *
1249
1390
  * **Details**
1250
1391
  *
@@ -1268,7 +1409,11 @@ export declare const isArray: {
1268
1409
  */
1269
1410
  (self: unknown): self is Array<unknown>;
1270
1411
  /**
1271
- * Tests whether a value is an `Array`.
1412
+ * Checks whether a value is an `Array`.
1413
+ *
1414
+ * **When to use**
1415
+ *
1416
+ * Use to verify a value is a mutable array, narrowing its type to `Array<unknown>`.
1272
1417
  *
1273
1418
  * **Details**
1274
1419
  *
@@ -1293,7 +1438,7 @@ export declare const isArray: {
1293
1438
  <T>(self: T): self is Extract<T, ReadonlyArray<any>>;
1294
1439
  };
1295
1440
  /**
1296
- * Tests whether a mutable `Array` is empty, narrowing the type to `[]`.
1441
+ * Checks whether a mutable `Array` is empty, narrowing the type to `[]`.
1297
1442
  *
1298
1443
  * **Example** (Checking for an empty array)
1299
1444
  *
@@ -1312,7 +1457,7 @@ export declare const isArray: {
1312
1457
  */
1313
1458
  export declare const isArrayEmpty: <A>(self: Array<A>) => self is [];
1314
1459
  /**
1315
- * Tests whether a `ReadonlyArray` is empty, narrowing the type to `readonly []`.
1460
+ * Checks whether a `ReadonlyArray` is empty, narrowing the type to `readonly []`.
1316
1461
  *
1317
1462
  * **Example** (Checking for an empty readonly array)
1318
1463
  *
@@ -1331,7 +1476,7 @@ export declare const isArrayEmpty: <A>(self: Array<A>) => self is [];
1331
1476
  */
1332
1477
  export declare const isReadonlyArrayEmpty: <A>(self: ReadonlyArray<A>) => self is readonly [];
1333
1478
  /**
1334
- * Tests whether a mutable `Array` is non-empty, narrowing the type to
1479
+ * Checks whether a mutable `Array` is non-empty, narrowing the type to
1335
1480
  * `NonEmptyArray`.
1336
1481
  *
1337
1482
  * **Example** (Checking for a non-empty array)
@@ -1351,7 +1496,7 @@ export declare const isReadonlyArrayEmpty: <A>(self: ReadonlyArray<A>) => self i
1351
1496
  */
1352
1497
  export declare const isArrayNonEmpty: <A>(self: Array<A>) => self is NonEmptyArray<A>;
1353
1498
  /**
1354
- * Tests whether a `ReadonlyArray` is non-empty, narrowing the type to
1499
+ * Checks whether a `ReadonlyArray` is non-empty, narrowing the type to
1355
1500
  * `NonEmptyReadonlyArray`.
1356
1501
  *
1357
1502
  * **Example** (Checking for a non-empty readonly array)
@@ -1373,6 +1518,10 @@ export declare const isReadonlyArrayNonEmpty: <A>(self: ReadonlyArray<A>) => sel
1373
1518
  /**
1374
1519
  * Returns the number of elements in a `ReadonlyArray`.
1375
1520
  *
1521
+ * **When to use**
1522
+ *
1523
+ * Use when you need length as a composable function rather than a property access.
1524
+ *
1376
1525
  * **Example** (Getting the length)
1377
1526
  *
1378
1527
  * ```ts
@@ -1386,9 +1535,14 @@ export declare const isReadonlyArrayNonEmpty: <A>(self: ReadonlyArray<A>) => sel
1386
1535
  */
1387
1536
  export declare const length: <A>(self: ReadonlyArray<A>) => number;
1388
1537
  /**
1389
- * Safely reads an element at the given index, returning `Option.some` or
1538
+ * Reads an element at the given index safely, returning `Option.some` or
1390
1539
  * `Option.none` if the index is out of bounds.
1391
1540
  *
1541
+ * **When to use**
1542
+ *
1543
+ * Use when you need to read an array element by index and handle an
1544
+ * out-of-bounds index as `Option.none`.
1545
+ *
1392
1546
  * **Details**
1393
1547
  *
1394
1548
  * - The index is floored to an integer.
@@ -1403,18 +1557,23 @@ export declare const length: <A>(self: ReadonlyArray<A>) => number;
1403
1557
  * console.log(Array.get([1, 2, 3], 10)) // None
1404
1558
  * ```
1405
1559
  *
1406
- * @see {@link getUnsafe} throws on out of bounds
1407
- * @see {@link head} get the first element
1408
- * @see {@link last} get the last element
1560
+ * @see {@link getUnsafe} for indexed access that throws when the index is out of bounds
1561
+ * @see {@link head} for reading the first element as an `Option`
1562
+ * @see {@link last} for reading the last element as an `Option`
1409
1563
  *
1410
1564
  * @category getters
1411
1565
  * @since 2.0.0
1412
1566
  */
1413
1567
  export declare const get: {
1414
1568
  /**
1415
- * Safely reads an element at the given index, returning `Option.some` or
1569
+ * Reads an element at the given index safely, returning `Option.some` or
1416
1570
  * `Option.none` if the index is out of bounds.
1417
1571
  *
1572
+ * **When to use**
1573
+ *
1574
+ * Use when you need to read an array element by index and handle an
1575
+ * out-of-bounds index as `Option.none`.
1576
+ *
1418
1577
  * **Details**
1419
1578
  *
1420
1579
  * - The index is floored to an integer.
@@ -1429,18 +1588,23 @@ export declare const get: {
1429
1588
  * console.log(Array.get([1, 2, 3], 10)) // None
1430
1589
  * ```
1431
1590
  *
1432
- * @see {@link getUnsafe} throws on out of bounds
1433
- * @see {@link head} get the first element
1434
- * @see {@link last} get the last element
1591
+ * @see {@link getUnsafe} for indexed access that throws when the index is out of bounds
1592
+ * @see {@link head} for reading the first element as an `Option`
1593
+ * @see {@link last} for reading the last element as an `Option`
1435
1594
  *
1436
1595
  * @category getters
1437
1596
  * @since 2.0.0
1438
1597
  */
1439
1598
  (index: number): <A>(self: ReadonlyArray<A>) => Option.Option<A>;
1440
1599
  /**
1441
- * Safely reads an element at the given index, returning `Option.some` or
1600
+ * Reads an element at the given index safely, returning `Option.some` or
1442
1601
  * `Option.none` if the index is out of bounds.
1443
1602
  *
1603
+ * **When to use**
1604
+ *
1605
+ * Use when you need to read an array element by index and handle an
1606
+ * out-of-bounds index as `Option.none`.
1607
+ *
1444
1608
  * **Details**
1445
1609
  *
1446
1610
  * - The index is floored to an integer.
@@ -1455,9 +1619,9 @@ export declare const get: {
1455
1619
  * console.log(Array.get([1, 2, 3], 10)) // None
1456
1620
  * ```
1457
1621
  *
1458
- * @see {@link getUnsafe} throws on out of bounds
1459
- * @see {@link head} get the first element
1460
- * @see {@link last} get the last element
1622
+ * @see {@link getUnsafe} for indexed access that throws when the index is out of bounds
1623
+ * @see {@link head} for reading the first element as an `Option`
1624
+ * @see {@link last} for reading the last element as an `Option`
1461
1625
  *
1462
1626
  * @category getters
1463
1627
  * @since 2.0.0
@@ -1467,6 +1631,11 @@ export declare const get: {
1467
1631
  /**
1468
1632
  * Reads an element at the given index, throwing if the index is out of bounds.
1469
1633
  *
1634
+ * **When to use**
1635
+ *
1636
+ * Use to read an element at a known valid index when out-of-bounds would be a
1637
+ * programming error.
1638
+ *
1470
1639
  * **Details**
1471
1640
  *
1472
1641
  * - Throws an `Error` with the message `"Index out of bounds: <i>"`.
@@ -1490,6 +1659,11 @@ export declare const getUnsafe: {
1490
1659
  /**
1491
1660
  * Reads an element at the given index, throwing if the index is out of bounds.
1492
1661
  *
1662
+ * **When to use**
1663
+ *
1664
+ * Use to read an element at a known valid index when out-of-bounds would be a
1665
+ * programming error.
1666
+ *
1493
1667
  * **Details**
1494
1668
  *
1495
1669
  * - Throws an `Error` with the message `"Index out of bounds: <i>"`.
@@ -1513,6 +1687,11 @@ export declare const getUnsafe: {
1513
1687
  /**
1514
1688
  * Reads an element at the given index, throwing if the index is out of bounds.
1515
1689
  *
1690
+ * **When to use**
1691
+ *
1692
+ * Use to read an element at a known valid index when out-of-bounds would be a
1693
+ * programming error.
1694
+ *
1516
1695
  * **Details**
1517
1696
  *
1518
1697
  * - Throws an `Error` with the message `"Index out of bounds: <i>"`.
@@ -1537,6 +1716,11 @@ export declare const getUnsafe: {
1537
1716
  /**
1538
1717
  * Splits a non-empty array into its first element and the remaining elements.
1539
1718
  *
1719
+ * **When to use**
1720
+ *
1721
+ * Use when you have a `NonEmptyReadonlyArray` and need both its first element
1722
+ * and the remaining elements as separate values.
1723
+ *
1540
1724
  * **Details**
1541
1725
  *
1542
1726
  * - Returns a tuple `[head, tail]`.
@@ -1551,9 +1735,9 @@ export declare const getUnsafe: {
1551
1735
  * console.log(result) // [1, [2, 3, 4]]
1552
1736
  * ```
1553
1737
  *
1554
- * @see {@link unappend} split into init + last
1555
- * @see {@link headNonEmpty} get only the head
1556
- * @see {@link tailNonEmpty} get only the tail
1738
+ * @see {@link unappend} for splitting a non-empty array into init and last
1739
+ * @see {@link headNonEmpty} for getting only the first element
1740
+ * @see {@link tailNonEmpty} for getting only the elements after the first
1557
1741
  *
1558
1742
  * @category splitting
1559
1743
  * @since 2.0.0
@@ -1563,6 +1747,11 @@ export declare const unprepend: <A>(self: NonEmptyReadonlyArray<A>) => [firstEle
1563
1747
  * Splits a non-empty array into all elements except the last, and the last
1564
1748
  * element.
1565
1749
  *
1750
+ * **When to use**
1751
+ *
1752
+ * Use to split a non-empty array from the end when you need both the elements
1753
+ * before the last element and the last element.
1754
+ *
1566
1755
  * **Details**
1567
1756
  *
1568
1757
  * - Returns a tuple `[init, last]`.
@@ -1577,18 +1766,22 @@ export declare const unprepend: <A>(self: NonEmptyReadonlyArray<A>) => [firstEle
1577
1766
  * console.log(result) // [[1, 2, 3], 4]
1578
1767
  * ```
1579
1768
  *
1580
- * @see {@link unprepend} split into head + tail
1581
- * @see {@link initNonEmpty} get only the init
1582
- * @see {@link lastNonEmpty} get only the last
1769
+ * @see {@link unprepend} for splitting a non-empty array into head and tail
1770
+ * @see {@link initNonEmpty} for getting only the elements before the last
1771
+ * @see {@link lastNonEmpty} for getting only the last element
1583
1772
  *
1584
1773
  * @category splitting
1585
1774
  * @since 2.0.0
1586
1775
  */
1587
1776
  export declare const unappend: <A>(self: NonEmptyReadonlyArray<A>) => [arrayWithoutLastElement: Array<A>, lastElement: A];
1588
1777
  /**
1589
- * Returns the first element of an array wrapped in `Option.some`, or
1778
+ * Returns the first element of an array safely wrapped in `Option.some`, or
1590
1779
  * `Option.none` if the array is empty.
1591
1780
  *
1781
+ * **When to use**
1782
+ *
1783
+ * Use to safely get the first element of an array that may be empty.
1784
+ *
1592
1785
  * **Example** (Getting the first element)
1593
1786
  *
1594
1787
  * ```ts
@@ -1609,6 +1802,11 @@ export declare const head: <A>(self: ReadonlyArray<A>) => Option.Option<A>;
1609
1802
  * Returns the first element of a `NonEmptyReadonlyArray` directly (no `Option`
1610
1803
  * wrapper).
1611
1804
  *
1805
+ * **When to use**
1806
+ *
1807
+ * Use to get the first element without `Option` wrapping when the array is known
1808
+ * to be non-empty.
1809
+ *
1612
1810
  * **Example** (Getting the head of a non-empty array)
1613
1811
  *
1614
1812
  * ```ts
@@ -1624,9 +1822,13 @@ export declare const head: <A>(self: ReadonlyArray<A>) => Option.Option<A>;
1624
1822
  */
1625
1823
  export declare const headNonEmpty: <A>(self: NonEmptyReadonlyArray<A>) => A;
1626
1824
  /**
1627
- * Returns the last element of an array wrapped in `Option.some`, or
1825
+ * Returns the last element of an array safely wrapped in `Option.some`, or
1628
1826
  * `Option.none` if the array is empty.
1629
1827
  *
1828
+ * **When to use**
1829
+ *
1830
+ * Use to safely get the last element of an array that may be empty.
1831
+ *
1630
1832
  * **Example** (Getting the last element)
1631
1833
  *
1632
1834
  * ```ts
@@ -1647,6 +1849,11 @@ export declare const last: <A>(self: ReadonlyArray<A>) => Option.Option<A>;
1647
1849
  * Returns the last element of a `NonEmptyReadonlyArray` directly (no `Option`
1648
1850
  * wrapper).
1649
1851
  *
1852
+ * **When to use**
1853
+ *
1854
+ * Use to get the last element without `Option` wrapping when the array is known
1855
+ * to be non-empty.
1856
+ *
1650
1857
  * **Example** (Getting the last of a non-empty array)
1651
1858
  *
1652
1859
  * ```ts
@@ -1662,7 +1869,11 @@ export declare const last: <A>(self: ReadonlyArray<A>) => Option.Option<A>;
1662
1869
  */
1663
1870
  export declare const lastNonEmpty: <A>(self: NonEmptyReadonlyArray<A>) => A;
1664
1871
  /**
1665
- * Returns all elements except the first, wrapped in an `Option`.
1872
+ * Returns all elements except the first safely, wrapped in an `Option`.
1873
+ *
1874
+ * **When to use**
1875
+ *
1876
+ * Use to safely get all elements after the first when the iterable may be empty.
1666
1877
  *
1667
1878
  * **Details**
1668
1879
  *
@@ -1688,6 +1899,10 @@ export declare function tail<A>(self: Iterable<A>): Option.Option<Array<A>>;
1688
1899
  /**
1689
1900
  * Returns all elements except the first of a `NonEmptyReadonlyArray`.
1690
1901
  *
1902
+ * **When to use**
1903
+ *
1904
+ * Use to get all elements after the first when the array is known to be non-empty.
1905
+ *
1691
1906
  * **Example** (Getting the tail of a non-empty array)
1692
1907
  *
1693
1908
  * ```ts
@@ -1704,7 +1919,11 @@ export declare function tail<A>(self: Iterable<A>): Option.Option<Array<A>>;
1704
1919
  */
1705
1920
  export declare const tailNonEmpty: <A>(self: NonEmptyReadonlyArray<A>) => Array<A>;
1706
1921
  /**
1707
- * Returns all elements except the last, wrapped in an `Option`.
1922
+ * Returns all elements except the last safely, wrapped in an `Option`.
1923
+ *
1924
+ * **When to use**
1925
+ *
1926
+ * Use to safely get all elements before the last when the iterable may be empty.
1708
1927
  *
1709
1928
  * **Details**
1710
1929
  *
@@ -1730,6 +1949,10 @@ export declare function init<A>(self: Iterable<A>): Option.Option<Array<A>>;
1730
1949
  /**
1731
1950
  * Returns all elements except the last of a `NonEmptyReadonlyArray`.
1732
1951
  *
1952
+ * **When to use**
1953
+ *
1954
+ * Use to get all elements before the last when the array is known to be non-empty.
1955
+ *
1733
1956
  * **Example** (Getting init of a non-empty array)
1734
1957
  *
1735
1958
  * ```ts
@@ -1748,6 +1971,10 @@ export declare const initNonEmpty: <A>(self: NonEmptyReadonlyArray<A>) => Array<
1748
1971
  /**
1749
1972
  * Keeps the first `n` elements, creating a new array.
1750
1973
  *
1974
+ * **When to use**
1975
+ *
1976
+ * Use to keep up to the first `n` elements from an iterable as a new array.
1977
+ *
1751
1978
  * **Details**
1752
1979
  *
1753
1980
  * - `n` is clamped to `[0, length]`.
@@ -1761,9 +1988,9 @@ export declare const initNonEmpty: <A>(self: NonEmptyReadonlyArray<A>) => Array<
1761
1988
  * console.log(Array.take([1, 2, 3, 4, 5], 3)) // [1, 2, 3]
1762
1989
  * ```
1763
1990
  *
1764
- * @see {@link takeRight} keep from the end
1765
- * @see {@link takeWhile} keep while predicate holds
1766
- * @see {@link drop} remove from the start
1991
+ * @see {@link takeRight} for keeping elements from the end
1992
+ * @see {@link takeWhile} for keeping an initial prefix while a predicate holds
1993
+ * @see {@link drop} for removing elements from the start
1767
1994
  *
1768
1995
  * @category getters
1769
1996
  * @since 2.0.0
@@ -1772,6 +1999,10 @@ export declare const take: {
1772
1999
  /**
1773
2000
  * Keeps the first `n` elements, creating a new array.
1774
2001
  *
2002
+ * **When to use**
2003
+ *
2004
+ * Use to keep up to the first `n` elements from an iterable as a new array.
2005
+ *
1775
2006
  * **Details**
1776
2007
  *
1777
2008
  * - `n` is clamped to `[0, length]`.
@@ -1785,9 +2016,9 @@ export declare const take: {
1785
2016
  * console.log(Array.take([1, 2, 3, 4, 5], 3)) // [1, 2, 3]
1786
2017
  * ```
1787
2018
  *
1788
- * @see {@link takeRight} keep from the end
1789
- * @see {@link takeWhile} keep while predicate holds
1790
- * @see {@link drop} remove from the start
2019
+ * @see {@link takeRight} for keeping elements from the end
2020
+ * @see {@link takeWhile} for keeping an initial prefix while a predicate holds
2021
+ * @see {@link drop} for removing elements from the start
1791
2022
  *
1792
2023
  * @category getters
1793
2024
  * @since 2.0.0
@@ -1796,6 +2027,10 @@ export declare const take: {
1796
2027
  /**
1797
2028
  * Keeps the first `n` elements, creating a new array.
1798
2029
  *
2030
+ * **When to use**
2031
+ *
2032
+ * Use to keep up to the first `n` elements from an iterable as a new array.
2033
+ *
1799
2034
  * **Details**
1800
2035
  *
1801
2036
  * - `n` is clamped to `[0, length]`.
@@ -1809,9 +2044,9 @@ export declare const take: {
1809
2044
  * console.log(Array.take([1, 2, 3, 4, 5], 3)) // [1, 2, 3]
1810
2045
  * ```
1811
2046
  *
1812
- * @see {@link takeRight} keep from the end
1813
- * @see {@link takeWhile} keep while predicate holds
1814
- * @see {@link drop} remove from the start
2047
+ * @see {@link takeRight} for keeping elements from the end
2048
+ * @see {@link takeWhile} for keeping an initial prefix while a predicate holds
2049
+ * @see {@link drop} for removing elements from the start
1815
2050
  *
1816
2051
  * @category getters
1817
2052
  * @since 2.0.0
@@ -1821,6 +2056,10 @@ export declare const take: {
1821
2056
  /**
1822
2057
  * Keeps the last `n` elements, creating a new array.
1823
2058
  *
2059
+ * **When to use**
2060
+ *
2061
+ * Use to keep the last `n` elements of an iterable.
2062
+ *
1824
2063
  * **Details**
1825
2064
  *
1826
2065
  * - `n` is clamped to `[0, length]`.
@@ -1844,6 +2083,10 @@ export declare const takeRight: {
1844
2083
  /**
1845
2084
  * Keeps the last `n` elements, creating a new array.
1846
2085
  *
2086
+ * **When to use**
2087
+ *
2088
+ * Use to keep the last `n` elements of an iterable.
2089
+ *
1847
2090
  * **Details**
1848
2091
  *
1849
2092
  * - `n` is clamped to `[0, length]`.
@@ -1867,6 +2110,10 @@ export declare const takeRight: {
1867
2110
  /**
1868
2111
  * Keeps the last `n` elements, creating a new array.
1869
2112
  *
2113
+ * **When to use**
2114
+ *
2115
+ * Use to keep the last `n` elements of an iterable.
2116
+ *
1870
2117
  * **Details**
1871
2118
  *
1872
2119
  * - `n` is clamped to `[0, length]`.
@@ -1892,6 +2139,11 @@ export declare const takeRight: {
1892
2139
  * Takes elements from the start while the predicate holds, stopping at the
1893
2140
  * first element that fails.
1894
2141
  *
2142
+ * **When to use**
2143
+ *
2144
+ * Use to keep the leading elements of an iterable while each element satisfies
2145
+ * a predicate, returning the retained prefix as an array.
2146
+ *
1895
2147
  * **Details**
1896
2148
  *
1897
2149
  * - Supports refinements for type narrowing.
@@ -1905,9 +2157,9 @@ export declare const takeRight: {
1905
2157
  * console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
1906
2158
  * ```
1907
2159
  *
1908
- * @see {@link take} take a fixed count
1909
- * @see {@link dropWhile} drop while predicate holds
1910
- * @see {@link span} split into matching prefix + rest
2160
+ * @see {@link take} for keeping a fixed number of leading elements
2161
+ * @see {@link dropWhile} for removing the matching prefix and keeping the rest
2162
+ * @see {@link span} for splitting the matching prefix from the remaining elements
1911
2163
  *
1912
2164
  * @category getters
1913
2165
  * @since 2.0.0
@@ -1917,6 +2169,11 @@ export declare const takeWhile: {
1917
2169
  * Takes elements from the start while the predicate holds, stopping at the
1918
2170
  * first element that fails.
1919
2171
  *
2172
+ * **When to use**
2173
+ *
2174
+ * Use to keep the leading elements of an iterable while each element satisfies
2175
+ * a predicate, returning the retained prefix as an array.
2176
+ *
1920
2177
  * **Details**
1921
2178
  *
1922
2179
  * - Supports refinements for type narrowing.
@@ -1930,9 +2187,9 @@ export declare const takeWhile: {
1930
2187
  * console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
1931
2188
  * ```
1932
2189
  *
1933
- * @see {@link take} take a fixed count
1934
- * @see {@link dropWhile} drop while predicate holds
1935
- * @see {@link span} split into matching prefix + rest
2190
+ * @see {@link take} for keeping a fixed number of leading elements
2191
+ * @see {@link dropWhile} for removing the matching prefix and keeping the rest
2192
+ * @see {@link span} for splitting the matching prefix from the remaining elements
1936
2193
  *
1937
2194
  * @category getters
1938
2195
  * @since 2.0.0
@@ -1942,6 +2199,11 @@ export declare const takeWhile: {
1942
2199
  * Takes elements from the start while the predicate holds, stopping at the
1943
2200
  * first element that fails.
1944
2201
  *
2202
+ * **When to use**
2203
+ *
2204
+ * Use to keep the leading elements of an iterable while each element satisfies
2205
+ * a predicate, returning the retained prefix as an array.
2206
+ *
1945
2207
  * **Details**
1946
2208
  *
1947
2209
  * - Supports refinements for type narrowing.
@@ -1955,9 +2217,9 @@ export declare const takeWhile: {
1955
2217
  * console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
1956
2218
  * ```
1957
2219
  *
1958
- * @see {@link take} take a fixed count
1959
- * @see {@link dropWhile} drop while predicate holds
1960
- * @see {@link span} split into matching prefix + rest
2220
+ * @see {@link take} for keeping a fixed number of leading elements
2221
+ * @see {@link dropWhile} for removing the matching prefix and keeping the rest
2222
+ * @see {@link span} for splitting the matching prefix from the remaining elements
1961
2223
  *
1962
2224
  * @category getters
1963
2225
  * @since 2.0.0
@@ -1967,6 +2229,11 @@ export declare const takeWhile: {
1967
2229
  * Takes elements from the start while the predicate holds, stopping at the
1968
2230
  * first element that fails.
1969
2231
  *
2232
+ * **When to use**
2233
+ *
2234
+ * Use to keep the leading elements of an iterable while each element satisfies
2235
+ * a predicate, returning the retained prefix as an array.
2236
+ *
1970
2237
  * **Details**
1971
2238
  *
1972
2239
  * - Supports refinements for type narrowing.
@@ -1980,9 +2247,9 @@ export declare const takeWhile: {
1980
2247
  * console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
1981
2248
  * ```
1982
2249
  *
1983
- * @see {@link take} take a fixed count
1984
- * @see {@link dropWhile} drop while predicate holds
1985
- * @see {@link span} split into matching prefix + rest
2250
+ * @see {@link take} for keeping a fixed number of leading elements
2251
+ * @see {@link dropWhile} for removing the matching prefix and keeping the rest
2252
+ * @see {@link span} for splitting the matching prefix from the remaining elements
1986
2253
  *
1987
2254
  * @category getters
1988
2255
  * @since 2.0.0
@@ -1992,6 +2259,11 @@ export declare const takeWhile: {
1992
2259
  * Takes elements from the start while the predicate holds, stopping at the
1993
2260
  * first element that fails.
1994
2261
  *
2262
+ * **When to use**
2263
+ *
2264
+ * Use to keep the leading elements of an iterable while each element satisfies
2265
+ * a predicate, returning the retained prefix as an array.
2266
+ *
1995
2267
  * **Details**
1996
2268
  *
1997
2269
  * - Supports refinements for type narrowing.
@@ -2005,9 +2277,9 @@ export declare const takeWhile: {
2005
2277
  * console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
2006
2278
  * ```
2007
2279
  *
2008
- * @see {@link take} take a fixed count
2009
- * @see {@link dropWhile} drop while predicate holds
2010
- * @see {@link span} split into matching prefix + rest
2280
+ * @see {@link take} for keeping a fixed number of leading elements
2281
+ * @see {@link dropWhile} for removing the matching prefix and keeping the rest
2282
+ * @see {@link span} for splitting the matching prefix from the remaining elements
2011
2283
  *
2012
2284
  * @category getters
2013
2285
  * @since 2.0.0
@@ -2017,11 +2289,19 @@ export declare const takeWhile: {
2017
2289
  /**
2018
2290
  * Takes elements from the start while a `Filter` succeeds, collecting transformed values.
2019
2291
  *
2292
+ * **When to use**
2293
+ *
2294
+ * Use when you need to take a prefix of elements while a function can
2295
+ * successfully extract or transform them, stopping at the first element
2296
+ * that produces a failure result.
2297
+ *
2020
2298
  * **Details**
2021
2299
  *
2022
2300
  * - The filter receives `(element, index)`.
2023
2301
  * - Stops at the first filter failure.
2024
2302
  *
2303
+ * @see {@link takeWhile} for taking a prefix based on a boolean predicate
2304
+ *
2025
2305
  * @category getters
2026
2306
  * @since 4.0.0
2027
2307
  */
@@ -2029,11 +2309,19 @@ export declare const takeWhileFilter: {
2029
2309
  /**
2030
2310
  * Takes elements from the start while a `Filter` succeeds, collecting transformed values.
2031
2311
  *
2312
+ * **When to use**
2313
+ *
2314
+ * Use when you need to take a prefix of elements while a function can
2315
+ * successfully extract or transform them, stopping at the first element
2316
+ * that produces a failure result.
2317
+ *
2032
2318
  * **Details**
2033
2319
  *
2034
2320
  * - The filter receives `(element, index)`.
2035
2321
  * - Stops at the first filter failure.
2036
2322
  *
2323
+ * @see {@link takeWhile} for taking a prefix based on a boolean predicate
2324
+ *
2037
2325
  * @category getters
2038
2326
  * @since 4.0.0
2039
2327
  */
@@ -2041,11 +2329,19 @@ export declare const takeWhileFilter: {
2041
2329
  /**
2042
2330
  * Takes elements from the start while a `Filter` succeeds, collecting transformed values.
2043
2331
  *
2332
+ * **When to use**
2333
+ *
2334
+ * Use when you need to take a prefix of elements while a function can
2335
+ * successfully extract or transform them, stopping at the first element
2336
+ * that produces a failure result.
2337
+ *
2044
2338
  * **Details**
2045
2339
  *
2046
2340
  * - The filter receives `(element, index)`.
2047
2341
  * - Stops at the first filter failure.
2048
2342
  *
2343
+ * @see {@link takeWhile} for taking a prefix based on a boolean predicate
2344
+ *
2049
2345
  * @category getters
2050
2346
  * @since 4.0.0
2051
2347
  */
@@ -2055,6 +2351,11 @@ export declare const takeWhileFilter: {
2055
2351
  * Splits an iterable into two arrays: the longest prefix where the predicate
2056
2352
  * holds, and the remaining elements.
2057
2353
  *
2354
+ * **When to use**
2355
+ *
2356
+ * Use to split an iterable into the longest prefix that satisfies a predicate
2357
+ * and the elements after that prefix when you need both parts.
2358
+ *
2058
2359
  * **Details**
2059
2360
  *
2060
2361
  * - Equivalent to `[takeWhile(pred), dropWhile(pred)]` but more efficient
@@ -2069,9 +2370,9 @@ export declare const takeWhileFilter: {
2069
2370
  * console.log(Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1)) // [[1, 3], [2, 4, 5]]
2070
2371
  * ```
2071
2372
  *
2072
- * @see {@link takeWhile} keep only the matching prefix
2073
- * @see {@link dropWhile} keep only the rest
2074
- * @see {@link splitWhere} split at the first element matching a predicate
2373
+ * @see {@link takeWhile} for keeping only the matching prefix
2374
+ * @see {@link dropWhile} for keeping only the elements after the matching prefix
2375
+ * @see {@link splitWhere} for splitting at the first element that satisfies a predicate
2075
2376
  *
2076
2377
  * @category splitting
2077
2378
  * @since 2.0.0
@@ -2081,6 +2382,11 @@ export declare const span: {
2081
2382
  * Splits an iterable into two arrays: the longest prefix where the predicate
2082
2383
  * holds, and the remaining elements.
2083
2384
  *
2385
+ * **When to use**
2386
+ *
2387
+ * Use to split an iterable into the longest prefix that satisfies a predicate
2388
+ * and the elements after that prefix when you need both parts.
2389
+ *
2084
2390
  * **Details**
2085
2391
  *
2086
2392
  * - Equivalent to `[takeWhile(pred), dropWhile(pred)]` but more efficient
@@ -2095,9 +2401,9 @@ export declare const span: {
2095
2401
  * console.log(Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1)) // [[1, 3], [2, 4, 5]]
2096
2402
  * ```
2097
2403
  *
2098
- * @see {@link takeWhile} keep only the matching prefix
2099
- * @see {@link dropWhile} keep only the rest
2100
- * @see {@link splitWhere} split at the first element matching a predicate
2404
+ * @see {@link takeWhile} for keeping only the matching prefix
2405
+ * @see {@link dropWhile} for keeping only the elements after the matching prefix
2406
+ * @see {@link splitWhere} for splitting at the first element that satisfies a predicate
2101
2407
  *
2102
2408
  * @category splitting
2103
2409
  * @since 2.0.0
@@ -2107,6 +2413,11 @@ export declare const span: {
2107
2413
  * Splits an iterable into two arrays: the longest prefix where the predicate
2108
2414
  * holds, and the remaining elements.
2109
2415
  *
2416
+ * **When to use**
2417
+ *
2418
+ * Use to split an iterable into the longest prefix that satisfies a predicate
2419
+ * and the elements after that prefix when you need both parts.
2420
+ *
2110
2421
  * **Details**
2111
2422
  *
2112
2423
  * - Equivalent to `[takeWhile(pred), dropWhile(pred)]` but more efficient
@@ -2121,9 +2432,9 @@ export declare const span: {
2121
2432
  * console.log(Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1)) // [[1, 3], [2, 4, 5]]
2122
2433
  * ```
2123
2434
  *
2124
- * @see {@link takeWhile} keep only the matching prefix
2125
- * @see {@link dropWhile} keep only the rest
2126
- * @see {@link splitWhere} split at the first element matching a predicate
2435
+ * @see {@link takeWhile} for keeping only the matching prefix
2436
+ * @see {@link dropWhile} for keeping only the elements after the matching prefix
2437
+ * @see {@link splitWhere} for splitting at the first element that satisfies a predicate
2127
2438
  *
2128
2439
  * @category splitting
2129
2440
  * @since 2.0.0
@@ -2133,6 +2444,11 @@ export declare const span: {
2133
2444
  * Splits an iterable into two arrays: the longest prefix where the predicate
2134
2445
  * holds, and the remaining elements.
2135
2446
  *
2447
+ * **When to use**
2448
+ *
2449
+ * Use to split an iterable into the longest prefix that satisfies a predicate
2450
+ * and the elements after that prefix when you need both parts.
2451
+ *
2136
2452
  * **Details**
2137
2453
  *
2138
2454
  * - Equivalent to `[takeWhile(pred), dropWhile(pred)]` but more efficient
@@ -2147,9 +2463,9 @@ export declare const span: {
2147
2463
  * console.log(Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1)) // [[1, 3], [2, 4, 5]]
2148
2464
  * ```
2149
2465
  *
2150
- * @see {@link takeWhile} keep only the matching prefix
2151
- * @see {@link dropWhile} keep only the rest
2152
- * @see {@link splitWhere} split at the first element matching a predicate
2466
+ * @see {@link takeWhile} for keeping only the matching prefix
2467
+ * @see {@link dropWhile} for keeping only the elements after the matching prefix
2468
+ * @see {@link splitWhere} for splitting at the first element that satisfies a predicate
2153
2469
  *
2154
2470
  * @category splitting
2155
2471
  * @since 2.0.0
@@ -2159,6 +2475,11 @@ export declare const span: {
2159
2475
  * Splits an iterable into two arrays: the longest prefix where the predicate
2160
2476
  * holds, and the remaining elements.
2161
2477
  *
2478
+ * **When to use**
2479
+ *
2480
+ * Use to split an iterable into the longest prefix that satisfies a predicate
2481
+ * and the elements after that prefix when you need both parts.
2482
+ *
2162
2483
  * **Details**
2163
2484
  *
2164
2485
  * - Equivalent to `[takeWhile(pred), dropWhile(pred)]` but more efficient
@@ -2173,9 +2494,9 @@ export declare const span: {
2173
2494
  * console.log(Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1)) // [[1, 3], [2, 4, 5]]
2174
2495
  * ```
2175
2496
  *
2176
- * @see {@link takeWhile} keep only the matching prefix
2177
- * @see {@link dropWhile} keep only the rest
2178
- * @see {@link splitWhere} split at the first element matching a predicate
2497
+ * @see {@link takeWhile} for keeping only the matching prefix
2498
+ * @see {@link dropWhile} for keeping only the elements after the matching prefix
2499
+ * @see {@link splitWhere} for splitting at the first element that satisfies a predicate
2179
2500
  *
2180
2501
  * @category splitting
2181
2502
  * @since 2.0.0
@@ -2185,6 +2506,11 @@ export declare const span: {
2185
2506
  /**
2186
2507
  * Removes the first `n` elements, creating a new array.
2187
2508
  *
2509
+ * **When to use**
2510
+ *
2511
+ * Use to keep the suffix of an iterable after skipping a fixed number of
2512
+ * leading elements.
2513
+ *
2188
2514
  * **Details**
2189
2515
  *
2190
2516
  * - `n` is clamped to `[0, length]`.
@@ -2198,9 +2524,9 @@ export declare const span: {
2198
2524
  * console.log(Array.drop([1, 2, 3, 4, 5], 2)) // [3, 4, 5]
2199
2525
  * ```
2200
2526
  *
2201
- * @see {@link dropRight} remove from the end
2202
- * @see {@link dropWhile} remove while predicate holds
2203
- * @see {@link take} keep from the start
2527
+ * @see {@link dropRight} for removing a fixed number of elements from the end
2528
+ * @see {@link dropWhile} for removing a prefix based on a predicate instead of a fixed count
2529
+ * @see {@link take} for keeping a fixed number of elements from the start
2204
2530
  *
2205
2531
  * @category getters
2206
2532
  * @since 2.0.0
@@ -2209,6 +2535,11 @@ export declare const drop: {
2209
2535
  /**
2210
2536
  * Removes the first `n` elements, creating a new array.
2211
2537
  *
2538
+ * **When to use**
2539
+ *
2540
+ * Use to keep the suffix of an iterable after skipping a fixed number of
2541
+ * leading elements.
2542
+ *
2212
2543
  * **Details**
2213
2544
  *
2214
2545
  * - `n` is clamped to `[0, length]`.
@@ -2222,9 +2553,9 @@ export declare const drop: {
2222
2553
  * console.log(Array.drop([1, 2, 3, 4, 5], 2)) // [3, 4, 5]
2223
2554
  * ```
2224
2555
  *
2225
- * @see {@link dropRight} remove from the end
2226
- * @see {@link dropWhile} remove while predicate holds
2227
- * @see {@link take} keep from the start
2556
+ * @see {@link dropRight} for removing a fixed number of elements from the end
2557
+ * @see {@link dropWhile} for removing a prefix based on a predicate instead of a fixed count
2558
+ * @see {@link take} for keeping a fixed number of elements from the start
2228
2559
  *
2229
2560
  * @category getters
2230
2561
  * @since 2.0.0
@@ -2233,6 +2564,11 @@ export declare const drop: {
2233
2564
  /**
2234
2565
  * Removes the first `n` elements, creating a new array.
2235
2566
  *
2567
+ * **When to use**
2568
+ *
2569
+ * Use to keep the suffix of an iterable after skipping a fixed number of
2570
+ * leading elements.
2571
+ *
2236
2572
  * **Details**
2237
2573
  *
2238
2574
  * - `n` is clamped to `[0, length]`.
@@ -2246,9 +2582,9 @@ export declare const drop: {
2246
2582
  * console.log(Array.drop([1, 2, 3, 4, 5], 2)) // [3, 4, 5]
2247
2583
  * ```
2248
2584
  *
2249
- * @see {@link dropRight} remove from the end
2250
- * @see {@link dropWhile} remove while predicate holds
2251
- * @see {@link take} keep from the start
2585
+ * @see {@link dropRight} for removing a fixed number of elements from the end
2586
+ * @see {@link dropWhile} for removing a prefix based on a predicate instead of a fixed count
2587
+ * @see {@link take} for keeping a fixed number of elements from the start
2252
2588
  *
2253
2589
  * @category getters
2254
2590
  * @since 2.0.0
@@ -2258,9 +2594,13 @@ export declare const drop: {
2258
2594
  /**
2259
2595
  * Removes the last `n` elements, creating a new array.
2260
2596
  *
2597
+ * **When to use**
2598
+ *
2599
+ * Use to remove the last `n` elements from an iterable.
2600
+ *
2261
2601
  * **Details**
2262
2602
  *
2263
- * - `n` is clamped to `[0, length]`.
2603
+ * `n` is clamped to `[0, length]`.
2264
2604
  *
2265
2605
  * **Example** (Dropping from the end)
2266
2606
  *
@@ -2280,9 +2620,13 @@ export declare const dropRight: {
2280
2620
  /**
2281
2621
  * Removes the last `n` elements, creating a new array.
2282
2622
  *
2623
+ * **When to use**
2624
+ *
2625
+ * Use to remove the last `n` elements from an iterable.
2626
+ *
2283
2627
  * **Details**
2284
2628
  *
2285
- * - `n` is clamped to `[0, length]`.
2629
+ * `n` is clamped to `[0, length]`.
2286
2630
  *
2287
2631
  * **Example** (Dropping from the end)
2288
2632
  *
@@ -2302,9 +2646,13 @@ export declare const dropRight: {
2302
2646
  /**
2303
2647
  * Removes the last `n` elements, creating a new array.
2304
2648
  *
2649
+ * **When to use**
2650
+ *
2651
+ * Use to remove the last `n` elements from an iterable.
2652
+ *
2305
2653
  * **Details**
2306
2654
  *
2307
- * - `n` is clamped to `[0, length]`.
2655
+ * `n` is clamped to `[0, length]`.
2308
2656
  *
2309
2657
  * **Example** (Dropping from the end)
2310
2658
  *
@@ -2325,9 +2673,13 @@ export declare const dropRight: {
2325
2673
  /**
2326
2674
  * Drops elements from the start while the predicate holds, returning the rest.
2327
2675
  *
2676
+ * **When to use**
2677
+ *
2678
+ * Use to remove a leading prefix of elements that satisfy a predicate.
2679
+ *
2328
2680
  * **Details**
2329
2681
  *
2330
- * - The predicate receives `(element, index)`.
2682
+ * The predicate receives `(element, index)`.
2331
2683
  *
2332
2684
  * **Example** (Dropping while condition holds)
2333
2685
  *
@@ -2347,9 +2699,13 @@ export declare const dropWhile: {
2347
2699
  /**
2348
2700
  * Drops elements from the start while the predicate holds, returning the rest.
2349
2701
  *
2702
+ * **When to use**
2703
+ *
2704
+ * Use to remove a leading prefix of elements that satisfy a predicate.
2705
+ *
2350
2706
  * **Details**
2351
2707
  *
2352
- * - The predicate receives `(element, index)`.
2708
+ * The predicate receives `(element, index)`.
2353
2709
  *
2354
2710
  * **Example** (Dropping while condition holds)
2355
2711
  *
@@ -2369,9 +2725,13 @@ export declare const dropWhile: {
2369
2725
  /**
2370
2726
  * Drops elements from the start while the predicate holds, returning the rest.
2371
2727
  *
2728
+ * **When to use**
2729
+ *
2730
+ * Use to remove a leading prefix of elements that satisfy a predicate.
2731
+ *
2372
2732
  * **Details**
2373
2733
  *
2374
- * - The predicate receives `(element, index)`.
2734
+ * The predicate receives `(element, index)`.
2375
2735
  *
2376
2736
  * **Example** (Dropping while condition holds)
2377
2737
  *
@@ -2392,11 +2752,19 @@ export declare const dropWhile: {
2392
2752
  /**
2393
2753
  * Drops elements from the start while a `Filter` succeeds.
2394
2754
  *
2755
+ * **When to use**
2756
+ *
2757
+ * Use when dropping a prefix requires computing a `Result` per element instead
2758
+ * of a simple boolean predicate.
2759
+ *
2395
2760
  * **Details**
2396
2761
  *
2397
2762
  * - The filter receives `(element, index)`.
2398
2763
  * - Returns the remaining original elements after the first filter failure.
2399
2764
  *
2765
+ * @see {@link dropWhile} for dropping a prefix with a simple boolean predicate
2766
+ * @see {@link takeWhileFilter} for keeping only the matching prefix
2767
+ *
2400
2768
  * @category getters
2401
2769
  * @since 4.0.0
2402
2770
  */
@@ -2404,11 +2772,19 @@ export declare const dropWhileFilter: {
2404
2772
  /**
2405
2773
  * Drops elements from the start while a `Filter` succeeds.
2406
2774
  *
2775
+ * **When to use**
2776
+ *
2777
+ * Use when dropping a prefix requires computing a `Result` per element instead
2778
+ * of a simple boolean predicate.
2779
+ *
2407
2780
  * **Details**
2408
2781
  *
2409
2782
  * - The filter receives `(element, index)`.
2410
2783
  * - Returns the remaining original elements after the first filter failure.
2411
2784
  *
2785
+ * @see {@link dropWhile} for dropping a prefix with a simple boolean predicate
2786
+ * @see {@link takeWhileFilter} for keeping only the matching prefix
2787
+ *
2412
2788
  * @category getters
2413
2789
  * @since 4.0.0
2414
2790
  */
@@ -2416,11 +2792,19 @@ export declare const dropWhileFilter: {
2416
2792
  /**
2417
2793
  * Drops elements from the start while a `Filter` succeeds.
2418
2794
  *
2795
+ * **When to use**
2796
+ *
2797
+ * Use when dropping a prefix requires computing a `Result` per element instead
2798
+ * of a simple boolean predicate.
2799
+ *
2419
2800
  * **Details**
2420
2801
  *
2421
2802
  * - The filter receives `(element, index)`.
2422
2803
  * - Returns the remaining original elements after the first filter failure.
2423
2804
  *
2805
+ * @see {@link dropWhile} for dropping a prefix with a simple boolean predicate
2806
+ * @see {@link takeWhileFilter} for keeping only the matching prefix
2807
+ *
2424
2808
  * @category getters
2425
2809
  * @since 4.0.0
2426
2810
  */
@@ -2430,6 +2814,11 @@ export declare const dropWhileFilter: {
2430
2814
  * Returns the index of the first element matching the predicate, wrapped in an
2431
2815
  * `Option`.
2432
2816
  *
2817
+ * **When to use**
2818
+ *
2819
+ * Use to find the index of the first matching element from the start of an
2820
+ * iterable.
2821
+ *
2433
2822
  * **Example** (Finding an index)
2434
2823
  *
2435
2824
  * ```ts
@@ -2449,6 +2838,11 @@ export declare const findFirstIndex: {
2449
2838
  * Returns the index of the first element matching the predicate, wrapped in an
2450
2839
  * `Option`.
2451
2840
  *
2841
+ * **When to use**
2842
+ *
2843
+ * Use to find the index of the first matching element from the start of an
2844
+ * iterable.
2845
+ *
2452
2846
  * **Example** (Finding an index)
2453
2847
  *
2454
2848
  * ```ts
@@ -2468,6 +2862,11 @@ export declare const findFirstIndex: {
2468
2862
  * Returns the index of the first element matching the predicate, wrapped in an
2469
2863
  * `Option`.
2470
2864
  *
2865
+ * **When to use**
2866
+ *
2867
+ * Use to find the index of the first matching element from the start of an
2868
+ * iterable.
2869
+ *
2471
2870
  * **Example** (Finding an index)
2472
2871
  *
2473
2872
  * ```ts
@@ -2488,6 +2887,10 @@ export declare const findFirstIndex: {
2488
2887
  * Returns the index of the last element matching the predicate, wrapped in an
2489
2888
  * `Option`.
2490
2889
  *
2890
+ * **When to use**
2891
+ *
2892
+ * Use to find the index of the last matching element from the end of an array.
2893
+ *
2491
2894
  * **Example** (Finding the last matching index)
2492
2895
  *
2493
2896
  * ```ts
@@ -2507,6 +2910,10 @@ export declare const findLastIndex: {
2507
2910
  * Returns the index of the last element matching the predicate, wrapped in an
2508
2911
  * `Option`.
2509
2912
  *
2913
+ * **When to use**
2914
+ *
2915
+ * Use to find the index of the last matching element from the end of an array.
2916
+ *
2510
2917
  * **Example** (Finding the last matching index)
2511
2918
  *
2512
2919
  * ```ts
@@ -2526,6 +2933,10 @@ export declare const findLastIndex: {
2526
2933
  * Returns the index of the last element matching the predicate, wrapped in an
2527
2934
  * `Option`.
2528
2935
  *
2936
+ * **When to use**
2937
+ *
2938
+ * Use to find the index of the last matching element from the end of an array.
2939
+ *
2529
2940
  * **Example** (Finding the last matching index)
2530
2941
  *
2531
2942
  * ```ts
@@ -2546,6 +2957,11 @@ export declare const findLastIndex: {
2546
2957
  * Returns the first element matching a predicate, refinement, or mapping
2547
2958
  * function, wrapped in `Option`.
2548
2959
  *
2960
+ * **When to use**
2961
+ *
2962
+ * Use to scan an iterable in iteration order and return the first selected
2963
+ * element or mapped value as an `Option`.
2964
+ *
2549
2965
  * **Details**
2550
2966
  *
2551
2967
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2572,6 +2988,11 @@ export declare const findFirst: {
2572
2988
  * Returns the first element matching a predicate, refinement, or mapping
2573
2989
  * function, wrapped in `Option`.
2574
2990
  *
2991
+ * **When to use**
2992
+ *
2993
+ * Use to scan an iterable in iteration order and return the first selected
2994
+ * element or mapped value as an `Option`.
2995
+ *
2575
2996
  * **Details**
2576
2997
  *
2577
2998
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2598,6 +3019,11 @@ export declare const findFirst: {
2598
3019
  * Returns the first element matching a predicate, refinement, or mapping
2599
3020
  * function, wrapped in `Option`.
2600
3021
  *
3022
+ * **When to use**
3023
+ *
3024
+ * Use to scan an iterable in iteration order and return the first selected
3025
+ * element or mapped value as an `Option`.
3026
+ *
2601
3027
  * **Details**
2602
3028
  *
2603
3029
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2624,6 +3050,11 @@ export declare const findFirst: {
2624
3050
  * Returns the first element matching a predicate, refinement, or mapping
2625
3051
  * function, wrapped in `Option`.
2626
3052
  *
3053
+ * **When to use**
3054
+ *
3055
+ * Use to scan an iterable in iteration order and return the first selected
3056
+ * element or mapped value as an `Option`.
3057
+ *
2627
3058
  * **Details**
2628
3059
  *
2629
3060
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2650,6 +3081,11 @@ export declare const findFirst: {
2650
3081
  * Returns the first element matching a predicate, refinement, or mapping
2651
3082
  * function, wrapped in `Option`.
2652
3083
  *
3084
+ * **When to use**
3085
+ *
3086
+ * Use to scan an iterable in iteration order and return the first selected
3087
+ * element or mapped value as an `Option`.
3088
+ *
2653
3089
  * **Details**
2654
3090
  *
2655
3091
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2676,6 +3112,11 @@ export declare const findFirst: {
2676
3112
  * Returns the first element matching a predicate, refinement, or mapping
2677
3113
  * function, wrapped in `Option`.
2678
3114
  *
3115
+ * **When to use**
3116
+ *
3117
+ * Use to scan an iterable in iteration order and return the first selected
3118
+ * element or mapped value as an `Option`.
3119
+ *
2679
3120
  * **Details**
2680
3121
  *
2681
3122
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2702,6 +3143,11 @@ export declare const findFirst: {
2702
3143
  * Returns the first element matching a predicate, refinement, or mapping
2703
3144
  * function, wrapped in `Option`.
2704
3145
  *
3146
+ * **When to use**
3147
+ *
3148
+ * Use to scan an iterable in iteration order and return the first selected
3149
+ * element or mapped value as an `Option`.
3150
+ *
2705
3151
  * **Details**
2706
3152
  *
2707
3153
  * - Accepts a predicate `(a, i) => boolean`, a refinement, or a function
@@ -2729,6 +3175,10 @@ export declare const findFirst: {
2729
3175
  * Returns the first selected value together with its index, wrapped in an
2730
3176
  * `Option`.
2731
3177
  *
3178
+ * **When to use**
3179
+ *
3180
+ * Use to find both the first matching element and its index in one pass.
3181
+ *
2732
3182
  * **Details**
2733
3183
  *
2734
3184
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2754,6 +3204,10 @@ export declare const findFirstWithIndex: {
2754
3204
  * Returns the first selected value together with its index, wrapped in an
2755
3205
  * `Option`.
2756
3206
  *
3207
+ * **When to use**
3208
+ *
3209
+ * Use to find both the first matching element and its index in one pass.
3210
+ *
2757
3211
  * **Details**
2758
3212
  *
2759
3213
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2779,6 +3233,10 @@ export declare const findFirstWithIndex: {
2779
3233
  * Returns the first selected value together with its index, wrapped in an
2780
3234
  * `Option`.
2781
3235
  *
3236
+ * **When to use**
3237
+ *
3238
+ * Use to find both the first matching element and its index in one pass.
3239
+ *
2782
3240
  * **Details**
2783
3241
  *
2784
3242
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2804,6 +3262,10 @@ export declare const findFirstWithIndex: {
2804
3262
  * Returns the first selected value together with its index, wrapped in an
2805
3263
  * `Option`.
2806
3264
  *
3265
+ * **When to use**
3266
+ *
3267
+ * Use to find both the first matching element and its index in one pass.
3268
+ *
2807
3269
  * **Details**
2808
3270
  *
2809
3271
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2829,6 +3291,10 @@ export declare const findFirstWithIndex: {
2829
3291
  * Returns the first selected value together with its index, wrapped in an
2830
3292
  * `Option`.
2831
3293
  *
3294
+ * **When to use**
3295
+ *
3296
+ * Use to find both the first matching element and its index in one pass.
3297
+ *
2832
3298
  * **Details**
2833
3299
  *
2834
3300
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2854,6 +3320,10 @@ export declare const findFirstWithIndex: {
2854
3320
  * Returns the first selected value together with its index, wrapped in an
2855
3321
  * `Option`.
2856
3322
  *
3323
+ * **When to use**
3324
+ *
3325
+ * Use to find both the first matching element and its index in one pass.
3326
+ *
2857
3327
  * **Details**
2858
3328
  *
2859
3329
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2879,6 +3349,10 @@ export declare const findFirstWithIndex: {
2879
3349
  * Returns the first selected value together with its index, wrapped in an
2880
3350
  * `Option`.
2881
3351
  *
3352
+ * **When to use**
3353
+ *
3354
+ * Use to find both the first matching element and its index in one pass.
3355
+ *
2882
3356
  * **Details**
2883
3357
  *
2884
3358
  * Accepts a predicate, a refinement, or a function returning `Option`. For an
@@ -2905,6 +3379,10 @@ export declare const findFirstWithIndex: {
2905
3379
  * Returns the last element matching a predicate, refinement, or mapping
2906
3380
  * function, wrapped in `Option`.
2907
3381
  *
3382
+ * **When to use**
3383
+ *
3384
+ * Use to find the last matching element from the end of an array.
3385
+ *
2908
3386
  * **Details**
2909
3387
  *
2910
3388
  * - Searches from the end of the array.
@@ -2929,6 +3407,10 @@ export declare const findLast: {
2929
3407
  * Returns the last element matching a predicate, refinement, or mapping
2930
3408
  * function, wrapped in `Option`.
2931
3409
  *
3410
+ * **When to use**
3411
+ *
3412
+ * Use to find the last matching element from the end of an array.
3413
+ *
2932
3414
  * **Details**
2933
3415
  *
2934
3416
  * - Searches from the end of the array.
@@ -2953,6 +3435,10 @@ export declare const findLast: {
2953
3435
  * Returns the last element matching a predicate, refinement, or mapping
2954
3436
  * function, wrapped in `Option`.
2955
3437
  *
3438
+ * **When to use**
3439
+ *
3440
+ * Use to find the last matching element from the end of an array.
3441
+ *
2956
3442
  * **Details**
2957
3443
  *
2958
3444
  * - Searches from the end of the array.
@@ -2977,6 +3463,10 @@ export declare const findLast: {
2977
3463
  * Returns the last element matching a predicate, refinement, or mapping
2978
3464
  * function, wrapped in `Option`.
2979
3465
  *
3466
+ * **When to use**
3467
+ *
3468
+ * Use to find the last matching element from the end of an array.
3469
+ *
2980
3470
  * **Details**
2981
3471
  *
2982
3472
  * - Searches from the end of the array.
@@ -3001,6 +3491,10 @@ export declare const findLast: {
3001
3491
  * Returns the last element matching a predicate, refinement, or mapping
3002
3492
  * function, wrapped in `Option`.
3003
3493
  *
3494
+ * **When to use**
3495
+ *
3496
+ * Use to find the last matching element from the end of an array.
3497
+ *
3004
3498
  * **Details**
3005
3499
  *
3006
3500
  * - Searches from the end of the array.
@@ -3025,6 +3519,10 @@ export declare const findLast: {
3025
3519
  * Returns the last element matching a predicate, refinement, or mapping
3026
3520
  * function, wrapped in `Option`.
3027
3521
  *
3522
+ * **When to use**
3523
+ *
3524
+ * Use to find the last matching element from the end of an array.
3525
+ *
3028
3526
  * **Details**
3029
3527
  *
3030
3528
  * - Searches from the end of the array.
@@ -3049,6 +3547,10 @@ export declare const findLast: {
3049
3547
  * Returns the last element matching a predicate, refinement, or mapping
3050
3548
  * function, wrapped in `Option`.
3051
3549
  *
3550
+ * **When to use**
3551
+ *
3552
+ * Use to find the last matching element from the end of an array.
3553
+ *
3052
3554
  * **Details**
3053
3555
  *
3054
3556
  * - Searches from the end of the array.
@@ -3071,13 +3573,16 @@ export declare const findLast: {
3071
3573
  <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option.Option<A>;
3072
3574
  };
3073
3575
  /**
3074
- * Inserts an element at the specified index, returning a new `NonEmptyArray`
3576
+ * Inserts an element at the specified index safely, returning a new `NonEmptyArray`
3075
3577
  * wrapped in an `Option`.
3076
3578
  *
3579
+ * **When to use**
3580
+ *
3581
+ * Use to insert a single element at a specific position in an array.
3582
+ *
3077
3583
  * **Details**
3078
3584
  *
3079
3585
  * - Valid indices: `0` to `length` (inclusive — inserting at `length` appends).
3080
- * - Does not mutate the input.
3081
3586
  *
3082
3587
  * **Example** (Inserting at an index)
3083
3588
  *
@@ -3095,13 +3600,16 @@ export declare const findLast: {
3095
3600
  */
3096
3601
  export declare const insertAt: {
3097
3602
  /**
3098
- * Inserts an element at the specified index, returning a new `NonEmptyArray`
3603
+ * Inserts an element at the specified index safely, returning a new `NonEmptyArray`
3099
3604
  * wrapped in an `Option`.
3100
3605
  *
3606
+ * **When to use**
3607
+ *
3608
+ * Use to insert a single element at a specific position in an array.
3609
+ *
3101
3610
  * **Details**
3102
3611
  *
3103
3612
  * - Valid indices: `0` to `length` (inclusive — inserting at `length` appends).
3104
- * - Does not mutate the input.
3105
3613
  *
3106
3614
  * **Example** (Inserting at an index)
3107
3615
  *
@@ -3119,13 +3627,16 @@ export declare const insertAt: {
3119
3627
  */
3120
3628
  <B>(i: number, b: B): <A>(self: Iterable<A>) => Option.Option<NonEmptyArray<A | B>>;
3121
3629
  /**
3122
- * Inserts an element at the specified index, returning a new `NonEmptyArray`
3630
+ * Inserts an element at the specified index safely, returning a new `NonEmptyArray`
3123
3631
  * wrapped in an `Option`.
3124
3632
  *
3633
+ * **When to use**
3634
+ *
3635
+ * Use to insert a single element at a specific position in an array.
3636
+ *
3125
3637
  * **Details**
3126
3638
  *
3127
3639
  * - Valid indices: `0` to `length` (inclusive — inserting at `length` appends).
3128
- * - Does not mutate the input.
3129
3640
  *
3130
3641
  * **Example** (Inserting at an index)
3131
3642
  *
@@ -3144,13 +3655,16 @@ export declare const insertAt: {
3144
3655
  <A, B>(self: Iterable<A>, i: number, b: B): Option.Option<NonEmptyArray<A | B>>;
3145
3656
  };
3146
3657
  /**
3147
- * Replaces the element at the specified index with a new value, returning the
3658
+ * Replaces the element at the specified index safely with a new value, returning the
3148
3659
  * updated array in `Option.some`.
3149
3660
  *
3661
+ * **When to use**
3662
+ *
3663
+ * Use to set a fixed replacement value at a specific index.
3664
+ *
3150
3665
  * **Details**
3151
3666
  *
3152
3667
  * - Returns `Option.none()` when the index is out of bounds.
3153
- * - Does not mutate the input.
3154
3668
  *
3155
3669
  * **Example** (Replacing an element)
3156
3670
  *
@@ -3168,13 +3682,16 @@ export declare const insertAt: {
3168
3682
  */
3169
3683
  export declare const replace: {
3170
3684
  /**
3171
- * Replaces the element at the specified index with a new value, returning the
3685
+ * Replaces the element at the specified index safely with a new value, returning the
3172
3686
  * updated array in `Option.some`.
3173
3687
  *
3688
+ * **When to use**
3689
+ *
3690
+ * Use to set a fixed replacement value at a specific index.
3691
+ *
3174
3692
  * **Details**
3175
3693
  *
3176
3694
  * - Returns `Option.none()` when the index is out of bounds.
3177
- * - Does not mutate the input.
3178
3695
  *
3179
3696
  * **Example** (Replacing an element)
3180
3697
  *
@@ -3192,13 +3709,16 @@ export declare const replace: {
3192
3709
  */
3193
3710
  <B>(i: number, b: B): <A, S extends Iterable<A> = Iterable<A>>(self: S) => Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>;
3194
3711
  /**
3195
- * Replaces the element at the specified index with a new value, returning the
3712
+ * Replaces the element at the specified index safely with a new value, returning the
3196
3713
  * updated array in `Option.some`.
3197
3714
  *
3715
+ * **When to use**
3716
+ *
3717
+ * Use to set a fixed replacement value at a specific index.
3718
+ *
3198
3719
  * **Details**
3199
3720
  *
3200
3721
  * - Returns `Option.none()` when the index is out of bounds.
3201
- * - Does not mutate the input.
3202
3722
  *
3203
3723
  * **Example** (Replacing an element)
3204
3724
  *
@@ -3217,13 +3737,17 @@ export declare const replace: {
3217
3737
  <A, B, S extends Iterable<A> = Iterable<A>>(self: S, i: number, b: B): Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>;
3218
3738
  };
3219
3739
  /**
3220
- * Applies a function to the element at the specified index, returning the
3740
+ * Applies a function to the element at the specified index safely, returning the
3221
3741
  * updated array in `Option.some`.
3222
3742
  *
3743
+ * **When to use**
3744
+ *
3745
+ * Use to derive a replacement value from the current element at a specific
3746
+ * index while leaving the other elements unchanged.
3747
+ *
3223
3748
  * **Details**
3224
3749
  *
3225
3750
  * - Returns `Option.none()` when the index is out of bounds.
3226
- * - Does not mutate the input.
3227
3751
  *
3228
3752
  * **Example** (Modifying an element)
3229
3753
  *
@@ -3243,13 +3767,17 @@ export declare const replace: {
3243
3767
  */
3244
3768
  export declare const modify: {
3245
3769
  /**
3246
- * Applies a function to the element at the specified index, returning the
3770
+ * Applies a function to the element at the specified index safely, returning the
3247
3771
  * updated array in `Option.some`.
3248
3772
  *
3773
+ * **When to use**
3774
+ *
3775
+ * Use to derive a replacement value from the current element at a specific
3776
+ * index while leaving the other elements unchanged.
3777
+ *
3249
3778
  * **Details**
3250
3779
  *
3251
3780
  * - Returns `Option.none()` when the index is out of bounds.
3252
- * - Does not mutate the input.
3253
3781
  *
3254
3782
  * **Example** (Modifying an element)
3255
3783
  *
@@ -3269,13 +3797,17 @@ export declare const modify: {
3269
3797
  */
3270
3798
  <A, B, S extends Iterable<A> = Iterable<A>>(i: number, f: (a: ReadonlyArray.Infer<S>) => B): (self: S) => Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>;
3271
3799
  /**
3272
- * Applies a function to the element at the specified index, returning the
3800
+ * Applies a function to the element at the specified index safely, returning the
3273
3801
  * updated array in `Option.some`.
3274
3802
  *
3803
+ * **When to use**
3804
+ *
3805
+ * Use to derive a replacement value from the current element at a specific
3806
+ * index while leaving the other elements unchanged.
3807
+ *
3275
3808
  * **Details**
3276
3809
  *
3277
3810
  * - Returns `Option.none()` when the index is out of bounds.
3278
- * - Does not mutate the input.
3279
3811
  *
3280
3812
  * **Example** (Modifying an element)
3281
3813
  *
@@ -3299,9 +3831,9 @@ export declare const modify: {
3299
3831
  * Removes the element at the specified index, returning a new array. If the
3300
3832
  * index is out of bounds, returns a copy of the original.
3301
3833
  *
3302
- * **Details**
3834
+ * **When to use**
3303
3835
  *
3304
- * - Does not mutate the input.
3836
+ * Use to remove a single element at a known index.
3305
3837
  *
3306
3838
  * **Example** (Removing an element)
3307
3839
  *
@@ -3323,9 +3855,9 @@ export declare const remove: {
3323
3855
  * Removes the element at the specified index, returning a new array. If the
3324
3856
  * index is out of bounds, returns a copy of the original.
3325
3857
  *
3326
- * **Details**
3858
+ * **When to use**
3327
3859
  *
3328
- * - Does not mutate the input.
3860
+ * Use to remove a single element at a known index.
3329
3861
  *
3330
3862
  * **Example** (Removing an element)
3331
3863
  *
@@ -3347,9 +3879,9 @@ export declare const remove: {
3347
3879
  * Removes the element at the specified index, returning a new array. If the
3348
3880
  * index is out of bounds, returns a copy of the original.
3349
3881
  *
3350
- * **Details**
3882
+ * **When to use**
3351
3883
  *
3352
- * - Does not mutate the input.
3884
+ * Use to remove a single element at a known index.
3353
3885
  *
3354
3886
  * **Example** (Removing an element)
3355
3887
  *
@@ -3371,9 +3903,12 @@ export declare const remove: {
3371
3903
  /**
3372
3904
  * Reverses an iterable into a new array.
3373
3905
  *
3906
+ * **When to use**
3907
+ *
3908
+ * Use to reverse the order of elements without mutating the original input.
3909
+ *
3374
3910
  * **Details**
3375
3911
  *
3376
- * - Does not mutate the input.
3377
3912
  * - Preserves `NonEmptyArray` in the return type.
3378
3913
  *
3379
3914
  * **Example** (Reversing an array)
@@ -3391,9 +3926,12 @@ export declare const reverse: <S extends Iterable<any>>(self: S) => S extends No
3391
3926
  /**
3392
3927
  * Sorts an array by the given `Order`, returning a new array.
3393
3928
  *
3929
+ * **When to use**
3930
+ *
3931
+ * Use to sort an array using a single `Order` comparator.
3932
+ *
3394
3933
  * **Details**
3395
3934
  *
3396
- * - Does not mutate the input.
3397
3935
  * - Preserves `NonEmptyArray` in the return type.
3398
3936
  * - Use {@link sortWith} to sort by a derived key, or {@link sortBy} for
3399
3937
  * multi-key sorting.
@@ -3416,9 +3954,12 @@ export declare const sort: {
3416
3954
  /**
3417
3955
  * Sorts an array by the given `Order`, returning a new array.
3418
3956
  *
3957
+ * **When to use**
3958
+ *
3959
+ * Use to sort an array using a single `Order` comparator.
3960
+ *
3419
3961
  * **Details**
3420
3962
  *
3421
- * - Does not mutate the input.
3422
3963
  * - Preserves `NonEmptyArray` in the return type.
3423
3964
  * - Use {@link sortWith} to sort by a derived key, or {@link sortBy} for
3424
3965
  * multi-key sorting.
@@ -3441,9 +3982,12 @@ export declare const sort: {
3441
3982
  /**
3442
3983
  * Sorts an array by the given `Order`, returning a new array.
3443
3984
  *
3985
+ * **When to use**
3986
+ *
3987
+ * Use to sort an array using a single `Order` comparator.
3988
+ *
3444
3989
  * **Details**
3445
3990
  *
3446
- * - Does not mutate the input.
3447
3991
  * - Preserves `NonEmptyArray` in the return type.
3448
3992
  * - Use {@link sortWith} to sort by a derived key, or {@link sortBy} for
3449
3993
  * multi-key sorting.
@@ -3466,9 +4010,12 @@ export declare const sort: {
3466
4010
  /**
3467
4011
  * Sorts an array by the given `Order`, returning a new array.
3468
4012
  *
4013
+ * **When to use**
4014
+ *
4015
+ * Use to sort an array using a single `Order` comparator.
4016
+ *
3469
4017
  * **Details**
3470
4018
  *
3471
- * - Does not mutate the input.
3472
4019
  * - Preserves `NonEmptyArray` in the return type.
3473
4020
  * - Use {@link sortWith} to sort by a derived key, or {@link sortBy} for
3474
4021
  * multi-key sorting.
@@ -3493,10 +4040,14 @@ export declare const sort: {
3493
4040
  * Sorts an array by a derived key using a mapping function and an `Order` for
3494
4041
  * that key.
3495
4042
  *
4043
+ * **When to use**
4044
+ *
4045
+ * Use when values need to be sorted by a derived key, such as a string length
4046
+ * or object field, while the output should keep the original values.
4047
+ *
3496
4048
  * **Details**
3497
4049
  *
3498
4050
  * - Equivalent to `sort(Order.mapInput(order, f))` but more convenient.
3499
- * - Does not mutate the input.
3500
4051
  *
3501
4052
  * **Example** (Sorting strings by length)
3502
4053
  *
@@ -3507,8 +4058,8 @@ export declare const sort: {
3507
4058
  * // ["b", "cc", "aaa"]
3508
4059
  * ```
3509
4060
  *
3510
- * @see {@link sort} sort by a direct `Order`
3511
- * @see {@link sortBy} sort by multiple orders
4061
+ * @see {@link sort} for sorting with an `Order` that compares the elements directly
4062
+ * @see {@link sortBy} for sorting with multiple `Order`s applied in sequence
3512
4063
  *
3513
4064
  * @category elements
3514
4065
  * @since 2.0.0
@@ -3518,10 +4069,14 @@ export declare const sortWith: {
3518
4069
  * Sorts an array by a derived key using a mapping function and an `Order` for
3519
4070
  * that key.
3520
4071
  *
4072
+ * **When to use**
4073
+ *
4074
+ * Use when values need to be sorted by a derived key, such as a string length
4075
+ * or object field, while the output should keep the original values.
4076
+ *
3521
4077
  * **Details**
3522
4078
  *
3523
4079
  * - Equivalent to `sort(Order.mapInput(order, f))` but more convenient.
3524
- * - Does not mutate the input.
3525
4080
  *
3526
4081
  * **Example** (Sorting strings by length)
3527
4082
  *
@@ -3532,8 +4087,8 @@ export declare const sortWith: {
3532
4087
  * // ["b", "cc", "aaa"]
3533
4088
  * ```
3534
4089
  *
3535
- * @see {@link sort} sort by a direct `Order`
3536
- * @see {@link sortBy} sort by multiple orders
4090
+ * @see {@link sort} for sorting with an `Order` that compares the elements directly
4091
+ * @see {@link sortBy} for sorting with multiple `Order`s applied in sequence
3537
4092
  *
3538
4093
  * @category elements
3539
4094
  * @since 2.0.0
@@ -3543,10 +4098,14 @@ export declare const sortWith: {
3543
4098
  * Sorts an array by a derived key using a mapping function and an `Order` for
3544
4099
  * that key.
3545
4100
  *
4101
+ * **When to use**
4102
+ *
4103
+ * Use when values need to be sorted by a derived key, such as a string length
4104
+ * or object field, while the output should keep the original values.
4105
+ *
3546
4106
  * **Details**
3547
4107
  *
3548
4108
  * - Equivalent to `sort(Order.mapInput(order, f))` but more convenient.
3549
- * - Does not mutate the input.
3550
4109
  *
3551
4110
  * **Example** (Sorting strings by length)
3552
4111
  *
@@ -3557,8 +4116,8 @@ export declare const sortWith: {
3557
4116
  * // ["b", "cc", "aaa"]
3558
4117
  * ```
3559
4118
  *
3560
- * @see {@link sort} sort by a direct `Order`
3561
- * @see {@link sortBy} sort by multiple orders
4119
+ * @see {@link sort} for sorting with an `Order` that compares the elements directly
4120
+ * @see {@link sortBy} for sorting with multiple `Order`s applied in sequence
3562
4121
  *
3563
4122
  * @category elements
3564
4123
  * @since 2.0.0
@@ -3568,10 +4127,14 @@ export declare const sortWith: {
3568
4127
  * Sorts an array by a derived key using a mapping function and an `Order` for
3569
4128
  * that key.
3570
4129
  *
4130
+ * **When to use**
4131
+ *
4132
+ * Use when values need to be sorted by a derived key, such as a string length
4133
+ * or object field, while the output should keep the original values.
4134
+ *
3571
4135
  * **Details**
3572
4136
  *
3573
4137
  * - Equivalent to `sort(Order.mapInput(order, f))` but more convenient.
3574
- * - Does not mutate the input.
3575
4138
  *
3576
4139
  * **Example** (Sorting strings by length)
3577
4140
  *
@@ -3582,8 +4145,8 @@ export declare const sortWith: {
3582
4145
  * // ["b", "cc", "aaa"]
3583
4146
  * ```
3584
4147
  *
3585
- * @see {@link sort} sort by a direct `Order`
3586
- * @see {@link sortBy} sort by multiple orders
4148
+ * @see {@link sort} for sorting with an `Order` that compares the elements directly
4149
+ * @see {@link sortBy} for sorting with multiple `Order`s applied in sequence
3587
4150
  *
3588
4151
  * @category elements
3589
4152
  * @since 2.0.0
@@ -3594,6 +4157,11 @@ export declare const sortWith: {
3594
4157
  * Sorts an array by multiple `Order`s applied in sequence: the first order is
3595
4158
  * used first; ties are broken by the second order, and so on.
3596
4159
  *
4160
+ * **When to use**
4161
+ *
4162
+ * Use to sort by multiple criteria where later orders break ties from earlier
4163
+ * ones.
4164
+ *
3597
4165
  * **Details**
3598
4166
  *
3599
4167
  * - Data-last only (returns a function).
@@ -3632,6 +4200,10 @@ export declare const sortBy: <S extends Iterable<any>>(...orders: ReadonlyArray<
3632
4200
  * Pairs elements from two iterables by position. If the iterables differ in
3633
4201
  * length, the extra elements from the longer one are discarded.
3634
4202
  *
4203
+ * **When to use**
4204
+ *
4205
+ * Use to pair corresponding elements from two iterables when you need simple pairs without a custom combiner.
4206
+ *
3635
4207
  * **Details**
3636
4208
  *
3637
4209
  * - Returns `NonEmptyArray` when both inputs are non-empty.
@@ -3655,6 +4227,10 @@ export declare const zip: {
3655
4227
  * Pairs elements from two iterables by position. If the iterables differ in
3656
4228
  * length, the extra elements from the longer one are discarded.
3657
4229
  *
4230
+ * **When to use**
4231
+ *
4232
+ * Use to pair corresponding elements from two iterables when you need simple pairs without a custom combiner.
4233
+ *
3658
4234
  * **Details**
3659
4235
  *
3660
4236
  * - Returns `NonEmptyArray` when both inputs are non-empty.
@@ -3678,6 +4254,10 @@ export declare const zip: {
3678
4254
  * Pairs elements from two iterables by position. If the iterables differ in
3679
4255
  * length, the extra elements from the longer one are discarded.
3680
4256
  *
4257
+ * **When to use**
4258
+ *
4259
+ * Use to pair corresponding elements from two iterables when you need simple pairs without a custom combiner.
4260
+ *
3681
4261
  * **Details**
3682
4262
  *
3683
4263
  * - Returns `NonEmptyArray` when both inputs are non-empty.
@@ -3701,6 +4281,10 @@ export declare const zip: {
3701
4281
  * Pairs elements from two iterables by position. If the iterables differ in
3702
4282
  * length, the extra elements from the longer one are discarded.
3703
4283
  *
4284
+ * **When to use**
4285
+ *
4286
+ * Use to pair corresponding elements from two iterables when you need simple pairs without a custom combiner.
4287
+ *
3704
4288
  * **Details**
3705
4289
  *
3706
4290
  * - Returns `NonEmptyArray` when both inputs are non-empty.
@@ -3724,6 +4308,10 @@ export declare const zip: {
3724
4308
  * Pairs elements from two iterables by position. If the iterables differ in
3725
4309
  * length, the extra elements from the longer one are discarded.
3726
4310
  *
4311
+ * **When to use**
4312
+ *
4313
+ * Use to pair corresponding elements from two iterables when you need simple pairs without a custom combiner.
4314
+ *
3727
4315
  * **Details**
3728
4316
  *
3729
4317
  * - Returns `NonEmptyArray` when both inputs are non-empty.
@@ -3855,6 +4443,10 @@ export declare const unzip: <S extends Iterable<readonly [any, any]>>(self: S) =
3855
4443
  /**
3856
4444
  * Places a separator element between every pair of elements.
3857
4445
  *
4446
+ * **When to use**
4447
+ *
4448
+ * Use to insert a separator between elements, for example when preparing data for display or concatenation.
4449
+ *
3858
4450
  * **Details**
3859
4451
  *
3860
4452
  * - Preserves `NonEmptyArray` in the return type.
@@ -3877,6 +4469,10 @@ export declare const intersperse: {
3877
4469
  /**
3878
4470
  * Places a separator element between every pair of elements.
3879
4471
  *
4472
+ * **When to use**
4473
+ *
4474
+ * Use to insert a separator between elements, for example when preparing data for display or concatenation.
4475
+ *
3880
4476
  * **Details**
3881
4477
  *
3882
4478
  * - Preserves `NonEmptyArray` in the return type.
@@ -3899,6 +4495,10 @@ export declare const intersperse: {
3899
4495
  /**
3900
4496
  * Places a separator element between every pair of elements.
3901
4497
  *
4498
+ * **When to use**
4499
+ *
4500
+ * Use to insert a separator between elements, for example when preparing data for display or concatenation.
4501
+ *
3902
4502
  * **Details**
3903
4503
  *
3904
4504
  * - Preserves `NonEmptyArray` in the return type.
@@ -3921,6 +4521,10 @@ export declare const intersperse: {
3921
4521
  /**
3922
4522
  * Places a separator element between every pair of elements.
3923
4523
  *
4524
+ * **When to use**
4525
+ *
4526
+ * Use to insert a separator between elements, for example when preparing data for display or concatenation.
4527
+ *
3924
4528
  * **Details**
3925
4529
  *
3926
4530
  * - Preserves `NonEmptyArray` in the return type.
@@ -3945,6 +4549,10 @@ export declare const intersperse: {
3945
4549
  * Applies a function to the first element of a non-empty array, returning a
3946
4550
  * new array.
3947
4551
  *
4552
+ * **When to use**
4553
+ *
4554
+ * Use to transform the first element of a non-empty array while preserving the rest.
4555
+ *
3948
4556
  * **Example** (Modifying the head)
3949
4557
  *
3950
4558
  * ```ts
@@ -3964,6 +4572,10 @@ export declare const modifyHeadNonEmpty: {
3964
4572
  * Applies a function to the first element of a non-empty array, returning a
3965
4573
  * new array.
3966
4574
  *
4575
+ * **When to use**
4576
+ *
4577
+ * Use to transform the first element of a non-empty array while preserving the rest.
4578
+ *
3967
4579
  * **Example** (Modifying the head)
3968
4580
  *
3969
4581
  * ```ts
@@ -3983,6 +4595,10 @@ export declare const modifyHeadNonEmpty: {
3983
4595
  * Applies a function to the first element of a non-empty array, returning a
3984
4596
  * new array.
3985
4597
  *
4598
+ * **When to use**
4599
+ *
4600
+ * Use to transform the first element of a non-empty array while preserving the rest.
4601
+ *
3986
4602
  * **Example** (Modifying the head)
3987
4603
  *
3988
4604
  * ```ts
@@ -4168,9 +4784,14 @@ export declare const setLastNonEmpty: {
4168
4784
  <A, B>(self: NonEmptyReadonlyArray<A>, b: B): NonEmptyArray<A | B>;
4169
4785
  };
4170
4786
  /**
4171
- * Rotates an array by `n` steps. Positive `n` rotates right; negative `n`
4787
+ * Transforms an array by rotating it `n` steps. Positive `n` rotates right; negative `n`
4172
4788
  * rotates left.
4173
4789
  *
4790
+ * **When to use**
4791
+ *
4792
+ * Use when elements should wrap around the end of the array rather than being
4793
+ * dropped.
4794
+ *
4174
4795
  * **Details**
4175
4796
  *
4176
4797
  * - `n` is rounded to the nearest integer before rotating.
@@ -4185,14 +4806,22 @@ export declare const setLastNonEmpty: {
4185
4806
  * console.log(Array.rotate(["a", "b", "c", "d"], 2)) // ["c", "d", "a", "b"]
4186
4807
  * ```
4187
4808
  *
4809
+ * @see {@link take} for taking a fixed number of elements from the start
4810
+ * @see {@link drop} for dropping a fixed number of elements from the start
4811
+ *
4188
4812
  * @category elements
4189
4813
  * @since 2.0.0
4190
4814
  */
4191
4815
  export declare const rotate: {
4192
4816
  /**
4193
- * Rotates an array by `n` steps. Positive `n` rotates right; negative `n`
4817
+ * Transforms an array by rotating it `n` steps. Positive `n` rotates right; negative `n`
4194
4818
  * rotates left.
4195
4819
  *
4820
+ * **When to use**
4821
+ *
4822
+ * Use when elements should wrap around the end of the array rather than being
4823
+ * dropped.
4824
+ *
4196
4825
  * **Details**
4197
4826
  *
4198
4827
  * - `n` is rounded to the nearest integer before rotating.
@@ -4207,14 +4836,22 @@ export declare const rotate: {
4207
4836
  * console.log(Array.rotate(["a", "b", "c", "d"], 2)) // ["c", "d", "a", "b"]
4208
4837
  * ```
4209
4838
  *
4839
+ * @see {@link take} for taking a fixed number of elements from the start
4840
+ * @see {@link drop} for dropping a fixed number of elements from the start
4841
+ *
4210
4842
  * @category elements
4211
4843
  * @since 2.0.0
4212
4844
  */
4213
4845
  (n: number): <S extends Iterable<any>>(self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>;
4214
4846
  /**
4215
- * Rotates an array by `n` steps. Positive `n` rotates right; negative `n`
4847
+ * Transforms an array by rotating it `n` steps. Positive `n` rotates right; negative `n`
4216
4848
  * rotates left.
4217
4849
  *
4850
+ * **When to use**
4851
+ *
4852
+ * Use when elements should wrap around the end of the array rather than being
4853
+ * dropped.
4854
+ *
4218
4855
  * **Details**
4219
4856
  *
4220
4857
  * - `n` is rounded to the nearest integer before rotating.
@@ -4229,14 +4866,22 @@ export declare const rotate: {
4229
4866
  * console.log(Array.rotate(["a", "b", "c", "d"], 2)) // ["c", "d", "a", "b"]
4230
4867
  * ```
4231
4868
  *
4869
+ * @see {@link take} for taking a fixed number of elements from the start
4870
+ * @see {@link drop} for dropping a fixed number of elements from the start
4871
+ *
4232
4872
  * @category elements
4233
4873
  * @since 2.0.0
4234
4874
  */
4235
4875
  <A>(self: NonEmptyReadonlyArray<A>, n: number): NonEmptyArray<A>;
4236
4876
  /**
4237
- * Rotates an array by `n` steps. Positive `n` rotates right; negative `n`
4877
+ * Transforms an array by rotating it `n` steps. Positive `n` rotates right; negative `n`
4238
4878
  * rotates left.
4239
4879
  *
4880
+ * **When to use**
4881
+ *
4882
+ * Use when elements should wrap around the end of the array rather than being
4883
+ * dropped.
4884
+ *
4240
4885
  * **Details**
4241
4886
  *
4242
4887
  * - `n` is rounded to the nearest integer before rotating.
@@ -4251,6 +4896,9 @@ export declare const rotate: {
4251
4896
  * console.log(Array.rotate(["a", "b", "c", "d"], 2)) // ["c", "d", "a", "b"]
4252
4897
  * ```
4253
4898
  *
4899
+ * @see {@link take} for taking a fixed number of elements from the start
4900
+ * @see {@link drop} for dropping a fixed number of elements from the start
4901
+ *
4254
4902
  * @category elements
4255
4903
  * @since 2.0.0
4256
4904
  */
@@ -4259,6 +4907,11 @@ export declare const rotate: {
4259
4907
  /**
4260
4908
  * Returns a membership-test function using a custom equivalence.
4261
4909
  *
4910
+ * **When to use**
4911
+ *
4912
+ * Use when checking membership with caller-provided equality instead of
4913
+ * `Equal.equivalence()`.
4914
+ *
4262
4915
  * **Example** (Custom equality check)
4263
4916
  *
4264
4917
  * ```ts
@@ -4268,7 +4921,7 @@ export declare const rotate: {
4268
4921
  * console.log(pipe([1, 2, 3, 4], containsNumber(3))) // true
4269
4922
  * ```
4270
4923
  *
4271
- * @see {@link contains} uses default `Equal.equivalence()`
4924
+ * @see {@link contains} for the `Equal.equivalence()` variant
4272
4925
  *
4273
4926
  * @category elements
4274
4927
  * @since 2.0.0
@@ -4278,9 +4931,14 @@ export declare const containsWith: <A>(isEquivalent: (self: A, that: A) => boole
4278
4931
  (self: Iterable<A>, a: A): boolean;
4279
4932
  };
4280
4933
  /**
4281
- * Tests whether an array contains a value, using `Equal.equivalence()` for
4934
+ * Checks whether an array contains a value, using `Equal.equivalence()` for
4282
4935
  * comparison.
4283
4936
  *
4937
+ * **When to use**
4938
+ *
4939
+ * Use to check membership with Effect's default equality instead of providing a
4940
+ * comparison function.
4941
+ *
4284
4942
  * **Example** (Checking membership)
4285
4943
  *
4286
4944
  * ```ts
@@ -4296,9 +4954,14 @@ export declare const containsWith: <A>(isEquivalent: (self: A, that: A) => boole
4296
4954
  */
4297
4955
  export declare const contains: {
4298
4956
  /**
4299
- * Tests whether an array contains a value, using `Equal.equivalence()` for
4957
+ * Checks whether an array contains a value, using `Equal.equivalence()` for
4300
4958
  * comparison.
4301
4959
  *
4960
+ * **When to use**
4961
+ *
4962
+ * Use to check membership with Effect's default equality instead of providing a
4963
+ * comparison function.
4964
+ *
4302
4965
  * **Example** (Checking membership)
4303
4966
  *
4304
4967
  * ```ts
@@ -4314,9 +4977,14 @@ export declare const contains: {
4314
4977
  */
4315
4978
  <A>(a: A): (self: Iterable<A>) => boolean;
4316
4979
  /**
4317
- * Tests whether an array contains a value, using `Equal.equivalence()` for
4980
+ * Checks whether an array contains a value, using `Equal.equivalence()` for
4318
4981
  * comparison.
4319
4982
  *
4983
+ * **When to use**
4984
+ *
4985
+ * Use to check membership with Effect's default equality instead of providing a
4986
+ * comparison function.
4987
+ *
4320
4988
  * **Example** (Checking membership)
4321
4989
  *
4322
4990
  * ```ts
@@ -4333,8 +5001,13 @@ export declare const contains: {
4333
5001
  <A>(self: Iterable<A>, a: A): boolean;
4334
5002
  };
4335
5003
  /**
4336
- * Repeatedly applies a function that consumes a prefix of the array and
4337
- * produces a value plus the remaining elements, collecting the values.
5004
+ * Applies a function repeatedly to consume prefixes of the array and collect
5005
+ * the values it produces.
5006
+ *
5007
+ * **When to use**
5008
+ *
5009
+ * Use when the grouping logic is custom and each step needs to return both a
5010
+ * value and the remaining input.
4338
5011
  *
4339
5012
  * **Details**
4340
5013
  *
@@ -4363,8 +5036,13 @@ export declare const contains: {
4363
5036
  */
4364
5037
  export declare const chop: {
4365
5038
  /**
4366
- * Repeatedly applies a function that consumes a prefix of the array and
4367
- * produces a value plus the remaining elements, collecting the values.
5039
+ * Applies a function repeatedly to consume prefixes of the array and collect
5040
+ * the values it produces.
5041
+ *
5042
+ * **When to use**
5043
+ *
5044
+ * Use when the grouping logic is custom and each step needs to return both a
5045
+ * value and the remaining input.
4368
5046
  *
4369
5047
  * **Details**
4370
5048
  *
@@ -4393,8 +5071,13 @@ export declare const chop: {
4393
5071
  */
4394
5072
  <S extends Iterable<any>, B>(f: (as: NonEmptyReadonlyArray<ReadonlyArray.Infer<S>>) => readonly [B, ReadonlyArray<ReadonlyArray.Infer<S>>]): (self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>;
4395
5073
  /**
4396
- * Repeatedly applies a function that consumes a prefix of the array and
4397
- * produces a value plus the remaining elements, collecting the values.
5074
+ * Applies a function repeatedly to consume prefixes of the array and collect
5075
+ * the values it produces.
5076
+ *
5077
+ * **When to use**
5078
+ *
5079
+ * Use when the grouping logic is custom and each step needs to return both a
5080
+ * value and the remaining input.
4398
5081
  *
4399
5082
  * **Details**
4400
5083
  *
@@ -4423,8 +5106,13 @@ export declare const chop: {
4423
5106
  */
4424
5107
  <A, B>(self: NonEmptyReadonlyArray<A>, f: (as: NonEmptyReadonlyArray<A>) => readonly [B, ReadonlyArray<A>]): NonEmptyArray<B>;
4425
5108
  /**
4426
- * Repeatedly applies a function that consumes a prefix of the array and
4427
- * produces a value plus the remaining elements, collecting the values.
5109
+ * Applies a function repeatedly to consume prefixes of the array and collect
5110
+ * the values it produces.
5111
+ *
5112
+ * **When to use**
5113
+ *
5114
+ * Use when the grouping logic is custom and each step needs to return both a
5115
+ * value and the remaining input.
4428
5116
  *
4429
5117
  * **Details**
4430
5118
  *
@@ -4456,6 +5144,10 @@ export declare const chop: {
4456
5144
  /**
4457
5145
  * Splits an iterable into two arrays at the given index.
4458
5146
  *
5147
+ * **When to use**
5148
+ *
5149
+ * Use to divide an array into a prefix and suffix at a specific position.
5150
+ *
4459
5151
  * **Details**
4460
5152
  *
4461
5153
  * - `n` can be `0` (all elements in the second array).
@@ -4479,6 +5171,10 @@ export declare const splitAt: {
4479
5171
  /**
4480
5172
  * Splits an iterable into two arrays at the given index.
4481
5173
  *
5174
+ * **When to use**
5175
+ *
5176
+ * Use to divide an array into a prefix and suffix at a specific position.
5177
+ *
4482
5178
  * **Details**
4483
5179
  *
4484
5180
  * - `n` can be `0` (all elements in the second array).
@@ -4502,6 +5198,10 @@ export declare const splitAt: {
4502
5198
  /**
4503
5199
  * Splits an iterable into two arrays at the given index.
4504
5200
  *
5201
+ * **When to use**
5202
+ *
5203
+ * Use to divide an array into a prefix and suffix at a specific position.
5204
+ *
4505
5205
  * **Details**
4506
5206
  *
4507
5207
  * - `n` can be `0` (all elements in the second array).
@@ -4584,6 +5284,10 @@ export declare const splitAtNonEmpty: {
4584
5284
  /**
4585
5285
  * Splits an iterable into `n` roughly equal-sized chunks.
4586
5286
  *
5287
+ * **When to use**
5288
+ *
5289
+ * Use to distribute elements across a fixed number of groups, such as when splitting work across threads.
5290
+ *
4587
5291
  * **Details**
4588
5292
  *
4589
5293
  * - Uses `chunksOf(ceil(length / n))` internally.
@@ -4606,6 +5310,10 @@ export declare const split: {
4606
5310
  /**
4607
5311
  * Splits an iterable into `n` roughly equal-sized chunks.
4608
5312
  *
5313
+ * **When to use**
5314
+ *
5315
+ * Use to distribute elements across a fixed number of groups, such as when splitting work across threads.
5316
+ *
4609
5317
  * **Details**
4610
5318
  *
4611
5319
  * - Uses `chunksOf(ceil(length / n))` internally.
@@ -4628,6 +5336,10 @@ export declare const split: {
4628
5336
  /**
4629
5337
  * Splits an iterable into `n` roughly equal-sized chunks.
4630
5338
  *
5339
+ * **When to use**
5340
+ *
5341
+ * Use to distribute elements across a fixed number of groups, such as when splitting work across threads.
5342
+ *
4631
5343
  * **Details**
4632
5344
  *
4633
5345
  * - Uses `chunksOf(ceil(length / n))` internally.
@@ -4652,6 +5364,10 @@ export declare const split: {
4652
5364
  * Splits an iterable at the first element matching the predicate. The matching
4653
5365
  * element is included in the second array.
4654
5366
  *
5367
+ * **When to use**
5368
+ *
5369
+ * Use to split an array at a condition boundary when you know which element marks the transition point.
5370
+ *
4655
5371
  * **Example** (Splitting at a condition)
4656
5372
  *
4657
5373
  * ```ts
@@ -4671,6 +5387,10 @@ export declare const splitWhere: {
4671
5387
  * Splits an iterable at the first element matching the predicate. The matching
4672
5388
  * element is included in the second array.
4673
5389
  *
5390
+ * **When to use**
5391
+ *
5392
+ * Use to split an array at a condition boundary when you know which element marks the transition point.
5393
+ *
4674
5394
  * **Example** (Splitting at a condition)
4675
5395
  *
4676
5396
  * ```ts
@@ -4690,6 +5410,10 @@ export declare const splitWhere: {
4690
5410
  * Splits an iterable at the first element matching the predicate. The matching
4691
5411
  * element is included in the second array.
4692
5412
  *
5413
+ * **When to use**
5414
+ *
5415
+ * Use to split an array at a condition boundary when you know which element marks the transition point.
5416
+ *
4693
5417
  * **Example** (Splitting at a condition)
4694
5418
  *
4695
5419
  * ```ts
@@ -4709,6 +5433,11 @@ export declare const splitWhere: {
4709
5433
  /**
4710
5434
  * Creates a shallow copy of an array.
4711
5435
  *
5436
+ * **When to use**
5437
+ *
5438
+ * Use to create a distinct array reference for an existing array, for example
5439
+ * before mutating the returned array.
5440
+ *
4712
5441
  * **Details**
4713
5442
  *
4714
5443
  * - Preserves `NonEmptyArray` in the return type.
@@ -4734,6 +5463,11 @@ export declare const copy: {
4734
5463
  /**
4735
5464
  * Creates a shallow copy of an array.
4736
5465
  *
5466
+ * **When to use**
5467
+ *
5468
+ * Use to create a distinct array reference for an existing array, for example
5469
+ * before mutating the returned array.
5470
+ *
4737
5471
  * **Details**
4738
5472
  *
4739
5473
  * - Preserves `NonEmptyArray` in the return type.
@@ -4759,6 +5493,11 @@ export declare const copy: {
4759
5493
  /**
4760
5494
  * Creates a shallow copy of an array.
4761
5495
  *
5496
+ * **When to use**
5497
+ *
5498
+ * Use to create a distinct array reference for an existing array, for example
5499
+ * before mutating the returned array.
5500
+ *
4762
5501
  * **Details**
4763
5502
  *
4764
5503
  * - Preserves `NonEmptyArray` in the return type.
@@ -4786,6 +5525,10 @@ export declare const copy: {
4786
5525
  * Pads or truncates an array to exactly `n` elements, filling with `fill`
4787
5526
  * if the array is shorter, or slicing if longer.
4788
5527
  *
5528
+ * **When to use**
5529
+ *
5530
+ * Use to ensure an array has a specific length, padding with a fill value or truncating as needed.
5531
+ *
4789
5532
  * **Details**
4790
5533
  *
4791
5534
  * - Returns an empty array when `n <= 0`.
@@ -4809,6 +5552,10 @@ export declare const pad: {
4809
5552
  * Pads or truncates an array to exactly `n` elements, filling with `fill`
4810
5553
  * if the array is shorter, or slicing if longer.
4811
5554
  *
5555
+ * **When to use**
5556
+ *
5557
+ * Use to ensure an array has a specific length, padding with a fill value or truncating as needed.
5558
+ *
4812
5559
  * **Details**
4813
5560
  *
4814
5561
  * - Returns an empty array when `n <= 0`.
@@ -4832,6 +5579,10 @@ export declare const pad: {
4832
5579
  * Pads or truncates an array to exactly `n` elements, filling with `fill`
4833
5580
  * if the array is shorter, or slicing if longer.
4834
5581
  *
5582
+ * **When to use**
5583
+ *
5584
+ * Use to ensure an array has a specific length, padding with a fill value or truncating as needed.
5585
+ *
4835
5586
  * **Details**
4836
5587
  *
4837
5588
  * - Returns an empty array when `n <= 0`.
@@ -4856,6 +5607,11 @@ export declare const pad: {
4856
5607
  * Splits an iterable into chunks of length `n`. The last chunk may be shorter
4857
5608
  * if `n` does not evenly divide the length.
4858
5609
  *
5610
+ * **When to use**
5611
+ *
5612
+ * Use to divide an iterable into non-overlapping chunks with a maximum chunk
5613
+ * size.
5614
+ *
4859
5615
  * **Details**
4860
5616
  *
4861
5617
  * - `chunksOf(n)([])` is `[]`, not `[[]]`.
@@ -4881,6 +5637,11 @@ export declare const chunksOf: {
4881
5637
  * Splits an iterable into chunks of length `n`. The last chunk may be shorter
4882
5638
  * if `n` does not evenly divide the length.
4883
5639
  *
5640
+ * **When to use**
5641
+ *
5642
+ * Use to divide an iterable into non-overlapping chunks with a maximum chunk
5643
+ * size.
5644
+ *
4884
5645
  * **Details**
4885
5646
  *
4886
5647
  * - `chunksOf(n)([])` is `[]`, not `[[]]`.
@@ -4906,6 +5667,11 @@ export declare const chunksOf: {
4906
5667
  * Splits an iterable into chunks of length `n`. The last chunk may be shorter
4907
5668
  * if `n` does not evenly divide the length.
4908
5669
  *
5670
+ * **When to use**
5671
+ *
5672
+ * Use to divide an iterable into non-overlapping chunks with a maximum chunk
5673
+ * size.
5674
+ *
4909
5675
  * **Details**
4910
5676
  *
4911
5677
  * - `chunksOf(n)([])` is `[]`, not `[[]]`.
@@ -4931,6 +5697,11 @@ export declare const chunksOf: {
4931
5697
  * Splits an iterable into chunks of length `n`. The last chunk may be shorter
4932
5698
  * if `n` does not evenly divide the length.
4933
5699
  *
5700
+ * **When to use**
5701
+ *
5702
+ * Use to divide an iterable into non-overlapping chunks with a maximum chunk
5703
+ * size.
5704
+ *
4934
5705
  * **Details**
4935
5706
  *
4936
5707
  * - `chunksOf(n)([])` is `[]`, not `[[]]`.
@@ -4956,6 +5727,10 @@ export declare const chunksOf: {
4956
5727
  /**
4957
5728
  * Creates overlapping sliding windows of size `n`.
4958
5729
  *
5730
+ * **When to use**
5731
+ *
5732
+ * Use to process sequences with a moving window, such as for computing running averages or detecting patterns.
5733
+ *
4959
5734
  * **Details**
4960
5735
  *
4961
5736
  * - Returns an empty array if `n <= 0` or the array has fewer than `n` elements.
@@ -4979,6 +5754,10 @@ export declare const window: {
4979
5754
  /**
4980
5755
  * Creates overlapping sliding windows of size `n`.
4981
5756
  *
5757
+ * **When to use**
5758
+ *
5759
+ * Use to process sequences with a moving window, such as for computing running averages or detecting patterns.
5760
+ *
4982
5761
  * **Details**
4983
5762
  *
4984
5763
  * - Returns an empty array if `n <= 0` or the array has fewer than `n` elements.
@@ -5002,6 +5781,10 @@ export declare const window: {
5002
5781
  /**
5003
5782
  * Creates overlapping sliding windows of size `n`.
5004
5783
  *
5784
+ * **When to use**
5785
+ *
5786
+ * Use to process sequences with a moving window, such as for computing running averages or detecting patterns.
5787
+ *
5005
5788
  * **Details**
5006
5789
  *
5007
5790
  * - Returns an empty array if `n <= 0` or the array has fewer than `n` elements.
@@ -5026,6 +5809,11 @@ export declare const window: {
5026
5809
  /**
5027
5810
  * Groups consecutive equal elements using a custom equivalence function.
5028
5811
  *
5812
+ * **When to use**
5813
+ *
5814
+ * Use when a non-empty array is already arranged so matching elements are
5815
+ * adjacent and you need a custom equivalence function.
5816
+ *
5029
5817
  * **Details**
5030
5818
  *
5031
5819
  * - Only groups **adjacent** elements — non-adjacent duplicates stay separate.
@@ -5040,8 +5828,8 @@ export declare const window: {
5040
5828
  * // [["a", "a"], ["b", "b", "b"], ["c"], ["a"]]
5041
5829
  * ```
5042
5830
  *
5043
- * @see {@link group} uses default equality
5044
- * @see {@link groupBy} group by a key function into a record
5831
+ * @see {@link group} for grouping adjacent elements with `Equal.equivalence()`
5832
+ * @see {@link groupBy} for grouping all elements into a record by key, regardless of adjacency
5045
5833
  *
5046
5834
  * @category grouping
5047
5835
  * @since 2.0.0
@@ -5050,6 +5838,11 @@ export declare const groupWith: {
5050
5838
  /**
5051
5839
  * Groups consecutive equal elements using a custom equivalence function.
5052
5840
  *
5841
+ * **When to use**
5842
+ *
5843
+ * Use when a non-empty array is already arranged so matching elements are
5844
+ * adjacent and you need a custom equivalence function.
5845
+ *
5053
5846
  * **Details**
5054
5847
  *
5055
5848
  * - Only groups **adjacent** elements — non-adjacent duplicates stay separate.
@@ -5064,8 +5857,8 @@ export declare const groupWith: {
5064
5857
  * // [["a", "a"], ["b", "b", "b"], ["c"], ["a"]]
5065
5858
  * ```
5066
5859
  *
5067
- * @see {@link group} uses default equality
5068
- * @see {@link groupBy} group by a key function into a record
5860
+ * @see {@link group} for grouping adjacent elements with `Equal.equivalence()`
5861
+ * @see {@link groupBy} for grouping all elements into a record by key, regardless of adjacency
5069
5862
  *
5070
5863
  * @category grouping
5071
5864
  * @since 2.0.0
@@ -5074,6 +5867,11 @@ export declare const groupWith: {
5074
5867
  /**
5075
5868
  * Groups consecutive equal elements using a custom equivalence function.
5076
5869
  *
5870
+ * **When to use**
5871
+ *
5872
+ * Use when a non-empty array is already arranged so matching elements are
5873
+ * adjacent and you need a custom equivalence function.
5874
+ *
5077
5875
  * **Details**
5078
5876
  *
5079
5877
  * - Only groups **adjacent** elements — non-adjacent duplicates stay separate.
@@ -5088,8 +5886,8 @@ export declare const groupWith: {
5088
5886
  * // [["a", "a"], ["b", "b", "b"], ["c"], ["a"]]
5089
5887
  * ```
5090
5888
  *
5091
- * @see {@link group} uses default equality
5092
- * @see {@link groupBy} group by a key function into a record
5889
+ * @see {@link group} for grouping adjacent elements with `Equal.equivalence()`
5890
+ * @see {@link groupBy} for grouping all elements into a record by key, regardless of adjacency
5093
5891
  *
5094
5892
  * @category grouping
5095
5893
  * @since 2.0.0
@@ -5099,6 +5897,11 @@ export declare const groupWith: {
5099
5897
  /**
5100
5898
  * Groups consecutive equal elements using `Equal.equivalence()`.
5101
5899
  *
5900
+ * **When to use**
5901
+ *
5902
+ * Use when equal values are already adjacent and Effect's default equality is
5903
+ * the right comparison.
5904
+ *
5102
5905
  * **Details**
5103
5906
  *
5104
5907
  * - Only groups **adjacent** elements.
@@ -5122,6 +5925,10 @@ export declare const group: <A>(self: NonEmptyReadonlyArray<A>) => NonEmptyArray
5122
5925
  * Groups elements into a record by a key-returning function. Each key maps
5123
5926
  * to a `NonEmptyArray` of elements that produced that key.
5124
5927
  *
5928
+ * **When to use**
5929
+ *
5930
+ * Use to build buckets of elements indexed by a computed string or symbol key.
5931
+ *
5125
5932
  * **Details**
5126
5933
  *
5127
5934
  * - Unlike {@link group}/{@link groupWith}, elements do not need to be
@@ -5155,6 +5962,10 @@ export declare const groupBy: {
5155
5962
  * Groups elements into a record by a key-returning function. Each key maps
5156
5963
  * to a `NonEmptyArray` of elements that produced that key.
5157
5964
  *
5965
+ * **When to use**
5966
+ *
5967
+ * Use to build buckets of elements indexed by a computed string or symbol key.
5968
+ *
5158
5969
  * **Details**
5159
5970
  *
5160
5971
  * - Unlike {@link group}/{@link groupWith}, elements do not need to be
@@ -5188,6 +5999,10 @@ export declare const groupBy: {
5188
5999
  * Groups elements into a record by a key-returning function. Each key maps
5189
6000
  * to a `NonEmptyArray` of elements that produced that key.
5190
6001
  *
6002
+ * **When to use**
6003
+ *
6004
+ * Use to build buckets of elements indexed by a computed string or symbol key.
6005
+ *
5191
6006
  * **Details**
5192
6007
  *
5193
6008
  * - Unlike {@link group}/{@link groupWith}, elements do not need to be
@@ -5222,6 +6037,11 @@ export declare const groupBy: {
5222
6037
  * Computes the union of two arrays using a custom equivalence, removing
5223
6038
  * duplicates.
5224
6039
  *
6040
+ * **When to use**
6041
+ *
6042
+ * Use when you need the union of two arrays but duplicate detection must use a
6043
+ * custom equivalence instead of the default `Equal.equivalence()`.
6044
+ *
5225
6045
  * **Example** (Union with custom equality)
5226
6046
  *
5227
6047
  * ```ts
@@ -5230,9 +6050,9 @@ export declare const groupBy: {
5230
6050
  * console.log(Array.unionWith([1, 2], [2, 3], (a, b) => a === b)) // [1, 2, 3]
5231
6051
  * ```
5232
6052
  *
5233
- * @see {@link union} uses default equality
5234
- * @see {@link intersection} elements in both arrays
5235
- * @see {@link difference} elements only in the first array
6053
+ * @see {@link union} for the `Equal.equivalence()` variant
6054
+ * @see {@link intersectionWith} for keeping elements present in both arrays
6055
+ * @see {@link differenceWith} for keeping elements present only in the first array
5236
6056
  *
5237
6057
  * @category elements
5238
6058
  * @since 2.0.0
@@ -5242,6 +6062,11 @@ export declare const unionWith: {
5242
6062
  * Computes the union of two arrays using a custom equivalence, removing
5243
6063
  * duplicates.
5244
6064
  *
6065
+ * **When to use**
6066
+ *
6067
+ * Use when you need the union of two arrays but duplicate detection must use a
6068
+ * custom equivalence instead of the default `Equal.equivalence()`.
6069
+ *
5245
6070
  * **Example** (Union with custom equality)
5246
6071
  *
5247
6072
  * ```ts
@@ -5250,9 +6075,9 @@ export declare const unionWith: {
5250
6075
  * console.log(Array.unionWith([1, 2], [2, 3], (a, b) => a === b)) // [1, 2, 3]
5251
6076
  * ```
5252
6077
  *
5253
- * @see {@link union} uses default equality
5254
- * @see {@link intersection} elements in both arrays
5255
- * @see {@link difference} elements only in the first array
6078
+ * @see {@link union} for the `Equal.equivalence()` variant
6079
+ * @see {@link intersectionWith} for keeping elements present in both arrays
6080
+ * @see {@link differenceWith} for keeping elements present only in the first array
5256
6081
  *
5257
6082
  * @category elements
5258
6083
  * @since 2.0.0
@@ -5262,6 +6087,11 @@ export declare const unionWith: {
5262
6087
  * Computes the union of two arrays using a custom equivalence, removing
5263
6088
  * duplicates.
5264
6089
  *
6090
+ * **When to use**
6091
+ *
6092
+ * Use when you need the union of two arrays but duplicate detection must use a
6093
+ * custom equivalence instead of the default `Equal.equivalence()`.
6094
+ *
5265
6095
  * **Example** (Union with custom equality)
5266
6096
  *
5267
6097
  * ```ts
@@ -5270,9 +6100,9 @@ export declare const unionWith: {
5270
6100
  * console.log(Array.unionWith([1, 2], [2, 3], (a, b) => a === b)) // [1, 2, 3]
5271
6101
  * ```
5272
6102
  *
5273
- * @see {@link union} uses default equality
5274
- * @see {@link intersection} elements in both arrays
5275
- * @see {@link difference} elements only in the first array
6103
+ * @see {@link union} for the `Equal.equivalence()` variant
6104
+ * @see {@link intersectionWith} for keeping elements present in both arrays
6105
+ * @see {@link differenceWith} for keeping elements present only in the first array
5276
6106
  *
5277
6107
  * @category elements
5278
6108
  * @since 2.0.0
@@ -5282,6 +6112,11 @@ export declare const unionWith: {
5282
6112
  * Computes the union of two arrays using a custom equivalence, removing
5283
6113
  * duplicates.
5284
6114
  *
6115
+ * **When to use**
6116
+ *
6117
+ * Use when you need the union of two arrays but duplicate detection must use a
6118
+ * custom equivalence instead of the default `Equal.equivalence()`.
6119
+ *
5285
6120
  * **Example** (Union with custom equality)
5286
6121
  *
5287
6122
  * ```ts
@@ -5290,9 +6125,9 @@ export declare const unionWith: {
5290
6125
  * console.log(Array.unionWith([1, 2], [2, 3], (a, b) => a === b)) // [1, 2, 3]
5291
6126
  * ```
5292
6127
  *
5293
- * @see {@link union} uses default equality
5294
- * @see {@link intersection} elements in both arrays
5295
- * @see {@link difference} elements only in the first array
6128
+ * @see {@link union} for the `Equal.equivalence()` variant
6129
+ * @see {@link intersectionWith} for keeping elements present in both arrays
6130
+ * @see {@link differenceWith} for keeping elements present only in the first array
5296
6131
  *
5297
6132
  * @category elements
5298
6133
  * @since 2.0.0
@@ -5302,6 +6137,11 @@ export declare const unionWith: {
5302
6137
  * Computes the union of two arrays using a custom equivalence, removing
5303
6138
  * duplicates.
5304
6139
  *
6140
+ * **When to use**
6141
+ *
6142
+ * Use when you need the union of two arrays but duplicate detection must use a
6143
+ * custom equivalence instead of the default `Equal.equivalence()`.
6144
+ *
5305
6145
  * **Example** (Union with custom equality)
5306
6146
  *
5307
6147
  * ```ts
@@ -5310,9 +6150,9 @@ export declare const unionWith: {
5310
6150
  * console.log(Array.unionWith([1, 2], [2, 3], (a, b) => a === b)) // [1, 2, 3]
5311
6151
  * ```
5312
6152
  *
5313
- * @see {@link union} uses default equality
5314
- * @see {@link intersection} elements in both arrays
5315
- * @see {@link difference} elements only in the first array
6153
+ * @see {@link union} for the `Equal.equivalence()` variant
6154
+ * @see {@link intersectionWith} for keeping elements present in both arrays
6155
+ * @see {@link differenceWith} for keeping elements present only in the first array
5316
6156
  *
5317
6157
  * @category elements
5318
6158
  * @since 2.0.0
@@ -5424,6 +6264,11 @@ export declare const union: {
5424
6264
  * Computes the intersection of two arrays using a custom equivalence. Order is
5425
6265
  * determined by the first array.
5426
6266
  *
6267
+ * **When to use**
6268
+ *
6269
+ * Use when keeping only values present in both arrays and equality must be
6270
+ * defined by a custom comparator, such as matching objects by id.
6271
+ *
5427
6272
  * **Example** (Intersection with custom equality)
5428
6273
  *
5429
6274
  * ```ts
@@ -5435,9 +6280,9 @@ export declare const union: {
5435
6280
  * console.log(Array.intersectionWith(isEquivalent)(array2)(array1)) // [{ id: 1 }, { id: 3 }]
5436
6281
  * ```
5437
6282
  *
5438
- * @see {@link intersection} uses default equality
5439
- * @see {@link union} elements in either array
5440
- * @see {@link difference} elements only in the first array
6283
+ * @see {@link intersection} for the `Equal.equivalence()` variant
6284
+ * @see {@link unionWith} for keeping values from either array with custom equality
6285
+ * @see {@link differenceWith} for keeping values only from the first array with custom equality
5441
6286
  *
5442
6287
  * @category elements
5443
6288
  * @since 2.0.0
@@ -5511,6 +6356,11 @@ export declare const intersection: {
5511
6356
  * Computes elements in the first array that are not in the second, using a
5512
6357
  * custom equivalence.
5513
6358
  *
6359
+ * **When to use**
6360
+ *
6361
+ * Use when keeping only values from the first array and equality must be
6362
+ * defined by a custom comparator, such as matching objects by id.
6363
+ *
5514
6364
  * **Example** (Difference with custom equality)
5515
6365
  *
5516
6366
  * ```ts
@@ -5520,9 +6370,9 @@ export declare const intersection: {
5520
6370
  * console.log(diff) // [1]
5521
6371
  * ```
5522
6372
  *
5523
- * @see {@link difference} uses default equality
5524
- * @see {@link union} elements in either array
5525
- * @see {@link intersection} elements in both arrays
6373
+ * @see {@link difference} for the `Equal.equivalence()` variant
6374
+ * @see {@link unionWith} for keeping values from either array with custom equality
6375
+ * @see {@link intersectionWith} for keeping values present in both arrays with custom equality
5526
6376
  *
5527
6377
  * @category elements
5528
6378
  * @since 2.0.0
@@ -5535,6 +6385,11 @@ export declare const differenceWith: <A>(isEquivalent: (self: A, that: A) => boo
5535
6385
  * Computes elements in the first array that are not in the second, using
5536
6386
  * `Equal.equivalence()`.
5537
6387
  *
6388
+ * **When to use**
6389
+ *
6390
+ * Use when you need to keep values from the first array that are absent from
6391
+ * the second and the default `Equal.equivalence()` comparison is appropriate.
6392
+ *
5538
6393
  * **Example** (Array difference)
5539
6394
  *
5540
6395
  * ```ts
@@ -5555,6 +6410,11 @@ export declare const difference: {
5555
6410
  * Computes elements in the first array that are not in the second, using
5556
6411
  * `Equal.equivalence()`.
5557
6412
  *
6413
+ * **When to use**
6414
+ *
6415
+ * Use when you need to keep values from the first array that are absent from
6416
+ * the second and the default `Equal.equivalence()` comparison is appropriate.
6417
+ *
5558
6418
  * **Example** (Array difference)
5559
6419
  *
5560
6420
  * ```ts
@@ -5575,6 +6435,11 @@ export declare const difference: {
5575
6435
  * Computes elements in the first array that are not in the second, using
5576
6436
  * `Equal.equivalence()`.
5577
6437
  *
6438
+ * **When to use**
6439
+ *
6440
+ * Use when you need to keep values from the first array that are absent from
6441
+ * the second and the default `Equal.equivalence()` comparison is appropriate.
6442
+ *
5578
6443
  * **Example** (Array difference)
5579
6444
  *
5580
6445
  * ```ts
@@ -5595,6 +6460,10 @@ export declare const difference: {
5595
6460
  /**
5596
6461
  * Creates an empty array.
5597
6462
  *
6463
+ * **When to use**
6464
+ *
6465
+ * Use to create a typed empty array without allocating placeholder elements.
6466
+ *
5598
6467
  * **Example** (Creating an empty array)
5599
6468
  *
5600
6469
  * ```ts
@@ -5729,6 +6598,10 @@ export declare namespace ReadonlyArray {
5729
6598
  /**
5730
6599
  * Transforms each element using a function, returning a new array.
5731
6600
  *
6601
+ * **When to use**
6602
+ *
6603
+ * Use to transform each element independently while preserving the array shape.
6604
+ *
5732
6605
  * **Details**
5733
6606
  *
5734
6607
  * - The function receives `(element, index)`.
@@ -5751,6 +6624,10 @@ export declare const map: {
5751
6624
  /**
5752
6625
  * Transforms each element using a function, returning a new array.
5753
6626
  *
6627
+ * **When to use**
6628
+ *
6629
+ * Use to transform each element independently while preserving the array shape.
6630
+ *
5754
6631
  * **Details**
5755
6632
  *
5756
6633
  * - The function receives `(element, index)`.
@@ -5773,6 +6650,10 @@ export declare const map: {
5773
6650
  /**
5774
6651
  * Transforms each element using a function, returning a new array.
5775
6652
  *
6653
+ * **When to use**
6654
+ *
6655
+ * Use to transform each element independently while preserving the array shape.
6656
+ *
5776
6657
  * **Details**
5777
6658
  *
5778
6659
  * - The function receives `(element, index)`.
@@ -5796,6 +6677,11 @@ export declare const map: {
5796
6677
  /**
5797
6678
  * Maps each element to an array and flattens the results into a single array.
5798
6679
  *
6680
+ * **When to use**
6681
+ *
6682
+ * Use to map each element to zero or more values and concatenate the results in
6683
+ * one pass.
6684
+ *
5799
6685
  * **Details**
5800
6686
  *
5801
6687
  * - The function receives `(element, index)`.
@@ -5819,6 +6705,11 @@ export declare const flatMap: {
5819
6705
  /**
5820
6706
  * Maps each element to an array and flattens the results into a single array.
5821
6707
  *
6708
+ * **When to use**
6709
+ *
6710
+ * Use to map each element to zero or more values and concatenate the results in
6711
+ * one pass.
6712
+ *
5822
6713
  * **Details**
5823
6714
  *
5824
6715
  * - The function receives `(element, index)`.
@@ -5842,6 +6733,11 @@ export declare const flatMap: {
5842
6733
  /**
5843
6734
  * Maps each element to an array and flattens the results into a single array.
5844
6735
  *
6736
+ * **When to use**
6737
+ *
6738
+ * Use to map each element to zero or more values and concatenate the results in
6739
+ * one pass.
6740
+ *
5845
6741
  * **Details**
5846
6742
  *
5847
6743
  * - The function receives `(element, index)`.
@@ -5865,6 +6761,11 @@ export declare const flatMap: {
5865
6761
  /**
5866
6762
  * Maps each element to an array and flattens the results into a single array.
5867
6763
  *
6764
+ * **When to use**
6765
+ *
6766
+ * Use to map each element to zero or more values and concatenate the results in
6767
+ * one pass.
6768
+ *
5868
6769
  * **Details**
5869
6770
  *
5870
6771
  * - The function receives `(element, index)`.
@@ -5889,6 +6790,11 @@ export declare const flatMap: {
5889
6790
  /**
5890
6791
  * Flattens a nested array of arrays into a single array.
5891
6792
  *
6793
+ * **When to use**
6794
+ *
6795
+ * Use to collapse one level of nested arrays when no per-element mapping is
6796
+ * needed.
6797
+ *
5892
6798
  * **Example** (Flattening nested arrays)
5893
6799
  *
5894
6800
  * ```ts
@@ -5906,6 +6812,11 @@ export declare const flatten: <const S extends ReadonlyArray<ReadonlyArray<any>>
5906
6812
  /**
5907
6813
  * Extracts all `Some` values from an iterable of `Option`s, discarding `None`s.
5908
6814
  *
6815
+ * **When to use**
6816
+ *
6817
+ * Use to collect only present values from `Option` values while discarding
6818
+ * `None` values.
6819
+ *
5909
6820
  * **Example** (Extracting Some values)
5910
6821
  *
5911
6822
  * ```ts
@@ -5925,6 +6836,11 @@ export declare const getSomes: <T extends Iterable<Option.Option<X>>, X = any>(s
5925
6836
  * Extracts all failure values from an iterable of `Result`s, discarding
5926
6837
  * successes.
5927
6838
  *
6839
+ * **When to use**
6840
+ *
6841
+ * Use to collect only failure values from `Result` values while discarding
6842
+ * successes.
6843
+ *
5928
6844
  * **Example** (Extracting failures)
5929
6845
  *
5930
6846
  * ```ts
@@ -5945,6 +6861,11 @@ export declare const getFailures: <T extends Iterable<Result.Result<any, any>>>(
5945
6861
  * Extracts all success values from an iterable of `Result`s, discarding
5946
6862
  * failures.
5947
6863
  *
6864
+ * **When to use**
6865
+ *
6866
+ * Use to collect only success values from `Result` values while discarding
6867
+ * failures.
6868
+ *
5948
6869
  * **Example** (Extracting successes)
5949
6870
  *
5950
6871
  * ```ts
@@ -5964,6 +6885,11 @@ export declare const getSuccesses: <T extends Iterable<Result.Result<any, any>>>
5964
6885
  /**
5965
6886
  * Keeps transformed values for elements where a `Filter` succeeds.
5966
6887
  *
6888
+ * **When to use**
6889
+ *
6890
+ * Use to transform elements with a `Result`-returning filter while discarding
6891
+ * failures.
6892
+ *
5967
6893
  * **Details**
5968
6894
  *
5969
6895
  * - The filter receives `(element, index)`.
@@ -5979,6 +6905,7 @@ export declare const getSuccesses: <T extends Iterable<Result.Result<any, any>>>
5979
6905
  * ```
5980
6906
  *
5981
6907
  * @see {@link filter} — keep original elements matching a predicate
6908
+ * @see {@link partition} for keeping both failures and successes
5982
6909
  *
5983
6910
  * @category filtering
5984
6911
  * @since 2.0.0
@@ -5987,6 +6914,11 @@ export declare const filterMap: {
5987
6914
  /**
5988
6915
  * Keeps transformed values for elements where a `Filter` succeeds.
5989
6916
  *
6917
+ * **When to use**
6918
+ *
6919
+ * Use to transform elements with a `Result`-returning filter while discarding
6920
+ * failures.
6921
+ *
5990
6922
  * **Details**
5991
6923
  *
5992
6924
  * - The filter receives `(element, index)`.
@@ -6002,6 +6934,7 @@ export declare const filterMap: {
6002
6934
  * ```
6003
6935
  *
6004
6936
  * @see {@link filter} — keep original elements matching a predicate
6937
+ * @see {@link partition} for keeping both failures and successes
6005
6938
  *
6006
6939
  * @category filtering
6007
6940
  * @since 2.0.0
@@ -6010,6 +6943,11 @@ export declare const filterMap: {
6010
6943
  /**
6011
6944
  * Keeps transformed values for elements where a `Filter` succeeds.
6012
6945
  *
6946
+ * **When to use**
6947
+ *
6948
+ * Use to transform elements with a `Result`-returning filter while discarding
6949
+ * failures.
6950
+ *
6013
6951
  * **Details**
6014
6952
  *
6015
6953
  * - The filter receives `(element, index)`.
@@ -6025,6 +6963,7 @@ export declare const filterMap: {
6025
6963
  * ```
6026
6964
  *
6027
6965
  * @see {@link filter} — keep original elements matching a predicate
6966
+ * @see {@link partition} for keeping both failures and successes
6028
6967
  *
6029
6968
  * @category filtering
6030
6969
  * @since 2.0.0
@@ -6034,6 +6973,10 @@ export declare const filterMap: {
6034
6973
  /**
6035
6974
  * Keeps only elements satisfying a predicate (or refinement).
6036
6975
  *
6976
+ * **When to use**
6977
+ *
6978
+ * Use to keep original elements that satisfy a boolean predicate or refinement.
6979
+ *
6037
6980
  * **Details**
6038
6981
  *
6039
6982
  * - The predicate receives `(element, index)`.
@@ -6048,6 +6991,7 @@ export declare const filterMap: {
6048
6991
  * ```
6049
6992
  *
6050
6993
  * @see {@link partition} — split into matching and non-matching
6994
+ * @see {@link filterMap} for transforming while filtering
6051
6995
  *
6052
6996
  * @category filtering
6053
6997
  * @since 2.0.0
@@ -6056,6 +7000,10 @@ export declare const filter: {
6056
7000
  /**
6057
7001
  * Keeps only elements satisfying a predicate (or refinement).
6058
7002
  *
7003
+ * **When to use**
7004
+ *
7005
+ * Use to keep original elements that satisfy a boolean predicate or refinement.
7006
+ *
6059
7007
  * **Details**
6060
7008
  *
6061
7009
  * - The predicate receives `(element, index)`.
@@ -6070,6 +7018,7 @@ export declare const filter: {
6070
7018
  * ```
6071
7019
  *
6072
7020
  * @see {@link partition} — split into matching and non-matching
7021
+ * @see {@link filterMap} for transforming while filtering
6073
7022
  *
6074
7023
  * @category filtering
6075
7024
  * @since 2.0.0
@@ -6078,6 +7027,10 @@ export declare const filter: {
6078
7027
  /**
6079
7028
  * Keeps only elements satisfying a predicate (or refinement).
6080
7029
  *
7030
+ * **When to use**
7031
+ *
7032
+ * Use to keep original elements that satisfy a boolean predicate or refinement.
7033
+ *
6081
7034
  * **Details**
6082
7035
  *
6083
7036
  * - The predicate receives `(element, index)`.
@@ -6092,6 +7045,7 @@ export declare const filter: {
6092
7045
  * ```
6093
7046
  *
6094
7047
  * @see {@link partition} — split into matching and non-matching
7048
+ * @see {@link filterMap} for transforming while filtering
6095
7049
  *
6096
7050
  * @category filtering
6097
7051
  * @since 2.0.0
@@ -6100,6 +7054,10 @@ export declare const filter: {
6100
7054
  /**
6101
7055
  * Keeps only elements satisfying a predicate (or refinement).
6102
7056
  *
7057
+ * **When to use**
7058
+ *
7059
+ * Use to keep original elements that satisfy a boolean predicate or refinement.
7060
+ *
6103
7061
  * **Details**
6104
7062
  *
6105
7063
  * - The predicate receives `(element, index)`.
@@ -6114,6 +7072,7 @@ export declare const filter: {
6114
7072
  * ```
6115
7073
  *
6116
7074
  * @see {@link partition} — split into matching and non-matching
7075
+ * @see {@link filterMap} for transforming while filtering
6117
7076
  *
6118
7077
  * @category filtering
6119
7078
  * @since 2.0.0
@@ -6122,6 +7081,10 @@ export declare const filter: {
6122
7081
  /**
6123
7082
  * Keeps only elements satisfying a predicate (or refinement).
6124
7083
  *
7084
+ * **When to use**
7085
+ *
7086
+ * Use to keep original elements that satisfy a boolean predicate or refinement.
7087
+ *
6125
7088
  * **Details**
6126
7089
  *
6127
7090
  * - The predicate receives `(element, index)`.
@@ -6136,6 +7099,7 @@ export declare const filter: {
6136
7099
  * ```
6137
7100
  *
6138
7101
  * @see {@link partition} — split into matching and non-matching
7102
+ * @see {@link filterMap} for transforming while filtering
6139
7103
  *
6140
7104
  * @category filtering
6141
7105
  * @since 2.0.0
@@ -6145,6 +7109,11 @@ export declare const filter: {
6145
7109
  /**
6146
7110
  * Splits an iterable using a `Filter` into failures and successes.
6147
7111
  *
7112
+ * **When to use**
7113
+ *
7114
+ * Use to evaluate each element with a `Result`-returning filter and keep both
7115
+ * failure and success values.
7116
+ *
6148
7117
  * **Details**
6149
7118
  *
6150
7119
  * - Returns `[excluded, satisfying]`.
@@ -6162,6 +7131,7 @@ export declare const filter: {
6162
7131
  * ```
6163
7132
  *
6164
7133
  * @see {@link filter} — keep only matching elements
7134
+ * @see {@link filterMap} for discarding failures
6165
7135
  * @see {@link separate} — split an iterable of `Result` values
6166
7136
  *
6167
7137
  * @category filtering
@@ -6171,6 +7141,11 @@ export declare const partition: {
6171
7141
  /**
6172
7142
  * Splits an iterable using a `Filter` into failures and successes.
6173
7143
  *
7144
+ * **When to use**
7145
+ *
7146
+ * Use to evaluate each element with a `Result`-returning filter and keep both
7147
+ * failure and success values.
7148
+ *
6174
7149
  * **Details**
6175
7150
  *
6176
7151
  * - Returns `[excluded, satisfying]`.
@@ -6188,6 +7163,7 @@ export declare const partition: {
6188
7163
  * ```
6189
7164
  *
6190
7165
  * @see {@link filter} — keep only matching elements
7166
+ * @see {@link filterMap} for discarding failures
6191
7167
  * @see {@link separate} — split an iterable of `Result` values
6192
7168
  *
6193
7169
  * @category filtering
@@ -6197,6 +7173,11 @@ export declare const partition: {
6197
7173
  /**
6198
7174
  * Splits an iterable using a `Filter` into failures and successes.
6199
7175
  *
7176
+ * **When to use**
7177
+ *
7178
+ * Use to evaluate each element with a `Result`-returning filter and keep both
7179
+ * failure and success values.
7180
+ *
6200
7181
  * **Details**
6201
7182
  *
6202
7183
  * - Returns `[excluded, satisfying]`.
@@ -6214,6 +7195,7 @@ export declare const partition: {
6214
7195
  * ```
6215
7196
  *
6216
7197
  * @see {@link filter} — keep only matching elements
7198
+ * @see {@link filterMap} for discarding failures
6217
7199
  * @see {@link separate} — split an iterable of `Result` values
6218
7200
  *
6219
7201
  * @category filtering
@@ -6224,6 +7206,10 @@ export declare const partition: {
6224
7206
  /**
6225
7207
  * Separates an iterable of `Result`s into failure values and success values.
6226
7208
  *
7209
+ * **When to use**
7210
+ *
7211
+ * Use to split existing `Result` values into failure and success arrays.
7212
+ *
6227
7213
  * **Details**
6228
7214
  *
6229
7215
  * - Returns `[failures, successes]`.
@@ -6243,6 +7229,7 @@ export declare const partition: {
6243
7229
  *
6244
7230
  * @see {@link getFailures} — extract only failures
6245
7231
  * @see {@link getSuccesses} — extract only successes
7232
+ * @see {@link partition} for computing `Result` values while splitting
6246
7233
  *
6247
7234
  * @category filtering
6248
7235
  * @since 2.0.0
@@ -6254,6 +7241,10 @@ export declare const separate: <T extends Iterable<Result.Result<any, any>>>(sel
6254
7241
  /**
6255
7242
  * Folds an iterable from left to right into a single value.
6256
7243
  *
7244
+ * **When to use**
7245
+ *
7246
+ * Use to combine all elements into one accumulated value from left to right.
7247
+ *
6257
7248
  * **Details**
6258
7249
  *
6259
7250
  * - The function receives `(accumulator, element, index)`.
@@ -6276,6 +7267,10 @@ export declare const reduce: {
6276
7267
  /**
6277
7268
  * Folds an iterable from left to right into a single value.
6278
7269
  *
7270
+ * **When to use**
7271
+ *
7272
+ * Use to combine all elements into one accumulated value from left to right.
7273
+ *
6279
7274
  * **Details**
6280
7275
  *
6281
7276
  * - The function receives `(accumulator, element, index)`.
@@ -6298,6 +7293,10 @@ export declare const reduce: {
6298
7293
  /**
6299
7294
  * Folds an iterable from left to right into a single value.
6300
7295
  *
7296
+ * **When to use**
7297
+ *
7298
+ * Use to combine all elements into one accumulated value from left to right.
7299
+ *
6301
7300
  * **Details**
6302
7301
  *
6303
7302
  * - The function receives `(accumulator, element, index)`.
@@ -6321,6 +7320,11 @@ export declare const reduce: {
6321
7320
  /**
6322
7321
  * Folds an iterable from right to left into a single value.
6323
7322
  *
7323
+ * **When to use**
7324
+ *
7325
+ * Use when folding order matters and values must be combined from right to
7326
+ * left.
7327
+ *
6324
7328
  * **Details**
6325
7329
  *
6326
7330
  * - The function receives `(accumulator, element, index)`.
@@ -6343,6 +7347,11 @@ export declare const reduceRight: {
6343
7347
  /**
6344
7348
  * Folds an iterable from right to left into a single value.
6345
7349
  *
7350
+ * **When to use**
7351
+ *
7352
+ * Use when folding order matters and values must be combined from right to
7353
+ * left.
7354
+ *
6346
7355
  * **Details**
6347
7356
  *
6348
7357
  * - The function receives `(accumulator, element, index)`.
@@ -6365,6 +7374,11 @@ export declare const reduceRight: {
6365
7374
  /**
6366
7375
  * Folds an iterable from right to left into a single value.
6367
7376
  *
7377
+ * **When to use**
7378
+ *
7379
+ * Use when folding order matters and values must be combined from right to
7380
+ * left.
7381
+ *
6368
7382
  * **Details**
6369
7383
  *
6370
7384
  * - The function receives `(accumulator, element, index)`.
@@ -6457,6 +7471,10 @@ export declare const liftOption: <A extends Array<unknown>, B>(f: (...a: A) => O
6457
7471
  * Converts a nullable value to an array: `null`/`undefined` becomes `[]`,
6458
7472
  * anything else becomes `[value]`.
6459
7473
  *
7474
+ * **When to use**
7475
+ *
7476
+ * Use to treat a nullable single value as zero or one array element.
7477
+ *
6460
7478
  * **Example** (Nullable to array)
6461
7479
  *
6462
7480
  * ```ts
@@ -6502,6 +7520,11 @@ export declare const liftNullishOr: <A extends Array<unknown>, B>(f: (...a: A) =
6502
7520
  * Maps each element with a nullable-returning function, keeping only non-null /
6503
7521
  * non-undefined results.
6504
7522
  *
7523
+ * **When to use**
7524
+ *
7525
+ * Use when mapping and filtering in one step, where the mapper can return
7526
+ * `null` or `undefined` to skip elements.
7527
+ *
6505
7528
  * **Example** (FlatMapping with nullable)
6506
7529
  *
6507
7530
  * ```ts
@@ -6511,6 +7534,9 @@ export declare const liftNullishOr: <A extends Array<unknown>, B>(f: (...a: A) =
6511
7534
  * // [1, 3]
6512
7535
  * ```
6513
7536
  *
7537
+ * @see {@link flatMap} for mapping each element to an array and flattening
7538
+ * @see {@link fromNullishOr} for converting a single nullable value to an array
7539
+ *
6514
7540
  * @category sequencing
6515
7541
  * @since 4.0.0
6516
7542
  */
@@ -6519,6 +7545,11 @@ export declare const flatMapNullishOr: {
6519
7545
  * Maps each element with a nullable-returning function, keeping only non-null /
6520
7546
  * non-undefined results.
6521
7547
  *
7548
+ * **When to use**
7549
+ *
7550
+ * Use when mapping and filtering in one step, where the mapper can return
7551
+ * `null` or `undefined` to skip elements.
7552
+ *
6522
7553
  * **Example** (FlatMapping with nullable)
6523
7554
  *
6524
7555
  * ```ts
@@ -6528,6 +7559,9 @@ export declare const flatMapNullishOr: {
6528
7559
  * // [1, 3]
6529
7560
  * ```
6530
7561
  *
7562
+ * @see {@link flatMap} for mapping each element to an array and flattening
7563
+ * @see {@link fromNullishOr} for converting a single nullable value to an array
7564
+ *
6531
7565
  * @category sequencing
6532
7566
  * @since 4.0.0
6533
7567
  */
@@ -6536,6 +7570,11 @@ export declare const flatMapNullishOr: {
6536
7570
  * Maps each element with a nullable-returning function, keeping only non-null /
6537
7571
  * non-undefined results.
6538
7572
  *
7573
+ * **When to use**
7574
+ *
7575
+ * Use when mapping and filtering in one step, where the mapper can return
7576
+ * `null` or `undefined` to skip elements.
7577
+ *
6539
7578
  * **Example** (FlatMapping with nullable)
6540
7579
  *
6541
7580
  * ```ts
@@ -6545,6 +7584,9 @@ export declare const flatMapNullishOr: {
6545
7584
  * // [1, 3]
6546
7585
  * ```
6547
7586
  *
7587
+ * @see {@link flatMap} for mapping each element to an array and flattening
7588
+ * @see {@link fromNullishOr} for converting a single nullable value to an array
7589
+ *
6548
7590
  * @category sequencing
6549
7591
  * @since 4.0.0
6550
7592
  */
@@ -6577,9 +7619,14 @@ export declare const flatMapNullishOr: {
6577
7619
  */
6578
7620
  export declare const liftResult: <A extends Array<unknown>, E, B>(f: (...a: A) => Result.Result<B, E>) => (...a: A) => Array<B>;
6579
7621
  /**
6580
- * Tests whether all elements satisfy the predicate. Supports refinements for
7622
+ * Checks whether all elements satisfy the predicate. Supports refinements for
6581
7623
  * type narrowing.
6582
7624
  *
7625
+ * **When to use**
7626
+ *
7627
+ * Use to check that all elements satisfy a predicate, including
7628
+ * refinement-based type narrowing.
7629
+ *
6583
7630
  * **Example** (Testing all elements)
6584
7631
  *
6585
7632
  * ```ts
@@ -6596,9 +7643,14 @@ export declare const liftResult: <A extends Array<unknown>, E, B>(f: (...a: A) =
6596
7643
  */
6597
7644
  export declare const every: {
6598
7645
  /**
6599
- * Tests whether all elements satisfy the predicate. Supports refinements for
7646
+ * Checks whether all elements satisfy the predicate. Supports refinements for
6600
7647
  * type narrowing.
6601
7648
  *
7649
+ * **When to use**
7650
+ *
7651
+ * Use to check that all elements satisfy a predicate, including
7652
+ * refinement-based type narrowing.
7653
+ *
6602
7654
  * **Example** (Testing all elements)
6603
7655
  *
6604
7656
  * ```ts
@@ -6615,9 +7667,14 @@ export declare const every: {
6615
7667
  */
6616
7668
  <A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: ReadonlyArray<A>) => self is ReadonlyArray<B>;
6617
7669
  /**
6618
- * Tests whether all elements satisfy the predicate. Supports refinements for
7670
+ * Checks whether all elements satisfy the predicate. Supports refinements for
6619
7671
  * type narrowing.
6620
7672
  *
7673
+ * **When to use**
7674
+ *
7675
+ * Use to check that all elements satisfy a predicate, including
7676
+ * refinement-based type narrowing.
7677
+ *
6621
7678
  * **Example** (Testing all elements)
6622
7679
  *
6623
7680
  * ```ts
@@ -6634,9 +7691,14 @@ export declare const every: {
6634
7691
  */
6635
7692
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: ReadonlyArray<A>) => boolean;
6636
7693
  /**
6637
- * Tests whether all elements satisfy the predicate. Supports refinements for
7694
+ * Checks whether all elements satisfy the predicate. Supports refinements for
6638
7695
  * type narrowing.
6639
7696
  *
7697
+ * **When to use**
7698
+ *
7699
+ * Use to check that all elements satisfy a predicate, including
7700
+ * refinement-based type narrowing.
7701
+ *
6640
7702
  * **Example** (Testing all elements)
6641
7703
  *
6642
7704
  * ```ts
@@ -6653,9 +7715,14 @@ export declare const every: {
6653
7715
  */
6654
7716
  <A, B extends A>(self: ReadonlyArray<A>, refinement: (a: A, i: number) => a is B): self is ReadonlyArray<B>;
6655
7717
  /**
6656
- * Tests whether all elements satisfy the predicate. Supports refinements for
7718
+ * Checks whether all elements satisfy the predicate. Supports refinements for
6657
7719
  * type narrowing.
6658
7720
  *
7721
+ * **When to use**
7722
+ *
7723
+ * Use to check that all elements satisfy a predicate, including
7724
+ * refinement-based type narrowing.
7725
+ *
6659
7726
  * **Example** (Testing all elements)
6660
7727
  *
6661
7728
  * ```ts
@@ -6673,7 +7740,7 @@ export declare const every: {
6673
7740
  <A>(self: ReadonlyArray<A>, predicate: (a: A, i: number) => boolean): boolean;
6674
7741
  };
6675
7742
  /**
6676
- * Tests whether at least one element satisfies the predicate. Narrows the type
7743
+ * Checks whether at least one element satisfies the predicate. Narrows the type
6677
7744
  * to `NonEmptyReadonlyArray` on success.
6678
7745
  *
6679
7746
  * **Example** (Testing for any match)
@@ -6693,7 +7760,7 @@ export declare const every: {
6693
7760
  */
6694
7761
  export declare const some: {
6695
7762
  /**
6696
- * Tests whether at least one element satisfies the predicate. Narrows the type
7763
+ * Checks whether at least one element satisfies the predicate. Narrows the type
6697
7764
  * to `NonEmptyReadonlyArray` on success.
6698
7765
  *
6699
7766
  * **Example** (Testing for any match)
@@ -6713,7 +7780,7 @@ export declare const some: {
6713
7780
  */
6714
7781
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: ReadonlyArray<A>) => self is NonEmptyReadonlyArray<A>;
6715
7782
  /**
6716
- * Tests whether at least one element satisfies the predicate. Narrows the type
7783
+ * Checks whether at least one element satisfies the predicate. Narrows the type
6717
7784
  * to `NonEmptyReadonlyArray` on success.
6718
7785
  *
6719
7786
  * **Example** (Testing for any match)
@@ -6737,6 +7804,11 @@ export declare const some: {
6737
7804
  * Applies a function to each suffix of the array (starting from each index),
6738
7805
  * collecting the results.
6739
7806
  *
7807
+ * **When to use**
7808
+ *
7809
+ * Use when a computation depends on every suffix of an array, such as
7810
+ * cumulative aggregations from each position.
7811
+ *
6740
7812
  * **Details**
6741
7813
  *
6742
7814
  * - For index `i`, the function receives `self.slice(i)`.
@@ -6749,6 +7821,8 @@ export declare const some: {
6749
7821
  * console.log(Array.extend([1, 2, 3], (as) => as.length)) // [3, 2, 1]
6750
7822
  * ```
6751
7823
  *
7824
+ * @see {@link scan} for keeping intermediate accumulator values during a fold
7825
+ *
6752
7826
  * @category mapping
6753
7827
  * @since 2.0.0
6754
7828
  */
@@ -6757,6 +7831,11 @@ export declare const extend: {
6757
7831
  * Applies a function to each suffix of the array (starting from each index),
6758
7832
  * collecting the results.
6759
7833
  *
7834
+ * **When to use**
7835
+ *
7836
+ * Use when a computation depends on every suffix of an array, such as
7837
+ * cumulative aggregations from each position.
7838
+ *
6760
7839
  * **Details**
6761
7840
  *
6762
7841
  * - For index `i`, the function receives `self.slice(i)`.
@@ -6769,6 +7848,8 @@ export declare const extend: {
6769
7848
  * console.log(Array.extend([1, 2, 3], (as) => as.length)) // [3, 2, 1]
6770
7849
  * ```
6771
7850
  *
7851
+ * @see {@link scan} for keeping intermediate accumulator values during a fold
7852
+ *
6772
7853
  * @category mapping
6773
7854
  * @since 2.0.0
6774
7855
  */
@@ -6777,6 +7858,11 @@ export declare const extend: {
6777
7858
  * Applies a function to each suffix of the array (starting from each index),
6778
7859
  * collecting the results.
6779
7860
  *
7861
+ * **When to use**
7862
+ *
7863
+ * Use when a computation depends on every suffix of an array, such as
7864
+ * cumulative aggregations from each position.
7865
+ *
6780
7866
  * **Details**
6781
7867
  *
6782
7868
  * - For index `i`, the function receives `self.slice(i)`.
@@ -6789,6 +7875,8 @@ export declare const extend: {
6789
7875
  * console.log(Array.extend([1, 2, 3], (as) => as.length)) // [3, 2, 1]
6790
7876
  * ```
6791
7877
  *
7878
+ * @see {@link scan} for keeping intermediate accumulator values during a fold
7879
+ *
6792
7880
  * @category mapping
6793
7881
  * @since 2.0.0
6794
7882
  */
@@ -6974,6 +8062,11 @@ export declare const makeEquivalence: <A>(isEquivalent: Equivalence.Equivalence<
6974
8062
  /**
6975
8063
  * Runs a side-effect for each element. The callback receives `(element, index)`.
6976
8064
  *
8065
+ * **When to use**
8066
+ *
8067
+ * Use to iterate over an array for side-effects only, when no transformed
8068
+ * result is needed.
8069
+ *
6977
8070
  * **Example** (Iterating with side-effects)
6978
8071
  *
6979
8072
  * ```ts
@@ -6982,6 +8075,8 @@ export declare const makeEquivalence: <A>(isEquivalent: Equivalence.Equivalence<
6982
8075
  * Array.forEach([1, 2, 3], (n) => console.log(n)) // 1, 2, 3
6983
8076
  * ```
6984
8077
  *
8078
+ * @see {@link map} for transforming each element into a new array
8079
+ *
6985
8080
  * @category elements
6986
8081
  * @since 2.0.0
6987
8082
  */
@@ -6989,6 +8084,11 @@ export declare const forEach: {
6989
8084
  /**
6990
8085
  * Runs a side-effect for each element. The callback receives `(element, index)`.
6991
8086
  *
8087
+ * **When to use**
8088
+ *
8089
+ * Use to iterate over an array for side-effects only, when no transformed
8090
+ * result is needed.
8091
+ *
6992
8092
  * **Example** (Iterating with side-effects)
6993
8093
  *
6994
8094
  * ```ts
@@ -6997,6 +8097,8 @@ export declare const forEach: {
6997
8097
  * Array.forEach([1, 2, 3], (n) => console.log(n)) // 1, 2, 3
6998
8098
  * ```
6999
8099
  *
8100
+ * @see {@link map} for transforming each element into a new array
8101
+ *
7000
8102
  * @category elements
7001
8103
  * @since 2.0.0
7002
8104
  */
@@ -7004,6 +8106,11 @@ export declare const forEach: {
7004
8106
  /**
7005
8107
  * Runs a side-effect for each element. The callback receives `(element, index)`.
7006
8108
  *
8109
+ * **When to use**
8110
+ *
8111
+ * Use to iterate over an array for side-effects only, when no transformed
8112
+ * result is needed.
8113
+ *
7007
8114
  * **Example** (Iterating with side-effects)
7008
8115
  *
7009
8116
  * ```ts
@@ -7012,6 +8119,8 @@ export declare const forEach: {
7012
8119
  * Array.forEach([1, 2, 3], (n) => console.log(n)) // 1, 2, 3
7013
8120
  * ```
7014
8121
  *
8122
+ * @see {@link map} for transforming each element into a new array
8123
+ *
7015
8124
  * @category elements
7016
8125
  * @since 2.0.0
7017
8126
  */
@@ -7021,6 +8130,11 @@ export declare const forEach: {
7021
8130
  * Removes duplicates using a custom equivalence, preserving the order of the
7022
8131
  * first occurrence.
7023
8132
  *
8133
+ * **When to use**
8134
+ *
8135
+ * Use to remove all duplicate elements with a custom equivalence when default
8136
+ * equality is not appropriate.
8137
+ *
7024
8138
  * **Example** (Deduplicating with custom equality)
7025
8139
  *
7026
8140
  * ```ts
@@ -7040,6 +8154,11 @@ export declare const dedupeWith: {
7040
8154
  * Removes duplicates using a custom equivalence, preserving the order of the
7041
8155
  * first occurrence.
7042
8156
  *
8157
+ * **When to use**
8158
+ *
8159
+ * Use to remove all duplicate elements with a custom equivalence when default
8160
+ * equality is not appropriate.
8161
+ *
7043
8162
  * **Example** (Deduplicating with custom equality)
7044
8163
  *
7045
8164
  * ```ts
@@ -7059,6 +8178,11 @@ export declare const dedupeWith: {
7059
8178
  * Removes duplicates using a custom equivalence, preserving the order of the
7060
8179
  * first occurrence.
7061
8180
  *
8181
+ * **When to use**
8182
+ *
8183
+ * Use to remove all duplicate elements with a custom equivalence when default
8184
+ * equality is not appropriate.
8185
+ *
7062
8186
  * **Example** (Deduplicating with custom equality)
7063
8187
  *
7064
8188
  * ```ts
@@ -7078,6 +8202,11 @@ export declare const dedupeWith: {
7078
8202
  * Removes duplicates using a custom equivalence, preserving the order of the
7079
8203
  * first occurrence.
7080
8204
  *
8205
+ * **When to use**
8206
+ *
8207
+ * Use to remove all duplicate elements with a custom equivalence when default
8208
+ * equality is not appropriate.
8209
+ *
7081
8210
  * **Example** (Deduplicating with custom equality)
7082
8211
  *
7083
8212
  * ```ts
@@ -7098,6 +8227,11 @@ export declare const dedupeWith: {
7098
8227
  * Removes duplicates using `Equal.equivalence()`, preserving the order of the
7099
8228
  * first occurrence.
7100
8229
  *
8230
+ * **When to use**
8231
+ *
8232
+ * Use to remove repeated values from an iterable when Effect's default equality
8233
+ * is the right comparison, preserving the first occurrence.
8234
+ *
7101
8235
  * **Example** (Removing duplicates)
7102
8236
  *
7103
8237
  * ```ts
@@ -7116,6 +8250,12 @@ export declare const dedupe: <S extends Iterable<any>>(self: S) => S extends Non
7116
8250
  /**
7117
8251
  * Removes consecutive duplicate elements using a custom equivalence.
7118
8252
  *
8253
+ * **When to use**
8254
+ *
8255
+ * Use when consecutive duplicates should be collapsed using a custom
8256
+ * equivalence, while equivalent values that appear later should remain in the
8257
+ * result.
8258
+ *
7119
8259
  * **Details**
7120
8260
  *
7121
8261
  * - Non-adjacent duplicates are preserved.
@@ -7139,6 +8279,12 @@ export declare const dedupeAdjacentWith: {
7139
8279
  /**
7140
8280
  * Removes consecutive duplicate elements using a custom equivalence.
7141
8281
  *
8282
+ * **When to use**
8283
+ *
8284
+ * Use when consecutive duplicates should be collapsed using a custom
8285
+ * equivalence, while equivalent values that appear later should remain in the
8286
+ * result.
8287
+ *
7142
8288
  * **Details**
7143
8289
  *
7144
8290
  * - Non-adjacent duplicates are preserved.
@@ -7162,6 +8308,12 @@ export declare const dedupeAdjacentWith: {
7162
8308
  /**
7163
8309
  * Removes consecutive duplicate elements using a custom equivalence.
7164
8310
  *
8311
+ * **When to use**
8312
+ *
8313
+ * Use when consecutive duplicates should be collapsed using a custom
8314
+ * equivalence, while equivalent values that appear later should remain in the
8315
+ * result.
8316
+ *
7165
8317
  * **Details**
7166
8318
  *
7167
8319
  * - Non-adjacent duplicates are preserved.
@@ -7186,6 +8338,11 @@ export declare const dedupeAdjacentWith: {
7186
8338
  /**
7187
8339
  * Removes consecutive duplicate elements using `Equal.equivalence()`.
7188
8340
  *
8341
+ * **When to use**
8342
+ *
8343
+ * Use when you need to collapse consecutive duplicates while preserving later
8344
+ * non-consecutive repeats, and the default equality is sufficient.
8345
+ *
7189
8346
  * **Example** (Removing adjacent duplicates)
7190
8347
  *
7191
8348
  * ```ts
@@ -7256,6 +8413,11 @@ export declare const join: {
7256
8413
  /**
7257
8414
  * Maps over an array while threading an accumulator through each step, returning both the final state and the mapped array.
7258
8415
  *
8416
+ * **When to use**
8417
+ *
8418
+ * Use when mapping needs state threaded through each element and the final state
8419
+ * is also needed.
8420
+ *
7259
8421
  * **Details**
7260
8422
  *
7261
8423
  * - Combines `map` and `reduce` in a single pass.
@@ -7282,6 +8444,11 @@ export declare const mapAccum: {
7282
8444
  /**
7283
8445
  * Maps over an array while threading an accumulator through each step, returning both the final state and the mapped array.
7284
8446
  *
8447
+ * **When to use**
8448
+ *
8449
+ * Use when mapping needs state threaded through each element and the final state
8450
+ * is also needed.
8451
+ *
7285
8452
  * **Details**
7286
8453
  *
7287
8454
  * - Combines `map` and `reduce` in a single pass.
@@ -7308,6 +8475,11 @@ export declare const mapAccum: {
7308
8475
  /**
7309
8476
  * Maps over an array while threading an accumulator through each step, returning both the final state and the mapped array.
7310
8477
  *
8478
+ * **When to use**
8479
+ *
8480
+ * Use when mapping needs state threaded through each element and the final state
8481
+ * is also needed.
8482
+ *
7311
8483
  * **Details**
7312
8484
  *
7313
8485
  * - Combines `map` and `reduce` in a single pass.
@@ -7335,6 +8507,11 @@ export declare const mapAccum: {
7335
8507
  /**
7336
8508
  * Computes the cartesian product of two arrays, applying a combiner to each pair.
7337
8509
  *
8510
+ * **When to use**
8511
+ *
8512
+ * Use to compute every combination from two arrays and immediately transform
8513
+ * each pair into a custom result.
8514
+ *
7338
8515
  * **Details**
7339
8516
  *
7340
8517
  * - Produces every combination of an element from `self` with an element from `that`.
@@ -7350,7 +8527,7 @@ export declare const mapAccum: {
7350
8527
  * console.log(result) // ["1-a", "1-b", "2-a", "2-b"]
7351
8528
  * ```
7352
8529
  *
7353
- * @see {@link cartesian} returns tuples instead of applying a combiner
8530
+ * @see {@link cartesian} for returning tuples instead of applying a combiner
7354
8531
  *
7355
8532
  * @category elements
7356
8533
  * @since 2.0.0
@@ -7359,6 +8536,11 @@ export declare const cartesianWith: {
7359
8536
  /**
7360
8537
  * Computes the cartesian product of two arrays, applying a combiner to each pair.
7361
8538
  *
8539
+ * **When to use**
8540
+ *
8541
+ * Use to compute every combination from two arrays and immediately transform
8542
+ * each pair into a custom result.
8543
+ *
7362
8544
  * **Details**
7363
8545
  *
7364
8546
  * - Produces every combination of an element from `self` with an element from `that`.
@@ -7374,7 +8556,7 @@ export declare const cartesianWith: {
7374
8556
  * console.log(result) // ["1-a", "1-b", "2-a", "2-b"]
7375
8557
  * ```
7376
8558
  *
7377
- * @see {@link cartesian} returns tuples instead of applying a combiner
8559
+ * @see {@link cartesian} for returning tuples instead of applying a combiner
7378
8560
  *
7379
8561
  * @category elements
7380
8562
  * @since 2.0.0
@@ -7383,6 +8565,11 @@ export declare const cartesianWith: {
7383
8565
  /**
7384
8566
  * Computes the cartesian product of two arrays, applying a combiner to each pair.
7385
8567
  *
8568
+ * **When to use**
8569
+ *
8570
+ * Use to compute every combination from two arrays and immediately transform
8571
+ * each pair into a custom result.
8572
+ *
7386
8573
  * **Details**
7387
8574
  *
7388
8575
  * - Produces every combination of an element from `self` with an element from `that`.
@@ -7398,7 +8585,7 @@ export declare const cartesianWith: {
7398
8585
  * console.log(result) // ["1-a", "1-b", "2-a", "2-b"]
7399
8586
  * ```
7400
8587
  *
7401
- * @see {@link cartesian} returns tuples instead of applying a combiner
8588
+ * @see {@link cartesian} for returning tuples instead of applying a combiner
7402
8589
  *
7403
8590
  * @category elements
7404
8591
  * @since 2.0.0
@@ -7408,6 +8595,10 @@ export declare const cartesianWith: {
7408
8595
  /**
7409
8596
  * Computes the cartesian product of two arrays, returning all pairs as tuples.
7410
8597
  *
8598
+ * **When to use**
8599
+ *
8600
+ * Use when you need every `[a, b]` pair from two arrays as tuples.
8601
+ *
7411
8602
  * **Details**
7412
8603
  *
7413
8604
  * - Produces every `[a, b]` combination of an element from `self` with an element from `that`.
@@ -7431,6 +8622,10 @@ export declare const cartesian: {
7431
8622
  /**
7432
8623
  * Computes the cartesian product of two arrays, returning all pairs as tuples.
7433
8624
  *
8625
+ * **When to use**
8626
+ *
8627
+ * Use when you need every `[a, b]` pair from two arrays as tuples.
8628
+ *
7434
8629
  * **Details**
7435
8630
  *
7436
8631
  * - Produces every `[a, b]` combination of an element from `self` with an element from `that`.
@@ -7454,6 +8649,10 @@ export declare const cartesian: {
7454
8649
  /**
7455
8650
  * Computes the cartesian product of two arrays, returning all pairs as tuples.
7456
8651
  *
8652
+ * **When to use**
8653
+ *
8654
+ * Use when you need every `[a, b]` pair from two arrays as tuples.
8655
+ *
7457
8656
  * **Details**
7458
8657
  *
7459
8658
  * - Produces every `[a, b]` combination of an element from `self` with an element from `that`.
@@ -7476,11 +8675,11 @@ export declare const cartesian: {
7476
8675
  <A, B>(self: ReadonlyArray<A>, that: ReadonlyArray<B>): Array<[A, B]>;
7477
8676
  };
7478
8677
  /**
7479
- * Starting point for the "do simulation" — an array comprehension pattern.
8678
+ * Provides the starting point for the "do simulation" — an array comprehension pattern.
7480
8679
  *
7481
8680
  * **When to use**
7482
8681
  *
7483
- * - Begin a pipeline with `Do`, then use {@link bind} to introduce array variables and {@link let_ let} for plain values.
8682
+ * Use when begin a pipeline with `Do`, then use {@link bind} to introduce array variables and {@link let_ let} for plain values.
7484
8683
  * - Each `bind` produces the cartesian product of all bound variables (like nested loops).
7485
8684
  * - Use `filter` and `map` in the pipeline to add conditions and transformations.
7486
8685
  *
@@ -7508,7 +8707,12 @@ export declare const cartesian: {
7508
8707
  */
7509
8708
  export declare const Do: ReadonlyArray<{}>;
7510
8709
  /**
7511
- * Introduces a new array variable into a do-notation scope, producing the cartesian product with all previous bindings.
8710
+ * Adds a new array variable to a do-notation scope, producing the cartesian product with all previous bindings.
8711
+ *
8712
+ * **When to use**
8713
+ *
8714
+ * Use to add another array-producing binding to an `Array.Do` pipeline, pairing
8715
+ * each existing scope with every value returned by the callback.
7512
8716
  *
7513
8717
  * **Details**
7514
8718
  *
@@ -7539,7 +8743,12 @@ export declare const Do: ReadonlyArray<{}>;
7539
8743
  */
7540
8744
  export declare const bind: {
7541
8745
  /**
7542
- * Introduces a new array variable into a do-notation scope, producing the cartesian product with all previous bindings.
8746
+ * Adds a new array variable to a do-notation scope, producing the cartesian product with all previous bindings.
8747
+ *
8748
+ * **When to use**
8749
+ *
8750
+ * Use to add another array-producing binding to an `Array.Do` pipeline, pairing
8751
+ * each existing scope with every value returned by the callback.
7543
8752
  *
7544
8753
  * **Details**
7545
8754
  *
@@ -7572,7 +8781,12 @@ export declare const bind: {
7572
8781
  [K in N | keyof A]: K extends keyof A ? A[K] : B;
7573
8782
  }>;
7574
8783
  /**
7575
- * Introduces a new array variable into a do-notation scope, producing the cartesian product with all previous bindings.
8784
+ * Adds a new array variable to a do-notation scope, producing the cartesian product with all previous bindings.
8785
+ *
8786
+ * **When to use**
8787
+ *
8788
+ * Use to add another array-producing binding to an `Array.Do` pipeline, pairing
8789
+ * each existing scope with every value returned by the callback.
7576
8790
  *
7577
8791
  * **Details**
7578
8792
  *
@@ -7606,7 +8820,12 @@ export declare const bind: {
7606
8820
  }>;
7607
8821
  };
7608
8822
  /**
7609
- * Names the elements of an array by wrapping each in an object with the given key, starting a do-notation scope.
8823
+ * Wraps each array element in an object with the given key, starting a do-notation scope.
8824
+ *
8825
+ * **When to use**
8826
+ *
8827
+ * Use when you already have an array and want to start a do-notation pipeline
8828
+ * by naming each element.
7610
8829
  *
7611
8830
  * **Details**
7612
8831
  *
@@ -7633,7 +8852,12 @@ export declare const bind: {
7633
8852
  */
7634
8853
  export declare const bindTo: {
7635
8854
  /**
7636
- * Names the elements of an array by wrapping each in an object with the given key, starting a do-notation scope.
8855
+ * Wraps each array element in an object with the given key, starting a do-notation scope.
8856
+ *
8857
+ * **When to use**
8858
+ *
8859
+ * Use when you already have an array and want to start a do-notation pipeline
8860
+ * by naming each element.
7637
8861
  *
7638
8862
  * **Details**
7639
8863
  *
@@ -7662,7 +8886,12 @@ export declare const bindTo: {
7662
8886
  [K in N]: A;
7663
8887
  }>;
7664
8888
  /**
7665
- * Names the elements of an array by wrapping each in an object with the given key, starting a do-notation scope.
8889
+ * Wraps each array element in an object with the given key, starting a do-notation scope.
8890
+ *
8891
+ * **When to use**
8892
+ *
8893
+ * Use when you already have an array and want to start a do-notation pipeline
8894
+ * by naming each element.
7666
8895
  *
7667
8896
  * **Details**
7668
8897
  *
@@ -7748,7 +8977,12 @@ export declare function getReadonlyReducerConcat<A>(): Reducer.Reducer<ReadonlyA
7748
8977
  */
7749
8978
  export declare function makeReducerConcat<A>(): Reducer.Reducer<Array<A>>;
7750
8979
  /**
7751
- * Counts the elements in an iterable that satisfy a predicate.
8980
+ * Computes the number of elements in an iterable that satisfy a predicate.
8981
+ *
8982
+ * **When to use**
8983
+ *
8984
+ * Use to count how many elements satisfy a predicate when you only need the
8985
+ * number of matches instead of the matching elements.
7752
8986
  *
7753
8987
  * **Details**
7754
8988
  *
@@ -7771,7 +9005,12 @@ export declare function makeReducerConcat<A>(): Reducer.Reducer<Array<A>>;
7771
9005
  */
7772
9006
  export declare const countBy: {
7773
9007
  /**
7774
- * Counts the elements in an iterable that satisfy a predicate.
9008
+ * Computes the number of elements in an iterable that satisfy a predicate.
9009
+ *
9010
+ * **When to use**
9011
+ *
9012
+ * Use to count how many elements satisfy a predicate when you only need the
9013
+ * number of matches instead of the matching elements.
7775
9014
  *
7776
9015
  * **Details**
7777
9016
  *
@@ -7794,7 +9033,12 @@ export declare const countBy: {
7794
9033
  */
7795
9034
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => number;
7796
9035
  /**
7797
- * Counts the elements in an iterable that satisfy a predicate.
9036
+ * Computes the number of elements in an iterable that satisfy a predicate.
9037
+ *
9038
+ * **When to use**
9039
+ *
9040
+ * Use to count how many elements satisfy a predicate when you only need the
9041
+ * number of matches instead of the matching elements.
7798
9042
  *
7799
9043
  * **Details**
7800
9044
  *