effect 4.0.1 → 4.0.2

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 (917) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +21 -0
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +5 -0
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +3 -0
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +171 -0
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +89 -0
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +90 -0
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +53 -0
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +15 -0
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +496 -1
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +280 -1
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +7 -0
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +5 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +558 -0
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +261 -13
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +32 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +213 -169
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpRuntime.js +79 -46
  568. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  569. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  570. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  571. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  572. package/dist/cluster/K8sHttpClient.js +5 -2
  573. package/dist/cluster/K8sHttpClient.js.map +1 -1
  574. package/dist/encoding/Base64.d.ts +4 -0
  575. package/dist/encoding/Base64.d.ts.map +1 -1
  576. package/dist/encoding/Base64.js +4 -0
  577. package/dist/encoding/Base64.js.map +1 -1
  578. package/dist/encoding/Base64Url.d.ts +4 -0
  579. package/dist/encoding/Base64Url.d.ts.map +1 -1
  580. package/dist/encoding/Base64Url.js +4 -0
  581. package/dist/encoding/Base64Url.js.map +1 -1
  582. package/dist/encoding/EncodingError.d.ts +4 -0
  583. package/dist/encoding/EncodingError.d.ts.map +1 -1
  584. package/dist/encoding/EncodingError.js +4 -0
  585. package/dist/encoding/EncodingError.js.map +1 -1
  586. package/dist/encoding/Hex.d.ts +5 -0
  587. package/dist/encoding/Hex.d.ts.map +1 -1
  588. package/dist/encoding/Hex.js +5 -0
  589. package/dist/encoding/Hex.js.map +1 -1
  590. package/dist/encoding/Toml.js +2 -2
  591. package/dist/encoding/Toml.js.map +1 -1
  592. package/dist/encoding/Yaml.d.ts.map +1 -1
  593. package/dist/encoding/Yaml.js +6 -4
  594. package/dist/encoding/Yaml.js.map +1 -1
  595. package/dist/encoding/index.d.ts +4 -0
  596. package/dist/encoding/index.d.ts.map +1 -1
  597. package/dist/encoding/index.js +4 -0
  598. package/dist/encoding/index.js.map +1 -1
  599. package/dist/eventlog/SqlEventJournal.js +8 -4
  600. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  601. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  602. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  603. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  604. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  605. package/dist/http/Headers.d.ts +3 -1
  606. package/dist/http/Headers.d.ts.map +1 -1
  607. package/dist/http/Headers.js +4 -2
  608. package/dist/http/Headers.js.map +1 -1
  609. package/dist/http/HttpClient.d.ts +9 -0
  610. package/dist/http/HttpClient.d.ts.map +1 -1
  611. package/dist/http/HttpClient.js +40 -21
  612. package/dist/http/HttpClient.js.map +1 -1
  613. package/dist/http/HttpClientResponse.js +3 -1
  614. package/dist/http/HttpClientResponse.js.map +1 -1
  615. package/dist/http/HttpEffect.d.ts +3 -0
  616. package/dist/http/HttpEffect.d.ts.map +1 -1
  617. package/dist/http/HttpEffect.js +5 -2
  618. package/dist/http/HttpEffect.js.map +1 -1
  619. package/dist/http/HttpMiddleware.d.ts +17 -0
  620. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  621. package/dist/http/HttpMiddleware.js +56 -39
  622. package/dist/http/HttpMiddleware.js.map +1 -1
  623. package/dist/http/HttpServer.d.ts +1 -1
  624. package/dist/http/HttpServer.d.ts.map +1 -1
  625. package/dist/http/internal/tracing.d.ts +2 -0
  626. package/dist/http/internal/tracing.d.ts.map +1 -0
  627. package/dist/http/internal/tracing.js +37 -0
  628. package/dist/http/internal/tracing.js.map +1 -0
  629. package/dist/http-api/HttpApiBuilder.js +2 -1
  630. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  631. package/dist/http-api/HttpApiClient.d.ts +12 -3
  632. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  633. package/dist/http-api/HttpApiClient.js.map +1 -1
  634. package/dist/http-api/HttpApiError.d.ts +4 -3
  635. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  636. package/dist/http-api/HttpApiError.js +7 -4
  637. package/dist/http-api/HttpApiError.js.map +1 -1
  638. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  639. package/dist/http-api/HttpApiSecurity.js +8 -8
  640. package/dist/index.d.ts +155 -0
  641. package/dist/index.d.ts.map +1 -1
  642. package/dist/index.js +155 -0
  643. package/dist/index.js.map +1 -1
  644. package/dist/internal/arbitrary/array.js +3 -3
  645. package/dist/internal/arbitrary/array.js.map +1 -1
  646. package/dist/internal/arbitrary/model.js +26 -11
  647. package/dist/internal/arbitrary/model.js.map +1 -1
  648. package/dist/internal/arbitrary/runner.js +8 -8
  649. package/dist/internal/arbitrary/runner.js.map +1 -1
  650. package/dist/internal/arbitrary/schema.js +4 -5
  651. package/dist/internal/arbitrary/schema.js.map +1 -1
  652. package/dist/internal/effect.js +41 -39
  653. package/dist/internal/effect.js.map +1 -1
  654. package/dist/internal/schedule.js +7 -5
  655. package/dist/internal/schedule.js.map +1 -1
  656. package/dist/internal/schema/standardSchema.js +2 -2
  657. package/dist/internal/schema/standardSchema.js.map +1 -1
  658. package/dist/internal/version.d.ts +2 -0
  659. package/dist/internal/version.d.ts.map +1 -0
  660. package/dist/internal/version.js +3 -0
  661. package/dist/internal/version.js.map +1 -0
  662. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  663. package/dist/observability/OtlpExporter.js +5 -6
  664. package/dist/observability/OtlpExporter.js.map +1 -1
  665. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  666. package/dist/observability/OtlpLogger.js +23 -27
  667. package/dist/observability/OtlpLogger.js.map +1 -1
  668. package/dist/observability/OtlpMetrics.d.ts +5 -3
  669. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  670. package/dist/observability/OtlpMetrics.js +21 -94
  671. package/dist/observability/OtlpMetrics.js.map +1 -1
  672. package/dist/observability/OtlpResource.d.ts +4 -3
  673. package/dist/observability/OtlpResource.d.ts.map +1 -1
  674. package/dist/observability/OtlpResource.js +20 -23
  675. package/dist/observability/OtlpResource.js.map +1 -1
  676. package/dist/observability/OtlpTracer.d.ts +1 -0
  677. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  678. package/dist/observability/OtlpTracer.js +32 -36
  679. package/dist/observability/OtlpTracer.js.map +1 -1
  680. package/dist/observability/internal/otlpProtobuf.js +32 -1
  681. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  682. package/dist/reactivity/AsyncResult.d.ts +1 -1
  683. package/dist/reactivity/Atom.d.ts +5 -5
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +9 -5
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  690. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  691. package/dist/reactivity/AtomRegistry.js.map +1 -1
  692. package/dist/rpc/RpcClient.d.ts +21 -3
  693. package/dist/rpc/RpcClient.d.ts.map +1 -1
  694. package/dist/rpc/RpcClient.js +38 -20
  695. package/dist/rpc/RpcClient.js.map +1 -1
  696. package/dist/rpc/RpcServer.d.ts.map +1 -1
  697. package/dist/rpc/RpcServer.js +18 -21
  698. package/dist/rpc/RpcServer.js.map +1 -1
  699. package/dist/rpc/internal/tracing.d.ts +2 -0
  700. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  701. package/dist/rpc/internal/tracing.js +18 -0
  702. package/dist/rpc/internal/tracing.js.map +1 -0
  703. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  704. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  705. package/dist/sql/SqlClient.js +4 -4
  706. package/dist/sql/SqlClient.js.map +1 -1
  707. package/dist/sql/Statement.d.ts +21 -1
  708. package/dist/sql/Statement.d.ts.map +1 -1
  709. package/dist/sql/Statement.js +55 -7
  710. package/dist/sql/Statement.js.map +1 -1
  711. package/dist/testing/TestClock.d.ts +8 -0
  712. package/dist/testing/TestClock.d.ts.map +1 -1
  713. package/dist/testing/TestClock.js +7 -0
  714. package/dist/testing/TestClock.js.map +1 -1
  715. package/dist/testing/TestConsole.d.ts +7 -0
  716. package/dist/testing/TestConsole.d.ts.map +1 -1
  717. package/dist/testing/TestConsole.js +6 -0
  718. package/dist/testing/TestConsole.js.map +1 -1
  719. package/dist/testing/index.d.ts +3 -0
  720. package/dist/testing/index.d.ts.map +1 -1
  721. package/dist/testing/index.js +3 -0
  722. package/dist/testing/index.js.map +1 -1
  723. package/package.json +3 -3
  724. package/src/Array.ts +351 -3
  725. package/src/BigDecimal.ts +88 -0
  726. package/src/BigInt.ts +68 -0
  727. package/src/Boolean.ts +34 -0
  728. package/src/Brand.ts +10 -0
  729. package/src/ByteSize.ts +87 -0
  730. package/src/Cache.ts +50 -8
  731. package/src/Cause.ts +82 -0
  732. package/src/Channel.ts +368 -18
  733. package/src/ChannelSchema.ts +13 -0
  734. package/src/Chunk.ts +193 -0
  735. package/src/Clock.ts +7 -0
  736. package/src/Combiner.ts +10 -0
  737. package/src/Config.ts +82 -8
  738. package/src/ConfigProvider.ts +28 -0
  739. package/src/Console.ts +26 -0
  740. package/src/Context.ts +50 -0
  741. package/src/Cron.ts +32 -1
  742. package/src/Crypto.ts +5 -0
  743. package/src/Data.ts +13 -0
  744. package/src/DateTime.ts +171 -0
  745. package/src/Deferred.ts +51 -0
  746. package/src/Differ.ts +2 -0
  747. package/src/Duration.ts +90 -0
  748. package/src/Effect.ts +539 -5
  749. package/src/Effectable.ts +4 -0
  750. package/src/Equal.ts +12 -1
  751. package/src/Equivalence.ts +22 -0
  752. package/src/ErrorReporter.ts +36 -0
  753. package/src/ExecutionPlan.ts +58 -14
  754. package/src/Exit.ts +40 -0
  755. package/src/Fiber.ts +20 -0
  756. package/src/FiberHandle.ts +29 -4
  757. package/src/FiberMap.ts +38 -0
  758. package/src/FiberSet.ts +21 -0
  759. package/src/FileSystem.ts +16 -0
  760. package/src/Filter.ts +55 -0
  761. package/src/Formatter.ts +42 -1
  762. package/src/Function.ts +30 -0
  763. package/src/Graph.ts +317 -36
  764. package/src/HKT.ts +5 -0
  765. package/src/Hash.ts +15 -0
  766. package/src/HashMap.ts +91 -0
  767. package/src/HashRing.ts +18 -0
  768. package/src/HashSet.ts +53 -0
  769. package/src/Inspectable.ts +8 -0
  770. package/src/Iterable.ts +127 -0
  771. package/src/JsonPatch.ts +5 -0
  772. package/src/JsonPointer.ts +5 -0
  773. package/src/JsonSchema.ts +17 -0
  774. package/src/Latch.ts +14 -0
  775. package/src/Layer.ts +101 -1
  776. package/src/LayerMap.ts +7 -0
  777. package/src/LayerRef.ts +5 -0
  778. package/src/LogLevel.ts +20 -0
  779. package/src/Logger.ts +41 -5
  780. package/src/ManagedRuntime.ts +12 -1
  781. package/src/Match.ts +52 -0
  782. package/src/Metric.ts +69 -0
  783. package/src/MutableHashMap.ts +44 -0
  784. package/src/MutableHashSet.ts +17 -0
  785. package/src/MutableList.ts +21 -0
  786. package/src/MutableRef.ts +32 -0
  787. package/src/Newtype.ts +9 -0
  788. package/src/NonEmptyIterable.ts +4 -0
  789. package/src/Number.ts +61 -0
  790. package/src/Optic.ts +57 -0
  791. package/src/Option.ts +134 -0
  792. package/src/Order.ts +30 -0
  793. package/src/Ordering.ts +7 -0
  794. package/src/PartitionedSemaphore.ts +61 -22
  795. package/src/Path.ts +6 -0
  796. package/src/Pipeable.ts +7 -0
  797. package/src/PlatformError.ts +8 -0
  798. package/src/Pool.ts +20 -1
  799. package/src/Predicate.ts +85 -0
  800. package/src/PrimaryKey.ts +5 -0
  801. package/src/PubSub.ts +90 -9
  802. package/src/Pull.ts +20 -0
  803. package/src/Queue.ts +80 -10
  804. package/src/Random.ts +13 -0
  805. package/src/RcMap.ts +23 -0
  806. package/src/RcRef.ts +6 -0
  807. package/src/Record.ts +100 -0
  808. package/src/Redactable.ts +6 -0
  809. package/src/Redacted.ts +8 -0
  810. package/src/Reducer.ts +4 -0
  811. package/src/Ref.ts +42 -0
  812. package/src/References.ts +21 -0
  813. package/src/RegExp.ts +4 -0
  814. package/src/Request.ts +32 -0
  815. package/src/RequestResolver.ts +59 -10
  816. package/src/Resource.ts +7 -0
  817. package/src/Result.ts +93 -0
  818. package/src/Runtime.ts +10 -0
  819. package/src/Schedule.ts +61 -0
  820. package/src/Scheduler.ts +7 -0
  821. package/src/Schema.ts +499 -4
  822. package/src/SchemaAST.ts +115 -1
  823. package/src/SchemaGetter.ts +80 -4
  824. package/src/SchemaIssue.ts +34 -0
  825. package/src/SchemaParser.ts +26 -0
  826. package/src/SchemaRepresentation.ts +148 -0
  827. package/src/SchemaTransformation.ts +53 -0
  828. package/src/Scope.ts +19 -0
  829. package/src/ScopedCache.ts +55 -3
  830. package/src/ScopedRef.ts +9 -0
  831. package/src/Semaphore.ts +26 -0
  832. package/src/Sink.ts +126 -2
  833. package/src/StandardSchema.ts +1 -0
  834. package/src/Stdio.ts +7 -0
  835. package/src/Stream.ts +622 -15
  836. package/src/String.ts +87 -0
  837. package/src/Struct.ts +46 -0
  838. package/src/SubscriptionRef.ts +65 -0
  839. package/src/Symbol.ts +2 -0
  840. package/src/SynchronizedRef.ts +63 -0
  841. package/src/Take.ts +3 -0
  842. package/src/Terminal.ts +8 -0
  843. package/src/Tracer.ts +23 -0
  844. package/src/Trie.ts +68 -0
  845. package/src/Tuple.ts +38 -0
  846. package/src/TxChunk.ts +52 -0
  847. package/src/TxDeferred.ts +15 -0
  848. package/src/TxHashMap.ts +97 -6
  849. package/src/TxHashSet.ts +83 -3
  850. package/src/TxPriorityQueue.ts +34 -2
  851. package/src/TxPubSub.ts +26 -0
  852. package/src/TxQueue.ts +51 -0
  853. package/src/TxReentrantLock.ts +53 -36
  854. package/src/TxRef.ts +14 -0
  855. package/src/TxSemaphore.ts +47 -31
  856. package/src/TxSubscriptionRef.ts +25 -0
  857. package/src/Types.ts +36 -0
  858. package/src/UndefinedOr.ts +15 -0
  859. package/src/Unify.ts +15 -0
  860. package/src/Utils.ts +4 -0
  861. package/src/Version.ts +38 -0
  862. package/src/ai/Chat.ts +1 -1
  863. package/src/ai/DecisionModel.ts +42 -1
  864. package/src/ai/LanguageModel.ts +16 -19
  865. package/src/ai/McpServer.ts +107 -36
  866. package/src/ai/Telemetry.ts +62 -58
  867. package/src/ai/internal/mcpRuntime.ts +84 -43
  868. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  869. package/src/cluster/K8sHttpClient.ts +12 -2
  870. package/src/encoding/Base64.ts +4 -0
  871. package/src/encoding/Base64Url.ts +4 -0
  872. package/src/encoding/EncodingError.ts +5 -0
  873. package/src/encoding/Hex.ts +5 -0
  874. package/src/encoding/Toml.ts +2 -2
  875. package/src/encoding/Yaml.ts +8 -4
  876. package/src/encoding/index.ts +4 -0
  877. package/src/eventlog/SqlEventJournal.ts +18 -4
  878. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  879. package/src/http/Headers.ts +8 -2
  880. package/src/http/HttpClient.ts +44 -27
  881. package/src/http/HttpClientResponse.ts +3 -1
  882. package/src/http/HttpEffect.ts +11 -2
  883. package/src/http/HttpMiddleware.ts +60 -45
  884. package/src/http/HttpServer.ts +1 -1
  885. package/src/http/internal/tracing.ts +52 -0
  886. package/src/http-api/HttpApiBuilder.ts +5 -1
  887. package/src/http-api/HttpApiClient.ts +13 -4
  888. package/src/http-api/HttpApiError.ts +8 -4
  889. package/src/http-api/HttpApiSecurity.ts +8 -8
  890. package/src/index.ts +156 -0
  891. package/src/internal/arbitrary/array.ts +3 -3
  892. package/src/internal/arbitrary/model.ts +37 -14
  893. package/src/internal/arbitrary/runner.ts +7 -7
  894. package/src/internal/arbitrary/schema.ts +4 -3
  895. package/src/internal/effect.ts +47 -45
  896. package/src/internal/schedule.ts +23 -17
  897. package/src/internal/schema/standardSchema.ts +2 -2
  898. package/src/internal/version.ts +2 -0
  899. package/src/observability/OtlpExporter.ts +9 -6
  900. package/src/observability/OtlpLogger.ts +20 -21
  901. package/src/observability/OtlpMetrics.ts +34 -93
  902. package/src/observability/OtlpResource.ts +18 -27
  903. package/src/observability/OtlpTracer.ts +34 -40
  904. package/src/observability/internal/otlpProtobuf.ts +60 -0
  905. package/src/reactivity/AsyncResult.ts +1 -1
  906. package/src/reactivity/Atom.ts +10 -6
  907. package/src/reactivity/AtomHttpApi.ts +2 -4
  908. package/src/reactivity/AtomRegistry.ts +7 -0
  909. package/src/rpc/RpcClient.ts +48 -24
  910. package/src/rpc/RpcServer.ts +26 -24
  911. package/src/rpc/internal/tracing.ts +22 -0
  912. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  913. package/src/sql/SqlClient.ts +4 -4
  914. package/src/sql/Statement.ts +59 -7
  915. package/src/testing/TestClock.ts +9 -0
  916. package/src/testing/TestConsole.ts +8 -0
  917. package/src/testing/index.ts +3 -0
