effect 4.0.0-beta.102 → 4.0.0-beta.103

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 (1451) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +381 -407
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +514 -440
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +225 -173
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +336 -265
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +115 -80
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +16 -23
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2841 -3247
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1322 -1546
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +106 -73
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +228 -306
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +44 -102
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +297 -234
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +204 -450
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +7 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +7 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +198 -642
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +187 -290
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +211 -392
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.js.map +1 -1
  265. package/dist/Path.d.ts +38 -41
  266. package/dist/Path.d.ts.map +1 -1
  267. package/dist/Path.js +3 -4
  268. package/dist/Path.js.map +1 -1
  269. package/dist/Pipeable.d.ts +6 -5
  270. package/dist/Pipeable.d.ts.map +1 -1
  271. package/dist/Pipeable.js +2 -2
  272. package/dist/Pipeable.js.map +1 -1
  273. package/dist/PlatformError.d.ts +4 -4
  274. package/dist/PlatformError.js +3 -3
  275. package/dist/PlatformError.js.map +1 -1
  276. package/dist/Pool.d.ts +4 -2
  277. package/dist/Pool.d.ts.map +1 -1
  278. package/dist/Pool.js +4 -2
  279. package/dist/Pool.js.map +1 -1
  280. package/dist/Predicate.d.ts +200 -181
  281. package/dist/Predicate.d.ts.map +1 -1
  282. package/dist/Predicate.js +100 -108
  283. package/dist/Predicate.js.map +1 -1
  284. package/dist/PrimaryKey.d.ts +7 -7
  285. package/dist/PrimaryKey.js +5 -5
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +425 -494
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +373 -362
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +24 -18
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +11 -9
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +200 -159
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +162 -132
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +49 -74
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +35 -54
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +121 -63
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +42 -21
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +24 -13
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js +15 -9
  310. package/dist/RcRef.js.map +1 -1
  311. package/dist/Record.d.ts +291 -488
  312. package/dist/Record.d.ts.map +1 -1
  313. package/dist/Record.js +111 -202
  314. package/dist/Record.js.map +1 -1
  315. package/dist/Redactable.d.ts +6 -2
  316. package/dist/Redactable.d.ts.map +1 -1
  317. package/dist/Redactable.js +7 -2
  318. package/dist/Redactable.js.map +1 -1
  319. package/dist/Redacted.d.ts +25 -25
  320. package/dist/Redacted.d.ts.map +1 -1
  321. package/dist/Redacted.js +19 -20
  322. package/dist/Redacted.js.map +1 -1
  323. package/dist/Reducer.d.ts +8 -15
  324. package/dist/Reducer.d.ts.map +1 -1
  325. package/dist/Reducer.js +6 -12
  326. package/dist/Reducer.js.map +1 -1
  327. package/dist/Ref.d.ts +95 -165
  328. package/dist/Ref.d.ts.map +1 -1
  329. package/dist/Ref.js +75 -122
  330. package/dist/Ref.js.map +1 -1
  331. package/dist/References.d.ts +102 -168
  332. package/dist/References.d.ts.map +1 -1
  333. package/dist/References.js +102 -168
  334. package/dist/References.js.map +1 -1
  335. package/dist/RegExp.d.ts +10 -14
  336. package/dist/RegExp.d.ts.map +1 -1
  337. package/dist/RegExp.js +10 -14
  338. package/dist/RegExp.js.map +1 -1
  339. package/dist/Request.d.ts +31 -21
  340. package/dist/Request.d.ts.map +1 -1
  341. package/dist/Request.js +16 -13
  342. package/dist/Request.js.map +1 -1
  343. package/dist/RequestResolver.d.ts +201 -90
  344. package/dist/RequestResolver.d.ts.map +1 -1
  345. package/dist/RequestResolver.js +87 -41
  346. package/dist/RequestResolver.js.map +1 -1
  347. package/dist/Resource.js.map +1 -1
  348. package/dist/Result.d.ts +302 -470
  349. package/dist/Result.d.ts.map +1 -1
  350. package/dist/Result.js +133 -217
  351. package/dist/Result.js.map +1 -1
  352. package/dist/Runtime.d.ts +50 -75
  353. package/dist/Runtime.d.ts.map +1 -1
  354. package/dist/Runtime.js +39 -60
  355. package/dist/Runtime.js.map +1 -1
  356. package/dist/Schedule.d.ts +290 -1636
  357. package/dist/Schedule.d.ts.map +1 -1
  358. package/dist/Schedule.js +162 -803
  359. package/dist/Schedule.js.map +1 -1
  360. package/dist/Scheduler.d.ts +5 -5
  361. package/dist/Scheduler.d.ts.map +1 -1
  362. package/dist/Scheduler.js +18 -6
  363. package/dist/Scheduler.js.map +1 -1
  364. package/dist/Schema.d.ts +644 -642
  365. package/dist/Schema.d.ts.map +1 -1
  366. package/dist/Schema.js +491 -527
  367. package/dist/Schema.js.map +1 -1
  368. package/dist/SchemaAST.d.ts +27 -50
  369. package/dist/SchemaAST.d.ts.map +1 -1
  370. package/dist/SchemaAST.js +366 -279
  371. package/dist/SchemaAST.js.map +1 -1
  372. package/dist/SchemaError.d.ts +7 -6
  373. package/dist/SchemaError.d.ts.map +1 -1
  374. package/dist/SchemaError.js +7 -6
  375. package/dist/SchemaError.js.map +1 -1
  376. package/dist/SchemaGetter.d.ts +217 -174
  377. package/dist/SchemaGetter.d.ts.map +1 -1
  378. package/dist/SchemaGetter.js +218 -185
  379. package/dist/SchemaGetter.js.map +1 -1
  380. package/dist/SchemaIssue.d.ts +62 -190
  381. package/dist/SchemaIssue.d.ts.map +1 -1
  382. package/dist/SchemaIssue.js +73 -265
  383. package/dist/SchemaIssue.js.map +1 -1
  384. package/dist/SchemaParser.d.ts +2 -2
  385. package/dist/SchemaParser.d.ts.map +1 -1
  386. package/dist/SchemaParser.js +123 -75
  387. package/dist/SchemaParser.js.map +1 -1
  388. package/dist/SchemaRepresentation.d.ts +22 -36
  389. package/dist/SchemaRepresentation.d.ts.map +1 -1
  390. package/dist/SchemaRepresentation.js +20 -26
  391. package/dist/SchemaRepresentation.js.map +1 -1
  392. package/dist/SchemaTransformation.d.ts +114 -74
  393. package/dist/SchemaTransformation.d.ts.map +1 -1
  394. package/dist/SchemaTransformation.js +120 -85
  395. package/dist/SchemaTransformation.js.map +1 -1
  396. package/dist/Scope.d.ts +123 -151
  397. package/dist/Scope.d.ts.map +1 -1
  398. package/dist/Scope.js +72 -92
  399. package/dist/Scope.js.map +1 -1
  400. package/dist/ScopedCache.js.map +1 -1
  401. package/dist/ScopedRef.d.ts +3 -3
  402. package/dist/ScopedRef.js +2 -2
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +96 -10
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +78 -39
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +117 -107
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +107 -100
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +1 -1
  413. package/dist/Stdio.js.map +1 -1
  414. package/dist/Stream.d.ts +2415 -2949
  415. package/dist/Stream.d.ts.map +1 -1
  416. package/dist/Stream.js +1078 -1381
  417. package/dist/Stream.js.map +1 -1
  418. package/dist/String.d.ts +262 -308
  419. package/dist/String.d.ts.map +1 -1
  420. package/dist/String.js +184 -215
  421. package/dist/String.js.map +1 -1
  422. package/dist/Struct.d.ts +109 -114
  423. package/dist/Struct.d.ts.map +1 -1
  424. package/dist/Struct.js +41 -50
  425. package/dist/Struct.js.map +1 -1
  426. package/dist/SubscriptionRef.d.ts +282 -250
  427. package/dist/SubscriptionRef.d.ts.map +1 -1
  428. package/dist/SubscriptionRef.js +104 -92
  429. package/dist/SubscriptionRef.js.map +1 -1
  430. package/dist/Symbol.d.ts +3 -3
  431. package/dist/Symbol.js +3 -3
  432. package/dist/Symbol.js.map +1 -1
  433. package/dist/SynchronizedRef.js.map +1 -1
  434. package/dist/Take.js.map +1 -1
  435. package/dist/Terminal.d.ts +2 -2
  436. package/dist/Terminal.js +1 -1
  437. package/dist/Terminal.js.map +1 -1
  438. package/dist/Tracer.d.ts +100 -54
  439. package/dist/Tracer.d.ts.map +1 -1
  440. package/dist/Tracer.js +41 -24
  441. package/dist/Tracer.js.map +1 -1
  442. package/dist/Trie.d.ts +287 -679
  443. package/dist/Trie.d.ts.map +1 -1
  444. package/dist/Trie.js +109 -251
  445. package/dist/Trie.js.map +1 -1
  446. package/dist/Tuple.d.ts +92 -127
  447. package/dist/Tuple.d.ts.map +1 -1
  448. package/dist/Tuple.js +42 -57
  449. package/dist/Tuple.js.map +1 -1
  450. package/dist/TxChunk.d.ts +201 -121
  451. package/dist/TxChunk.d.ts.map +1 -1
  452. package/dist/TxChunk.js +85 -56
  453. package/dist/TxChunk.js.map +1 -1
  454. package/dist/TxDeferred.d.ts +62 -46
  455. package/dist/TxDeferred.d.ts.map +1 -1
  456. package/dist/TxDeferred.js +30 -22
  457. package/dist/TxDeferred.js.map +1 -1
  458. package/dist/TxHashMap.d.ts +631 -779
  459. package/dist/TxHashMap.d.ts.map +1 -1
  460. package/dist/TxHashMap.js +268 -330
  461. package/dist/TxHashMap.js.map +1 -1
  462. package/dist/TxHashSet.d.ts +297 -236
  463. package/dist/TxHashSet.d.ts.map +1 -1
  464. package/dist/TxHashSet.js +130 -100
  465. package/dist/TxHashSet.js.map +1 -1
  466. package/dist/TxPriorityQueue.d.ts +126 -95
  467. package/dist/TxPriorityQueue.d.ts.map +1 -1
  468. package/dist/TxPriorityQueue.js +74 -56
  469. package/dist/TxPriorityQueue.js.map +1 -1
  470. package/dist/TxPubSub.d.ts +101 -88
  471. package/dist/TxPubSub.d.ts.map +1 -1
  472. package/dist/TxPubSub.js +87 -66
  473. package/dist/TxPubSub.js.map +1 -1
  474. package/dist/TxQueue.d.ts +200 -180
  475. package/dist/TxQueue.d.ts.map +1 -1
  476. package/dist/TxQueue.js +160 -136
  477. package/dist/TxQueue.js.map +1 -1
  478. package/dist/TxReentrantLock.d.ts +97 -66
  479. package/dist/TxReentrantLock.d.ts.map +1 -1
  480. package/dist/TxReentrantLock.js +67 -45
  481. package/dist/TxReentrantLock.js.map +1 -1
  482. package/dist/TxRef.d.ts +51 -32
  483. package/dist/TxRef.d.ts.map +1 -1
  484. package/dist/TxRef.js +23 -15
  485. package/dist/TxRef.js.map +1 -1
  486. package/dist/TxSemaphore.d.ts +129 -95
  487. package/dist/TxSemaphore.d.ts.map +1 -1
  488. package/dist/TxSemaphore.js +85 -70
  489. package/dist/TxSemaphore.js.map +1 -1
  490. package/dist/TxSubscriptionRef.d.ts +97 -70
  491. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  492. package/dist/TxSubscriptionRef.js +44 -34
  493. package/dist/TxSubscriptionRef.js.map +1 -1
  494. package/dist/Types.d.ts +126 -67
  495. package/dist/Types.d.ts.map +1 -1
  496. package/dist/UndefinedOr.js.map +1 -1
  497. package/dist/Unify.d.ts +45 -65
  498. package/dist/Unify.d.ts.map +1 -1
  499. package/dist/Unify.js +6 -9
  500. package/dist/Unify.js.map +1 -1
  501. package/dist/Utils.d.ts +23 -16
  502. package/dist/Utils.d.ts.map +1 -1
  503. package/dist/Utils.js +3 -7
  504. package/dist/Utils.js.map +1 -1
  505. package/dist/index.js.map +1 -1
  506. package/dist/internal/array.js.map +1 -1
  507. package/dist/internal/core.js +1 -1
  508. package/dist/internal/core.js.map +1 -1
  509. package/dist/internal/dateTime.js +4 -0
  510. package/dist/internal/dateTime.js.map +1 -1
  511. package/dist/internal/doNotation.js.map +1 -1
  512. package/dist/internal/effect.js +77 -40
  513. package/dist/internal/effect.js.map +1 -1
  514. package/dist/internal/equal.js.map +1 -1
  515. package/dist/internal/errors.js.map +1 -1
  516. package/dist/internal/executionPlan.js.map +1 -1
  517. package/dist/internal/hashMap.js.map +1 -1
  518. package/dist/internal/hashSet.js.map +1 -1
  519. package/dist/internal/layer.js.map +1 -1
  520. package/dist/internal/matcher.js.map +1 -1
  521. package/dist/internal/metric.js.map +1 -1
  522. package/dist/internal/option.js.map +1 -1
  523. package/dist/internal/persistence.d.ts +2 -0
  524. package/dist/internal/persistence.d.ts.map +1 -0
  525. package/dist/internal/persistence.js +3 -0
  526. package/dist/internal/persistence.js.map +1 -0
  527. package/dist/internal/random.js.map +1 -1
  528. package/dist/internal/rcRef.js.map +1 -1
  529. package/dist/internal/record.js.map +1 -1
  530. package/dist/internal/redacted.js.map +1 -1
  531. package/dist/internal/references.js +3 -0
  532. package/dist/internal/references.js.map +1 -1
  533. package/dist/internal/request.js.map +1 -1
  534. package/dist/internal/result.js.map +1 -1
  535. package/dist/internal/schedule.js.map +1 -1
  536. package/dist/internal/schema/annotations.js.map +1 -1
  537. package/dist/internal/schema/cause.js.map +1 -1
  538. package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
  539. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  540. package/dist/internal/schema/fromRepresentation.js +8 -15
  541. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  542. package/dist/internal/schema/parser.d.ts +14 -0
  543. package/dist/internal/schema/parser.d.ts.map +1 -0
  544. package/dist/internal/schema/parser.js +13 -0
  545. package/dist/internal/schema/parser.js.map +1 -0
  546. package/dist/internal/schema/schema.js.map +1 -1
  547. package/dist/internal/schema/toArbitrary.js.map +1 -1
  548. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  549. package/dist/internal/schema/toEquivalence.js.map +1 -1
  550. package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
  551. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  552. package/dist/internal/schema/toRepresentation.js +87 -107
  553. package/dist/internal/schema/toRepresentation.js.map +1 -1
  554. package/dist/internal/stackTraceLimit.js.map +1 -1
  555. package/dist/internal/stream.js.map +1 -1
  556. package/dist/internal/tracer.js.map +1 -1
  557. package/dist/internal/trie.js +13 -9
  558. package/dist/internal/trie.js.map +1 -1
  559. package/dist/testing/FastCheck.d.ts +8 -7
  560. package/dist/testing/FastCheck.d.ts.map +1 -1
  561. package/dist/testing/FastCheck.js +8 -7
  562. package/dist/testing/FastCheck.js.map +1 -1
  563. package/dist/testing/TestClock.d.ts +57 -28
  564. package/dist/testing/TestClock.d.ts.map +1 -1
  565. package/dist/testing/TestClock.js +50 -18
  566. package/dist/testing/TestClock.js.map +1 -1
  567. package/dist/testing/TestConsole.d.ts +32 -31
  568. package/dist/testing/TestConsole.d.ts.map +1 -1
  569. package/dist/testing/TestConsole.js +24 -22
  570. package/dist/testing/TestConsole.js.map +1 -1
  571. package/dist/testing/TestSchema.d.ts +29 -29
  572. package/dist/testing/TestSchema.js +25 -25
  573. package/dist/testing/TestSchema.js.map +1 -1
  574. package/dist/testing/index.js.map +1 -1
  575. package/dist/unstable/ai/AiError.d.ts +95 -118
  576. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  577. package/dist/unstable/ai/AiError.js +94 -117
  578. package/dist/unstable/ai/AiError.js.map +1 -1
  579. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  580. package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
  581. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  582. package/dist/unstable/ai/Chat.d.ts +132 -97
  583. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  584. package/dist/unstable/ai/Chat.js +55 -51
  585. package/dist/unstable/ai/Chat.js.map +1 -1
  586. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  587. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  588. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  589. package/dist/unstable/ai/IdGenerator.js +26 -21
  590. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  591. package/dist/unstable/ai/LanguageModel.d.ts +107 -67
  592. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  593. package/dist/unstable/ai/LanguageModel.js +104 -64
  594. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  595. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  596. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  597. package/dist/unstable/ai/McpProtocol.js +20 -0
  598. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  599. package/dist/unstable/ai/McpSchema.d.ts +141 -75
  600. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  601. package/dist/unstable/ai/McpSchema.js +58 -50
  602. package/dist/unstable/ai/McpSchema.js.map +1 -1
  603. package/dist/unstable/ai/McpServer.d.ts +68 -59
  604. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  605. package/dist/unstable/ai/McpServer.js +694 -241
  606. package/dist/unstable/ai/McpServer.js.map +1 -1
  607. package/dist/unstable/ai/Model.d.ts +8 -19
  608. package/dist/unstable/ai/Model.d.ts.map +1 -1
  609. package/dist/unstable/ai/Model.js +9 -20
  610. package/dist/unstable/ai/Model.js.map +1 -1
  611. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  612. package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
  613. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  614. package/dist/unstable/ai/Prompt.d.ts +112 -38
  615. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  616. package/dist/unstable/ai/Prompt.js +53 -17
  617. package/dist/unstable/ai/Prompt.js.map +1 -1
  618. package/dist/unstable/ai/Response.d.ts +28 -14
  619. package/dist/unstable/ai/Response.d.ts.map +1 -1
  620. package/dist/unstable/ai/Response.js +9 -4
  621. package/dist/unstable/ai/Response.js.map +1 -1
  622. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  623. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  624. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  625. package/dist/unstable/ai/Telemetry.js +18 -7
  626. package/dist/unstable/ai/Telemetry.js.map +1 -1
  627. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  628. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  629. package/dist/unstable/ai/Tokenizer.js +10 -2
  630. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  631. package/dist/unstable/ai/Tool.d.ts +59 -44
  632. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  633. package/dist/unstable/ai/Tool.js +48 -39
  634. package/dist/unstable/ai/Tool.js.map +1 -1
  635. package/dist/unstable/ai/Toolkit.d.ts +26 -8
  636. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  637. package/dist/unstable/ai/Toolkit.js +18 -4
  638. package/dist/unstable/ai/Toolkit.js.map +1 -1
  639. package/dist/unstable/ai/index.d.ts +4 -0
  640. package/dist/unstable/ai/index.d.ts.map +1 -1
  641. package/dist/unstable/ai/index.js +4 -0
  642. package/dist/unstable/ai/index.js.map +1 -1
  643. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  644. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  645. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  646. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  647. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  648. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  649. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  650. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  651. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  652. package/dist/unstable/ai/internal/structured-output.js +14 -15
  653. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  654. package/dist/unstable/cli/Argument.d.ts +273 -69
  655. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  656. package/dist/unstable/cli/Argument.js +111 -33
  657. package/dist/unstable/cli/Argument.js.map +1 -1
  658. package/dist/unstable/cli/CliConfig.js.map +1 -1
  659. package/dist/unstable/cli/CliError.d.ts +69 -76
  660. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  661. package/dist/unstable/cli/CliError.js +57 -61
  662. package/dist/unstable/cli/CliError.js.map +1 -1
  663. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  664. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  665. package/dist/unstable/cli/CliOutput.js +26 -42
  666. package/dist/unstable/cli/CliOutput.js.map +1 -1
  667. package/dist/unstable/cli/Command.d.ts +705 -107
  668. package/dist/unstable/cli/Command.d.ts.map +1 -1
  669. package/dist/unstable/cli/Command.js +238 -42
  670. package/dist/unstable/cli/Command.js.map +1 -1
  671. package/dist/unstable/cli/Completions.js.map +1 -1
  672. package/dist/unstable/cli/Flag.d.ts +418 -138
  673. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  674. package/dist/unstable/cli/Flag.js +197 -71
  675. package/dist/unstable/cli/Flag.js.map +1 -1
  676. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  677. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  678. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  679. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  680. package/dist/unstable/cli/Param.d.ts +292 -78
  681. package/dist/unstable/cli/Param.d.ts.map +1 -1
  682. package/dist/unstable/cli/Param.js +128 -46
  683. package/dist/unstable/cli/Param.js.map +1 -1
  684. package/dist/unstable/cli/Primitive.d.ts +370 -149
  685. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  686. package/dist/unstable/cli/Primitive.js +344 -136
  687. package/dist/unstable/cli/Primitive.js.map +1 -1
  688. package/dist/unstable/cli/Prompt.d.ts +23 -14
  689. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  690. package/dist/unstable/cli/Prompt.js +23 -14
  691. package/dist/unstable/cli/Prompt.js.map +1 -1
  692. package/dist/unstable/cli/index.js.map +1 -1
  693. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  694. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  695. package/dist/unstable/cli/internal/command.js.map +1 -1
  696. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  697. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  698. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  699. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  700. package/dist/unstable/cli/internal/config.js.map +1 -1
  701. package/dist/unstable/cli/internal/help.js.map +1 -1
  702. package/dist/unstable/cli/internal/lexer.js +17 -7
  703. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  704. package/dist/unstable/cli/internal/parser.js +2 -2
  705. package/dist/unstable/cli/internal/parser.js.map +1 -1
  706. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  707. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  708. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  709. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  710. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  711. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  712. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  713. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  714. package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
  715. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  716. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  717. package/dist/unstable/cluster/Entity.d.ts +10 -10
  718. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  719. package/dist/unstable/cluster/Entity.js +8 -8
  720. package/dist/unstable/cluster/Entity.js.map +1 -1
  721. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js.map +1 -1
  723. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  724. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  725. package/dist/unstable/cluster/EntityProxy.js +4 -2
  726. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  727. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  728. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  729. package/dist/unstable/cluster/EntityResource.js +2 -2
  730. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  731. package/dist/unstable/cluster/EntityType.js.map +1 -1
  732. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  733. package/dist/unstable/cluster/Envelope.js +3 -3
  734. package/dist/unstable/cluster/Envelope.js.map +1 -1
  735. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  736. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  737. package/dist/unstable/cluster/HttpRunner.js +6 -4
  738. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  739. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  740. package/dist/unstable/cluster/MachineId.js.map +1 -1
  741. package/dist/unstable/cluster/Message.d.ts +9 -9
  742. package/dist/unstable/cluster/Message.js +6 -6
  743. package/dist/unstable/cluster/Message.js.map +1 -1
  744. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  745. package/dist/unstable/cluster/MessageStorage.js +5 -5
  746. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  747. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  748. package/dist/unstable/cluster/Reply.js +4 -4
  749. package/dist/unstable/cluster/Reply.js.map +1 -1
  750. package/dist/unstable/cluster/Runner.js.map +1 -1
  751. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  752. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  753. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  754. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  755. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  756. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  757. package/dist/unstable/cluster/RunnerServer.js +16 -16
  758. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  759. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  760. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  761. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  762. package/dist/unstable/cluster/Runners.d.ts +6 -6
  763. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  764. package/dist/unstable/cluster/Runners.js +19 -10
  765. package/dist/unstable/cluster/Runners.js.map +1 -1
  766. package/dist/unstable/cluster/ShardId.js.map +1 -1
  767. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  768. package/dist/unstable/cluster/Sharding.js +3 -2
  769. package/dist/unstable/cluster/Sharding.js.map +1 -1
  770. package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
  771. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  772. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  773. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  774. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  775. package/dist/unstable/cluster/Singleton.js.map +1 -1
  776. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  777. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  778. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  779. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  780. package/dist/unstable/cluster/Snowflake.js +8 -8
  781. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  782. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  783. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  784. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  785. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
  787. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  789. package/dist/unstable/cluster/index.js.map +1 -1
  790. package/dist/unstable/cluster/internal/entityManager.js +5 -5
  791. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  792. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  793. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  794. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  795. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  796. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  797. package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
  798. package/dist/unstable/devtools/DevTools.js.map +1 -1
  799. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  800. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  801. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  802. package/dist/unstable/devtools/index.js.map +1 -1
  803. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  804. package/dist/unstable/encoding/Msgpack.js +6 -8
  805. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  806. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  807. package/dist/unstable/encoding/Sse.d.ts +72 -8
  808. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  809. package/dist/unstable/encoding/Sse.js +58 -8
  810. package/dist/unstable/encoding/Sse.js.map +1 -1
  811. package/dist/unstable/encoding/index.js.map +1 -1
  812. package/dist/unstable/eventlog/Event.d.ts +20 -20
  813. package/dist/unstable/eventlog/Event.js.map +1 -1
  814. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  815. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  816. package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
  817. package/dist/unstable/eventlog/EventJournal.js +13 -13
  818. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  819. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  820. package/dist/unstable/eventlog/EventLog.js +3 -3
  821. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  822. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  823. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  824. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  825. package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
  826. package/dist/unstable/eventlog/EventLogMessage.js +1 -1
  827. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  828. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  829. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  830. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  831. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  832. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  833. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  834. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  835. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  836. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  837. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  838. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  839. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  840. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  841. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  842. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  843. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  844. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  845. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  846. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  847. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  848. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  849. package/dist/unstable/eventlog/index.js.map +1 -1
  850. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  851. package/dist/unstable/http/Cookies.d.ts +2 -2
  852. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  853. package/dist/unstable/http/Cookies.js +30 -18
  854. package/dist/unstable/http/Cookies.js.map +1 -1
  855. package/dist/unstable/http/Etag.d.ts +1 -1
  856. package/dist/unstable/http/Etag.js +1 -1
  857. package/dist/unstable/http/Etag.js.map +1 -1
  858. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  859. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  860. package/dist/unstable/http/Headers.d.ts +2 -2
  861. package/dist/unstable/http/Headers.js +2 -2
  862. package/dist/unstable/http/Headers.js.map +1 -1
  863. package/dist/unstable/http/HttpBody.d.ts +5 -3
  864. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  865. package/dist/unstable/http/HttpBody.js +11 -5
  866. package/dist/unstable/http/HttpBody.js.map +1 -1
  867. package/dist/unstable/http/HttpClient.d.ts +51 -44
  868. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  869. package/dist/unstable/http/HttpClient.js +46 -17
  870. package/dist/unstable/http/HttpClient.js.map +1 -1
  871. package/dist/unstable/http/HttpClientError.js.map +1 -1
  872. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  873. package/dist/unstable/http/HttpClientRequest.js +2 -0
  874. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  875. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  876. package/dist/unstable/http/HttpClientResponse.js +2 -2
  877. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  878. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  879. package/dist/unstable/http/HttpEffect.js +3 -3
  880. package/dist/unstable/http/HttpEffect.js.map +1 -1
  881. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  882. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  883. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  884. package/dist/unstable/http/HttpMethod.js +6 -9
  885. package/dist/unstable/http/HttpMethod.js.map +1 -1
  886. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  887. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  888. package/dist/unstable/http/HttpMiddleware.js +164 -39
  889. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  890. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  891. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  892. package/dist/unstable/http/HttpPlatform.js +32 -0
  893. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  894. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  895. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  896. package/dist/unstable/http/HttpRouter.js +78 -79
  897. package/dist/unstable/http/HttpRouter.js.map +1 -1
  898. package/dist/unstable/http/HttpServer.d.ts +13 -13
  899. package/dist/unstable/http/HttpServer.js +6 -6
  900. package/dist/unstable/http/HttpServer.js.map +1 -1
  901. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  902. package/dist/unstable/http/HttpServerError.js +2 -2
  903. package/dist/unstable/http/HttpServerError.js.map +1 -1
  904. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  905. package/dist/unstable/http/HttpServerRequest.js +4 -4
  906. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  907. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  908. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  909. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  910. package/dist/unstable/http/HttpServerResponse.js +10 -0
  911. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  912. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  913. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  914. package/dist/unstable/http/HttpStaticServer.js +35 -7
  915. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  916. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  917. package/dist/unstable/http/Multipart.d.ts +6 -6
  918. package/dist/unstable/http/Multipart.js +5 -5
  919. package/dist/unstable/http/Multipart.js.map +1 -1
  920. package/dist/unstable/http/Template.js.map +1 -1
  921. package/dist/unstable/http/Url.d.ts +33 -63
  922. package/dist/unstable/http/Url.d.ts.map +1 -1
  923. package/dist/unstable/http/Url.js +14 -28
  924. package/dist/unstable/http/Url.js.map +1 -1
  925. package/dist/unstable/http/UrlParams.d.ts +10 -18
  926. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  927. package/dist/unstable/http/UrlParams.js +9 -17
  928. package/dist/unstable/http/UrlParams.js.map +1 -1
  929. package/dist/unstable/http/index.js.map +1 -1
  930. package/dist/unstable/http/internal/compression.d.ts +2 -0
  931. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  932. package/dist/unstable/http/internal/compression.js +155 -0
  933. package/dist/unstable/http/internal/compression.js.map +1 -0
  934. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  935. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  936. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  937. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  938. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  939. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  940. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  941. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  942. package/dist/unstable/httpapi/HttpApiClient.js +11 -13
  943. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  944. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  945. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  946. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  947. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  948. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  949. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  950. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  951. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  952. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  953. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  954. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  955. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  956. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  957. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  958. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  959. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  960. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  961. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  962. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  963. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  964. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  965. package/dist/unstable/httpapi/OpenApi.js +13 -13
  966. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  967. package/dist/unstable/httpapi/index.js.map +1 -1
  968. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  969. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  970. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  971. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  972. package/dist/unstable/observability/Otlp.js.map +1 -1
  973. package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
  974. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  975. package/dist/unstable/observability/OtlpExporter.js +17 -4
  976. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  977. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  978. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
  979. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  980. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  981. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  982. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  983. package/dist/unstable/observability/OtlpResource.js +21 -12
  984. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  985. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  986. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  987. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  988. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  989. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  990. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  991. package/dist/unstable/observability/index.js.map +1 -1
  992. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  993. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  994. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  995. package/dist/unstable/observability/internal/protobuf.js +3 -0
  996. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  997. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  998. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  999. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1000. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1001. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1002. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1003. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1004. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1005. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1006. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1007. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1008. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1009. package/dist/unstable/persistence/Persistence.js +91 -15
  1010. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1011. package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
  1012. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1013. package/dist/unstable/persistence/RateLimiter.js +24 -13
  1014. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1015. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1016. package/dist/unstable/persistence/Redis.js +1 -1
  1017. package/dist/unstable/persistence/Redis.js.map +1 -1
  1018. package/dist/unstable/persistence/index.js.map +1 -1
  1019. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1020. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1021. package/dist/unstable/process/ChildProcess.js +14 -5
  1022. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1023. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1024. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1025. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  1026. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1027. package/dist/unstable/process/index.js.map +1 -1
  1028. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1029. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1030. package/dist/unstable/reactivity/AsyncResult.js +10 -10
  1031. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1032. package/dist/unstable/reactivity/Atom.d.ts +25 -22
  1033. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1034. package/dist/unstable/reactivity/Atom.js +14 -13
  1035. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1036. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1037. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1038. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1039. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1040. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1041. package/dist/unstable/reactivity/AtomRegistry.js +24 -3
  1042. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1043. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1044. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1045. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1046. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1047. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1048. package/dist/unstable/reactivity/Hydration.js +1 -1
  1049. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1050. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1051. package/dist/unstable/reactivity/index.js.map +1 -1
  1052. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1053. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/Rpc.js +4 -2
  1055. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1057. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcClient.js +12 -11
  1059. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1060. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1061. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1062. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1063. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1064. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1065. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1066. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1067. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1068. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1069. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1070. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1071. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1072. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1073. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1074. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1075. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1076. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1077. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1078. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1079. package/dist/unstable/rpc/RpcServer.js +17 -13
  1080. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1081. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1082. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1083. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1084. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1085. package/dist/unstable/rpc/Utils.js.map +1 -1
  1086. package/dist/unstable/rpc/index.js.map +1 -1
  1087. package/dist/unstable/schema/Model.d.ts +52 -50
  1088. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1089. package/dist/unstable/schema/Model.js +35 -33
  1090. package/dist/unstable/schema/Model.js.map +1 -1
  1091. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  1092. package/dist/unstable/schema/VariantSchema.js +2 -2
  1093. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1094. package/dist/unstable/schema/index.js.map +1 -1
  1095. package/dist/unstable/socket/Socket.d.ts +11 -3
  1096. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1097. package/dist/unstable/socket/Socket.js +9 -4
  1098. package/dist/unstable/socket/Socket.js.map +1 -1
  1099. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1100. package/dist/unstable/socket/index.js.map +1 -1
  1101. package/dist/unstable/sql/Migrator.js.map +1 -1
  1102. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1103. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1104. package/dist/unstable/sql/SqlClient.js +2 -2
  1105. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1106. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1107. package/dist/unstable/sql/SqlError.js.map +1 -1
  1108. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1109. package/dist/unstable/sql/SqlModel.js +2 -2
  1110. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1111. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1112. package/dist/unstable/sql/SqlResolver.js +2 -2
  1113. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1114. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1115. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1116. package/dist/unstable/sql/Statement.d.ts +6 -6
  1117. package/dist/unstable/sql/Statement.js +15 -15
  1118. package/dist/unstable/sql/Statement.js.map +1 -1
  1119. package/dist/unstable/sql/index.js.map +1 -1
  1120. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1121. package/dist/unstable/workers/Transferable.js +1 -1
  1122. package/dist/unstable/workers/Transferable.js.map +1 -1
  1123. package/dist/unstable/workers/Worker.d.ts +2 -2
  1124. package/dist/unstable/workers/Worker.js +2 -2
  1125. package/dist/unstable/workers/Worker.js.map +1 -1
  1126. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1127. package/dist/unstable/workers/WorkerError.js +6 -6
  1128. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1129. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1130. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1131. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1132. package/dist/unstable/workers/index.js.map +1 -1
  1133. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1134. package/dist/unstable/workflow/Activity.js +2 -2
  1135. package/dist/unstable/workflow/Activity.js.map +1 -1
  1136. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1137. package/dist/unstable/workflow/DurableClock.js +1 -1
  1138. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1139. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1140. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1141. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1142. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1143. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1144. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1145. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1146. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1147. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1148. package/dist/unstable/workflow/Workflow.js +13 -14
  1149. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1150. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1151. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1152. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1153. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1154. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1155. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1156. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1157. package/dist/unstable/workflow/index.js.map +1 -1
  1158. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1159. package/package.json +5 -6
  1160. package/src/Array.ts +982 -1045
  1161. package/src/BigDecimal.ts +433 -756
  1162. package/src/BigInt.ts +213 -269
  1163. package/src/Boolean.ts +146 -188
  1164. package/src/Cache.ts +409 -255
  1165. package/src/Cause.ts +167 -277
  1166. package/src/Channel.ts +891 -816
  1167. package/src/ChannelSchema.ts +1 -1
  1168. package/src/Chunk.ts +841 -1181
  1169. package/src/Clock.ts +181 -49
  1170. package/src/Combiner.ts +20 -33
  1171. package/src/Config.ts +615 -332
  1172. package/src/ConfigProvider.ts +214 -120
  1173. package/src/Console.ts +289 -39
  1174. package/src/Context.ts +319 -378
  1175. package/src/Cron.ts +68 -77
  1176. package/src/Crypto.ts +13 -15
  1177. package/src/Data.ts +60 -80
  1178. package/src/DateTime.ts +564 -660
  1179. package/src/Deferred.ts +253 -256
  1180. package/src/Duration.ts +216 -308
  1181. package/src/Effect.ts +2893 -3279
  1182. package/src/Encoding.ts +22 -40
  1183. package/src/Equal.ts +49 -39
  1184. package/src/Equivalence.ts +103 -105
  1185. package/src/ErrorReporter.ts +51 -27
  1186. package/src/ExecutionPlan.ts +13 -55
  1187. package/src/Exit.ts +116 -192
  1188. package/src/Fiber.ts +81 -148
  1189. package/src/FiberHandle.ts +152 -105
  1190. package/src/FiberMap.ts +225 -174
  1191. package/src/FiberSet.ts +124 -82
  1192. package/src/FileSystem.ts +155 -263
  1193. package/src/Filter.ts +61 -33
  1194. package/src/Formatter.ts +54 -56
  1195. package/src/Function.ts +76 -145
  1196. package/src/Graph.ts +416 -770
  1197. package/src/HKT.ts +12 -6
  1198. package/src/Hash.ts +52 -83
  1199. package/src/HashMap.ts +319 -411
  1200. package/src/HashRing.ts +1 -0
  1201. package/src/HashSet.ts +177 -284
  1202. package/src/Inspectable.ts +12 -12
  1203. package/src/Iterable.ts +620 -786
  1204. package/src/JsonPatch.ts +58 -112
  1205. package/src/JsonPointer.ts +8 -8
  1206. package/src/JsonSchema.ts +402 -244
  1207. package/src/Latch.ts +23 -35
  1208. package/src/Layer.ts +359 -260
  1209. package/src/LayerMap.ts +49 -29
  1210. package/src/LayerRef.ts +6 -2
  1211. package/src/LogLevel.ts +114 -214
  1212. package/src/Logger.ts +344 -697
  1213. package/src/ManagedRuntime.ts +7 -5
  1214. package/src/Match.ts +217 -252
  1215. package/src/Metric.ts +516 -1089
  1216. package/src/MutableHashMap.ts +218 -255
  1217. package/src/MutableHashSet.ts +84 -89
  1218. package/src/MutableList.ts +73 -370
  1219. package/src/MutableRef.ts +420 -243
  1220. package/src/Newtype.ts +21 -14
  1221. package/src/NonEmptyIterable.ts +7 -137
  1222. package/src/Number.ts +196 -233
  1223. package/src/Optic.ts +243 -383
  1224. package/src/Option.ts +447 -812
  1225. package/src/Order.ts +109 -109
  1226. package/src/Ordering.ts +20 -23
  1227. package/src/Path.ts +38 -41
  1228. package/src/Pipeable.ts +6 -5
  1229. package/src/PlatformError.ts +4 -4
  1230. package/src/Pool.ts +4 -2
  1231. package/src/Predicate.ts +200 -181
  1232. package/src/PrimaryKey.ts +7 -7
  1233. package/src/PubSub.ts +526 -552
  1234. package/src/Pull.ts +24 -18
  1235. package/src/Queue.ts +200 -159
  1236. package/src/Random.ts +49 -74
  1237. package/src/RcMap.ts +121 -63
  1238. package/src/RcRef.ts +24 -13
  1239. package/src/Record.ts +291 -488
  1240. package/src/Redactable.ts +10 -3
  1241. package/src/Redacted.ts +25 -25
  1242. package/src/Reducer.ts +8 -15
  1243. package/src/Ref.ts +221 -361
  1244. package/src/References.ts +102 -168
  1245. package/src/RegExp.ts +10 -14
  1246. package/src/Request.ts +31 -21
  1247. package/src/RequestResolver.ts +202 -91
  1248. package/src/Result.ts +312 -484
  1249. package/src/Runtime.ts +50 -75
  1250. package/src/Schedule.ts +308 -1734
  1251. package/src/Scheduler.ts +20 -7
  1252. package/src/Schema.ts +716 -745
  1253. package/src/SchemaAST.ts +466 -358
  1254. package/src/SchemaError.ts +7 -6
  1255. package/src/SchemaGetter.ts +242 -190
  1256. package/src/SchemaIssue.ts +89 -275
  1257. package/src/SchemaParser.ts +180 -93
  1258. package/src/SchemaRepresentation.ts +22 -40
  1259. package/src/SchemaTransformation.ts +129 -88
  1260. package/src/Scope.ts +123 -151
  1261. package/src/ScopedRef.ts +4 -4
  1262. package/src/Semaphore.ts +152 -51
  1263. package/src/Sink.ts +128 -113
  1264. package/src/Stdio.ts +1 -1
  1265. package/src/Stream.ts +2602 -3123
  1266. package/src/String.ts +275 -312
  1267. package/src/Struct.ts +109 -114
  1268. package/src/SubscriptionRef.ts +284 -252
  1269. package/src/Symbol.ts +3 -3
  1270. package/src/Terminal.ts +2 -2
  1271. package/src/Tracer.ts +102 -55
  1272. package/src/Trie.ts +287 -679
  1273. package/src/Tuple.ts +92 -127
  1274. package/src/TxChunk.ts +201 -121
  1275. package/src/TxDeferred.ts +62 -46
  1276. package/src/TxHashMap.ts +645 -799
  1277. package/src/TxHashSet.ts +443 -356
  1278. package/src/TxPriorityQueue.ts +130 -98
  1279. package/src/TxPubSub.ts +107 -80
  1280. package/src/TxQueue.ts +214 -183
  1281. package/src/TxReentrantLock.ts +97 -66
  1282. package/src/TxRef.ts +51 -32
  1283. package/src/TxSemaphore.ts +129 -95
  1284. package/src/TxSubscriptionRef.ts +97 -70
  1285. package/src/Types.ts +126 -67
  1286. package/src/Unify.ts +45 -65
  1287. package/src/Utils.ts +23 -16
  1288. package/src/internal/core.ts +2 -2
  1289. package/src/internal/dateTime.ts +6 -0
  1290. package/src/internal/effect.ts +93 -48
  1291. package/src/internal/persistence.ts +2 -0
  1292. package/src/internal/references.ts +3 -2
  1293. package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
  1294. package/src/internal/schema/fromRepresentation.ts +10 -16
  1295. package/src/internal/schema/parser.ts +22 -0
  1296. package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
  1297. package/src/internal/schema/toRepresentation.ts +104 -119
  1298. package/src/internal/trie.ts +10 -11
  1299. package/src/testing/FastCheck.ts +8 -7
  1300. package/src/testing/TestClock.ts +72 -30
  1301. package/src/testing/TestConsole.ts +32 -31
  1302. package/src/testing/TestSchema.ts +29 -29
  1303. package/src/unstable/ai/AiError.ts +95 -118
  1304. package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
  1305. package/src/unstable/ai/Chat.ts +132 -97
  1306. package/src/unstable/ai/IdGenerator.ts +32 -28
  1307. package/src/unstable/ai/LanguageModel.ts +107 -67
  1308. package/src/unstable/ai/McpProtocol.ts +48 -0
  1309. package/src/unstable/ai/McpSchema.ts +60 -50
  1310. package/src/unstable/ai/McpServer.ts +930 -304
  1311. package/src/unstable/ai/Model.ts +9 -20
  1312. package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
  1313. package/src/unstable/ai/Prompt.ts +145 -43
  1314. package/src/unstable/ai/Response.ts +28 -14
  1315. package/src/unstable/ai/Telemetry.ts +46 -13
  1316. package/src/unstable/ai/Tokenizer.ts +14 -3
  1317. package/src/unstable/ai/Tool.ts +59 -44
  1318. package/src/unstable/ai/Toolkit.ts +26 -8
  1319. package/src/unstable/ai/index.ts +5 -0
  1320. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1321. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1322. package/src/unstable/ai/internal/structured-output.ts +13 -18
  1323. package/src/unstable/cli/Argument.ts +273 -69
  1324. package/src/unstable/cli/CliError.ts +69 -76
  1325. package/src/unstable/cli/CliOutput.ts +44 -58
  1326. package/src/unstable/cli/Command.ts +705 -107
  1327. package/src/unstable/cli/Flag.ts +418 -138
  1328. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1329. package/src/unstable/cli/HelpDoc.ts +12 -4
  1330. package/src/unstable/cli/Param.ts +292 -78
  1331. package/src/unstable/cli/Primitive.ts +370 -149
  1332. package/src/unstable/cli/Prompt.ts +28 -14
  1333. package/src/unstable/cli/internal/lexer.ts +8 -2
  1334. package/src/unstable/cli/internal/parser.ts +2 -2
  1335. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1336. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
  1337. package/src/unstable/cluster/Entity.ts +15 -16
  1338. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1339. package/src/unstable/cluster/EntityResource.ts +2 -2
  1340. package/src/unstable/cluster/Envelope.ts +3 -3
  1341. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1342. package/src/unstable/cluster/Message.ts +9 -9
  1343. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1344. package/src/unstable/cluster/Reply.ts +4 -6
  1345. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1346. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1347. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1348. package/src/unstable/cluster/Runners.ts +23 -12
  1349. package/src/unstable/cluster/Sharding.ts +7 -8
  1350. package/src/unstable/cluster/ShardingConfig.ts +3 -3
  1351. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1352. package/src/unstable/cluster/Snowflake.ts +8 -8
  1353. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  1354. package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
  1355. package/src/unstable/cluster/internal/entityManager.ts +11 -15
  1356. package/src/unstable/encoding/Msgpack.ts +6 -8
  1357. package/src/unstable/encoding/Sse.ts +98 -16
  1358. package/src/unstable/eventlog/Event.ts +20 -20
  1359. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1360. package/src/unstable/eventlog/EventJournal.ts +15 -15
  1361. package/src/unstable/eventlog/EventLog.ts +3 -3
  1362. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  1363. package/src/unstable/eventlog/EventLogMessage.ts +2 -2
  1364. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1365. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1366. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1367. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1368. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1369. package/src/unstable/http/Cookies.ts +35 -21
  1370. package/src/unstable/http/Etag.ts +1 -1
  1371. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1372. package/src/unstable/http/Headers.ts +2 -2
  1373. package/src/unstable/http/HttpBody.ts +20 -5
  1374. package/src/unstable/http/HttpClient.ts +83 -55
  1375. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1376. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1377. package/src/unstable/http/HttpEffect.ts +8 -8
  1378. package/src/unstable/http/HttpMethod.ts +6 -9
  1379. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1380. package/src/unstable/http/HttpPlatform.ts +95 -0
  1381. package/src/unstable/http/HttpRouter.ts +102 -98
  1382. package/src/unstable/http/HttpServer.ts +13 -13
  1383. package/src/unstable/http/HttpServerError.ts +2 -2
  1384. package/src/unstable/http/HttpServerRequest.ts +4 -4
  1385. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1386. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1387. package/src/unstable/http/Multipart.ts +6 -6
  1388. package/src/unstable/http/Url.ts +33 -63
  1389. package/src/unstable/http/UrlParams.ts +10 -18
  1390. package/src/unstable/http/internal/compression.ts +196 -0
  1391. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1392. package/src/unstable/httpapi/HttpApiClient.ts +14 -14
  1393. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1394. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1395. package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
  1396. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1397. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1398. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1399. package/src/unstable/httpapi/OpenApi.ts +13 -13
  1400. package/src/unstable/observability/OtlpExporter.ts +31 -19
  1401. package/src/unstable/observability/OtlpMetrics.ts +4 -1
  1402. package/src/unstable/observability/OtlpResource.ts +26 -17
  1403. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1404. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1405. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1406. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1407. package/src/unstable/persistence/Persistable.ts +8 -8
  1408. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1409. package/src/unstable/persistence/Persistence.ts +126 -19
  1410. package/src/unstable/persistence/RateLimiter.ts +26 -15
  1411. package/src/unstable/persistence/Redis.ts +2 -2
  1412. package/src/unstable/process/ChildProcess.ts +64 -21
  1413. package/src/unstable/process/ChildProcessSpawner.ts +21 -10
  1414. package/src/unstable/reactivity/AsyncResult.ts +12 -13
  1415. package/src/unstable/reactivity/Atom.ts +28 -25
  1416. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1417. package/src/unstable/reactivity/AtomRegistry.ts +24 -3
  1418. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1419. package/src/unstable/reactivity/Hydration.ts +1 -1
  1420. package/src/unstable/rpc/Rpc.ts +35 -33
  1421. package/src/unstable/rpc/RpcClient.ts +16 -15
  1422. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1423. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1424. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1425. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1426. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1427. package/src/unstable/rpc/RpcServer.ts +18 -15
  1428. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1429. package/src/unstable/schema/Model.ts +52 -50
  1430. package/src/unstable/schema/VariantSchema.ts +5 -5
  1431. package/src/unstable/socket/Socket.ts +17 -4
  1432. package/src/unstable/sql/SqlClient.ts +5 -6
  1433. package/src/unstable/sql/SqlModel.ts +2 -2
  1434. package/src/unstable/sql/SqlResolver.ts +5 -5
  1435. package/src/unstable/sql/Statement.ts +24 -23
  1436. package/src/unstable/workers/Transferable.ts +1 -1
  1437. package/src/unstable/workers/Worker.ts +2 -2
  1438. package/src/unstable/workers/WorkerError.ts +7 -7
  1439. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1440. package/src/unstable/workflow/Activity.ts +2 -2
  1441. package/src/unstable/workflow/DurableClock.ts +1 -1
  1442. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1443. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1444. package/src/unstable/workflow/Workflow.ts +23 -23
  1445. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1446. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1447. package/dist/internal/version.d.ts +0 -3
  1448. package/dist/internal/version.d.ts.map +0 -1
  1449. package/dist/internal/version.js +0 -2
  1450. package/dist/internal/version.js.map +0 -1
  1451. package/src/internal/version.ts +0 -2