package/dist/Array.js CHANGED
@@ -7,6 +7,7 @@
7
7
  * arrays and preserve non-empty array types when the result is guaranteed to
8
8
  * contain values.
9
9
  *
10
+ * @stability stable
10
11
  * @since 2.0.0
11
12
  */
12
13
  import * as Equal from "./Equal.js";
@@ -40,6 +41,7 @@ import * as Tuple from "./Tuple.js";
40
41
  * Array.Array === globalThis.Array // => true
41
42
  * ```
42
43
  *
44
+ * @stability stable
43
45
  * @category constructors
44
46
  * @since 4.0.0
45
47
  */
@@ -67,6 +69,7 @@ export const Array = globalThis.Array;
67
69
  * @see {@link of} — create a single-element array
68
70
  * @see {@link fromIterable} — create from any iterable
69
71
  *
72
+ * @stability stable
70
73
  * @category constructors
71
74
  * @since 2.0.0
72
75
  */
@@ -93,6 +96,7 @@ export const make = (...elements) => elements;
93
96
  *
94
97
  * @see {@link makeBy} — create an array by computing each element
95
98
  *
99
+ * @stability stable
96
100
  * @category constructors
97
101
  * @since 2.0.0
98
102
  */
@@ -121,6 +125,7 @@ export const allocate = n => new Array(Count.normalize(n));
121
125
  * @see {@link range} — create a range of integers
122
126
  * @see {@link replicate} — repeat a single value
123
127
  *
128
+ * @stability stable
124
129
  * @category constructors
125
130
  * @since 2.0.0
126
131
  */
@@ -154,6 +159,7 @@ export const makeBy = /*#__PURE__*/dual(2, (n, f) => {
154
159
  *
155
160
  * @see {@link makeBy} — generate values from a function
156
161
  *
162
+ * @stability stable
157
163
  * @category constructors
158
164
  * @since 2.0.0
159
165
  */
@@ -181,6 +187,7 @@ export const range = (start, end) => start <= end ? makeBy(end - start + 1, i =>
181
187
  *
182
188
  * @see {@link makeBy} — vary values based on index
183
189
  *
190
+ * @stability stable
184
191
  * @category constructors
185
192
  * @since 2.0.0
186
193
  */
@@ -209,6 +216,7 @@ export const replicate = /*#__PURE__*/dual(2, (a, n) => makeBy(n, () => a));
209
216
  * @see {@link ensure} — wrap a single value or return an existing array
210
217
  * @see {@link copy} — create a shallow copy of an array
211
218
  *
219
+ * @stability stable
212
220
  * @category constructors
213
221
  * @since 2.0.0
214
222
  */
@@ -239,6 +247,7 @@ export const fromIterable = collection => Array.isArray(collection) ? collection
239
247
  * @see {@link of} — always wrap in a single-element array
240
248
  * @see {@link fromIterable} — convert any iterable
241
249
  *
250
+ * @stability stable
242
251
  * @category constructors
243
252
  * @since 3.3.0
244
253
  */
@@ -267,6 +276,7 @@ export const ensure = self => Array.isArray(self) ? self : [self];
267
276
  * @see {@link Record.toEntries} the equivalent function from the Record module
268
277
  * @see {@link Record.fromEntries} to build a record from an array of tuples
269
278
  *
279
+ * @stability stable
270
280
  * @category converting
271
281
  * @since 2.0.0
272
282
  */
@@ -289,6 +299,7 @@ export const fromRecord = Record.toEntries;
289
299
  *
290
300
  * @see {@link getSomes} — extract `Some` values from an array of Options
291
301
  *
302
+ * @stability stable
292
303
  * @category converting
293
304
  * @since 2.0.0
294
305
  */
@@ -322,6 +333,7 @@ export const fromOption = Option.toArray;
322
333
  * @see {@link matchLeft} — destructures into head + tail
323
334
  * @see {@link matchRight} — destructures into init + last
324
335
  *
336
+ * @stability stable
325
337
  * @category pattern matching
326
338
  * @since 2.0.0
327
339
  */
@@ -359,6 +371,7 @@ export const match = /*#__PURE__*/dual(2, (self, {
359
371
  * @see {@link match} — receives the full non-empty array
360
372
  * @see {@link matchRight} — destructures into init + last
361
373
  *
374
+ * @stability stable
362
375
  * @category pattern matching
363
376
  * @since 2.0.0
364
377
  */
@@ -396,6 +409,7 @@ export const matchLeft = /*#__PURE__*/dual(2, (self, {
396
409
  * @see {@link match} — receives the full non-empty array
397
410
  * @see {@link matchLeft} — destructures into head + tail
398
411
  *
412
+ * @stability stable
399
413
  * @category pattern matching
400
414
  * @since 2.0.0
401
415
  */
@@ -422,6 +436,7 @@ export const matchRight = /*#__PURE__*/dual(2, (self, {
422
436
  * @see {@link append} — add to the end
423
437
  * @see {@link prependAll} — prepend multiple elements
424
438
  *
439
+ * @stability stable
425
440
  * @category combining
426
441
  * @since 2.0.0
427
442
  */
@@ -448,6 +463,7 @@ export const prepend = /*#__PURE__*/dual(2, (self, head) => [head, ...self]);
448
463
  * @see {@link prepend} — add a single element to the front
449
464
  * @see {@link appendAll} — add elements to the end
450
465
  *
466
+ * @stability stable
451
467
  * @category combining
452
468
  * @since 2.0.0
453
469
  */
@@ -471,6 +487,7 @@ export const prependAll = /*#__PURE__*/dual(2, (self, that) => fromIterable(that
471
487
  * @see {@link prepend} — add to the front
472
488
  * @see {@link appendAll} — append multiple elements
473
489
  *
490
+ * @stability stable
474
491
  * @category combining
475
492
  * @since 2.0.0
476
493
  */
@@ -498,6 +515,7 @@ export const append = /*#__PURE__*/dual(2, (self, last) => [...self, last]);
498
515
  * @see {@link append} — add a single element to the end
499
516
  * @see {@link prependAll} — add elements to the front
500
517
  *
518
+ * @stability stable
501
519
  * @category combining
502
520
  * @since 2.0.0
503
521
  */
@@ -526,6 +544,7 @@ export const appendAll = /*#__PURE__*/dual(2, (self, that) => fromIterable(self)
526
544
  * @see {@link scanRight} — right-to-left scan
527
545
  * @see {@link reduce} — fold without intermediate values
528
546
  *
547
+ * @stability stable
529
548
  * @category folding
530
549
  * @since 2.0.0
531
550
  */
@@ -562,6 +581,7 @@ export const scan = /*#__PURE__*/dual(3, (self, b, f) => {
562
581
  * @see {@link scan} — left-to-right scan
563
582
  * @see {@link reduceRight} — fold without intermediate values
564
583
  *
584
+ * @stability stable
565
585
  * @category folding
566
586
  * @since 2.0.0
567
587
  */
@@ -598,6 +618,7 @@ export const scanRight = /*#__PURE__*/dual(3, (self, b, f) => {
598
618
  * @see {@link isArrayEmpty} — check for an empty array
599
619
  * @see {@link isArrayNonEmpty} — check for a non-empty array
600
620
  *
621
+ * @stability stable
601
622
  * @category guards
602
623
  * @since 2.0.0
603
624
  */
@@ -617,6 +638,7 @@ export const isArray = Array.isArray;
617
638
  * @see {@link isReadonlyArrayEmpty} — readonly variant
618
639
  * @see {@link isArrayNonEmpty} — opposite check
619
640
  *
641
+ * @stability stable
620
642
  * @category guards
621
643
  * @since 4.0.0
622
644
  */
@@ -636,6 +658,7 @@ export const isArrayEmpty = self => self.length === 0;
636
658
  * @see {@link isArrayEmpty} — mutable variant
637
659
  * @see {@link isReadonlyArrayNonEmpty} — opposite check
638
660
  *
661
+ * @stability stable
639
662
  * @category guards
640
663
  * @since 4.0.0
641
664
  */
@@ -661,6 +684,7 @@ export const isReadonlyArrayEmpty = isArrayEmpty;
661
684
  * @see {@link isReadonlyArrayNonEmpty} — readonly variant
662
685
  * @see {@link isArrayEmpty} — opposite check
663
686
  *
687
+ * @stability stable
664
688
  * @category guards
665
689
  * @since 4.0.0
666
690
  */
@@ -686,6 +710,7 @@ export const isArrayNonEmpty = internalArray.isArrayNonEmpty;
686
710
  * @see {@link isArrayNonEmpty} — mutable variant
687
711
  * @see {@link isReadonlyArrayEmpty} — opposite check
688
712
  *
713
+ * @stability stable
689
714
  * @category guards
690
715
  * @since 4.0.0
691
716
  */
@@ -705,6 +730,7 @@ export const isReadonlyArrayNonEmpty = internalArray.isArrayNonEmpty;
705
730
  * Array.length([1, 2, 3]) // => 3
706
731
  * ```