package/dist/Array.js CHANGED
@@ -33,11 +33,10 @@ import * as Tuple from "./Tuple.js";
33
33
  *
34
34
  * **Example** (Accessing the Array constructor)
35
35
  *
36
- * ```ts
36
+ * ```ts import.meta.vitest
37
37
  * import { Array } from "effect"
38
38
  *
39
- * const arr = new Array.Array(3)
40
- * console.log(arr) // [undefined, undefined, undefined]
39
+ * Array.Array === globalThis.Array // => true
41
40
  * ```
42
41
  *
43
42
  * @category constructors
@@ -58,11 +57,10 @@ export const Array = globalThis.Array;
58
57
  *
59
58
  * **Example** (Creating an array from values)
60
59
  *
61
- * ```ts
60
+ * ```ts import.meta.vitest
62
61
  * import { Array } from "effect"
63
62
  *
64
- * const result = Array.make(1, 2, 3)
65
- * console.log(result) // [1, 2, 3]
63
+ * Array.make(1, 2, 3) // => [1, 2, 3]
66
64
  * ```
67
65
  *
68
66
  * @see {@link of} — create a single-element array
@@ -85,11 +83,10 @@ export const make = (...elements) => elements;
85
83
  *
86
84
  * **Example** (Allocating a fixed-size array)