707
732
  *
733
+ * @stability stable
708
734
  * @category getters
709
735
  * @since 2.0.0
710
736
  */
@@ -750,6 +776,7 @@ export function isOutOfBounds(i, as) {
750
776
  * @see {@link head} for reading the first element as an `Option`
751
777
  * @see {@link last} for reading the last element as an `Option`
752
778
  *
779
+ * @stability stable
753
780
  * @category getters
754
781
  * @since 2.0.0
755
782
  */
@@ -781,6 +808,7 @@ export const get = /*#__PURE__*/dual(2, (self, index) => {
781
808
  *
782
809
  * @see {@link get} — safe version returning `Option`
783
810
  *
811
+ * @stability stable
784
812
  * @category unsafe
785
813
  * @since 4.0.0
786
814
  */
@@ -815,6 +843,7 @@ export const getUnsafe = /*#__PURE__*/dual(2, (self, index) => {
815
843
  * @see {@link headNonEmpty} for getting only the first element
816
844
  * @see {@link tailNonEmpty} for getting only the elements after the first
817
845
  *
846
+ * @stability stable
818
847
  * @category splitting
819
848
  * @since 2.0.0
820
849
  */
@@ -844,6 +873,7 @@ export const unprepend = self => [headNonEmpty(self), tailNonEmpty(self)];
844
873
  * @see {@link initNonEmpty} for getting only the elements before the last
845
874
  * @see {@link lastNonEmpty} for getting only the last element
846
875
  *
876
+ * @stability stable
847
877
  * @category splitting
848
878
  * @since 2.0.0
849
879
  */
@@ -868,6 +898,7 @@ export const unappend = self => [initNonEmpty(self), lastNonEmpty(self)];
868
898
  * @see {@link headNonEmpty} — direct access when array is known non-empty
869
899
  * @see {@link last} — get the last element
870
900
  *
901
+ * @stability stable
871
902
  * @category getters
872
903
  * @since 2.0.0
873
904
  */
@@ -891,6 +922,7 @@ export const head = /*#__PURE__*/get(0);
891
922
  *
892
923
  * @see {@link head} — safe version for possibly-empty arrays
893
924
  *
925
+ * @stability stable
894
926
  * @category getters
895
927
  * @since 2.0.0
896
928
  */
@@ -915,6 +947,7 @@ export const headNonEmpty = /*#__PURE__*/getUnsafe(0);
915
947
  * @see {@link lastNonEmpty} — direct access when array is known non-empty
916
948
  * @see {@link head} — get the first element
917
949
  *
950
+ * @stability stable
918
951
  * @category getters
919
952
  * @since 2.0.0
920
953
  */
@@ -938,6 +971,7 @@ export const last = self => isReadonlyArrayNonEmpty(self) ? Option.some(lastNonE
938
971
  *
939
972
  * @see {@link last} — safe version for possibly-empty arrays
940
973
  *
974
+ * @stability stable
941
975
  * @category getters
942
976
  * @since 2.0.0
943
977
  */
@@ -965,6 +999,7 @@ export const lastNonEmpty = self => self[self.length - 1];
965
999
  * @see {@link tailNonEmpty} — when the array is known non-empty
966
1000
  * @see {@link init} — all elements except the last
967
1001
  *
1002
+ * @stability stable
968
1003
  * @category getters
969
1004
  * @since 2.0.0
970
1005
  */
@@ -990,6 +1025,7 @@ export function tail(self) {
990
1025
  * @see {@link tail} — safe version for possibly-empty arrays
991
1026
  * @see {@link initNonEmpty} — all elements except the last
992
1027
  *
1028
+ * @stability stable
993
1029
  * @category getters
994
1030
  * @since 2.0.0
995
1031
  */
@@ -1018,6 +1054,7 @@ export const tailNonEmpty = self => self.slice(1);
1018
1054
  * @see {@link initNonEmpty} — when the array is known non-empty
1019
1055
  * @see {@link tail} — all elements except the first
1020
1056
  *
1057
+ * @stability stable
1021
1058
  * @category getters
1022
1059
  * @since 2.0.0
1023
1060
  */
@@ -1043,6 +1080,7 @@ export function init(self) {
1043
1080
  * @see {@link init} — safe version for possibly-empty arrays
1044
1081
  * @see {@link tailNonEmpty} — all elements except the first
1045
1082
  *
1083
+ * @stability stable
1046
1084
  * @category getters
1047
1085
  * @since 2.0.0
1048
1086
  */
@@ -1072,6 +1110,7 @@ const clampCount = (n, length) => Math.min(Count.normalize(n), length);
1072
1110
  * @see {@link takeWhile} for keeping an initial prefix while a predicate holds
1073
1111
  * @see {@link drop} for removing elements from the start
1074
1112
  *
1113
+ * @stability stable
1075
1114
  * @category getters
1076
1115
  * @since 2.0.0
1077
1116
  */
@@ -1102,6 +1141,7 @@ export const take = /*#__PURE__*/dual(2, (self, n) => {
1102
1141
  * @see {@link take} — keep from the start
1103
1142
  * @see {@link dropRight} — remove from the end
1104
1143
  *
1144
+ * @stability stable
1105
1145
  * @category getters
1106
1146
  * @since 2.0.0
1107
1147
  */
@@ -1136,6 +1176,7 @@ export const takeRight = /*#__PURE__*/dual(2, (self, n) => {
1136
1176
  * @see {@link dropWhile} for removing the matching prefix and keeping the rest
1137
1177
  * @see {@link span} for splitting the matching prefix from the remaining elements
1138
1178
  *
1179
+ * @stability stable
1139
1180
  * @category getters
1140
1181
  * @since 2.0.0
1141
1182
  */
@@ -1167,6 +1208,7 @@ export const takeWhile = /*#__PURE__*/dual(2, (self, predicate) => {
1167
1208
  *
1168
1209
  * @see {@link takeWhile} for taking a prefix based on a boolean predicate
1169
1210
  *
1211
+ * @stability stable
1170
1212
  * @category getters
1171
1213
  * @since 4.0.0
1172
1214
  */
@@ -1220,6 +1262,7 @@ const spanIndex = (self, predicate) => {
1220
1262
  * @see {@link dropWhile} for keeping only the elements after the matching prefix
1221
1263
  * @see {@link splitWhere} for splitting at the first element that satisfies a predicate
1222
1264
  *
1265
+ * @stability stable
1223
1266
  * @category splitting
1224
1267
  * @since 2.0.0
1225
1268
  */
@@ -1252,6 +1295,7 @@ export const span = /*#__PURE__*/dual(2, (self, predicate) => {
1252
1295
  * @see {@link dropWhile} for removing a prefix based on a predicate instead of a fixed count
1253
1296
  * @see {@link take} for keeping a fixed number of elements from the start
1254
1297
  *
1298
+ * @stability stable
1255
1299
  * @category getters
1256
1300
  * @since 2.0.0
1257
1301
  */
@@ -1281,6 +1325,7 @@ export const drop = /*#__PURE__*/dual(2, (self, n) => {
1281
1325
  * @see {@link drop} — remove from the start
1282
1326
  * @see {@link takeRight} — keep from the end
1283
1327
  *
1328
+ * @stability stable
1284
1329
  * @category getters
1285
1330
  * @since 2.0.0
1286
1331
  */
@@ -1310,6 +1355,7 @@ export const dropRight = /*#__PURE__*/dual(2, (self, n) => {
1310
1355
  * @see {@link takeWhile} — keep the matching prefix instead
1311
1356
  * @see {@link drop} — drop a fixed count
1312
1357
  *
1358
+ * @stability stable
1313
1359
  * @category getters
1314
1360
  * @since 2.0.0
1315
1361
  */
@@ -1340,6 +1386,7 @@ export const dropWhile = /*#__PURE__*/dual(2, (self, predicate) => {
1340
1386
  * @see {@link dropWhile} for dropping a prefix with a simple boolean predicate
1341
1387
  * @see {@link takeWhileFilter} for keeping only the matching prefix
1342
1388
  *
1389
+ * @stability stable
1343
1390
  * @category getters
1344
1391
  * @since 4.0.0
1345
1392
  */
@@ -1374,6 +1421,7 @@ export const dropWhileFilter = /*#__PURE__*/dual(2, (self, f) => {
1374
1421
  * @see {@link findLastIndex} — search from the end
1375
1422
  * @see {@link findFirst} — get the element itself
1376
1423
  *
1424
+ * @stability stable
1377
1425
  * @category searching
1378
1426
  * @since 2.0.0
1379
1427
  */
@@ -1406,6 +1454,7 @@ export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => {
1406
1454
  * @see {@link findFirstIndex} — search from the start
1407
1455
  * @see {@link findLast} — get the element itself
1408
1456
  *
1457
+ * @stability stable
1409
1458
  * @category searching
1410
1459
  * @since 2.0.0
1411
1460
  */
@@ -1445,6 +1494,7 @@ export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => {
1445
1494
  * @see {@link findFirstIndex} — get the index instead
1446
1495
  * @see {@link findFirstWithIndex} — get both element and index
1447
1496
  *
1497
+ * @stability stable
1448
1498
  * @category searching
1449
1499
  * @since 2.0.0
1450
1500
  */
@@ -1474,6 +1524,7 @@ export const findFirst = moduleIterable.findFirst;
1474
1524
  * @see {@link findFirst} — get only the element
1475
1525
  * @see {@link findFirstIndex} — get only the index
1476
1526
  *
1527
+ * @stability stable
1477
1528
  * @category searching
1478
1529
  * @since 3.17.0
1479
1530
  */
@@ -1518,6 +1569,7 @@ export const findFirstWithIndex = /*#__PURE__*/dual(2, (self, f) => {
1518
1569
  * @see {@link findFirst} — search from the start
1519
1570
  * @see {@link findLastIndex} — get the index instead
1520
1571
  *
1572
+ * @stability stable
1521
1573
  * @category searching
1522
1574
  * @since 2.0.0
1523
1575
  */
@@ -1561,6 +1613,7 @@ export const findLast = /*#__PURE__*/dual(2, (self, f) => {
1561
1613
  * @see {@link replace} — replace an existing element
1562
1614
  * @see {@link modify} — transform an element at an index
1563
1615
  *
1616
+ * @stability stable
1564
1617
  * @category transforming
1565
1618
  * @since 2.0.0
1566
1619
  */
@@ -1596,6 +1649,7 @@ export const insertAt = /*#__PURE__*/dual(3, (self, i, b) => {
1596
1649
  * @see {@link modify} — transform an element with a function
1597
1650
  * @see {@link insertAt} — insert without removing
1598
1651
  *
1652
+ * @stability stable
1599
1653
  * @category transforming
1600
1654
  * @since 2.0.0
1601
1655
  */
@@ -1629,6 +1683,7 @@ export const replace = /*#__PURE__*/dual(3, (self, i, b) => modify(self, i, () =
1629
1683
  * @see {@link modifyHeadNonEmpty} — modify the first element
1630
1684
  * @see {@link modifyLastNonEmpty} — modify the last element
1631
1685
  *
1686
+ * @stability stable
1632
1687
  * @category transforming
1633
1688
  * @since 2.0.0
1634
1689
  */
@@ -1664,6 +1719,7 @@ export const modify = /*#__PURE__*/dual(3, (self, i, f) => {
1664
1719
  * @see {@link insertAt} — insert an element
1665
1720
  * @see {@link filter} — remove elements by predicate
1666
1721
  *
1722
+ * @stability stable
1667
1723
  * @category transforming
1668
1724
  * @since 2.0.0
1669
1725
  */
@@ -1696,6 +1752,7 @@ export const remove = /*#__PURE__*/dual(2, (self, i) => {
1696
1752
  * Array.reverse([1, 2, 3, 4]) // => [4, 3, 2, 1]
1697
1753
  * ```
1698
1754
  *
1755
+ * @stability stable
1699
1756
  * @category transforming
1700
1757
  * @since 2.0.0
1701
1758
  */
@@ -1723,6 +1780,7 @@ export const reverse = self => Array.from(self).reverse();
1723
1780
  * @see {@link sortWith} — sort by a mapping function
1724
1781
  * @see {@link sortBy} — sort by multiple orders
1725
1782
  *
1783
+ * @stability stable
1726
1784
  * @category sorting
1727
1785
  * @since 2.0.0
1728
1786
  */
@@ -1755,6 +1813,7 @@ export const sort = /*#__PURE__*/dual(2, (self, O) => {
1755
1813
  * @see {@link sort} for sorting with an `Order` that compares the elements directly
1756
1814
  * @see {@link sortBy} for sorting with multiple `Order`s applied in sequence
1757
1815
  *
1816
+ * @stability stable
1758
1817
  * @category sorting
1759
1818
  * @since 2.0.0
1760
1819
  */
@@ -1798,6 +1857,7 @@ export const sortWith = /*#__PURE__*/dual(3, (self, f, order) => Array.from(self
1798
1857
  * @see {@link sort} — sort by a single `Order`
1799
1858
  * @see {@link sortWith} — sort by a derived key
1800
1859
  *
1860
+ * @stability stable
1801
1861
  * @category sorting
1802
1862
  * @since 2.0.0
1803
1863
  */
@@ -1834,6 +1894,7 @@ export const sortBy = (...orders) => {
1834
1894
  * @see {@link zipWith} — zip with a combiner function
1835
1895
  * @see {@link unzip} — inverse operation
1836
1896
  *
1897
+ * @stability stable
1837
1898
  * @category zipping
1838
1899
  * @since 2.0.0
1839
1900
  */
@@ -1857,6 +1918,7 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, Tupl
1857
1918
  *
1858
1919
  * @see {@link zip} — zip into tuples
1859
1920
  *
1921
+ * @stability stable
1860
1922
  * @category zipping
1861
1923
  * @since 2.0.0
1862
1924
  */
@@ -1886,6 +1948,7 @@ export const zipWith = /*#__PURE__*/dual(3, (self, that, f) => {
1886
1948
  *
1887
1949
  * @see {@link zip} — combine two arrays into pairs
1888
1950
  *
1951
+ * @stability stable
1889
1952
  * @category zipping
1890
1953
  * @since 2.0.0
1891
1954
  */
@@ -1924,6 +1987,7 @@ export const unzip = self => {
1924
1987
  *
1925
1988
  * @see {@link join} — intersperse and join into a string
1926
1989
  *
1990
+ * @stability stable
1927
1991
  * @category transforming
1928
1992
  * @since 2.0.0
1929
1993
  */
@@ -1961,6 +2025,7 @@ export const intersperse = /*#__PURE__*/dual(2, (self, middle) => {
1961
2025
  * @see {@link setHeadNonEmpty} — replace with a fixed value
1962
2026
  * @see {@link modifyLastNonEmpty} — modify the last element
1963
2027
  *
2028
+ * @stability stable
1964
2029
  * @category transforming
1965
2030
  * @since 4.0.0
1966
2031
  */
@@ -1984,6 +2049,7 @@ export const modifyHeadNonEmpty = /*#__PURE__*/dual(2, (self, f) => [f(headNonEm
1984
2049
  * @see {@link modifyHeadNonEmpty} — transform the head with a function
1985
2050
  * @see {@link setLastNonEmpty} — replace the last element
1986
2051
  *
2052
+ * @stability stable
1987
2053
  * @category transforming
1988
2054
  * @since 4.0.0
1989
2055
  */
@@ -2008,6 +2074,7 @@ export const setHeadNonEmpty = /*#__PURE__*/dual(2, (self, b) => modifyHeadNonEm
2008
2074
  * @see {@link setLastNonEmpty} — replace with a fixed value
2009
2075
  * @see {@link modifyHeadNonEmpty} — modify the first element
2010
2076
  *
2077
+ * @stability stable
2011
2078
  * @category transforming
2012
2079
  * @since 4.0.0
2013
2080
  */
@@ -2031,6 +2098,7 @@ export const modifyLastNonEmpty = /*#__PURE__*/dual(2, (self, f) => append(initN
2031
2098
  * @see {@link modifyLastNonEmpty} — transform the last element with a function
2032
2099
  * @see {@link setHeadNonEmpty} — replace the first element
2033
2100
  *
2101
+ * @stability stable
2034
2102
  * @category transforming
2035
2103
  * @since 4.0.0
2036
2104
  */
@@ -2061,6 +2129,7 @@ export const setLastNonEmpty = /*#__PURE__*/dual(2, (self, b) => modifyLastNonEm
2061
2129
  * @see {@link take} for taking a fixed number of elements from the start
2062
2130
  * @see {@link drop} for dropping a fixed number of elements from the start
2063
2131
  *
2132
+ * @stability stable
2064
2133
  * @category transforming
2065
2134
  * @since 2.0.0
2066
2135
  */
@@ -2101,6 +2170,7 @@ export const rotate = /*#__PURE__*/dual(2, (self, n) => {
2101
2170
  *
2102
2171
  * @see {@link contains} for the `Equal.equivalence()` variant
2103
2172
  *
2173
+ * @stability stable
2104
2174
  * @category predicates
2105
2175
  * @since 2.0.0
2106
2176
  */
@@ -2131,6 +2201,7 @@ export const containsWith = isEquivalent => dual(2, (self, a) => {
2131
2201
  *
2132
2202
  * @see {@link containsWith} — use custom equality
2133
2203
  *
2204
+ * @stability stable
2134
2205
  * @category predicates
2135
2206
  * @since 2.0.0
2136
2207
  */
@@ -2160,6 +2231,7 @@ export const contains = /*#__PURE__*/containsWith(/*#__PURE__*/Equal.asEquivalen
2160
2231
  * @see {@link chunksOf} — split into fixed-size chunks
2161
2232
  * @see {@link splitAt} — split at an index
2162
2233
  *
2234
+ * @stability stable
2163
2235
  * @category splitting
2164
2236
  * @since 2.0.0
2165
2237
  */
@@ -2201,6 +2273,7 @@ export const chop = /*#__PURE__*/dual(2, (self, f) => {
2201
2273
  * @see {@link splitAtNonEmpty} — for non-empty arrays
2202
2274
  * @see {@link splitWhere} — split at a predicate boundary
2203
2275
  *
2276
+ * @stability stable
2204
2277
  * @category splitting
2205
2278
  * @since 2.0.0
2206
2279
  */
@@ -2238,6 +2311,7 @@ export const splitAt = /*#__PURE__*/dual(2, (self, n) => {
2238
2311
  *
2239
2312
  * @see {@link splitAt} — for possibly-empty arrays
2240
2313
  *
2314
+ * @stability stable
2241
2315
  * @category splitting
2242
2316
  * @since 4.0.0
2243
2317
  */
@@ -2267,6 +2341,7 @@ export const splitAtNonEmpty = /*#__PURE__*/dual(2, (self, n) => {
2267
2341
  *
2268
2342
  * @see {@link chunksOf} — split into fixed-size chunks
2269
2343
  *
2344
+ * @stability stable
2270
2345
  * @category splitting
2271
2346
  * @since 2.0.0
2272
2347
  */
@@ -2294,6 +2369,7 @@ export const split = /*#__PURE__*/dual(2, (self, n) => {
2294
2369
  * @see {@link span} — splits at the first element that fails the predicate
2295
2370
  * @see {@link splitAt} — split at a fixed index
2296
2371
  *
2372
+ * @stability stable
2297
2373
  * @category splitting
2298
2374
  * @since 2.0.0
2299
2375
  */
@@ -2325,6 +2401,7 @@ export const splitWhere = /*#__PURE__*/dual(2, (self, predicate) => span(self, (
2325
2401
  *
2326
2402
  * @see {@link fromIterable} — returns the same reference for arrays
2327
2403
  *
2404
+ * @stability stable
2328
2405
  * @category transforming
2329
2406
  * @since 2.0.0
2330
2407
  */
@@ -2353,6 +2430,7 @@ export const copy = self => self.slice();
2353
2430
  * @see {@link take} — truncate without padding
2354
2431
  * @see {@link replicate} — create an array of a single repeated value
2355
2432
  *
2433
+ * @stability stable
2356
2434
  * @category transforming
2357
2435
  * @since 3.8.4
2358
2436
  */
@@ -2390,6 +2468,7 @@ export const pad = /*#__PURE__*/dual(3, (self, n, fill) => {
2390
2468
  * @see {@link split} — split into a given number of groups
2391
2469
  * @see {@link window} — sliding windows
2392
2470
  *
2471
+ * @stability stable
2393
2472
  * @category splitting
2394
2473
  * @since 2.0.0
2395
2474
  */
@@ -2426,6 +2505,7 @@ export const chunksOf = /*#__PURE__*/dual(2, (self, n) => {
2426
2505
  *
2427
2506
  * @see {@link chunksOf} — non-overlapping chunks
2428
2507
  *
2508
+ * @stability stable
2429
2509
  * @category splitting
2430
2510
  * @since 3.13.2
2431
2511
  */
@@ -2466,6 +2546,7 @@ export const window = /*#__PURE__*/dual(2, (self, n) => {
2466
2546
  * @see {@link group} for grouping adjacent elements with `Equal.equivalence()`
2467
2547
  * @see {@link groupBy} for grouping all elements into a record by key, regardless of adjacency
2468
2548
  *
2549
+ * @stability stable
2469
2550
  * @category grouping
2470
2551
  * @since 2.0.0
2471
2552
  */
@@ -2506,6 +2587,7 @@ export const groupWith = /*#__PURE__*/dual(2, (self, isEquivalent) => chop(self,
2506
2587
  * @see {@link groupWith} — use custom equality
2507
2588
  * @see {@link groupBy} — group by a key function into a record
2508
2589
  *
2590
+ * @stability stable
2509
2591
  * @category grouping
2510
2592
  * @since 2.0.0
2511
2593
  */
@@ -2547,6 +2629,7 @@ export const group = /*#__PURE__*/groupWith(/*#__PURE__*/Equal.asEquivalence());
2547
2629
  * @see {@link group} — group adjacent equal elements
2548
2630
  * @see {@link groupWith} — group adjacent elements by custom equality
2549
2631
  *
2632
+ * @stability stable
2550
2633
  * @category grouping
2551
2634
  * @since 2.0.0
2552
2635
  */
@@ -2618,6 +2701,7 @@ const hashBucketsHas = (buckets, value) => {
2618
2701
  * @see {@link intersectionWith} for keeping elements present in both arrays
2619
2702
  * @see {@link differenceWith} for keeping elements present only in the first array
2620
2703
  *
2704
+ * @stability stable
2621
2705
  * @category set operations
2622
2706
  * @since 2.0.0
2623
2707
  */
@@ -2649,6 +2733,7 @@ export const unionWith = /*#__PURE__*/dual(3, (self, that, isEquivalent) => {
2649
2733
  * @see {@link intersection} — elements in both arrays
2650
2734
  * @see {@link difference} — elements only in the first array
2651
2735
  *
2736
+ * @stability stable
2652
2737
  * @category set operations
2653
2738
  * @since 2.0.0
2654
2739
  */
@@ -2685,6 +2770,7 @@ export const union = /*#__PURE__*/dual(2, (self, that) => {
2685
2770
  * @see {@link unionWith} for keeping values from either array with custom equality
2686
2771
  * @see {@link differenceWith} for keeping values only from the first array with custom equality
2687
2772
  *
2773
+ * @stability stable
2688
2774
  * @category set operations
2689
2775
  * @since 2.0.0
2690
2776
  */
@@ -2716,6 +2802,7 @@ export const intersectionWith = isEquivalent => {
2716
2802
  * @see {@link union} — elements in either array
2717
2803
  * @see {@link difference} — elements only in the first array
2718
2804
  *
2805
+ * @stability stable
2719
2806
  * @category set operations
2720
2807
  * @since 2.0.0
2721
2808
  */
@@ -2749,6 +2836,7 @@ export const intersection = /*#__PURE__*/dual(2, (self, that) => {
2749
2836
  * @see {@link unionWith} for keeping values from either array with custom equality
2750
2837
  * @see {@link intersectionWith} for keeping values present in both arrays with custom equality
2751
2838
  *
2839
+ * @stability stable
2752
2840
  * @category set operations
2753
2841
  * @since 2.0.0
2754
2842
  */
@@ -2780,6 +2868,7 @@ export const differenceWith = isEquivalent => {
2780
2868
  * @see {@link union} — elements in either array
2781
2869
  * @see {@link intersection} — elements in both arrays
2782
2870
  *
2871
+ * @stability stable
2783
2872
  * @category set operations
2784
2873
  * @since 2.0.0
2785
2874
  */
@@ -2813,6 +2902,7 @@ export const difference = /*#__PURE__*/dual(2, (self, that) => {
2813
2902
  * @see {@link of} — create a single-element array
2814
2903
  * @see {@link make} — create from multiple values
2815
2904
  *
2905
+ * @stability stable
2816
2906
  * @category constructors
2817
2907
  * @since 2.0.0
2818
2908
  */
@@ -2831,6 +2921,7 @@ export const empty = () => [];
2831
2921
  * @see {@link make} — create from multiple values
2832
2922
  * @see {@link empty} — create an empty array
2833
2923
  *
2924
+ * @stability stable
2834
2925
  * @category constructors
2835
2926
  * @since 2.0.0
2836
2927
  */
@@ -2857,6 +2948,7 @@ export const of = a => [a];
2857
2948
  *
2858
2949
  * @see {@link flatMap} — map and flatten
2859
2950
  *
2951
+ * @stability stable
2860
2952
  * @category mapping
2861
2953
  * @since 2.0.0
2862
2954
  */
@@ -2885,6 +2977,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => self.map(f));
2885
2977
  * @see {@link map} — transform without flattening
2886
2978
  * @see {@link flatten} — flatten without mapping
2887
2979
  *
2980
+ * @stability stable
2888
2981
  * @category sequencing
2889
2982
  * @since 2.0.0
2890
2983
  */
@@ -2919,6 +3012,7 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => {
2919
3012
  *
2920
3013
  * @see {@link flatMap} — map then flatten in one step
2921
3014
  *
3015
+ * @stability stable
2922
3016
  * @category sequencing
2923
3017
  * @since 2.0.0
2924
3018
  */
@@ -2942,6 +3036,7 @@ export const flatten = /*#__PURE__*/flatMap(identity);
2942
3036
  * @see {@link fromOption} — convert a single Option
2943
3037
  * @see {@link getSuccesses} — extract successes from Results
2944
3038
  *
3039
+ * @stability stable
2945
3040
  * @category filtering
2946
3041
  * @since 2.0.0
2947
3042
  */
@@ -2974,6 +3069,7 @@ export const getSomes = self => {
2974
3069
  * @see {@link getSuccesses} — extract success values
2975
3070
  * @see {@link separate} — split into successes and failures
2976
3071
  *
3072
+ * @stability stable
2977
3073
  * @category filtering
2978
3074
  * @since 4.0.0
2979
3075
  */
@@ -3006,6 +3102,7 @@ export const getFailures = self => {
3006
3102
  * @see {@link getFailures} — extract failure values
3007
3103
  * @see {@link separate} — split into successes and failures
3008
3104
  *
3105
+ * @stability stable
3009
3106
  * @category filtering
3010
3107
  * @since 4.0.0
3011
3108
  */
@@ -3041,6 +3138,7 @@ export const getSuccesses = self => {
3041
3138
  * @see {@link filter} — keep original elements matching a predicate
3042
3139
  * @see {@link partition} for keeping both successes and failures
3043
3140
  *
3141
+ * @stability stable
3044
3142
  * @category filtering
3045
3143
  * @since 2.0.0
3046
3144
  */
@@ -3079,6 +3177,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => {
3079
3177
  * @see {@link partition} — split into matching and non-matching
3080
3178
  * @see {@link filterMap} for transforming while filtering
3081
3179
  *
3180
+ * @stability stable
3082
3181
  * @category filtering
3083
3182
  * @since 2.0.0
3084
3183
  */
@@ -3118,6 +3217,7 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => {
3118
3217
  * @see {@link filterMap} for discarding failures
3119
3218
  * @see {@link separate} — split an iterable of `Result` values
3120
3219
  *
3220
+ * @stability stable
3121
3221
  * @category filtering
3122
3222
  * @since 2.0.0
3123
3223
  */
@@ -3159,6 +3259,7 @@ export const partition = /*#__PURE__*/dual(2, (self, f) => {
3159
3259
  * @see {@link getSuccesses} — extract only successes
3160
3260
  * @see {@link partition} for computing `Result` values while splitting
3161
3261
  *
3262
+ * @stability stable
3162
3263
  * @category filtering
3163
3264
  * @since 2.0.0
3164
3265
  */
@@ -3185,6 +3286,7 @@ export const separate = /*#__PURE__*/partition(identity);
3185
3286
  * @see {@link reduceRight} — fold from right to left
3186
3287
  * @see {@link scan} — fold keeping intermediate values
3187
3288
  *
3289
+ * @stability stable
3188
3290
  * @category folding
3189
3291
  * @since 2.0.0
3190
3292
  */
@@ -3211,6 +3313,7 @@ export const reduce = /*#__PURE__*/dual(3, (self, b, f) => fromIterable(self).re
3211
3313
  * @see {@link reduce} — fold from left to right
3212
3314
  * @see {@link scanRight} — fold keeping intermediate values
3213
3315
  *
3316
+ * @stability stable
3214
3317
  * @category folding
3215
3318
  * @since 2.0.0
3216
3319
  */
@@ -3232,6 +3335,7 @@ export const reduceRight = /*#__PURE__*/dual(3, (self, b, f) => fromIterable(sel
3232
3335
  *
3233
3336
  * @see {@link liftOption} — lift an Option-returning function
3234
3337
  *
3338
+ * @stability stable
3235
3339
  * @category lifting
3236
3340
  * @since 2.0.0
3237
3341
  */
@@ -3262,6 +3366,7 @@ export const liftPredicate = predicate => b => predicate(b) ? [b] : [];
3262
3366
  * @see {@link liftPredicate} — lift a boolean predicate
3263
3367
  * @see {@link liftResult} — lift a Result-returning function
3264
3368
  *
3369
+ * @stability stable
3265
3370
  * @category lifting
3266
3371
  * @since 2.0.0
3267
3372
  */
@@ -3287,6 +3392,7 @@ export const liftOption = f => (...a) => fromOption(f(...a));
3287
3392
  * @see {@link liftNullishOr} — lift a nullable-returning function
3288
3393
  * @see {@link fromOption} — convert from Option
3289
3394
  *
3395
+ * @stability stable
3290
3396
  * @category converting
3291
3397
  * @since 4.0.0
3292
3398
  */
@@ -3312,6 +3418,7 @@ export const fromNullishOr = a => a == null ? empty() : [a];
3312
3418
  * @see {@link fromNullishOr} — convert a single nullable value
3313
3419
  * @see {@link liftOption} — lift an Option-returning function
3314
3420
  *
3421
+ * @stability stable
3315
3422
  * @category lifting
3316
3423
  * @since 4.0.0
3317
3424
  */
@@ -3336,6 +3443,7 @@ export const liftNullishOr = f => (...a) => fromNullishOr(f(...a));
3336
3443
  * @see {@link flatMap} for mapping each element to an array and flattening
3337
3444
  * @see {@link fromNullishOr} for converting a single nullable value to an array
3338
3445
  *
3446
+ * @stability stable
3339
3447
  * @category sequencing
3340
3448
  * @since 4.0.0
3341
3449
  */
@@ -3368,6 +3476,7 @@ export const flatMapNullishOr = /*#__PURE__*/dual(2, (self, f) => flatMap(self,
3368
3476
  * @see {@link liftOption} — lift an Option-returning function
3369
3477
  * @see {@link liftPredicate} — lift a boolean predicate
3370
3478
  *
3479
+ * @stability stable
3371
3480
  * @category lifting
3372
3481
  * @since 4.0.0
3373
3482
  */
@@ -3395,6 +3504,7 @@ export const liftResult = f => (...a) => {
3395
3504
  *
3396
3505
  * @see {@link some} — test if any element matches
3397
3506
  *
3507
+ * @stability stable
3398
3508
  * @category guards
3399
3509
  * @since 2.0.0
3400
3510
  */
@@ -3415,6 +3525,7 @@ export const every = /*#__PURE__*/dual(2, (self, refinement) => self.every(refin
3415
3525
  * @see {@link every} — test if all elements match
3416
3526
  * @see {@link contains} — test for a specific value
3417
3527
  *
3528
+ * @stability stable
3418
3529
  * @category guards
3419
3530
  * @since 2.0.0
3420
3531
  */
@@ -3442,6 +3553,7 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => self.some(predicat
3442
3553
  *
3443
3554
  * @see {@link scan} for keeping intermediate accumulator values during a fold
3444
3555
  *
3556
+ * @stability stable
3445
3557
  * @category mapping
3446
3558
  * @since 2.0.0
3447
3559
  */
@@ -3461,6 +3573,7 @@ export const extend = /*#__PURE__*/dual(2, (self, f) => self.map((_, i, as) => f
3461
3573
  * @see {@link max} — find the maximum
3462
3574
  * @see {@link sort} — sort the entire array
3463
3575
  *
3576
+ * @stability stable
3464
3577
  * @category getters
3465
3578
  * @since 2.0.0
3466
3579
  */
@@ -3480,6 +3593,7 @@ export const min = /*#__PURE__*/dual(2, (self, O) => self.reduce(Order.min(O)));
3480
3593
  * @see {@link min} — find the minimum
3481
3594
  * @see {@link sort} — sort the entire array
3482
3595
  *
3596
+ * @stability stable
3483
3597
  * @category getters
3484
3598
  * @since 2.0.0
3485
3599
  */
@@ -3500,6 +3614,7 @@ export const max = /*#__PURE__*/dual(2, (self, O) => self.reduce(Order.max(O)));
3500
3614
  * @see {@link makeBy} — generate from index
3501
3615
  * @see {@link range} — generate a numeric range
3502
3616
  *
3617
+ * @stability stable
3503
3618
  * @category constructors
3504
3619
  * @since 2.0.0
3505
3620
  */
@@ -3534,6 +3649,7 @@ export const unfold = (b, f) => {
3534
3649
  *
3535
3650
  * @see {@link makeEquivalence} — create an equivalence for arrays
3536
3651
  *
3652
+ * @stability stable
3537
3653
  * @category instances
3538
3654
  * @since 4.0.0
3539
3655
  */
@@ -3555,6 +3671,7 @@ export const makeOrder = Order.Array;
3555
3671
  *
3556
3672
  * @see {@link makeOrder} — create an ordering for arrays
3557
3673
  *
3674
+ * @stability stable
3558
3675
  * @category instances
3559
3676
  * @since 4.0.0
3560
3677
  */
@@ -3580,6 +3697,7 @@ export const makeEquivalence = Equivalence.Array;
3580
3697
  *
3581
3698
  * @see {@link map} for transforming each element into a new array
3582
3699
  *
3700
+ * @stability stable
3583
3701
  * @category traversing
3584
3702
  * @since 2.0.0
3585
3703
  */
@@ -3604,6 +3722,7 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => fromIterable(self).forE
3604
3722
  * @see {@link dedupe} — uses default equality
3605
3723
  * @see {@link dedupeAdjacentWith} — only dedupes consecutive elements
3606
3724
  *
3725
+ * @stability stable
3607
3726
  * @category deduplication
3608
3727
  * @since 2.0.0
3609
3728
  */
@@ -3637,6 +3756,7 @@ export const dedupeWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
3637
3756
  * @see {@link dedupeWith} — use custom equality
3638
3757
  * @see {@link dedupeAdjacent} — only dedupes consecutive elements
3639
3758
  *
3759
+ * @stability stable
3640
3760
  * @category deduplication
3641
3761
  * @since 2.0.0
3642
3762
  */
@@ -3678,6 +3798,7 @@ export const dedupe = self => {
3678
3798
  * @see {@link dedupeAdjacent} — uses default equality
3679
3799
  * @see {@link dedupeWith} — dedupes all duplicates, not just adjacent
3680
3800
  *
3801
+ * @stability stable
3681
3802
  * @category deduplication
3682
3803
  * @since 2.0.0
3683
3804
  */
@@ -3711,6 +3832,7 @@ export const dedupeAdjacentWith = /*#__PURE__*/dual(2, (self, isEquivalent) => {
3711
3832
  * @see {@link dedupeAdjacentWith} — use custom equality
3712
3833
  * @see {@link dedupe} — remove all duplicates
3713
3834
  *
3835
+ * @stability stable
3714
3836
  * @category deduplication
3715
3837
  * @since 2.0.0
3716
3838
  */
@@ -3728,6 +3850,7 @@ export const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith(/*#__PURE__*/Equal
3728
3850
  *
3729
3851
  * @see {@link intersperse} — insert separator elements without joining
3730
3852
  *
3853
+ * @stability stable
3731
3854
  * @category folding
3732
3855
  * @since 2.0.0
3733
3856
  */
@@ -3758,6 +3881,7 @@ export const join = /*#__PURE__*/dual(2, (self, sep) => fromIterable(self).join(
3758
3881
  * @see {@link scan} — when you only need the accumulated results (not the final state)
3759
3882
  * @see {@link reduce} — when you only need the final accumulated value
3760
3883
  *
3884
+ * @stability stable
3761
3885
  * @category folding
3762
3886
  * @since 2.0.0
3763
3887
  */
@@ -3797,6 +3921,7 @@ export const mapAccum = /*#__PURE__*/dual(3, (self, s, f) => {
3797
3921
  *
3798
3922
  * @see {@link cartesian} for returning tuples instead of applying a combiner
3799
3923
  *
3924
+ * @stability stable
3800
3925
  * @category combining
3801
3926
  * @since 2.0.0
3802
3927
  */
@@ -3823,6 +3948,7 @@ export const cartesianWith = /*#__PURE__*/dual(3, (self, that, f) => flatMap(sel
3823
3948
  *
3824
3949
  * @see {@link cartesianWith} — apply a combiner to each pair
3825
3950
  *
3951
+ * @stability stable
3826
3952
  * @category combining
3827
3953
  * @since 2.0.0
3828
3954
  */
@@ -3862,6 +3988,7 @@ export const cartesian = /*#__PURE__*/dual(2, (self, that) => cartesianWith(self
3862
3988
  * @see {@link bindTo} — start a pipeline by naming the first array
3863
3989
  * @see {@link let_ let} — introduce a plain computed value
3864
3990
  *
3991
+ * @stability stable
3865
3992
  * @category constructors
3866
3993
  * @since 3.2.0
3867
3994
  */
@@ -3896,6 +4023,7 @@ export const Do = /*#__PURE__*/of({});
3896
4023
  * @see {@link bindTo} — name the first array in a pipeline
3897
4024
  * @see {@link let_ let} — add a plain computed value
3898
4025
  *
4026
+ * @stability stable
3899
4027
  * @category sequencing
3900
4028
  * @since 3.2.0
3901
4029
  */
@@ -3924,6 +4052,7 @@ export const bind = /*#__PURE__*/internalDoNotation.bind(map, flatMap);
3924
4052
  * @see {@link Do} — start with an empty scope
3925
4053
  * @see {@link bind} — add another array variable to the scope
3926
4054
  *
4055
+ * @stability stable
3927
4056
  * @category mapping
3928
4057
  * @since 3.2.0
3929
4058
  */
@@ -3959,32 +4088,42 @@ export {
3959
4088
  * @see {@link Do} — start a do-notation pipeline
3960
4089
  * @see {@link bind} — introduce an array variable (produces cartesian product)
3961
4090
  *
4091
+ * @stability stable
3962
4092
  * @category mapping
3963
4093
  * @since 3.2.0
3964
4094
  */
3965
4095
  let_ as let };
3966
- const reducer = /*#__PURE__*/Reducer.make((a, b) => a.concat(b), []);
4096
+ const combineConcat = (a, b) => a.concat(b);
4097
+ const combineAllConcat = collection => {
4098
+ let out = [];
4099
+ for (const value of collection) {
4100
+ out = out.concat(value);
4101
+ }
4102
+ return out;
4103
+ };
3967
4104
  /**
3968
4105
  * Returns a `Reducer` that combines `ReadonlyArray` values by concatenation.
3969
4106
  *
3970
4107
  * @see {@link makeReducerConcat} — mutable `Array` variant
3971
4108
  *
4109
+ * @stability stable
3972
4110
  * @category folding
3973
4111
  * @since 4.0.0
3974
4112
  */
3975
4113
  export function getReadonlyReducerConcat() {
3976
- return reducer;
4114
+ return Reducer.make(combineConcat, [], combineAllConcat);
3977
4115
  }
3978
4116
  /**
3979
4117
  * Returns a `Reducer` that combines `Array` values by concatenation.
3980
4118
  *
3981
4119
  * @see {@link getReadonlyReducerConcat} — readonly variant
3982
4120
  *
4121
+ * @stability stable
3983
4122
  * @category folding
3984
4123
  * @since 4.0.0
3985
4124
  */
3986
4125
  export function makeReducerConcat() {
3987
- return reducer;
4126
+ return Reducer.make(combineConcat, [], combineAllConcat);
3988
4127
  }
3989
4128
  /**
3990
4129
  * Computes the number of elements in an iterable that satisfy a predicate.
@@ -4009,6 +4148,7 @@ export function makeReducerConcat() {
4009
4148
  *
4010
4149
  * @see {@link filter} — when you need the matching elements, not just the count
4011
4150
  *
4151
+ * @stability stable
4012
4152
  * @category folding
4013
4153
  * @since 3.16.0
4014
4154
  */