87
85
  *
88
- * ```ts
86
+ * ```ts import.meta.vitest
89
87
  * import { Array } from "effect"
90
88
  *
91
- * const result = Array.allocate<number>(3)
92
- * console.log(result.length) // 3
89
+ * Array.allocate<number>(3).length // => 3
93
90
  * ```
94
91
  *
95
92
  * @see {@link makeBy} — create an array by computing each element
@@ -113,11 +110,10 @@ export const allocate = n => new Array(n);
113
110
  *
114
111
  * **Example** (Generating values from indices)
115
112
  *
116
- * ```ts
113
+ * ```ts import.meta.vitest
117
114
  * import { Array } from "effect"
118
115
  *
119
- * const result = Array.makeBy(5, (n) => n * 2)
120
- * console.log(result) // [0, 2, 4, 6, 8]
116
+ * Array.makeBy(5, (n) => n * 2) // => [0, 2, 4, 6, 8]
121
117
  * ```
122
118
  *
123
119
  * @see {@link range} — create a range of integers
@@ -148,11 +144,10 @@ export const makeBy = /*#__PURE__*/dual(2, (n, f) => {
148
144
  *
149
145
  * **Example** (Creating a range)
150
146
  *
151
- * ```ts
147
+ * ```ts import.meta.vitest
152
148
  * import { Array } from "effect"
153
149
  *
154
- * const result = Array.range(1, 3)
155
- * console.log(result) // [1, 2, 3]
150
+ * Array.range(1, 3) // => [1, 2, 3]
156
151
  * ```
157
152
  *
158
153
  * @see {@link makeBy} — generate values from a function
@@ -176,11 +171,10 @@ export const range = (start, end) => start <= end ? makeBy(end - start + 1, i =>
176
171
  *
177
172
  * **Example** (Repeating a value)
178
173
  *
179
- * ```ts
174
+ * ```ts import.meta.vitest
180
175
  * import { Array } from "effect"
181
176
  *
182
- * const result = Array.replicate("a", 3)
183
- * console.log(result) // ["a", "a", "a"]
177
+ * Array.replicate("a", 3) // => ["a", "a", "a"]
184
178
  * ```
185
179
  *
186
180
  * @see {@link makeBy} — vary values based on index
@@ -204,11 +198,10 @@ export const replicate = /*#__PURE__*/dual(2, (a, n) => makeBy(n, () => a));
204
198
  *
205
199
  * **Example** (Converting a Set to an array)
206
200
  *
207
- * ```ts
201
+ * ```ts import.meta.vitest
208
202
  * import { Array } from "effect"
209
203
  *
210
- * const result = Array.fromIterable(new Set([1, 2, 3]))
211
- * console.log(result) // [1, 2, 3]
204
+ * Array.fromIterable(new Set([1, 2, 3])) // => [1, 2, 3]
212
205
  * ```
213
206
  *
214
207
  * @see {@link ensure} — wrap a single value or return an existing array
@@ -234,11 +227,11 @@ export const fromIterable = collection => Array.isArray(collection) ? collection
234
227
  *
235
228
  * **Example** (Normalizing input)
236
229
  *
237
- * ```ts
230
+ * ```ts import.meta.vitest
238
231
  * import { Array } from "effect"
239
232
  *
240
- * console.log(Array.ensure("a")) // ["a"]
241
- * console.log(Array.ensure(["a", "b", "c"])) // ["a", "b", "c"]
233
+ * Array.ensure("a") // => ["a"]
234
+ * Array.ensure(["a", "b", "c"]) // => ["a", "b", "c"]
242
235
  * ```
243
236
  *
244
237
  * @see {@link of} — always wrap in a single-element array
@@ -263,11 +256,10 @@ export const ensure = self => Array.isArray(self) ? self : [self];
263
256
  *
264
257
  * **Example** (Converting a record to entries)
265
258
  *
266
- * ```ts
259
+ * ```ts import.meta.vitest
267
260
  * import { Array } from "effect"
268
261
  *
269
- * const result = Array.fromRecord({ a: 1, b: 2, c: 3 })
270
- * console.log(result) // [["a", 1], ["b", 2], ["c", 3]]
262
+ * Array.fromRecord({ a: 1, b: 2, c: 3 }) // => [["a", 1], ["b", 2], ["c", 3]]
271
263
  * ```
272
264
  *
273
265
  * @see {@link Record.toEntries} the equivalent function from the Record module
@@ -286,11 +278,11 @@ export const fromRecord = Record.toEntries;
286
278
  *
287
279
  * **Example** (Converting an Option to an array)
288
280
  *
289
- * ```ts
281
+ * ```ts import.meta.vitest
290
282
  * import { Array, Option } from "effect"
291
283
  *
292
- * console.log(Array.fromOption(Option.some(1))) // [1]
293
- * console.log(Array.fromOption(Option.none())) // []
284
+ * Array.fromOption(Option.some(1)) // => [1]
285
+ * Array.fromOption(Option.none()) // => []
294
286
  * ```
295
287
  *
296
288
  * @see {@link getSomes} — extract `Some` values from an array of Options
@@ -313,15 +305,16 @@ export const fromOption = Option.toArray;
313
305
  *
314
306
  * **Example** (Branching on emptiness)
315
307
  *
316
- * ```ts
308
+ * ```ts import.meta.vitest
317
309
  * import { Array } from "effect"
318
310
  *
319
311
  * const describe = Array.match({
320
312
  * onEmpty: () => "empty",
321
313
  * onNonEmpty: ([head, ...tail]) => `head: ${head}, tail: ${tail.length}`
322
314
  * })
323
- * console.log(describe([])) // "empty"
324
- * console.log(describe([1, 2, 3])) // "head: 1, tail: 2"
315
+ *
316
+ * describe([]) // => "empty"
317
+ * describe([1, 2, 3]) // => "head: 1, tail: 2"
325
318
  * ```
326
319
  *
327
320
  * @see {@link matchLeft} — destructures into head + tail
@@ -349,15 +342,16 @@ export const match = /*#__PURE__*/dual(2, (self, {
349
342
  *
350
343
  * **Example** (Destructuring head and tail)
351
344
  *
352
- * ```ts
345
+ * ```ts import.meta.vitest
353
346
  * import { Array } from "effect"
354
347
  *
355
348
  * const matchLeft = Array.matchLeft({
356
349
  * onEmpty: () => "empty",
357
350
  * onNonEmpty: (head, tail) => `head: ${head}, tail: ${tail.length}`
358
351
  * })
359
- * console.log(matchLeft([])) // "empty"
360
- * console.log(matchLeft([1, 2, 3])) // "head: 1, tail: 2"
352
+ *
353
+ * matchLeft([]) // => "empty"
354
+ * matchLeft([1, 2, 3]) // => "head: 1, tail: 2"
361
355
  * ```
362
356
  *
363
357
  * @see {@link match} — receives the full non-empty array
@@ -385,15 +379,16 @@ export const matchLeft = /*#__PURE__*/dual(2, (self, {
385
379
  *
386
380
  * **Example** (Destructuring init and last)
387
381
  *
388
- * ```ts
382
+ * ```ts import.meta.vitest
389
383
  * import { Array } from "effect"
390
384
  *
391
385
  * const matchRight = Array.matchRight({
392
386
  * onEmpty: () => "empty",
393
387
  * onNonEmpty: (init, last) => `init: ${init.length}, last: ${last}`
394
388
  * })
395
- * console.log(matchRight([])) // "empty"
396
- * console.log(matchRight([1, 2, 3])) // "init: 2, last: 3"
389
+ *
390
+ * matchRight([]) // => "empty"
391
+ * matchRight([1, 2, 3]) // => "init: 2, last: 3"
397
392
  * ```
398
393
  *
399
394
  * @see {@link match} — receives the full non-empty array
@@ -416,11 +411,10 @@ export const matchRight = /*#__PURE__*/dual(2, (self, {
416
411
  *
417
412
  * **Example** (Prepending an element)
418
413
  *
419
- * ```ts
414
+ * ```ts import.meta.vitest
420
415
  * import { Array } from "effect"
421
416
  *
422
- * const result = Array.prepend([2, 3, 4], 1)
423
- * console.log(result) // [1, 2, 3, 4]
417
+ * Array.prepend([2, 3, 4], 1) // => [1, 2, 3, 4]
424
418
  * ```
425
419
  *
426
420
  * @see {@link append} — add to the end
@@ -443,11 +437,10 @@ export const prepend = /*#__PURE__*/dual(2, (self, head) => [head, ...self]);
443
437
  *
444
438
  * **Example** (Prepending multiple elements)
445
439
  *
446
- * ```ts
440
+ * ```ts import.meta.vitest
447
441
  * import { Array } from "effect"
448
442
  *
449
- * const result = Array.prependAll([2, 3], [0, 1])
450
- * console.log(result) // [0, 1, 2, 3]
443
+ * Array.prependAll([2, 3], [0, 1]) // => [0, 1, 2, 3]
451
444
  * ```
452
445
  *
453
446
  * @see {@link prepend} — add a single element to the front
@@ -467,11 +460,10 @@ export const prependAll = /*#__PURE__*/dual(2, (self, that) => fromIterable(that
467
460
  *
468
461
  * **Example** (Appending an element)
469
462
  *
470
- * ```ts
463
+ * ```ts import.meta.vitest
471
464
  * import { Array } from "effect"
472
465
  *
473
- * const result = Array.append([1, 2, 3], 4)
474
- * console.log(result) // [1, 2, 3, 4]
466
+ * Array.append([1, 2, 3], 4) // => [1, 2, 3, 4]
475
467
  * ```
476
468
  *
477
469
  * @see {@link prepend} — add to the front
@@ -495,11 +487,10 @@ export const append = /*#__PURE__*/dual(2, (self, last) => [...self, last]);
495
487
  *
496
488
  * **Example** (Concatenating arrays)
497
489
  *
498
- * ```ts
490
+ * ```ts import.meta.vitest
499
491
  * import { Array } from "effect"
500
492
  *
501
- * const result = Array.appendAll([1, 2], [3, 4])
502
- * console.log(result) // [1, 2, 3, 4]
493
+ * Array.appendAll([1, 2], [3, 4]) // => [1, 2, 3, 4]
503
494
  * ```
504
495
  *
505
496
  * @see {@link append} — add a single element to the end
@@ -524,11 +515,10 @@ export const appendAll = /*#__PURE__*/dual(2, (self, that) => fromIterable(self)
524
515
  *
525
516
  * **Example** (Running totals)
526
517
  *
527
- * ```ts
518
+ * ```ts import.meta.vitest
528
519
  * import { Array } from "effect"
529
520
  *
530
- * const result = Array.scan([1, 2, 3, 4], 0, (acc, value) => acc + value)
531
- * console.log(result) // [0, 1, 3, 6, 10]
521
+ * Array.scan([1, 2, 3, 4], 0, (acc, value) => acc + value) // => [0, 1, 3, 6, 10]
532
522
  * ```
533
523
  *
534
524
  * @see {@link scanRight} — right-to-left scan
@@ -561,11 +551,10 @@ export const scan = /*#__PURE__*/dual(3, (self, b, f) => {
561
551
  *
562
552
  * **Example** (Scanning running totals in reverse)
563
553
  *
564
- * ```ts
554
+ * ```ts import.meta.vitest
565
555
  * import { Array } from "effect"
566
556
  *
567
- * const result = Array.scanRight([1, 2, 3, 4], 0, (acc, value) => acc + value)
568
- * console.log(result) // [10, 9, 7, 4, 0]
557
+ * Array.scanRight([1, 2, 3, 4], 0, (acc, value) => acc + value) // => [10, 9, 7, 4, 0]
569
558
  * ```
570
559
  *
571
560
  * @see {@link scan} — left-to-right scan
@@ -597,11 +586,11 @@ export const scanRight = /*#__PURE__*/dual(3, (self, b, f) => {
597
586
  *
598
587
  * **Example** (Type-guarding an unknown value)
599
588
  *
600
- * ```ts
589
+ * ```ts import.meta.vitest
601
590
  * import { Array } from "effect"
602
591
  *
603
- * console.log(Array.isArray(null)) // false
604
- * console.log(Array.isArray([1, 2, 3])) // true
592
+ * Array.isArray(null) // => false
593
+ * Array.isArray([1, 2, 3]) // => true
605
594
  * ```
606
595
  *
607
596
  * @see {@link isArrayEmpty} — check for an empty array
@@ -616,11 +605,11 @@ export const isArray = Array.isArray;
616
605
  *
617
606
  * **Example** (Checking for an empty array)
618
607
  *
619
- * ```ts
608
+ * ```ts import.meta.vitest
620
609
  * import { Array } from "effect"
621
610
  *
622
- * console.log(Array.isArrayEmpty([])) // true
623
- * console.log(Array.isArrayEmpty([1, 2, 3])) // false
611
+ * Array.isArrayEmpty([]) // => true
612
+ * Array.isArrayEmpty([1, 2, 3]) // => false
624
613
  * ```
625
614
  *
626
615
  * @see {@link isReadonlyArrayEmpty} — readonly variant
@@ -635,11 +624,11 @@ export const isArrayEmpty = self => self.length === 0;
635
624
  *
636
625
  * **Example** (Checking for an empty readonly array)
637
626
  *
638
- * ```ts
627
+ * ```ts import.meta.vitest
639
628
  * import { Array } from "effect"
640
629
  *
641
- * console.log(Array.isReadonlyArrayEmpty([])) // true
642
- * console.log(Array.isReadonlyArrayEmpty([1, 2, 3])) // false
630
+ * Array.isReadonlyArrayEmpty([]) // => true
631
+ * Array.isReadonlyArrayEmpty([1, 2, 3]) // => false
643
632
  * ```
644
633
  *
645
634
  * @see {@link isArrayEmpty} — mutable variant
@@ -660,11 +649,11 @@ export const isReadonlyArrayEmpty = isArrayEmpty;
660
649
  *
661
650
  * **Example** (Checking for a non-empty array)
662
651
  *
663
- * ```ts
652
+ * ```ts import.meta.vitest
664
653
  * import { Array } from "effect"
665
654
  *
666
- * console.log(Array.isArrayNonEmpty([])) // false
667
- * console.log(Array.isArrayNonEmpty([1, 2, 3])) // true
655
+ * Array.isArrayNonEmpty([]) // => false
656
+ * Array.isArrayNonEmpty([1, 2, 3]) // => true
668
657
  * ```
669
658
  *
670
659
  * @see {@link isReadonlyArrayNonEmpty} — readonly variant
@@ -685,11 +674,11 @@ export const isArrayNonEmpty = internalArray.isArrayNonEmpty;
685
674
  *
686
675
  * **Example** (Checking for a non-empty readonly array)
687
676
  *
688
- * ```ts
677
+ * ```ts import.meta.vitest
689
678
  * import { Array } from "effect"
690
679
  *
691
- * console.log(Array.isReadonlyArrayNonEmpty([])) // false
692
- * console.log(Array.isReadonlyArrayNonEmpty([1, 2, 3])) // true
680
+ * Array.isReadonlyArrayNonEmpty([]) // => false
681
+ * Array.isReadonlyArrayNonEmpty([1, 2, 3]) // => true
693
682
  * ```
694
683
  *
695
684
  * @see {@link isArrayNonEmpty} — mutable variant
@@ -708,10 +697,10 @@ export const isReadonlyArrayNonEmpty = internalArray.isArrayNonEmpty;
708
697
  *
709
698
  * **Example** (Getting the length)
710
699
  *
711
- * ```ts
700
+ * ```ts import.meta.vitest
712
701
  * import { Array } from "effect"
713
702
  *
714
- * console.log(Array.length([1, 2, 3])) // 3
703
+ * Array.length([1, 2, 3]) // => 3
715
704
  * ```
716
705
  *
717
706
  * @category getters
@@ -720,7 +709,7 @@ export const isReadonlyArrayNonEmpty = internalArray.isArrayNonEmpty;
720
709
  export const length = self => self.length;
721
710
  /** @internal */
722
711
  export function isOutOfBounds(i, as) {
723
- return i < 0 || i >= as.length;
712
+ return !Number.isFinite(i) || i < 0 || i >= as.length;
724
713
  }
725
714
  const clamp = (i, as) => Math.floor(Math.min(Math.max(0, i), as.length));
726
715
  /**
@@ -738,11 +727,11 @@ const clamp = (i, as) => Math.floor(Math.min(Math.max(0, i), as.length));
738
727
  *
739
728
  * **Example** (Accessing indexes safely)
740
729
  *
741
- * ```ts
742
- * import { Array } from "effect"
730
+ * ```ts import.meta.vitest
731
+ * import { Array, Option } from "effect"
743
732
  *
744
- * console.log(Array.get([1, 2, 3], 1)) // Some(2)
745
- * console.log(Array.get([1, 2, 3], 10)) // None
733
+ * Array.get([1, 2, 3], 1) // => Option.some(2)
734
+ * Array.get([1, 2, 3], 10) // => Option.none()
746
735
  * ```
747
736
  *
748
737
  * @see {@link getUnsafe} for indexed access that throws when the index is out of bounds
@@ -771,10 +760,10 @@ export const get = /*#__PURE__*/dual(2, (self, index) => {
771
760
  *
772
761
  * **Example** (Accessing indexes unsafely)
773
762
  *
774
- * ```ts
763
+ * ```ts import.meta.vitest
775
764
  * import { Array } from "effect"
776
765
  *
777
- * console.log(Array.getUnsafe([1, 2, 3], 1)) // 2
766
+ * Array.getUnsafe([1, 2, 3], 1) // => 2
778
767
  * // Array.getUnsafe([1, 2, 3], 10) // throws Error
779
768
  * ```
780
769
  *
@@ -804,11 +793,10 @@ export const getUnsafe = /*#__PURE__*/dual(2, (self, index) => {
804
793
  *
805
794
  * **Example** (Destructuring head and tail)
806
795
  *
807
- * ```ts
796
+ * ```ts import.meta.vitest
808
797
  * import { Array } from "effect"
809
798
  *
810
- * const result = Array.unprepend([1, 2, 3, 4])
811
- * console.log(result) // [1, [2, 3, 4]]
799
+ * Array.unprepend([1, 2, 3, 4]) // => [1, [2, 3, 4]]
812
800
  * ```
813
801
  *
814
802
  * @see {@link unappend} for splitting a non-empty array into init and last
@@ -834,11 +822,10 @@ export const unprepend = self => [headNonEmpty(self), tailNonEmpty(self)];
834
822
  *
835
823
  * **Example** (Destructuring init and last)
836
824
  *
837
- * ```ts
825
+ * ```ts import.meta.vitest
838
826
  * import { Array } from "effect"
839
827
  *
840
- * const result = Array.unappend([1, 2, 3, 4])
841
- * console.log(result) // [[1, 2, 3], 4]
828
+ * Array.unappend([1, 2, 3, 4]) // => [[1, 2, 3], 4]
842
829
  * ```
843
830
  *
844
831
  * @see {@link unprepend} for splitting a non-empty array into head and tail
@@ -859,11 +846,11 @@ export const unappend = self => [initNonEmpty(self), lastNonEmpty(self)];
859
846
  *
860
847
  * **Example** (Getting the first element)
861
848
  *
862
- * ```ts
863
- * import { Array } from "effect"
849
+ * ```ts import.meta.vitest
850
+ * import { Array, Option } from "effect"
864
851
  *
865
- * console.log(Array.head([1, 2, 3])) // Some(1)
866
- * console.log(Array.head([])) // None
852
+ * Array.head([1, 2, 3]) // => Option.some(1)
853
+ * Array.head([]) // => Option.none()
867
854
  * ```
868
855
  *
869
856
  * @see {@link headNonEmpty} — direct access when array is known non-empty
@@ -884,10 +871,10 @@ export const head = /*#__PURE__*/get(0);
884
871
  *
885
872
  * **Example** (Getting the head of a non-empty array)
886
873
  *
887
- * ```ts
874
+ * ```ts import.meta.vitest
888
875
  * import { Array } from "effect"
889
876
  *
890
- * console.log(Array.headNonEmpty([1, 2, 3, 4])) // 1
877
+ * Array.headNonEmpty([1, 2, 3, 4]) // => 1
891
878
  * ```
892
879
  *
893
880
  * @see {@link head} — safe version for possibly-empty arrays
@@ -906,11 +893,11 @@ export const headNonEmpty = /*#__PURE__*/getUnsafe(0);
906
893
  *
907
894
  * **Example** (Getting the last element)
908
895
  *
909
- * ```ts
910
- * import { Array } from "effect"
896
+ * ```ts import.meta.vitest
897
+ * import { Array, Option } from "effect"
911
898
  *
912
- * console.log(Array.last([1, 2, 3])) // Some(3)
913
- * console.log(Array.last([])) // None
899
+ * Array.last([1, 2, 3]) // => Option.some(3)
900
+ * Array.last([]) // => Option.none()
914
901
  * ```
915
902
  *
916
903
  * @see {@link lastNonEmpty} — direct access when array is known non-empty
@@ -931,10 +918,10 @@ export const last = self => isReadonlyArrayNonEmpty(self) ? Option.some(lastNonE
931
918
  *
932
919
  * **Example** (Getting the last of a non-empty array)
933
920
  *
934
- * ```ts
921
+ * ```ts import.meta.vitest
935
922
  * import { Array } from "effect"
936
923
  *
937
- * console.log(Array.lastNonEmpty([1, 2, 3, 4])) // 4
924
+ * Array.lastNonEmpty([1, 2, 3, 4]) // => 4
938
925
  * ```
939
926
  *
940
927
  * @see {@link last} — safe version for possibly-empty arrays
@@ -956,11 +943,11 @@ export const lastNonEmpty = self => self[self.length - 1];
956
943
  *
957
944
  * **Example** (Getting the tail)
958
945
  *
959
- * ```ts
960
- * import { Array } from "effect"
946
+ * ```ts import.meta.vitest
947
+ * import { Array, Option } from "effect"
961
948
  *
962
- * console.log(Array.tail([1, 2, 3, 4])) // Option.some([2, 3, 4])
963
- * console.log(Array.tail([])) // Option.none()
949
+ * Array.tail([1, 2, 3, 4]) // => Option.some([2, 3, 4])
950
+ * Array.tail([]) // => Option.none()
964
951
  * ```
965
952
  *
966
953
  * @see {@link tailNonEmpty} — when the array is known non-empty
@@ -982,10 +969,10 @@ export function tail(self) {
982
969
  *
983
970
  * **Example** (Getting the tail of a non-empty array)
984
971
  *
985
- * ```ts
972
+ * ```ts import.meta.vitest
986
973
  * import { Array } from "effect"
987
974
  *
988
- * console.log(Array.tailNonEmpty([1, 2, 3, 4])) // [2, 3, 4]
975
+ * Array.tailNonEmpty([1, 2, 3, 4]) // => [2, 3, 4]
989
976
  * ```
990
977
  *
991
978
  * @see {@link tail} — safe version for possibly-empty arrays
@@ -1009,11 +996,11 @@ export const tailNonEmpty = self => self.slice(1);
1009
996
  *
1010
997
  * **Example** (Getting init)
1011
998
  *
1012
- * ```ts
1013
- * import { Array } from "effect"
999
+ * ```ts import.meta.vitest
1000
+ * import { Array, Option } from "effect"
1014
1001
  *
1015
- * console.log(Array.init([1, 2, 3, 4])) // Option.some([1, 2, 3])
1016
- * console.log(Array.init([])) // Option.none()
1002
+ * Array.init([1, 2, 3, 4]) // => Option.some([1, 2, 3])
1003
+ * Array.init([]) // => Option.none()
1017
1004
  * ```
1018
1005
  *
1019
1006
  * @see {@link initNonEmpty} — when the array is known non-empty
@@ -1035,10 +1022,10 @@ export function init(self) {
1035
1022
  *
1036
1023
  * **Example** (Getting init of a non-empty array)
1037
1024
  *
1038
- * ```ts
1025
+ * ```ts import.meta.vitest
1039
1026
  * import { Array } from "effect"
1040
1027
  *
1041
- * console.log(Array.initNonEmpty([1, 2, 3, 4])) // [1, 2, 3]
1028
+ * Array.initNonEmpty([1, 2, 3, 4]) // => [1, 2, 3]
1042
1029
  * ```
1043
1030
  *
1044
1031
  * @see {@link init} — safe version for possibly-empty arrays
@@ -1061,10 +1048,10 @@ export const initNonEmpty = self => self.slice(0, -1);
1061
1048
  *
1062
1049
  * **Example** (Taking from the start)
1063
1050
  *
1064
- * ```ts
1051
+ * ```ts import.meta.vitest
1065
1052
  * import { Array } from "effect"
1066
1053
  *
1067
- * console.log(Array.take([1, 2, 3, 4, 5], 3)) // [1, 2, 3]
1054
+ * Array.take([1, 2, 3, 4, 5], 3) // => [1, 2, 3]
1068
1055
  * ```
1069
1056
  *
1070
1057
  * @see {@link takeRight} for keeping elements from the end
@@ -1091,10 +1078,10 @@ export const take = /*#__PURE__*/dual(2, (self, n) => {
1091
1078
  *
1092
1079
  * **Example** (Taking from the end)
1093
1080
  *
1094
- * ```ts
1081
+ * ```ts import.meta.vitest
1095
1082
  * import { Array } from "effect"
1096
1083
  *
1097
- * console.log(Array.takeRight([1, 2, 3, 4, 5], 3)) // [3, 4, 5]
1084
+ * Array.takeRight([1, 2, 3, 4, 5], 3) // => [3, 4, 5]
1098
1085
  * ```
1099
1086
  *
1100
1087
  * @see {@link take} — keep from the start
@@ -1124,10 +1111,10 @@ export const takeRight = /*#__PURE__*/dual(2, (self, n) => {
1124
1111
  *
1125
1112
  * **Example** (Taking while condition holds)
1126
1113
  *
1127
- * ```ts
1114
+ * ```ts import.meta.vitest
1128
1115
  * import { Array } from "effect"
1129
1116
  *
1130
- * console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
1117
+ * Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4) // => [1, 3, 2]
1131
1118
  * ```
1132
1119
  *
1133
1120
  * @see {@link take} for keeping a fixed number of leading elements
@@ -1208,10 +1195,10 @@ const spanIndex = (self, predicate) => {
1208
1195
  *
1209
1196
  * **Example** (Splitting at predicate boundary)
1210
1197
  *
1211
- * ```ts
1198
+ * ```ts import.meta.vitest
1212
1199
  * import { Array } from "effect"
1213
1200
  *
1214
- * console.log(Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1)) // [[1, 3], [2, 4, 5]]
1201
+ * Array.span([1, 3, 2, 4, 5], (x) => x % 2 === 1) // => [[1, 3], [2, 4, 5]]
1215
1202
  * ```
1216
1203
  *
1217
1204
  * @see {@link takeWhile} for keeping only the matching prefix
@@ -1240,10 +1227,10 @@ export const span = /*#__PURE__*/dual(2, (self, predicate) => {
1240
1227
  *
1241
1228
  * **Example** (Dropping from the start)
1242
1229
  *
1243
- * ```ts
1230
+ * ```ts import.meta.vitest
1244
1231
  * import { Array } from "effect"
1245
1232
  *
1246
- * console.log(Array.drop([1, 2, 3, 4, 5], 2)) // [3, 4, 5]
1233
+ * Array.drop([1, 2, 3, 4, 5], 2) // => [3, 4, 5]
1247
1234
  * ```
1248
1235
  *
1249
1236
  * @see {@link dropRight} for removing a fixed number of elements from the end
@@ -1270,10 +1257,10 @@ export const drop = /*#__PURE__*/dual(2, (self, n) => {
1270
1257
  *
1271
1258
  * **Example** (Dropping from the end)
1272
1259
  *
1273
- * ```ts
1260
+ * ```ts import.meta.vitest
1274
1261
  * import { Array } from "effect"
1275
1262
  *
1276
- * console.log(Array.dropRight([1, 2, 3, 4, 5], 2)) // [1, 2, 3]
1263
+ * Array.dropRight([1, 2, 3, 4, 5], 2) // => [1, 2, 3]
1277
1264
  * ```
1278
1265
  *
1279
1266
  * @see {@link drop} — remove from the start
@@ -1299,10 +1286,10 @@ export const dropRight = /*#__PURE__*/dual(2, (self, n) => {
1299
1286
  *
1300
1287
  * **Example** (Dropping while condition holds)
1301
1288
  *
1302
- * ```ts
1289
+ * ```ts import.meta.vitest
1303
1290
  * import { Array } from "effect"
1304
1291
  *
1305
- * console.log(Array.dropWhile([1, 2, 3, 4, 5], (x) => x < 4)) // [4, 5]
1292
+ * Array.dropWhile([1, 2, 3, 4, 5], (x) => x < 4) // => [4, 5]
1306
1293
  * ```
1307
1294
  *
1308
1295
  * @see {@link takeWhile} — keep the matching prefix instead
@@ -1363,16 +1350,16 @@ export const dropWhileFilter = /*#__PURE__*/dual(2, (self, f) => {
1363
1350
  *
1364
1351
  * **Example** (Finding an index)
1365
1352
  *
1366
- * ```ts
1367
- * import { Array } from "effect"
1353
+ * ```ts import.meta.vitest
1354
+ * import { Array, Option } from "effect"
1368
1355
  *
1369
- * console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // Option.some(2)
1356
+ * Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5) // => Option.some(2)
1370
1357
  * ```
1371
1358
  *
1372
1359
  * @see {@link findLastIndex} — search from the end
1373
1360
  * @see {@link findFirst} — get the element itself
1374
1361
  *
1375
- * @category elements
1362
+ * @category searching
1376
1363
  * @since 2.0.0
1377
1364
  */
1378
1365
  export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => {
@@ -1395,16 +1382,16 @@ export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => {
1395
1382
  *
1396
1383
  * **Example** (Finding the last matching index)
1397
1384
  *
1398
- * ```ts
1399
- * import { Array } from "effect"
1385
+ * ```ts import.meta.vitest
1386
+ * import { Array, Option } from "effect"
1400
1387
  *
1401
- * console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // Option.some(1)
1388
+ * Array.findLastIndex([1, 3, 8, 9], (x) => x < 5) // => Option.some(1)
1402
1389
  * ```
1403
1390
  *
1404
1391
  * @see {@link findFirstIndex} — search from the start
1405
1392
  * @see {@link findLast} — get the element itself
1406
1393
  *
1407
- * @category elements
1394
+ * @category searching
1408
1395
  * @since 2.0.0
1409
1396
  */
1410
1397
  export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => {
@@ -1433,17 +1420,17 @@ export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => {
1433
1420
  *
1434
1421
  * **Example** (Finding the first match)
1435
1422
  *
1436
- * ```ts
1437
- * import { Array } from "effect"
1423
+ * ```ts import.meta.vitest
1424
+ * import { Array, Option } from "effect"
1438
1425
  *
1439
- * console.log(Array.findFirst([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some(4)
1426
+ * Array.findFirst([1, 2, 3, 4, 5], (x) => x > 3) // => Option.some(4)
1440
1427
  * ```
1441
1428
  *
1442
1429
  * @see {@link findLast} — search from the end
1443
1430
  * @see {@link findFirstIndex} — get the index instead
1444
1431
  * @see {@link findFirstWithIndex} — get both element and index
1445
1432
  *
1446
- * @category elements
1433
+ * @category searching
1447
1434
  * @since 2.0.0
1448
1435
  */
1449
1436
  export const findFirst = moduleIterable.findFirst;
@@ -1463,16 +1450,16 @@ export const findFirst = moduleIterable.findFirst;
1463
1450
  *
1464
1451
  * **Example** (Finding element with its index)
1465
1452
  *
1466
- * ```ts
1467
- * import { Array } from "effect"
1453
+ * ```ts import.meta.vitest
1454
+ * import { Array, Option } from "effect"
1468
1455
  *
1469
- * console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
1456
+ * Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3) // => Option.some([4, 3])
1470
1457
  * ```
1471
1458
  *
1472
1459
  * @see {@link findFirst} — get only the element
1473
1460
  * @see {@link findFirstIndex} — get only the index
1474
1461
  *
1475
- * @category elements
1462
+ * @category searching
1476
1463
  * @since 3.17.0
1477
1464
  */
1478
1465
  export const findFirstWithIndex = /*#__PURE__*/dual(2, (self, f) => {
@@ -1507,16 +1494,16 @@ export const findFirstWithIndex = /*#__PURE__*/dual(2, (self, f) => {
1507
1494
  *
1508
1495
  * **Example** (Finding the last match)
1509
1496
  *
1510
- * ```ts
1511
- * import { Array } from "effect"
1497
+ * ```ts import.meta.vitest
1498
+ * import { Array, Option } from "effect"
1512
1499
  *
1513
- * console.log(Array.findLast([1, 2, 3, 4, 5], (n) => n % 2 === 0)) // Option.some(4)
1500
+ * Array.findLast([1, 2, 3, 4, 5], (n) => n % 2 === 0) // => Option.some(4)
1514
1501
  * ```
1515
1502
  *
1516
1503
  * @see {@link findFirst} — search from the start
1517
1504
  * @see {@link findLastIndex} — get the index instead
1518
1505
  *
1519
- * @category elements
1506
+ * @category searching
1520
1507
  * @since 2.0.0
1521
1508
  */
1522
1509
  export const findLast = /*#__PURE__*/dual(2, (self, f) => {
@@ -1550,24 +1537,25 @@ export const findLast = /*#__PURE__*/dual(2, (self, f) => {
1550
1537
  *
1551
1538
  * **Example** (Inserting at an index)
1552
1539
  *
1553
- * ```ts
1554
- * import { Array } from "effect"
1540
+ * ```ts import.meta.vitest
1541
+ * import { Array, Option } from "effect"
1555
1542
  *
1556
- * console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // Option.some(["a", "b", "c", "d", "e"])
1543
+ * Array.insertAt(["a", "b", "c", "e"], 3, "d") // => Option.some(["a", "b", "c", "d", "e"])
1557
1544
  * ```
1558
1545
  *
1559
1546
  * @see {@link replace} — replace an existing element
1560
1547
  * @see {@link modify} — transform an element at an index
1561
1548
  *
1562
- * @category elements
1549
+ * @category transforming
1563
1550
  * @since 2.0.0
1564
1551
  */
1565
1552
  export const insertAt = /*#__PURE__*/dual(3, (self, i, b) => {
1566
1553
  const out = Array.from(self); // copy because `splice` mutates the array
1567
- if (i < 0 || i > out.length) {
1554
+ const index = Math.floor(i);
1555
+ if (index !== out.length && isOutOfBounds(index, out)) {
1568
1556
  return Option.none();
1569
1557
  }
1570
- out.splice(i, 0, b);
1558
+ out.splice(index, 0, b);
1571
1559
  return Option.some(out);
1572
1560
  });
1573
1561
  /**
@@ -1584,16 +1572,16 @@ export const insertAt = /*#__PURE__*/dual(3, (self, i, b) => {
1584
1572
  *
1585
1573
  * **Example** (Replacing an element)
1586
1574
  *
1587
- * ```ts
1588
- * import { Array } from "effect"
1575
+ * ```ts import.meta.vitest
1576
+ * import { Array, Option } from "effect"
1589
1577
  *
1590
- * console.log(Array.replace([1, 2, 3], 1, 4)) // Option.some([1, 4, 3])
1578
+ * Array.replace([1, 2, 3], 1, 4) // => Option.some([1, 4, 3])
1591
1579
  * ```
1592
1580
  *
1593
1581
  * @see {@link modify} — transform an element with a function
1594
1582
  * @see {@link insertAt} — insert without removing
1595
1583
  *
1596
- * @category elements
1584
+ * @category transforming
1597
1585
  * @since 2.0.0
1598
1586
  */
1599
1587
  export const replace = /*#__PURE__*/dual(3, (self, i, b) => modify(self, i, () => b));
@@ -1612,28 +1600,32 @@ export const replace = /*#__PURE__*/dual(3, (self, i, b) => modify(self, i, () =
1612
1600
  *
1613
1601
  * **Example** (Modifying an element)
1614
1602
  *
1615
- * ```ts
1616
- * import { Array } from "effect"
1603
+ * ```ts import.meta.vitest
1604
+ * import { Array, Option } from "effect"
1605
+ *
1606
+ * const values = [1, 2, 3, 4]
1607
+ * const double = (n: number) => n * 2
1617
1608
  *
1618
- * console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // Option.some([1, 2, 6, 4])
1619
- * console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) // Option.none()
1609
+ * Array.modify(values, 2, double) // => Option.some([1, 2, 6, 4])
1610
+ * Array.modify(values, 5, double) // => Option.none()
1620
1611
  * ```
1621
1612
  *
1622
1613
  * @see {@link replace} — set a fixed value at an index
1623
1614
  * @see {@link modifyHeadNonEmpty} — modify the first element
1624
1615
  * @see {@link modifyLastNonEmpty} — modify the last element
1625
1616
  *
1626
- * @category elements
1617
+ * @category transforming
1627
1618
  * @since 2.0.0
1628
1619
  */
1629
1620
  export const modify = /*#__PURE__*/dual(3, (self, i, f) => {
1630
1621
  const arr = Array.from(self);
1631
- if (isOutOfBounds(i, arr)) {
1622
+ const index = Math.floor(i);
1623
+ if (isOutOfBounds(index, arr)) {
1632
1624
  return Option.none();
1633
1625
  }
1634
1626
  const out = arr;
1635
- const b = f(arr[i]);
1636
- out[i] = b;
1627
+ const b = f(arr[index]);
1628
+ out[index] = b;
1637
1629
  return Option.some(out);
1638
1630
  });
1639
1631
  /**
@@ -1647,25 +1639,26 @@ export const modify = /*#__PURE__*/dual(3, (self, i, f) => {
1647
1639
  *
1648
1640
  * **Example** (Removing an element)
1649
1641
  *
1650
- * ```ts
1642
+ * ```ts import.meta.vitest
1651
1643
  * import { Array } from "effect"
1652
1644
  *
1653
- * console.log(Array.remove([1, 2, 3, 4], 2)) // [1, 2, 4]
1654
- * console.log(Array.remove([1, 2, 3, 4], 5)) // [1, 2, 3, 4]
1645
+ * Array.remove([1, 2, 3, 4], 2) // => [1, 2, 4]
1646
+ * Array.remove([1, 2, 3, 4], 5) // => [1, 2, 3, 4]
1655
1647
  * ```
1656
1648
  *
1657
1649
  * @see {@link insertAt} — insert an element
1658
1650
  * @see {@link filter} — remove elements by predicate
1659
1651
  *
1660
- * @category elements
1652
+ * @category transforming
1661
1653
  * @since 2.0.0
1662
1654
  */
1663
1655
  export const remove = /*#__PURE__*/dual(2, (self, i) => {
1664
1656
  const out = Array.from(self);
1665
- if (isOutOfBounds(i, out)) {
1657
+ const index = Math.floor(i);
1658
+ if (isOutOfBounds(index, out)) {
1666
1659
  return out;
1667
1660
  }
1668
- out.splice(i, 1);
1661
+ out.splice(index, 1);
1669
1662
  return out;
1670
1663
  });
1671
1664
  /**
@@ -1682,13 +1675,13 @@ export const remove = /*#__PURE__*/dual(2, (self, i) => {
1682
1675
  *
1683
1676
  * **Example** (Reversing an array)
1684
1677
  *
1685
- * ```ts
1678
+ * ```ts import.meta.vitest
1686
1679
  * import { Array } from "effect"
1687
1680
  *
1688
- * console.log(Array.reverse([1, 2, 3, 4])) // [4, 3, 2, 1]
1681
+ * Array.reverse([1, 2, 3, 4]) // => [4, 3, 2, 1]
1689
1682
  * ```
1690
1683
  *
1691
- * @category elements
1684
+ * @category transforming
1692
1685
  * @since 2.0.0
1693
1686
  */
1694
1687
  export const reverse = self => Array.from(self).reverse();
@@ -1706,10 +1699,10 @@ export const reverse = self => Array.from(self).reverse();
1706
1699
  *
1707
1700
  * **Example** (Sorting numbers)
1708
1701
  *
1709
- * ```ts
1702
+ * ```ts import.meta.vitest
1710
1703
  * import { Array, Order } from "effect"
1711
1704
  *
1712
- * console.log(Array.sort([3, 1, 4, 1, 5], Order.Number)) // [1, 1, 3, 4, 5]
1705
+ * Array.sort([3, 1, 4, 1, 5], Order.Number) // => [1, 1, 3, 4, 5]
1713
1706
  * ```
1714
1707
  *
1715
1708
  * @see {@link sortWith} — sort by a mapping function
@@ -1738,17 +1731,16 @@ export const sort = /*#__PURE__*/dual(2, (self, O) => {
1738
1731
  *
1739
1732
  * **Example** (Sorting strings by length)
1740
1733
  *
1741
- * ```ts
1734
+ * ```ts import.meta.vitest
1742
1735
  * import { Array, Order } from "effect"
1743
1736
  *
1744
- * console.log(Array.sortWith(["aaa", "b", "cc"], (s) => s.length, Order.Number))
1745
- * // ["b", "cc", "aaa"]
1737
+ * Array.sortWith(["aaa", "b", "cc"], (s) => s.length, Order.Number) // => ["b", "cc", "aaa"]
1746
1738
  * ```
1747
1739
  *
1748
1740
  * @see {@link sort} for sorting with an `Order` that compares the elements directly
1749
1741
  * @see {@link sortBy} for sorting with multiple `Order`s applied in sequence
1750
1742
  *
1751
- * @category elements
1743
+ * @category sorting
1752
1744
  * @since 2.0.0
1753
1745
  */
1754
1746
  export const sortWith = /*#__PURE__*/dual(3, (self, f, order) => Array.from(self).map(a => [a, f(a)]).sort(([, a], [, b]) => order(a, b)).map(([_]) => _));
@@ -1768,7 +1760,7 @@ export const sortWith = /*#__PURE__*/dual(3, (self, f, order) => Array.from(self
1768
1760
  *
1769
1761
  * **Example** (Sorting by multiple keys)
1770
1762
  *
1771
- * ```ts
1763
+ * ```ts import.meta.vitest
1772
1764
  * import { Array, Order, pipe } from "effect"
1773
1765
  *
1774
1766
  * const users = [
@@ -1777,15 +1769,15 @@ export const sortWith = /*#__PURE__*/dual(3, (self, f, order) => Array.from(self
1777
1769
  * { name: "Charlie", age: 30 }
1778
1770
  * ]
1779
1771
  *
1780
- * const result = pipe(
1772
+ * const sortedUsers = pipe(
1781
1773
  * users,
1782
1774
  * Array.sortBy(
1783
1775
  * Order.mapInput(Order.Number, (user: (typeof users)[number]) => user.age),
1784
1776
  * Order.mapInput(Order.String, (user: (typeof users)[number]) => user.name)
1785
1777
  * )
1786
1778
  * )
1787
- * console.log(result)
1788
- * // [{ name: "Bob", age: 25 }, { name: "Alice", age: 30 }, { name: "Charlie", age: 30 }]
1779
+ *
1780
+ * sortedUsers.map((user) => user.name).join(",") // => "Bob,Alice,Charlie"
1789
1781
  * ```
1790
1782
  *
1791
1783
  * @see {@link sort} — sort by a single `Order`
@@ -1818,10 +1810,10 @@ export const sortBy = (...orders) => {
1818
1810
  *
1819
1811
  * **Example** (Zipping two arrays)
1820
1812
  *
1821
- * ```ts
1813
+ * ```ts import.meta.vitest
1822
1814
  * import { Array } from "effect"
1823
1815
  *
1824
- * console.log(Array.zip([1, 2, 3], ["a", "b"])) // [[1, "a"], [2, "b"]]
1816
+ * Array.zip([1, 2, 3], ["a", "b"]) // => [[1, "a"], [2, "b"]]
1825
1817
  * ```
1826
1818
  *
1827
1819
  * @see {@link zipWith} — zip with a combiner function
@@ -1842,10 +1834,10 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, Tupl
1842
1834
  *
1843
1835
  * **Example** (Zipping with addition)
1844
1836
  *
1845
- * ```ts
1837
+ * ```ts import.meta.vitest
1846
1838
  * import { Array } from "effect"
1847
1839
  *
1848
- * console.log(Array.zipWith([1, 2, 3], [4, 5, 6], (a, b) => a + b)) // [5, 7, 9]
1840
+ * Array.zipWith([1, 2, 3], [4, 5, 6], (a, b) => a + b) // => [5, 7, 9]
1849
1841
  * ```
1850
1842
  *
1851
1843
  * @see {@link zip} — zip into tuples
@@ -1871,10 +1863,10 @@ export const zipWith = /*#__PURE__*/dual(3, (self, that, f) => {
1871
1863
  *
1872
1864
  * **Example** (Unzipping pairs)
1873
1865
  *
1874
- * ```ts
1866
+ * ```ts import.meta.vitest
1875
1867
  * import { Array } from "effect"
1876
1868
  *
1877
- * console.log(Array.unzip([[1, "a"], [2, "b"], [3, "c"]])) // [[1, 2, 3], ["a", "b", "c"]]
1869
+ * Array.unzip([[1, "a"], [2, "b"], [3, "c"]]) // => [[1, 2, 3], ["a", "b", "c"]]
1878
1870
  * ```
1879
1871
  *
1880
1872
  * @see {@link zip} — combine two arrays into pairs
@@ -1909,15 +1901,15 @@ export const unzip = self => {
1909
1901
  *
1910
1902
  * **Example** (Interspersing a separator)
1911
1903
  *
1912
- * ```ts
1904
+ * ```ts import.meta.vitest
1913
1905
  * import { Array } from "effect"
1914
1906
  *
1915
- * console.log(Array.intersperse([1, 2, 3], 0)) // [1, 0, 2, 0, 3]
1907
+ * Array.intersperse([1, 2, 3], 0) // => [1, 0, 2, 0, 3]
1916
1908
  * ```
1917
1909
  *
1918
1910
  * @see {@link join} — intersperse and join into a string
1919
1911
  *
1920
- * @category elements
1912
+ * @category transforming
1921
1913
  * @since 2.0.0
1922
1914
  */
1923
1915
  export const intersperse = /*#__PURE__*/dual(2, (self, middle) => {
@@ -1945,16 +1937,16 @@ export const intersperse = /*#__PURE__*/dual(2, (self, middle) => {
1945
1937
  *
1946
1938
  * **Example** (Modifying the head)
1947
1939
  *
1948
- * ```ts
1940
+ * ```ts import.meta.vitest
1949
1941
  * import { Array } from "effect"
1950
1942
  *
1951
- * console.log(Array.modifyHeadNonEmpty([1, 2, 3], (n) => n * 10)) // [10, 2, 3]
1943
+ * Array.modifyHeadNonEmpty([1, 2, 3], (n) => n * 10) // => [10, 2, 3]
1952
1944
  * ```
1953
1945
  *
1954
1946
  * @see {@link setHeadNonEmpty} — replace with a fixed value
1955
1947
  * @see {@link modifyLastNonEmpty} — modify the last element
1956
1948
  *
1957
- * @category elements
1949
+ * @category transforming
1958
1950
  * @since 4.0.0
1959
1951
  */
1960
1952
  export const modifyHeadNonEmpty = /*#__PURE__*/dual(2, (self, f) => [f(headNonEmpty(self)), ...tailNonEmpty(self)]);
@@ -1968,16 +1960,16 @@ export const modifyHeadNonEmpty = /*#__PURE__*/dual(2, (self, f) => [f(headNonEm
1968
1960
  *
1969
1961
  * **Example** (Setting the head)
1970
1962
  *
1971
- * ```ts
1963
+ * ```ts import.meta.vitest
1972
1964
  * import { Array } from "effect"
1973
1965
  *
1974
- * console.log(Array.setHeadNonEmpty([1, 2, 3], 10)) // [10, 2, 3]
1966
+ * Array.setHeadNonEmpty([1, 2, 3], 10) // => [10, 2, 3]
1975
1967
  * ```
1976
1968
  *
1977
1969
  * @see {@link modifyHeadNonEmpty} — transform the head with a function
1978
1970
  * @see {@link setLastNonEmpty} — replace the last element
1979
1971
  *
1980
- * @category elements
1972
+ * @category transforming
1981
1973
  * @since 4.0.0
1982
1974
  */
1983
1975
  export const setHeadNonEmpty = /*#__PURE__*/dual(2, (self, b) => modifyHeadNonEmpty(self, () => b));
@@ -1992,16 +1984,16 @@ export const setHeadNonEmpty = /*#__PURE__*/dual(2, (self, b) => modifyHeadNonEm
1992
1984
  *
1993
1985
  * **Example** (Modifying the last element)
1994
1986
  *
1995
- * ```ts
1987
+ * ```ts import.meta.vitest
1996
1988
  * import { Array } from "effect"
1997
1989
  *
1998
- * console.log(Array.modifyLastNonEmpty([1, 2, 3], (n) => n * 2)) // [1, 2, 6]
1990
+ * Array.modifyLastNonEmpty([1, 2, 3], (n) => n * 2) // => [1, 2, 6]
1999
1991
  * ```
2000
1992
  *
2001
1993
  * @see {@link setLastNonEmpty} — replace with a fixed value
2002
1994
  * @see {@link modifyHeadNonEmpty} — modify the first element
2003
1995
  *
2004
- * @category elements
1996
+ * @category transforming
2005
1997
  * @since 4.0.0
2006
1998
  */
2007
1999
  export const modifyLastNonEmpty = /*#__PURE__*/dual(2, (self, f) => append(initNonEmpty(self), f(lastNonEmpty(self))));
@@ -2015,16 +2007,16 @@ export const modifyLastNonEmpty = /*#__PURE__*/dual(2, (self, f) => append(initN
2015
2007
  *
2016
2008
  * **Example** (Setting the last element)
2017
2009
  *
2018
- * ```ts
2010
+ * ```ts import.meta.vitest
2019
2011
  * import { Array } from "effect"
2020
2012
  *
2021
- * console.log(Array.setLastNonEmpty([1, 2, 3], 4)) // [1, 2, 4]
2013
+ * Array.setLastNonEmpty([1, 2, 3], 4) // => [1, 2, 4]
2022
2014
  * ```
2023
2015
  *
2024
2016
  * @see {@link modifyLastNonEmpty} — transform the last element with a function
2025
2017
  * @see {@link setHeadNonEmpty} — replace the first element
2026
2018
  *
2027
- * @category elements
2019
+ * @category transforming
2028
2020
  * @since 4.0.0
2029
2021
  */
2030
2022
  export const setLastNonEmpty = /*#__PURE__*/dual(2, (self, b) => modifyLastNonEmpty(self, () => b));
@@ -2045,16 +2037,16 @@ export const setLastNonEmpty = /*#__PURE__*/dual(2, (self, b) => modifyLastNonEm
2045
2037
  *
2046
2038
  * **Example** (Rotating elements)
2047
2039
  *
2048
- * ```ts
2040
+ * ```ts import.meta.vitest
2049
2041
  * import { Array } from "effect"
2050
2042
  *
2051
- * console.log(Array.rotate(["a", "b", "c", "d"], 2)) // ["c", "d", "a", "b"]
2043
+ * Array.rotate(["a", "b", "c", "d"], 2) // => ["c", "d", "a", "b"]
2052
2044
  * ```
2053
2045
  *
2054
2046
  * @see {@link take} for taking a fixed number of elements from the start
2055
2047
  * @see {@link drop} for dropping a fixed number of elements from the start
2056
2048
  *
2057
- * @category elements
2049
+ * @category transforming
2058
2050
  * @since 2.0.0
2059
2051
  */
2060
2052
  export const rotate = /*#__PURE__*/dual(2, (self, n) => {
@@ -2084,16 +2076,17 @@ export const rotate = /*#__PURE__*/dual(2, (self, n) => {
2084
2076
  *
2085
2077
  * **Example** (Checking with custom equality)
2086
2078
  *
2087
- * ```ts
2079
+ * ```ts import.meta.vitest
2088
2080
  * import { Array, pipe } from "effect"
2089
2081
  *
2090
2082
  * const containsNumber = Array.containsWith((a: number, b: number) => a === b)
2091
- * console.log(pipe([1, 2, 3, 4], containsNumber(3))) // true
2083
+ *
2084
+ * pipe([1, 2, 3, 4], containsNumber(3)) // => true
2092
2085
  * ```
2093
2086
  *
2094
2087
  * @see {@link contains} for the `Equal.equivalence()` variant
2095
2088
  *
2096
- * @category elements
2089
+ * @category predicates
2097
2090
  * @since 2.0.0
2098
2091
  */
2099
2092
  export const containsWith = isEquivalent => dual(2, (self, a) => {
@@ -2115,15 +2108,15 @@ export const containsWith = isEquivalent => dual(2, (self, a) => {
2115
2108
  *
2116
2109
  * **Example** (Checking membership)
2117
2110
  *
2118
- * ```ts
2111
+ * ```ts import.meta.vitest
2119
2112
  * import { Array, pipe } from "effect"
2120
2113
  *
2121
- * console.log(pipe(["a", "b", "c", "d"], Array.contains("c"))) // true
2114
+ * pipe(["a", "b", "c", "d"], Array.contains("c")) // => true
2122
2115
  * ```
2123
2116
  *
2124
2117
  * @see {@link containsWith} — use custom equality
2125
2118
  *
2126
- * @category elements
2119
+ * @category predicates
2127
2120
  * @since 2.0.0
2128
2121
  */
2129
2122
  export const contains = /*#__PURE__*/containsWith(/*#__PURE__*/Equal.asEquivalence());
@@ -2143,20 +2136,16 @@ export const contains = /*#__PURE__*/containsWith(/*#__PURE__*/Equal.asEquivalen
2143
2136
  *
2144
2137
  * **Example** (Chopping an array)
2145
2138
  *
2146
- * ```ts
2139
+ * ```ts import.meta.vitest
2147
2140
  * import { Array } from "effect"
2148
2141
  *
2149
- * const result = Array.chop(
2150
- * [1, 2, 3, 4, 5],
2151
- * (as): [number, Array<number>] => [as[0] * 2, as.slice(1)]
2152
- * )
2153
- * console.log(result) // [2, 4, 6, 8, 10]
2142
+ * Array.chop([1, 2, 3, 4, 5], (as): [number, Array<number>] => [as[0] * 2, as.slice(1)]) // => [2, 4, 6, 8, 10]
2154
2143
  * ```
2155
2144
  *
2156
2145
  * @see {@link chunksOf} — split into fixed-size chunks
2157
2146
  * @see {@link splitAt} — split at an index
2158
2147
  *
2159
- * @category elements
2148
+ * @category splitting
2160
2149
  * @since 2.0.0
2161
2150
  */
2162
2151
  export const chop = /*#__PURE__*/dual(2, (self, f) => {
@@ -2188,10 +2177,10 @@ export const chop = /*#__PURE__*/dual(2, (self, f) => {
2188
2177
  *
2189
2178
  * **Example** (Splitting at an index)
2190
2179
  *
2191
- * ```ts
2180
+ * ```ts import.meta.vitest
2192
2181
  * import { Array } from "effect"
2193
2182
  *
2194
- * console.log(Array.splitAt([1, 2, 3, 4, 5], 3)) // [[1, 2, 3], [4, 5]]
2183
+ * Array.splitAt([1, 2, 3, 4, 5], 3) // => [[1, 2, 3], [4, 5]]
2195
2184
  * ```
2196
2185
  *
2197
2186
  * @see {@link splitAtNonEmpty} — for non-empty arrays
@@ -2222,11 +2211,10 @@ export const splitAt = /*#__PURE__*/dual(2, (self, n) => {
2222
2211
  *
2223
2212
  * **Example** (Splitting a non-empty array)
2224
2213
  *
2225
- * ```ts
2214
+ * ```ts import.meta.vitest
2226
2215
  * import { Array } from "effect"
2227
2216
  *
2228
- * console.log(Array.splitAtNonEmpty(["a", "b", "c", "d", "e"], 3))
2229
- * // [["a", "b", "c"], ["d", "e"]]
2217
+ * Array.splitAtNonEmpty(["a", "b", "c", "d", "e"], 3) // => [["a", "b", "c"], ["d", "e"]]
2230
2218
  * ```
2231
2219
  *
2232
2220
  * @see {@link splitAt} — for possibly-empty arrays
@@ -2251,10 +2239,10 @@ export const splitAtNonEmpty = /*#__PURE__*/dual(2, (self, n) => {
2251
2239
  *
2252
2240
  * **Example** (Splitting into groups)
2253
2241
  *
2254
- * ```ts
2242
+ * ```ts import.meta.vitest
2255
2243
  * import { Array } from "effect"
2256
2244
  *
2257
- * console.log(Array.split([1, 2, 3, 4, 5, 6, 7, 8], 3)) // [[1, 2, 3], [4, 5, 6], [7, 8]]
2245
+ * Array.split([1, 2, 3, 4, 5, 6, 7, 8], 3) // => [[1, 2, 3], [4, 5, 6], [7, 8]]
2258
2246
  * ```
2259
2247
  *
2260
2248
  * @see {@link chunksOf} — split into fixed-size chunks
@@ -2277,10 +2265,10 @@ export const split = /*#__PURE__*/dual(2, (self, n) => {
2277
2265
  *
2278
2266
  * **Example** (Splitting at a condition)
2279
2267
  *
2280
- * ```ts
2268
+ * ```ts import.meta.vitest
2281
2269
  * import { Array } from "effect"
2282
2270
  *
2283
- * console.log(Array.splitWhere([1, 2, 3, 4, 5], (n) => n > 3)) // [[1, 2, 3], [4, 5]]
2271
+ * Array.splitWhere([1, 2, 3, 4, 5], (n) => n > 3) // => [[1, 2, 3], [4, 5]]
2284
2272
  * ```
2285
2273
  *
2286
2274
  * @see {@link span} — splits at the first element that fails the predicate
@@ -2305,18 +2293,19 @@ export const splitWhere = /*#__PURE__*/dual(2, (self, predicate) => span(self, (
2305
2293
  *
2306
2294
  * **Example** (Copying an array)
2307
2295
  *
2308
- * ```ts
2296
+ * ```ts import.meta.vitest
2309
2297
  * import { Array } from "effect"
2310
2298
  *
2311
2299
  * const original = [1, 2, 3]
2312
2300
  * const copied = Array.copy(original)
2313
- * console.log(copied) // [1, 2, 3]
2314
- * console.log(original === copied) // false
2301
+ *
2302
+ * copied // => [1, 2, 3]
2303
+ * original === copied // => false
2315
2304
  * ```
2316
2305
  *
2317
2306
  * @see {@link fromIterable} — returns the same reference for arrays
2318
2307
  *
2319
- * @category elements
2308
+ * @category transforming
2320
2309
  * @since 2.0.0
2321
2310
  */
2322
2311
  export const copy = self => self.slice();
@@ -2334,16 +2323,16 @@ export const copy = self => self.slice();
2334
2323
  *
2335
2324
  * **Example** (Padding an array)
2336
2325
  *
2337
- * ```ts
2326
+ * ```ts import.meta.vitest
2338
2327
  * import { Array } from "effect"
2339
2328
  *
2340
- * console.log(Array.pad([1, 2, 3], 6, 0)) // [1, 2, 3, 0, 0, 0]
2329
+ * Array.pad([1, 2, 3], 6, 0) // => [1, 2, 3, 0, 0, 0]
2341
2330
  * ```
2342
2331
  *
2343
2332
  * @see {@link take} — truncate without padding
2344
2333
  * @see {@link replicate} — create an array of a single repeated value
2345
2334
  *
2346
- * @category elements
2335
+ * @category transforming
2347
2336
  * @since 3.8.4
2348
2337
  */
2349
2338
  export const pad = /*#__PURE__*/dual(3, (self, n, fill) => {
@@ -2368,10 +2357,10 @@ export const pad = /*#__PURE__*/dual(3, (self, n, fill) => {
2368
2357
  *
2369
2358
  * **Example** (Chunking an array)
2370
2359
  *
2371
- * ```ts
2360
+ * ```ts import.meta.vitest
2372
2361
  * import { Array } from "effect"
2373
2362
  *
2374
- * console.log(Array.chunksOf([1, 2, 3, 4, 5], 2)) // [[1, 2], [3, 4], [5]]
2363
+ * Array.chunksOf([1, 2, 3, 4, 5], 2) // => [[1, 2], [3, 4], [5]]
2375
2364
  * ```
2376
2365
  *
2377
2366
  * @see {@link split} — split into a given number of groups
@@ -2401,11 +2390,13 @@ export const chunksOf = /*#__PURE__*/dual(2, (self, n) => {
2401
2390
  *
2402
2391
  * **Example** (Creating sliding windows)
2403
2392
  *
2404
- * ```ts
2393
+ * ```ts import.meta.vitest
2405
2394
  * import { Array } from "effect"
2406
2395
  *
2407
- * console.log(Array.window([1, 2, 3, 4, 5], 3)) // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
2408
- * console.log(Array.window([1, 2, 3, 4, 5], 6)) // []
2396
+ * const values = [1, 2, 3, 4, 5]
2397
+ *
2398
+ * Array.window(values, 3) // => [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
2399
+ * Array.window(values, 6) // => []
2409
2400
  * ```
2410
2401
  *
2411
2402
  * @see {@link chunksOf} — non-overlapping chunks
@@ -2437,11 +2428,13 @@ export const window = /*#__PURE__*/dual(2, (self, n) => {
2437
2428
  *
2438
2429
  * **Example** (Grouping consecutive equal elements)
2439
2430
  *
2440
- * ```ts
2431
+ * ```ts import.meta.vitest
2441
2432
  * import { Array } from "effect"
2442
2433
  *
2443
- * console.log(Array.groupWith(["a", "a", "b", "b", "b", "c", "a"], (x, y) => x === y))
2444
- * // [["a", "a"], ["b", "b", "b"], ["c"], ["a"]]
2434
+ * Array.groupWith(
2435
+ * ["a", "a", "b", "b", "b", "c", "a"],
2436
+ * (x, y) => x === y
2437
+ * ) // => [["a", "a"], ["b", "b", "b"], ["c"], ["a"]]
2445
2438
  * ```
2446
2439
  *
2447
2440
  * @see {@link group} for grouping adjacent elements with `Equal.equivalence()`
@@ -2478,10 +2471,10 @@ export const groupWith = /*#__PURE__*/dual(2, (self, isEquivalent) => chop(self,
2478
2471
  *
2479
2472
  * **Example** (Grouping adjacent equal elements)
2480
2473
  *
2481
- * ```ts
2474
+ * ```ts import.meta.vitest
2482
2475
  * import { Array } from "effect"
2483
2476
  *
2484
- * console.log(Array.group([1, 1, 2, 2, 2, 3, 1])) // [[1, 1], [2, 2, 2], [3], [1]]
2477
+ * Array.group([1, 1, 2, 2, 2, 3, 1]) // => [[1, 1], [2, 2, 2], [3], [1]]
2485
2478
  * ```
2486
2479
  *
2487
2480
  * @see {@link groupWith} — use custom equality
@@ -2506,7 +2499,7 @@ export const group = /*#__PURE__*/groupWith(/*#__PURE__*/Equal.asEquivalence());
2506
2499
  *
2507
2500
  * **Example** (Grouping by a property)
2508
2501
  *
2509
- * ```ts
2502
+ * ```ts import.meta.vitest
2510
2503
  * import { Array } from "effect"
2511
2504
  *
2512
2505
  * const people = [
@@ -2515,9 +2508,7 @@ export const group = /*#__PURE__*/groupWith(/*#__PURE__*/Equal.asEquivalence());
2515
2508
  * { name: "Charlie", group: "A" }
2516
2509
  * ]
2517
2510
  *
2518
- * const result = Array.groupBy(people, (person) => person.group)
2519
- * console.log(result)
2520
- * // { A: [{ name: "Alice", group: "A" }, { name: "Charlie", group: "A" }], B: [{ name: "Bob", group: "B" }] }
2511
+ * Object.keys(Array.groupBy(people, (person) => person.group)).join(",") // => "A,B"
2521
2512
  * ```
2522
2513
  *
2523
2514
  * @see {@link group} — group adjacent equal elements
@@ -2584,17 +2575,17 @@ const hashBucketsHas = (buckets, value) => {
2584
2575
  *
2585
2576
  * **Example** (Computing unions with custom equality)
2586
2577
  *
2587
- * ```ts
2578
+ * ```ts import.meta.vitest
2588
2579
  * import { Array } from "effect"
2589
2580
  *
2590
- * console.log(Array.unionWith([1, 2], [2, 3], (a, b) => a === b)) // [1, 2, 3]
2581
+ * Array.unionWith([1, 2], [2, 3], (a, b) => a === b) // => [1, 2, 3]
2591
2582
  * ```
2592
2583
  *
2593
2584
  * @see {@link union} for the `Equal.equivalence()` variant
2594
2585
  * @see {@link intersectionWith} for keeping elements present in both arrays
2595
2586
  * @see {@link differenceWith} for keeping elements present only in the first array
2596
2587
  *
2597
- * @category elements
2588
+ * @category set operations
2598
2589
  * @since 2.0.0
2599
2590
  */
2600
2591
  export const unionWith = /*#__PURE__*/dual(3, (self, that, isEquivalent) => {
@@ -2615,17 +2606,17 @@ export const unionWith = /*#__PURE__*/dual(3, (self, that, isEquivalent) => {
2615
2606
  *
2616
2607
  * **Example** (Computing array unions)
2617
2608
  *
2618
- * ```ts
2609
+ * ```ts import.meta.vitest
2619
2610
  * import { Array } from "effect"
2620
2611
  *
2621
- * console.log(Array.union([1, 2], [2, 3])) // [1, 2, 3]
2612
+ * Array.union([1, 2], [2, 3]) // => [1, 2, 3]
2622
2613
  * ```
2623
2614
  *
2624
2615
  * @see {@link unionWith} — use custom equality
2625
2616
  * @see {@link intersection} — elements in both arrays
2626
2617
  * @see {@link difference} — elements only in the first array
2627
2618
  *
2628
- * @category elements
2619
+ * @category set operations
2629
2620
  * @since 2.0.0
2630
2621
  */
2631
2622
  export const union = /*#__PURE__*/dual(2, (self, that) => {
@@ -2647,20 +2638,21 @@ export const union = /*#__PURE__*/dual(2, (self, that) => {
2647
2638
  *
2648
2639
  * **Example** (Computing intersections with custom equality)
2649
2640
  *
2650
- * ```ts
2641
+ * ```ts import.meta.vitest
2651
2642
  * import { Array } from "effect"
2652
2643
  *
2653
2644
  * const array1 = [{ id: 1 }, { id: 2 }, { id: 3 }]
2654
2645
  * const array2 = [{ id: 3 }, { id: 4 }, { id: 1 }]
2655
2646
  * const isEquivalent = (a: { id: number }, b: { id: number }) => a.id === b.id
2656
- * console.log(Array.intersectionWith(isEquivalent)(array2)(array1)) // [{ id: 1 }, { id: 3 }]
2647
+ *
2648
+ * Array.intersectionWith(isEquivalent)(array2)(array1) // => [{ id: 1 }, { id: 3 }]
2657
2649
  * ```
2658
2650
  *
2659
2651
  * @see {@link intersection} for the `Equal.equivalence()` variant
2660
2652
  * @see {@link unionWith} for keeping values from either array with custom equality
2661
2653
  * @see {@link differenceWith} for keeping values only from the first array with custom equality
2662
2654
  *
2663
- * @category elements
2655
+ * @category set operations
2664
2656
  * @since 2.0.0
2665
2657
  */
2666
2658
  export const intersectionWith = isEquivalent => {
@@ -2681,17 +2673,17 @@ export const intersectionWith = isEquivalent => {
2681
2673
  *
2682
2674
  * **Example** (Computing array intersections)
2683
2675
  *
2684
- * ```ts
2676
+ * ```ts import.meta.vitest
2685
2677
  * import { Array } from "effect"
2686
2678
  *
2687
- * console.log(Array.intersection([1, 2, 3], [3, 4, 1])) // [1, 3]
2679
+ * Array.intersection([1, 2, 3], [3, 4, 1]) // => [1, 3]
2688
2680
  * ```
2689
2681
  *
2690
2682
  * @see {@link intersectionWith} — use custom equality
2691
2683
  * @see {@link union} — elements in either array
2692
2684
  * @see {@link difference} — elements only in the first array
2693
2685
  *
2694
- * @category elements
2686
+ * @category set operations
2695
2687
  * @since 2.0.0
2696
2688
  */
2697
2689
  export const intersection = /*#__PURE__*/dual(2, (self, that) => {
@@ -2714,18 +2706,17 @@ export const intersection = /*#__PURE__*/dual(2, (self, that) => {
2714
2706
  *
2715
2707
  * **Example** (Computing differences with custom equality)
2716
2708
  *
2717
- * ```ts
2709
+ * ```ts import.meta.vitest
2718
2710
  * import { Array } from "effect"
2719
2711
  *
2720
- * const diff = Array.differenceWith<number>((a, b) => a === b)([1, 2, 3], [2, 3, 4])
2721
- * console.log(diff) // [1]
2712
+ * Array.differenceWith<number>((a, b) => a === b)([1, 2, 3], [2, 3, 4]) // => [1]
2722
2713
  * ```
2723
2714
  *
2724
2715
  * @see {@link difference} for the `Equal.equivalence()` variant
2725
2716
  * @see {@link unionWith} for keeping values from either array with custom equality
2726
2717
  * @see {@link intersectionWith} for keeping values present in both arrays with custom equality
2727
2718
  *
2728
- * @category elements
2719
+ * @category set operations
2729
2720
  * @since 2.0.0
2730
2721
  */
2731
2722
  export const differenceWith = isEquivalent => {
@@ -2746,17 +2737,17 @@ export const differenceWith = isEquivalent => {
2746
2737
  *
2747
2738
  * **Example** (Computing array differences)
2748
2739
  *
2749
- * ```ts
2740
+ * ```ts import.meta.vitest
2750
2741
  * import { Array } from "effect"
2751
2742
  *
2752
- * console.log(Array.difference([1, 2, 3], [2, 3, 4])) // [1]
2743
+ * Array.difference([1, 2, 3], [2, 3, 4]) // => [1]
2753
2744
  * ```
2754
2745
  *
2755
2746
  * @see {@link differenceWith} — use custom equality
2756
2747
  * @see {@link union} — elements in either array
2757
2748
  * @see {@link intersection} — elements in both arrays
2758
2749
  *
2759
- * @category elements
2750
+ * @category set operations
2760
2751
  * @since 2.0.0
2761
2752
  */
2762
2753
  export const difference = /*#__PURE__*/dual(2, (self, that) => {
@@ -2780,11 +2771,10 @@ export const difference = /*#__PURE__*/dual(2, (self, that) => {
2780
2771
  *
2781
2772
  * **Example** (Creating an empty array)
2782
2773
  *
2783
- * ```ts
2774
+ * ```ts import.meta.vitest
2784
2775
  * import { Array } from "effect"
2785
2776
  *
2786
- * const result = Array.empty<number>()
2787
- * console.log(result) // []
2777
+ * Array.empty<number>() // => []
2788
2778
  * ```
2789
2779
  *
2790
2780
  * @see {@link of} — create a single-element array
@@ -2799,10 +2789,10 @@ export const empty = () => [];
2799
2789
  *
2800
2790
  * **Example** (Creating a single-element array)
2801
2791
  *
2802
- * ```ts
2792
+ * ```ts import.meta.vitest
2803
2793
  * import { Array } from "effect"
2804
2794
  *
2805
- * console.log(Array.of(1)) // [1]
2795
+ * Array.of(1) // => [1]
2806
2796
  * ```
2807
2797
  *
2808
2798
  * @see {@link make} — create from multiple values
@@ -2826,10 +2816,10 @@ export const of = a => [a];
2826
2816
  *
2827
2817
  * **Example** (Doubling values)
2828
2818
  *
2829
- * ```ts
2819
+ * ```ts import.meta.vitest
2830
2820
  * import { Array } from "effect"
2831
2821
  *
2832
- * console.log(Array.map([1, 2, 3], (x) => x * 2)) // [2, 4, 6]
2822
+ * Array.map([1, 2, 3], (x) => x * 2) // => [2, 4, 6]
2833
2823
  * ```
2834
2824
  *
2835
2825
  * @see {@link flatMap} — map and flatten
@@ -2853,10 +2843,10 @@ export const map = /*#__PURE__*/dual(2, (self, f) => self.map(f));
2853
2843
  *
2854
2844
  * **Example** (Flat mapping an array)
2855
2845
  *
2856
- * ```ts
2846
+ * ```ts import.meta.vitest
2857
2847
  * import { Array } from "effect"
2858
2848
  *
2859
- * console.log(Array.flatMap([1, 2, 3], (x) => [x, x * 2])) // [1, 2, 2, 4, 3, 6]
2849
+ * Array.flatMap([1, 2, 3], (x) => [x, x * 2]) // => [1, 2, 2, 4, 3, 6]
2860
2850
  * ```
2861
2851
  *
2862
2852
  * @see {@link map} — transform without flattening
@@ -2888,10 +2878,10 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => {
2888
2878
  *
2889
2879
  * **Example** (Flattening nested arrays)
2890
2880
  *
2891
- * ```ts
2881
+ * ```ts import.meta.vitest
2892
2882
  * import { Array } from "effect"
2893
2883
  *
2894
- * console.log(Array.flatten([[1, 2], [], [3, 4], [], [5, 6]])) // [1, 2, 3, 4, 5, 6]
2884
+ * Array.flatten([[1, 2], [], [3, 4], [], [5, 6]]) // => [1, 2, 3, 4, 5, 6]
2895
2885
  * ```
2896
2886
  *
2897
2887
  * @see {@link flatMap} — map then flatten in one step
@@ -2910,10 +2900,10 @@ export const flatten = /*#__PURE__*/flatMap(identity);
2910
2900
  *
2911
2901
  * **Example** (Extracting Some values)
2912
2902
  *
2913
- * ```ts
2903
+ * ```ts import.meta.vitest
2914
2904
  * import { Array, Option } from "effect"
2915
2905
  *
2916
- * console.log(Array.getSomes([Option.some(1), Option.none(), Option.some(2)])) // [1, 2]
2906
+ * Array.getSomes([Option.some(1), Option.none(), Option.some(2)]) // => [1, 2]
2917
2907
  * ```
2918
2908
  *
2919
2909
  * @see {@link fromOption} — convert a single Option
@@ -2942,11 +2932,10 @@ export const getSomes = self => {
2942
2932
  *
2943
2933
  * **Example** (Extracting failures)
2944
2934
  *
2945
- * ```ts
2935
+ * ```ts import.meta.vitest
2946
2936
  * import { Array, Result } from "effect"
2947
2937
  *
2948
- * console.log(Array.getFailures([Result.succeed(1), Result.fail("err"), Result.succeed(2)]))
2949
- * // ["err"]
2938
+ * Array.getFailures([Result.succeed(1), Result.fail("err"), Result.succeed(2)]) // => ["err"]
2950
2939
  * ```
2951
2940
  *
2952
2941
  * @see {@link getSuccesses} — extract success values
@@ -2975,11 +2964,10 @@ export const getFailures = self => {
2975
2964
  *
2976
2965
  * **Example** (Extracting successes)
2977
2966
  *
2978
- * ```ts
2967
+ * ```ts import.meta.vitest
2979
2968
  * import { Array, Result } from "effect"
2980
2969
  *
2981
- * console.log(Array.getSuccesses([Result.succeed(1), Result.fail("err"), Result.succeed(2)]))
2982
- * // [1, 2]
2970
+ * Array.getSuccesses([Result.succeed(1), Result.fail("err"), Result.succeed(2)]) // => [1, 2]
2983
2971
  * ```
2984
2972
  *
2985
2973
  * @see {@link getFailures} — extract failure values
@@ -3011,11 +2999,10 @@ export const getSuccesses = self => {
3011
2999
  *
3012
3000
  * **Example** (Filtering and transforming)
3013
3001
  *
3014
- * ```ts
3002
+ * ```ts import.meta.vitest
3015
3003
  * import { Array, Result } from "effect"
3016
3004
  *
3017
- * console.log(Array.filterMap([1, 2, 3, 4], (n) => n % 2 === 0 ? Result.succeed(n * 10) : Result.failVoid))
3018
- * // [20, 40]
3005
+ * Array.filterMap([1, 2, 3, 4], (n) => n % 2 === 0 ? Result.succeed(n * 10) : Result.failVoid) // => [20, 40]
3019
3006
  * ```
3020
3007
  *
3021
3008
  * @see {@link filter} — keep original elements matching a predicate
@@ -3050,10 +3037,10 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => {
3050
3037
  *
3051
3038
  * **Example** (Filtering even numbers)
3052
3039
  *
3053
- * ```ts
3040
+ * ```ts import.meta.vitest
3054
3041
  * import { Array } from "effect"
3055
3042
  *
3056
- * console.log(Array.filter([1, 2, 3, 4], (x) => x % 2 === 0)) // [2, 4]
3043
+ * Array.filter([1, 2, 3, 4], (x) => x % 2 === 0) // => [2, 4]
3057
3044
  * ```
3058
3045
  *
3059
3046
  * @see {@link partition} — split into matching and non-matching
@@ -3086,13 +3073,12 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => {
3086
3073
  *
3087
3074
  * **Example** (Partitioning with a filter)
3088
3075
  *
3089
- * ```ts
3076
+ * ```ts import.meta.vitest
3090
3077
  * import { Array, Result } from "effect"
3091
3078
  *
3092
- * console.log(Array.partition([1, -2, 3], (n, i) =>
3079
+ * Array.partition([1, -2, 3], (n, i) =>
3093
3080
  * n > 0 ? Result.succeed(n + i) : Result.fail(`negative:${n}`)
3094
- * ))
3095
- * // [["negative:-2"], [1, 5]]
3081
+ * ) // => [["negative:-2"], [1, 5]]
3096
3082
  * ```
3097
3083
  *
3098
3084
  * @see {@link filter} — keep only matching elements
@@ -3130,14 +3116,10 @@ export const partition = /*#__PURE__*/dual(2, (self, f) => {
3130
3116
  *
3131
3117
  * **Example** (Separating Results)
3132
3118
  *
3133
- * ```ts
3119
+ * ```ts import.meta.vitest
3134
3120
  * import { Array, Result } from "effect"
3135
3121
  *
3136
- * const [failures, successes] = Array.separate([
3137
- * Result.succeed(1), Result.fail("error"), Result.succeed(2)
3138
- * ])
3139
- * console.log(failures) // ["error"]
3140
- * console.log(successes) // [1, 2]
3122
+ * Array.separate([Result.succeed(1), Result.fail("error"), Result.succeed(2)]) // => [["error"], [1, 2]]
3141
3123
  * ```
3142
3124
  *
3143
3125
  * @see {@link getFailures} — extract only failures
@@ -3161,10 +3143,10 @@ export const separate = /*#__PURE__*/partition(identity);
3161
3143
  *
3162
3144
  * **Example** (Summing an array)
3163
3145
  *
3164
- * ```ts
3146
+ * ```ts import.meta.vitest
3165
3147
  * import { Array } from "effect"
3166
3148
  *
3167
- * console.log(Array.reduce([1, 2, 3], 0, (acc, n) => acc + n)) // 6
3149
+ * Array.reduce([1, 2, 3], 0, (acc, n) => acc + n) // => 6
3168
3150
  * ```
3169
3151
  *
3170
3152
  * @see {@link reduceRight} — fold from right to left
@@ -3187,10 +3169,10 @@ export const reduce = /*#__PURE__*/dual(3, (self, b, f) => fromIterable(self).re
3187
3169
  *
3188
3170
  * **Example** (Folding from right to left)
3189
3171
  *
3190
- * ```ts
3172
+ * ```ts import.meta.vitest
3191
3173
  * import { Array } from "effect"
3192
3174
  *
3193
- * console.log(Array.reduceRight([1, 2, 3], 0, (acc, n) => acc + n)) // 6
3175
+ * Array.reduceRight([1, 2, 3], 0, (acc, n) => acc + n) // => 6
3194
3176
  * ```
3195
3177
  *
3196
3178
  * @see {@link reduce} — fold from left to right
@@ -3206,13 +3188,13 @@ export const reduceRight = /*#__PURE__*/dual(3, (self, b, f) => fromIterable(sel
3206
3188
  *
3207
3189
  * **Example** (Wrapping values conditionally)
3208
3190
  *
3209
- * ```ts
3191
+ * ```ts import.meta.vitest
3210
3192
  * import { Array } from "effect"
3211
3193
  *
3212
- * const isEven = (n: number) => n % 2 === 0
3213
- * const to = Array.liftPredicate(isEven)
3214
- * console.log(to(1)) // []
3215
- * console.log(to(2)) // [2]
3194
+ * const fromEven = Array.liftPredicate((n: number) => n % 2 === 0)
3195
+ *
3196
+ * fromEven(1) // => []
3197
+ * fromEven(2) // => [2]
3216
3198
  * ```
3217
3199
  *
3218
3200
  * @see {@link liftOption} — lift an Option-returning function
@@ -3232,15 +3214,16 @@ export const liftPredicate = predicate => b => predicate(b) ? [b] : [];
3232
3214
  *
3233
3215
  * **Example** (Lifting an Option function)
3234
3216
  *
3235
- * ```ts
3217
+ * ```ts import.meta.vitest
3236
3218
  * import { Array, Option } from "effect"
3237
3219
  *
3238
3220
  * const parseNumber = Array.liftOption((s: string) => {
3239
3221
  * const n = Number(s)
3240
3222
  * return isNaN(n) ? Option.none() : Option.some(n)
3241
3223
  * })
3242
- * console.log(parseNumber("123")) // [123]
3243
- * console.log(parseNumber("abc")) // []
3224
+ *
3225
+ * parseNumber("123") // => [123]
3226
+ * parseNumber("abc") // => []
3244
3227
  * ```
3245
3228
  *
3246
3229
  * @see {@link liftPredicate} — lift a boolean predicate
@@ -3260,12 +3243,12 @@ export const liftOption = f => (...a) => fromOption(f(...a));
3260
3243
  *
3261
3244
  * **Example** (Converting nullable values to an array)
3262
3245
  *
3263
- * ```ts
3246
+ * ```ts import.meta.vitest
3264
3247
  * import { Array } from "effect"
3265
3248
  *
3266
- * console.log(Array.fromNullishOr(1)) // [1]
3267
- * console.log(Array.fromNullishOr(null)) // []
3268
- * console.log(Array.fromNullishOr(undefined)) // []
3249
+ * Array.fromNullishOr(1) // => [1]
3250
+ * Array.fromNullishOr(null) // => []
3251
+ * Array.fromNullishOr(undefined) // => []
3269
3252
  * ```
3270
3253
  *
3271
3254
  * @see {@link liftNullishOr} — lift a nullable-returning function
@@ -3281,15 +3264,16 @@ export const fromNullishOr = a => a == null ? empty() : [a];
3281
3264
  *
3282
3265
  * **Example** (Lifting a nullable function)
3283
3266
  *
3284
- * ```ts
3267
+ * ```ts import.meta.vitest
3285
3268
  * import { Array } from "effect"
3286
3269
  *
3287
3270
  * const parseNumber = Array.liftNullishOr((s: string) => {
3288
3271
  * const n = Number(s)
3289
3272
  * return isNaN(n) ? null : n
3290
3273
  * })
3291
- * console.log(parseNumber("123")) // [123]
3292
- * console.log(parseNumber("abc")) // []
3274
+ *
3275
+ * parseNumber("123") // => [123]
3276
+ * parseNumber("abc") // => []
3293
3277
  * ```
3294
3278
  *
3295
3279
  * @see {@link fromNullishOr} — convert a single nullable value
@@ -3310,11 +3294,10 @@ export const liftNullishOr = f => (...a) => fromNullishOr(f(...a));
3310
3294
  *
3311
3295
  * **Example** (Flat mapping with nullable values)
3312
3296
  *
3313
- * ```ts
3297
+ * ```ts import.meta.vitest
3314
3298
  * import { Array } from "effect"
3315
3299
  *
3316
- * console.log(Array.flatMapNullishOr([1, 2, 3], (n) => (n % 2 === 0 ? null : n)))
3317
- * // [1, 3]
3300
+ * Array.flatMapNullishOr([1, 2, 3], (n) => (n % 2 === 0 ? null : n)) // => [1, 3]
3318
3301
  * ```
3319
3302
  *
3320
3303
  * @see {@link flatMap} for mapping each element to an array and flattening
@@ -3335,7 +3318,7 @@ export const flatMapNullishOr = /*#__PURE__*/dual(2, (self, f) => flatMap(self,
3335
3318
  *
3336
3319
  * **Example** (Lifting a Result function)
3337
3320
  *
3338
- * ```ts
3321
+ * ```ts import.meta.vitest
3339
3322
  * import { Array, Result } from "effect"
3340
3323
  *
3341
3324
  * const parseNumber = (s: string): Result.Result<number, Error> =>
@@ -3344,8 +3327,9 @@ export const flatMapNullishOr = /*#__PURE__*/dual(2, (self, f) => flatMap(self,
3344
3327
  * : Result.succeed(Number(s))
3345
3328
  *
3346
3329
  * const liftedParseNumber = Array.liftResult(parseNumber)
3347
- * console.log(liftedParseNumber("42")) // [42]
3348
- * console.log(liftedParseNumber("not a number")) // []
3330
+ *
3331
+ * liftedParseNumber("42") // => [42]
3332
+ * liftedParseNumber("not a number") // => []
3349
3333
  * ```
3350
3334
  *
3351
3335
  * @see {@link liftOption} — lift an Option-returning function
@@ -3369,16 +3353,16 @@ export const liftResult = f => (...a) => {
3369
3353
  *
3370
3354
  * **Example** (Testing all elements)
3371
3355
  *
3372
- * ```ts
3356
+ * ```ts import.meta.vitest
3373
3357
  * import { Array } from "effect"
3374
3358
  *
3375
- * console.log(Array.every([2, 4, 6], (x) => x % 2 === 0)) // true
3376
- * console.log(Array.every([2, 3, 6], (x) => x % 2 === 0)) // false
3359
+ * Array.every([2, 4, 6], (x) => x % 2 === 0) // => true
3360
+ * Array.every([2, 3, 6], (x) => x % 2 === 0) // => false
3377
3361
  * ```
3378
3362
  *
3379
3363
  * @see {@link some} — test if any element matches
3380
3364
  *
3381
- * @category elements
3365
+ * @category guards
3382
3366
  * @since 2.0.0
3383
3367
  */
3384
3368
  export const every = /*#__PURE__*/dual(2, (self, refinement) => self.every(refinement));
@@ -3388,17 +3372,17 @@ export const every = /*#__PURE__*/dual(2, (self, refinement) => self.every(refin
3388
3372
  *
3389
3373
  * **Example** (Testing for any match)
3390
3374
  *
3391
- * ```ts
3375
+ * ```ts import.meta.vitest
3392
3376
  * import { Array } from "effect"
3393
3377
  *
3394
- * console.log(Array.some([1, 3, 4], (x) => x % 2 === 0)) // true
3395
- * console.log(Array.some([1, 3, 5], (x) => x % 2 === 0)) // false
3378
+ * Array.some([1, 3, 4], (x) => x % 2 === 0) // => true
3379
+ * Array.some([1, 3, 5], (x) => x % 2 === 0) // => false
3396
3380
  * ```
3397
3381
  *
3398
3382
  * @see {@link every} — test if all elements match
3399
3383
  * @see {@link contains} — test for a specific value
3400
3384
  *
3401
- * @category elements
3385
+ * @category guards
3402
3386
  * @since 2.0.0
3403
3387
  */
3404
3388
  export const some = /*#__PURE__*/dual(2, (self, predicate) => self.some(predicate));
@@ -3417,10 +3401,10 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => self.some(predicat
3417
3401
  *
3418
3402
  * **Example** (Computing suffix lengths)
3419
3403
  *
3420
- * ```ts
3404
+ * ```ts import.meta.vitest
3421
3405
  * import { Array } from "effect"
3422
3406
  *
3423
- * console.log(Array.extend([1, 2, 3], (as) => as.length)) // [3, 2, 1]
3407
+ * Array.extend([1, 2, 3], (as) => as.length) // => [3, 2, 1]
3424
3408
  * ```
3425
3409
  *
3426
3410
  * @see {@link scan} for keeping intermediate accumulator values during a fold
@@ -3435,16 +3419,16 @@ export const extend = /*#__PURE__*/dual(2, (self, f) => self.map((_, i, as) => f
3435
3419
  *
3436
3420
  * **Example** (Finding the minimum)
3437
3421
  *
3438
- * ```ts
3422
+ * ```ts import.meta.vitest
3439
3423
  * import { Array, Order } from "effect"
3440
3424
  *
3441
- * console.log(Array.min([3, 1, 2], Order.Number)) // 1
3425
+ * Array.min([3, 1, 2], Order.Number) // => 1
3442
3426
  * ```
3443
3427
  *
3444
3428
  * @see {@link max} — find the maximum
3445
3429
  * @see {@link sort} — sort the entire array
3446
3430
  *
3447
- * @category elements
3431
+ * @category getters
3448
3432
  * @since 2.0.0
3449
3433
  */
3450
3434
  export const min = /*#__PURE__*/dual(2, (self, O) => self.reduce(Order.min(O)));
@@ -3454,16 +3438,16 @@ export const min = /*#__PURE__*/dual(2, (self, O) => self.reduce(Order.min(O)));
3454
3438
  *
3455
3439
  * **Example** (Finding the maximum)
3456
3440
  *
3457
- * ```ts
3441
+ * ```ts import.meta.vitest
3458
3442
  * import { Array, Order } from "effect"
3459
3443
  *
3460
- * console.log(Array.max([3, 1, 2], Order.Number)) // 3
3444
+ * Array.max([3, 1, 2], Order.Number) // => 3
3461
3445
  * ```
3462
3446
  *
3463
3447
  * @see {@link min} — find the minimum
3464
3448
  * @see {@link sort} — sort the entire array
3465
3449
  *
3466
- * @category elements
3450
+ * @category getters
3467
3451
  * @since 2.0.0
3468
3452
  */
3469
3453
  export const max = /*#__PURE__*/dual(2, (self, O) => self.reduce(Order.max(O)));
@@ -3474,11 +3458,10 @@ export const max = /*#__PURE__*/dual(2, (self, O) => self.reduce(Order.max(O)));
3474
3458
  *
3475
3459
  * **Example** (Generating a sequence)
3476
3460
  *
3477
- * ```ts
3461
+ * ```ts import.meta.vitest
3478
3462
  * import { Array, Option } from "effect"
3479
3463
  *
3480
- * console.log(Array.unfold(1, (n) => n <= 5 ? Option.some([n, n + 1]) : Option.none()))
3481
- * // [1, 2, 3, 4, 5]
3464
+ * Array.unfold(1, (n) => n <= 5 ? Option.some([n, n + 1]) : Option.none()) // => [1, 2, 3, 4, 5]
3482
3465
  * ```
3483
3466
  *
3484
3467
  * @see {@link makeBy} — generate from index
@@ -3508,11 +3491,12 @@ export const unfold = (b, f) => {
3508
3491
  *
3509
3492
  * **Example** (Comparing arrays)
3510
3493
  *
3511
- * ```ts
3494
+ * ```ts import.meta.vitest
3512
3495
  * import { Array, Order } from "effect"
3513
3496
  *
3514
3497
  * const arrayOrder = Array.makeOrder(Order.Number)
3515
- * console.log(arrayOrder([1, 2], [1, 3])) // -1
3498
+ *
3499
+ * arrayOrder([1, 2], [1, 3]) // => -1
3516
3500
  * ```
3517
3501
  *
3518
3502
  * @see {@link makeEquivalence} — create an equivalence for arrays
@@ -3528,11 +3512,12 @@ export const makeOrder = Order.Array;
3528
3512
  *
3529
3513
  * **Example** (Comparing arrays for equality)
3530
3514
  *
3531
- * ```ts
3515
+ * ```ts import.meta.vitest
3532
3516
  * import { Array } from "effect"
3533
3517
  *
3534
3518
  * const eq = Array.makeEquivalence<number>((a, b) => a === b)
3535
- * console.log(eq([1, 2, 3], [1, 2, 3])) // true
3519
+ *
3520
+ * eq([1, 2, 3], [1, 2, 3]) // => true
3536
3521
  * ```
3537
3522
  *
3538
3523
  * @see {@link makeOrder} — create an ordering for arrays
@@ -3551,15 +3536,18 @@ export const makeEquivalence = Equivalence.Array;
3551
3536
  *
3552
3537
  * **Example** (Iterating with side-effects)
3553
3538
  *
3554
- * ```ts
3539
+ * ```ts import.meta.vitest
3555
3540
  * import { Array } from "effect"
3556
3541
  *
3557
- * Array.forEach([1, 2, 3], (n) => console.log(n)) // 1, 2, 3
3542
+ * const visited: Array<number> = []
3543
+ * Array.forEach([1, 2, 3], (n) => visited.push(n))
3544
+ *
3545
+ * visited // => [1, 2, 3]
3558
3546
  * ```
3559
3547
  *
3560
3548
  * @see {@link map} for transforming each element into a new array
3561
3549
  *
3562
- * @category elements
3550
+ * @category traversing
3563
3551
  * @since 2.0.0
3564
3552
  */
3565
3553
  export const forEach = /*#__PURE__*/dual(2, (self, f) => fromIterable(self).forEach((a, i) => f(a, i)));
@@ -3574,16 +3562,16 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => fromIterable(self).forE
3574
3562
  *
3575
3563
  * **Example** (Deduplicating with custom equality)
3576
3564
  *
3577
- * ```ts
3565
+ * ```ts import.meta.vitest
3578
3566
  * import { Array } from "effect"
3579
3567
  *
3580
- * console.log(Array.dedupeWith([1, 2, 2, 3, 3, 3], (a, b) => a === b)) // [1, 2, 3]
3568
+ * Array.dedupeWith([1, 2, 2, 3, 3, 3], (a, b) => a === b) // => [1, 2, 3]
3581
3569
  * ```
3582
3570
  *
3583
3571
  * @see {@link dedupe} — uses default equality
3584
3572
  * @see {@link dedupeAdjacentWith} — only dedupes consecutive elements
3585
3573
  *
3586
- * @category elements
3574
+ * @category deduplication
3587
3575
  * @since 2.0.0
3588
3576
  */
3589
3577
  export const dedupeWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
@@ -3611,16 +3599,16 @@ export const dedupeWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
3611
3599
  *
3612
3600
  * **Example** (Removing duplicates)
3613
3601
  *
3614
- * ```ts
3602
+ * ```ts import.meta.vitest
3615
3603
  * import { Array } from "effect"
3616
3604
  *
3617
- * console.log(Array.dedupe([1, 2, 1, 3, 2, 4])) // [1, 2, 3, 4]
3605
+ * Array.dedupe([1, 2, 1, 3, 2, 4]) // => [1, 2, 3, 4]
3618
3606
  * ```
3619
3607
  *
3620
3608
  * @see {@link dedupeWith} — use custom equality
3621
3609
  * @see {@link dedupeAdjacent} — only dedupes consecutive elements
3622
3610
  *
3623
- * @category elements
3611
+ * @category deduplication
3624
3612
  * @since 2.0.0
3625
3613
  */
3626
3614
  export const dedupe = self => {
@@ -3652,17 +3640,16 @@ export const dedupe = self => {
3652
3640
  *
3653
3641
  * **Example** (Deduplicating adjacent elements)
3654
3642
  *
3655
- * ```ts
3643
+ * ```ts import.meta.vitest
3656
3644
  * import { Array } from "effect"
3657
3645
  *
3658
- * console.log(Array.dedupeAdjacentWith([1, 1, 2, 2, 3, 3], (a, b) => a === b))
3659
- * // [1, 2, 3]
3646
+ * Array.dedupeAdjacentWith([1, 1, 2, 2, 3, 3], (a, b) => a === b) // => [1, 2, 3]
3660
3647
  * ```
3661
3648
  *
3662
3649
  * @see {@link dedupeAdjacent} — uses default equality
3663
3650
  * @see {@link dedupeWith} — dedupes all duplicates, not just adjacent
3664
3651
  *
3665
- * @category elements
3652
+ * @category deduplication
3666
3653
  * @since 2.0.0
3667
3654
  */
3668
3655
  export const dedupeAdjacentWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
@@ -3686,16 +3673,16 @@ export const dedupeAdjacentWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
3686
3673
  *
3687
3674
  * **Example** (Removing adjacent duplicates)
3688
3675
  *
3689
- * ```ts
3676
+ * ```ts import.meta.vitest
3690
3677
  * import { Array } from "effect"
3691
3678
  *
3692
- * console.log(Array.dedupeAdjacent([1, 1, 2, 2, 3, 3])) // [1, 2, 3]
3679
+ * Array.dedupeAdjacent([1, 1, 2, 2, 3, 3]) // => [1, 2, 3]
3693
3680
  * ```
3694
3681
  *
3695
3682
  * @see {@link dedupeAdjacentWith} — use custom equality
3696
3683
  * @see {@link dedupe} — remove all duplicates
3697
3684
  *
3698
- * @category elements
3685
+ * @category deduplication
3699
3686
  * @since 2.0.0
3700
3687
  */
3701
3688
  export const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith(/*#__PURE__*/Equal.asEquivalence());
@@ -3704,10 +3691,10 @@ export const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith(/*#__PURE__*/Equal
3704
3691
  *
3705
3692
  * **Example** (Joining strings)
3706
3693
  *
3707
- * ```ts
3694
+ * ```ts import.meta.vitest
3708
3695
  * import { Array } from "effect"
3709
3696
  *
3710
- * console.log(Array.join(["a", "b", "c"], "-")) // "a-b-c"
3697
+ * Array.join(["a", "b", "c"], "-") // => "a-b-c"
3711
3698
  * ```
3712
3699
  *
3713
3700
  * @see {@link intersperse} — insert separator elements without joining
@@ -3733,11 +3720,10 @@ export const join = /*#__PURE__*/dual(2, (self, sep) => fromIterable(self).join(
3733
3720
  *
3734
3721
  * **Example** (Running sum alongside mapped values)
3735
3722
  *
3736
- * ```ts
3723
+ * ```ts import.meta.vitest
3737
3724
  * import { Array } from "effect"
3738
3725
  *
3739
- * const result = Array.mapAccum([1, 2, 3], 0, (acc, n) => [acc + n, acc + n])
3740
- * console.log(result) // [6, [1, 3, 6]]
3726
+ * Array.mapAccum([1, 2, 3], 0, (acc, n) => [acc + n, acc + n]) // => [6, [1, 3, 6]]
3741
3727
  * ```
3742
3728
  *
3743
3729
  * @see {@link scan} — when you only need the accumulated results (not the final state)
@@ -3774,16 +3760,15 @@ export const mapAccum = /*#__PURE__*/dual(3, (self, s, f) => {
3774
3760
  *
3775
3761
  * **Example** (Combining numbers and letters)
3776
3762
  *
3777
- * ```ts
3763
+ * ```ts import.meta.vitest
3778
3764
  * import { Array } from "effect"
3779
3765
  *
3780
- * const result = Array.cartesianWith([1, 2], ["a", "b"], (a, b) => `${a}-${b}`)
3781
- * console.log(result) // ["1-a", "1-b", "2-a", "2-b"]
3766
+ * Array.cartesianWith([1, 2], ["a", "b"], (a, b) => `${a}-${b}`) // => ["1-a", "1-b", "2-a", "2-b"]
3782
3767
  * ```
3783
3768
  *
3784
3769
  * @see {@link cartesian} for returning tuples instead of applying a combiner
3785
3770
  *
3786
- * @category elements
3771
+ * @category combining
3787
3772
  * @since 2.0.0
3788
3773
  */
3789
3774
  export const cartesianWith = /*#__PURE__*/dual(3, (self, that, f) => flatMap(self, a => map(that, b => f(a, b))));
@@ -3801,16 +3786,15 @@ export const cartesianWith = /*#__PURE__*/dual(3, (self, that, f) => flatMap(sel
3801
3786
  *
3802
3787
  * **Example** (Generating all pairs from two arrays)
3803
3788
  *
3804
- * ```ts
3789
+ * ```ts import.meta.vitest
3805
3790
  * import { Array } from "effect"
3806
3791
  *
3807
- * const result = Array.cartesian([1, 2], ["a", "b"])
3808
- * console.log(result) // [[1, "a"], [1, "b"], [2, "a"], [2, "b"]]
3792
+ * Array.cartesian([1, 2], ["a", "b"]) // => [[1, "a"], [1, "b"], [2, "a"], [2, "b"]]
3809
3793
  * ```
3810
3794
  *
3811
3795
  * @see {@link cartesianWith} — apply a combiner to each pair
3812
3796
  *
3813
- * @category elements
3797
+ * @category combining
3814
3798
  * @since 2.0.0
3815
3799
  */
3816
3800
  export const cartesian = /*#__PURE__*/dual(2, (self, that) => cartesianWith(self, that, (a, b) => [a, b]));
@@ -3833,24 +3817,23 @@ export const cartesian = /*#__PURE__*/dual(2, (self, that) => cartesianWith(self
3833
3817
  *
3834
3818
  * **Example** (Building array comprehensions with do notation)
3835
3819
  *
3836
- * ```ts
3820
+ * ```ts import.meta.vitest
3837
3821
  * import { Array, pipe } from "effect"
3838
3822
  *
3839
- * const result = pipe(
3823
+ * pipe(
3840
3824
  * Array.Do,
3841
3825
  * Array.bind("x", () => [1, 3, 5]),
3842
3826
  * Array.bind("y", () => [2, 4, 6]),
3843
3827
  * Array.filter(({ x, y }) => x < y),
3844
3828
  * Array.map(({ x, y }) => [x, y] as const)
3845
- * )
3846
- * console.log(result) // [[1, 2], [1, 4], [1, 6], [3, 4], [3, 6], [5, 6]]
3829
+ * ) // => [[1, 2], [1, 4], [1, 6], [3, 4], [3, 6], [5, 6]]
3847
3830
  * ```
3848
3831
  *
3849
3832
  * @see {@link bind} — introduce an array variable into the scope
3850
3833
  * @see {@link bindTo} — start a pipeline by naming the first array
3851
3834
  * @see {@link let_ let} — introduce a plain computed value
3852
3835
  *
3853
- * @category do notation
3836
+ * @category constructors
3854
3837
  * @since 3.2.0
3855
3838
  */
3856
3839
  export const Do = /*#__PURE__*/of({});
@@ -3870,23 +3853,21 @@ export const Do = /*#__PURE__*/of({});
3870
3853
  *
3871
3854
  * **Example** (Binding two arrays)
3872
3855
  *
3873
- * ```ts
3856
+ * ```ts import.meta.vitest
3874
3857
  * import { Array, pipe } from "effect"
3875
3858
  *
3876
- * const result = pipe(
3859
+ * pipe(
3877
3860
  * Array.Do,
3878
3861
  * Array.bind("x", () => [1, 2]),
3879
3862
  * Array.bind("y", () => ["a", "b"])
3880
- * )
3881
- * console.log(result)
3882
- * // [{ x: 1, y: "a" }, { x: 1, y: "b" }, { x: 2, y: "a" }, { x: 2, y: "b" }]
3863
+ * ) // => [{ x: 1, y: "a" }, { x: 1, y: "b" }, { x: 2, y: "a" }, { x: 2, y: "b" }]
3883
3864
  * ```
3884
3865
  *
3885
3866
  * @see {@link Do} — start a do-notation pipeline
3886
3867
  * @see {@link bindTo} — name the first array in a pipeline
3887
3868
  * @see {@link let_ let} — add a plain computed value
3888
3869
  *
3889
- * @category do notation
3870
+ * @category sequencing
3890
3871
  * @since 3.2.0
3891
3872
  */
3892
3873
  export const bind = /*#__PURE__*/internalDoNotation.bind(map, flatMap);
@@ -3905,20 +3886,16 @@ export const bind = /*#__PURE__*/internalDoNotation.bind(map, flatMap);
3905
3886
  *
3906
3887
  * **Example** (Naming an existing array)
3907
3888
  *
3908
- * ```ts
3909
- * import { Array, pipe } from "effect"
3889
+ * ```ts import.meta.vitest
3890
+ * import { Array } from "effect"
3910
3891
  *
3911
- * const result = pipe(
3912
- * [1, 2, 3],
3913
- * Array.bindTo("x")
3914
- * )
3915
- * console.log(result) // [{ x: 1 }, { x: 2 }, { x: 3 }]
3892
+ * Array.bindTo([1, 2, 3], "x") // => [{ x: 1 }, { x: 2 }, { x: 3 }]
3916
3893
  * ```
3917
3894
  *
3918
3895
  * @see {@link Do} — start with an empty scope
3919
3896
  * @see {@link bind} — add another array variable to the scope
3920
3897
  *
3921
- * @category do notation
3898
+ * @category mapping
3922
3899
  * @since 3.2.0
3923
3900
  */
3924
3901
  export const bindTo = /*#__PURE__*/internalDoNotation.bindTo(map);
@@ -3940,22 +3917,20 @@ export {
3940
3917
  *
3941
3918
  * **Example** (Adding a computed value)
3942
3919
  *
3943
- * ```ts
3920
+ * ```ts import.meta.vitest
3944
3921
  * import { Array, pipe } from "effect"
3945
3922
  *
3946
- * const result = pipe(
3923
+ * pipe(
3947
3924
  * Array.Do,
3948
3925
  * Array.bind("x", () => [1, 2, 3]),
3949
3926
  * Array.let("doubled", ({ x }) => x * 2)
3950
- * )
3951
- * console.log(result)
3952
- * // [{ x: 1, doubled: 2 }, { x: 2, doubled: 4 }, { x: 3, doubled: 6 }]
3927
+ * ) // => [{ x: 1, doubled: 2 }, { x: 2, doubled: 4 }, { x: 3, doubled: 6 }]
3953
3928
  * ```
3954
3929
  *
3955
3930
  * @see {@link Do} — start a do-notation pipeline
3956
3931
  * @see {@link bind} — introduce an array variable (produces cartesian product)
3957
3932
  *
3958
- * @category do notation
3933
+ * @category mapping
3959
3934
  * @since 3.2.0
3960
3935
  */
3961
3936
  let_ as let };
@@ -3997,11 +3972,10 @@ export function makeReducerConcat() {
3997
3972
  *
3998
3973
  * **Example** (Counting even numbers)
3999
3974
  *
4000
- * ```ts
3975
+ * ```ts import.meta.vitest
4001
3976
  * import { Array } from "effect"
4002
3977
  *
4003
- * const result = Array.countBy([1, 2, 3, 4, 5], (n) => n % 2 === 0)
4004
- * console.log(result) // 2
3978
+ * Array.countBy([1, 2, 3, 4, 5], (n) => n % 2 === 0) // => 2
4005
3979
  * ```
4006
3980
  *
4007
3981
  * @see {@link filter} — when you need the matching elements, not just the count