effect 4.0.0-beta.73 → 4.0.0-beta.75

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 (930) hide show
  1. package/dist/Array.d.ts +745 -627
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +277 -217
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +37 -30
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +19 -16
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +34 -40
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +16 -16
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +10 -10
  14. package/dist/Boolean.js +6 -6
  15. package/dist/Brand.d.ts +13 -11
  16. package/dist/Brand.d.ts.map +1 -1
  17. package/dist/Brand.js +10 -8
  18. package/dist/Brand.js.map +1 -1
  19. package/dist/Cause.d.ts +21 -23
  20. package/dist/Cause.d.ts.map +1 -1
  21. package/dist/Cause.js +21 -23
  22. package/dist/Cause.js.map +1 -1
  23. package/dist/Channel.d.ts +282 -72
  24. package/dist/Channel.d.ts.map +1 -1
  25. package/dist/Channel.js +108 -28
  26. package/dist/Channel.js.map +1 -1
  27. package/dist/ChannelSchema.d.ts +11 -11
  28. package/dist/ChannelSchema.js +5 -5
  29. package/dist/Chunk.d.ts +86 -33
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +48 -13
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Clock.d.ts +3 -3
  34. package/dist/Clock.js +3 -3
  35. package/dist/Combiner.d.ts +9 -13
  36. package/dist/Combiner.d.ts.map +1 -1
  37. package/dist/Combiner.js +9 -13
  38. package/dist/Combiner.js.map +1 -1
  39. package/dist/Config.d.ts +49 -56
  40. package/dist/Config.d.ts.map +1 -1
  41. package/dist/Config.js +40 -43
  42. package/dist/Config.js.map +1 -1
  43. package/dist/ConfigProvider.d.ts +34 -44
  44. package/dist/ConfigProvider.d.ts.map +1 -1
  45. package/dist/ConfigProvider.js +24 -32
  46. package/dist/ConfigProvider.js.map +1 -1
  47. package/dist/Console.d.ts +2 -2
  48. package/dist/Console.js +2 -2
  49. package/dist/Context.d.ts +63 -75
  50. package/dist/Context.d.ts.map +1 -1
  51. package/dist/Context.js +29 -33
  52. package/dist/Context.js.map +1 -1
  53. package/dist/Cron.d.ts +6 -6
  54. package/dist/Cron.js +6 -6
  55. package/dist/Crypto.d.ts +4 -4
  56. package/dist/Crypto.js +4 -4
  57. package/dist/Data.d.ts +21 -15
  58. package/dist/Data.d.ts.map +1 -1
  59. package/dist/Data.js +7 -7
  60. package/dist/Data.js.map +1 -1
  61. package/dist/DateTime.d.ts +35 -16
  62. package/dist/DateTime.d.ts.map +1 -1
  63. package/dist/DateTime.js +35 -8
  64. package/dist/DateTime.js.map +1 -1
  65. package/dist/Deferred.d.ts +61 -52
  66. package/dist/Deferred.d.ts.map +1 -1
  67. package/dist/Deferred.js +21 -18
  68. package/dist/Deferred.js.map +1 -1
  69. package/dist/Duration.d.ts +50 -37
  70. package/dist/Duration.d.ts.map +1 -1
  71. package/dist/Duration.js +24 -13
  72. package/dist/Duration.js.map +1 -1
  73. package/dist/Effect.d.ts +574 -474
  74. package/dist/Effect.d.ts.map +1 -1
  75. package/dist/Effect.js +273 -213
  76. package/dist/Effect.js.map +1 -1
  77. package/dist/Encoding.d.ts +5 -0
  78. package/dist/Encoding.d.ts.map +1 -1
  79. package/dist/Encoding.js +5 -0
  80. package/dist/Encoding.js.map +1 -1
  81. package/dist/Equal.d.ts +28 -41
  82. package/dist/Equal.d.ts.map +1 -1
  83. package/dist/Equal.js +12 -19
  84. package/dist/Equal.js.map +1 -1
  85. package/dist/Equivalence.d.ts +72 -100
  86. package/dist/Equivalence.d.ts.map +1 -1
  87. package/dist/Equivalence.js +54 -74
  88. package/dist/Equivalence.js.map +1 -1
  89. package/dist/ErrorReporter.d.ts +1 -1
  90. package/dist/ErrorReporter.js +1 -1
  91. package/dist/ExecutionPlan.d.ts +2 -2
  92. package/dist/ExecutionPlan.js +1 -1
  93. package/dist/Exit.d.ts +79 -96
  94. package/dist/Exit.d.ts.map +1 -1
  95. package/dist/Exit.js +57 -64
  96. package/dist/Exit.js.map +1 -1
  97. package/dist/Fiber.d.ts +8 -6
  98. package/dist/Fiber.d.ts.map +1 -1
  99. package/dist/Fiber.js +8 -6
  100. package/dist/Fiber.js.map +1 -1
  101. package/dist/FiberHandle.d.ts +25 -0
  102. package/dist/FiberHandle.d.ts.map +1 -1
  103. package/dist/FiberHandle.js +15 -0
  104. package/dist/FiberHandle.js.map +1 -1
  105. package/dist/FiberMap.d.ts +35 -0
  106. package/dist/FiberMap.d.ts.map +1 -1
  107. package/dist/FiberMap.js +15 -0
  108. package/dist/FiberMap.js.map +1 -1
  109. package/dist/FiberSet.d.ts +20 -0
  110. package/dist/FiberSet.d.ts.map +1 -1
  111. package/dist/FiberSet.js +10 -0
  112. package/dist/FiberSet.js.map +1 -1
  113. package/dist/FileSystem.d.ts +6 -6
  114. package/dist/FileSystem.js +2 -2
  115. package/dist/Filter.d.ts +4 -4
  116. package/dist/Filter.js +4 -4
  117. package/dist/Formatter.d.ts +14 -19
  118. package/dist/Formatter.d.ts.map +1 -1
  119. package/dist/Formatter.js +14 -19
  120. package/dist/Formatter.js.map +1 -1
  121. package/dist/Function.d.ts +20 -21
  122. package/dist/Function.d.ts.map +1 -1
  123. package/dist/Function.js +14 -15
  124. package/dist/Function.js.map +1 -1
  125. package/dist/Graph.d.ts +13 -13
  126. package/dist/Graph.js +7 -7
  127. package/dist/HKT.d.ts +3 -3
  128. package/dist/Hash.d.ts +2 -1
  129. package/dist/Hash.d.ts.map +1 -1
  130. package/dist/Hash.js +2 -1
  131. package/dist/Hash.js.map +1 -1
  132. package/dist/HashMap.d.ts +18 -3
  133. package/dist/HashMap.d.ts.map +1 -1
  134. package/dist/HashMap.js +5 -0
  135. package/dist/HashMap.js.map +1 -1
  136. package/dist/HashRing.d.ts +9 -9
  137. package/dist/HashRing.js +3 -3
  138. package/dist/HashSet.d.ts +1 -1
  139. package/dist/Iterable.d.ts +39 -27
  140. package/dist/Iterable.d.ts.map +1 -1
  141. package/dist/Iterable.js +21 -11
  142. package/dist/Iterable.js.map +1 -1
  143. package/dist/JsonPatch.d.ts +2 -3
  144. package/dist/JsonPatch.d.ts.map +1 -1
  145. package/dist/JsonPatch.js +2 -3
  146. package/dist/JsonPatch.js.map +1 -1
  147. package/dist/JsonPointer.d.ts +2 -6
  148. package/dist/JsonPointer.d.ts.map +1 -1
  149. package/dist/JsonPointer.js +2 -6
  150. package/dist/JsonPointer.js.map +1 -1
  151. package/dist/JsonSchema.d.ts +17 -13
  152. package/dist/JsonSchema.d.ts.map +1 -1
  153. package/dist/JsonSchema.js +17 -13
  154. package/dist/JsonSchema.js.map +1 -1
  155. package/dist/Latch.d.ts +4 -3
  156. package/dist/Latch.d.ts.map +1 -1
  157. package/dist/Latch.js +4 -3
  158. package/dist/Latch.js.map +1 -1
  159. package/dist/Layer.d.ts +108 -130
  160. package/dist/Layer.d.ts.map +1 -1
  161. package/dist/Layer.js +43 -51
  162. package/dist/Layer.js.map +1 -1
  163. package/dist/Logger.d.ts +16 -19
  164. package/dist/Logger.d.ts.map +1 -1
  165. package/dist/Logger.js +15 -18
  166. package/dist/Logger.js.map +1 -1
  167. package/dist/ManagedRuntime.d.ts +2 -2
  168. package/dist/Match.d.ts +22 -22
  169. package/dist/Match.js +18 -18
  170. package/dist/Metric.d.ts +105 -125
  171. package/dist/Metric.d.ts.map +1 -1
  172. package/dist/Metric.js +54 -64
  173. package/dist/Metric.js.map +1 -1
  174. package/dist/MutableHashMap.d.ts +21 -12
  175. package/dist/MutableHashMap.d.ts.map +1 -1
  176. package/dist/MutableHashMap.js +7 -4
  177. package/dist/MutableHashMap.js.map +1 -1
  178. package/dist/MutableList.d.ts +15 -0
  179. package/dist/MutableList.d.ts.map +1 -1
  180. package/dist/MutableList.js +15 -0
  181. package/dist/MutableList.js.map +1 -1
  182. package/dist/MutableRef.d.ts +56 -42
  183. package/dist/MutableRef.d.ts.map +1 -1
  184. package/dist/MutableRef.js +28 -22
  185. package/dist/MutableRef.js.map +1 -1
  186. package/dist/Newtype.d.ts +10 -7
  187. package/dist/Newtype.d.ts.map +1 -1
  188. package/dist/Newtype.js +10 -7
  189. package/dist/Newtype.js.map +1 -1
  190. package/dist/Number.d.ts +23 -11
  191. package/dist/Number.d.ts.map +1 -1
  192. package/dist/Number.js +9 -5
  193. package/dist/Number.js.map +1 -1
  194. package/dist/Optic.d.ts +16 -16
  195. package/dist/Optic.d.ts.map +1 -1
  196. package/dist/Optic.js +10 -9
  197. package/dist/Optic.js.map +1 -1
  198. package/dist/Option.d.ts +232 -204
  199. package/dist/Option.d.ts.map +1 -1
  200. package/dist/Option.js +113 -96
  201. package/dist/Option.js.map +1 -1
  202. package/dist/Order.d.ts +119 -180
  203. package/dist/Order.d.ts.map +1 -1
  204. package/dist/Order.js +93 -145
  205. package/dist/Order.js.map +1 -1
  206. package/dist/PartitionedSemaphore.d.ts +14 -14
  207. package/dist/PartitionedSemaphore.js +6 -6
  208. package/dist/Path.d.ts +3 -3
  209. package/dist/Path.js +3 -3
  210. package/dist/Pipeable.d.ts +3 -3
  211. package/dist/Pipeable.js +3 -3
  212. package/dist/PlatformError.d.ts +4 -4
  213. package/dist/PlatformError.js +4 -4
  214. package/dist/Pool.d.ts +7 -11
  215. package/dist/Pool.d.ts.map +1 -1
  216. package/dist/Pool.js +3 -5
  217. package/dist/Pool.js.map +1 -1
  218. package/dist/Predicate.d.ts +279 -268
  219. package/dist/Predicate.d.ts.map +1 -1
  220. package/dist/Predicate.js +128 -123
  221. package/dist/Predicate.js.map +1 -1
  222. package/dist/PubSub.d.ts +33 -23
  223. package/dist/PubSub.d.ts.map +1 -1
  224. package/dist/PubSub.js +21 -11
  225. package/dist/PubSub.js.map +1 -1
  226. package/dist/Pull.d.ts +4 -4
  227. package/dist/Pull.js +4 -4
  228. package/dist/Queue.d.ts +70 -31
  229. package/dist/Queue.d.ts.map +1 -1
  230. package/dist/Queue.js +66 -27
  231. package/dist/Queue.js.map +1 -1
  232. package/dist/RcRef.d.ts +0 -4
  233. package/dist/RcRef.d.ts.map +1 -1
  234. package/dist/RcRef.js.map +1 -1
  235. package/dist/Record.d.ts +15 -15
  236. package/dist/Record.js +5 -5
  237. package/dist/Redactable.d.ts +2 -2
  238. package/dist/Redactable.js +2 -2
  239. package/dist/Redacted.d.ts +5 -5
  240. package/dist/Redacted.js +4 -4
  241. package/dist/Reducer.d.ts +2 -3
  242. package/dist/Reducer.d.ts.map +1 -1
  243. package/dist/Reducer.js +2 -3
  244. package/dist/Reducer.js.map +1 -1
  245. package/dist/Ref.d.ts +23 -22
  246. package/dist/Ref.d.ts.map +1 -1
  247. package/dist/Ref.js +21 -20
  248. package/dist/Ref.js.map +1 -1
  249. package/dist/References.d.ts +4 -4
  250. package/dist/References.js +4 -4
  251. package/dist/RegExp.d.ts +1 -1
  252. package/dist/RegExp.js +1 -1
  253. package/dist/Request.d.ts +22 -22
  254. package/dist/Request.js +6 -6
  255. package/dist/RequestResolver.d.ts +6 -6
  256. package/dist/RequestResolver.js +2 -2
  257. package/dist/Resource.d.ts +3 -3
  258. package/dist/Resource.js +3 -3
  259. package/dist/Result.d.ts +95 -51
  260. package/dist/Result.d.ts.map +1 -1
  261. package/dist/Result.js +53 -30
  262. package/dist/Result.js.map +1 -1
  263. package/dist/Runtime.d.ts +11 -8
  264. package/dist/Runtime.d.ts.map +1 -1
  265. package/dist/Runtime.js +11 -8
  266. package/dist/Runtime.js.map +1 -1
  267. package/dist/Schedule.d.ts +151 -89
  268. package/dist/Schedule.d.ts.map +1 -1
  269. package/dist/Schedule.js +59 -47
  270. package/dist/Schedule.js.map +1 -1
  271. package/dist/Scheduler.d.ts +6 -4
  272. package/dist/Scheduler.d.ts.map +1 -1
  273. package/dist/Scheduler.js +6 -4
  274. package/dist/Scheduler.js.map +1 -1
  275. package/dist/Schema.d.ts +620 -830
  276. package/dist/Schema.d.ts.map +1 -1
  277. package/dist/Schema.js +543 -452
  278. package/dist/Schema.js.map +1 -1
  279. package/dist/SchemaAST.d.ts +43 -22
  280. package/dist/SchemaAST.d.ts.map +1 -1
  281. package/dist/SchemaAST.js +80 -59
  282. package/dist/SchemaAST.js.map +1 -1
  283. package/dist/SchemaGetter.d.ts +139 -119
  284. package/dist/SchemaGetter.d.ts.map +1 -1
  285. package/dist/SchemaGetter.js +133 -113
  286. package/dist/SchemaGetter.js.map +1 -1
  287. package/dist/SchemaIssue.d.ts +37 -39
  288. package/dist/SchemaIssue.d.ts.map +1 -1
  289. package/dist/SchemaIssue.js +16 -17
  290. package/dist/SchemaIssue.js.map +1 -1
  291. package/dist/SchemaParser.d.ts +75 -156
  292. package/dist/SchemaParser.d.ts.map +1 -1
  293. package/dist/SchemaParser.js +75 -148
  294. package/dist/SchemaParser.js.map +1 -1
  295. package/dist/SchemaRepresentation.d.ts +30 -21
  296. package/dist/SchemaRepresentation.d.ts.map +1 -1
  297. package/dist/SchemaRepresentation.js +26 -22
  298. package/dist/SchemaRepresentation.js.map +1 -1
  299. package/dist/SchemaTransformation.d.ts +169 -145
  300. package/dist/SchemaTransformation.d.ts.map +1 -1
  301. package/dist/SchemaTransformation.js +183 -159
  302. package/dist/SchemaTransformation.js.map +1 -1
  303. package/dist/SchemaUtils.js +2 -2
  304. package/dist/SchemaUtils.js.map +1 -1
  305. package/dist/Scope.d.ts +16 -1
  306. package/dist/Scope.d.ts.map +1 -1
  307. package/dist/Scope.js +16 -1
  308. package/dist/Scope.js.map +1 -1
  309. package/dist/ScopedCache.d.ts +1 -1
  310. package/dist/ScopedCache.js +1 -1
  311. package/dist/ScopedRef.d.ts +14 -18
  312. package/dist/ScopedRef.d.ts.map +1 -1
  313. package/dist/ScopedRef.js +6 -8
  314. package/dist/ScopedRef.js.map +1 -1
  315. package/dist/Semaphore.d.ts +9 -9
  316. package/dist/Semaphore.js +3 -3
  317. package/dist/Sink.d.ts +18 -18
  318. package/dist/Sink.d.ts.map +1 -1
  319. package/dist/Sink.js +12 -12
  320. package/dist/Sink.js.map +1 -1
  321. package/dist/Stdio.d.ts +4 -5
  322. package/dist/Stdio.d.ts.map +1 -1
  323. package/dist/Stdio.js +4 -5
  324. package/dist/Stdio.js.map +1 -1
  325. package/dist/Stream.d.ts +376 -99
  326. package/dist/Stream.d.ts.map +1 -1
  327. package/dist/Stream.js +158 -43
  328. package/dist/Stream.js.map +1 -1
  329. package/dist/String.d.ts +11 -14
  330. package/dist/String.d.ts.map +1 -1
  331. package/dist/String.js +5 -6
  332. package/dist/String.js.map +1 -1
  333. package/dist/Struct.d.ts +23 -21
  334. package/dist/Struct.d.ts.map +1 -1
  335. package/dist/Struct.js +14 -12
  336. package/dist/Struct.js.map +1 -1
  337. package/dist/SubscriptionRef.d.ts +24 -19
  338. package/dist/SubscriptionRef.d.ts.map +1 -1
  339. package/dist/SubscriptionRef.js +12 -7
  340. package/dist/SubscriptionRef.js.map +1 -1
  341. package/dist/SynchronizedRef.d.ts +145 -120
  342. package/dist/SynchronizedRef.d.ts.map +1 -1
  343. package/dist/SynchronizedRef.js +51 -42
  344. package/dist/SynchronizedRef.js.map +1 -1
  345. package/dist/Terminal.d.ts +1 -1
  346. package/dist/Terminal.js +1 -1
  347. package/dist/Tracer.d.ts +9 -9
  348. package/dist/Tracer.js +6 -6
  349. package/dist/Trie.d.ts +15 -0
  350. package/dist/Trie.d.ts.map +1 -1
  351. package/dist/Trie.js +5 -0
  352. package/dist/Trie.js.map +1 -1
  353. package/dist/Tuple.d.ts +39 -33
  354. package/dist/Tuple.d.ts.map +1 -1
  355. package/dist/Tuple.js +23 -19
  356. package/dist/Tuple.js.map +1 -1
  357. package/dist/TxHashMap.d.ts +3 -3
  358. package/dist/TxHashSet.d.ts +1 -1
  359. package/dist/TxReentrantLock.d.ts +6 -3
  360. package/dist/TxReentrantLock.d.ts.map +1 -1
  361. package/dist/TxReentrantLock.js +2 -1
  362. package/dist/TxReentrantLock.js.map +1 -1
  363. package/dist/TxRef.d.ts +16 -16
  364. package/dist/TxRef.js +8 -8
  365. package/dist/TxSubscriptionRef.d.ts +43 -27
  366. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  367. package/dist/TxSubscriptionRef.js +19 -13
  368. package/dist/TxSubscriptionRef.js.map +1 -1
  369. package/dist/Types.d.ts +12 -38
  370. package/dist/Types.d.ts.map +1 -1
  371. package/dist/Types.js +0 -2
  372. package/dist/UndefinedOr.d.ts +15 -14
  373. package/dist/UndefinedOr.d.ts.map +1 -1
  374. package/dist/UndefinedOr.js +11 -10
  375. package/dist/UndefinedOr.js.map +1 -1
  376. package/dist/Unify.d.ts +9 -9
  377. package/dist/Unify.js +1 -1
  378. package/dist/internal/schema/annotations.js.map +1 -1
  379. package/dist/internal/schema/arbitrary.js +9 -9
  380. package/dist/internal/schema/arbitrary.js.map +1 -1
  381. package/dist/internal/schema/equivalence.js +9 -9
  382. package/dist/internal/schema/equivalence.js.map +1 -1
  383. package/dist/internal/schema/representation.js +14 -14
  384. package/dist/internal/schema/representation.js.map +1 -1
  385. package/dist/internal/schema/schema.js +11 -11
  386. package/dist/internal/schema/schema.js.map +1 -1
  387. package/dist/testing/TestClock.d.ts +5 -5
  388. package/dist/testing/TestClock.js +4 -4
  389. package/dist/testing/TestConsole.d.ts +3 -3
  390. package/dist/testing/TestConsole.js +3 -3
  391. package/dist/testing/TestSchema.d.ts +10 -10
  392. package/dist/testing/TestSchema.d.ts.map +1 -1
  393. package/dist/testing/TestSchema.js +9 -9
  394. package/dist/testing/TestSchema.js.map +1 -1
  395. package/dist/unstable/ai/AiError.d.ts +4 -2
  396. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  397. package/dist/unstable/ai/AiError.js +4 -2
  398. package/dist/unstable/ai/AiError.js.map +1 -1
  399. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +17 -20
  400. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  401. package/dist/unstable/ai/AnthropicStructuredOutput.js +36 -39
  402. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  403. package/dist/unstable/ai/Chat.d.ts +6 -7
  404. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  405. package/dist/unstable/ai/Chat.js +6 -7
  406. package/dist/unstable/ai/Chat.js.map +1 -1
  407. package/dist/unstable/ai/EmbeddingModel.d.ts +5 -5
  408. package/dist/unstable/ai/EmbeddingModel.js +4 -4
  409. package/dist/unstable/ai/IdGenerator.d.ts +4 -5
  410. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  411. package/dist/unstable/ai/IdGenerator.js +3 -4
  412. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  413. package/dist/unstable/ai/LanguageModel.d.ts +7 -6
  414. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  415. package/dist/unstable/ai/LanguageModel.js +6 -5
  416. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  417. package/dist/unstable/ai/McpSchema.d.ts +14 -12
  418. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  419. package/dist/unstable/ai/McpSchema.js +19 -17
  420. package/dist/unstable/ai/McpSchema.js.map +1 -1
  421. package/dist/unstable/ai/McpServer.d.ts +11 -4
  422. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  423. package/dist/unstable/ai/McpServer.js +8 -5
  424. package/dist/unstable/ai/McpServer.js.map +1 -1
  425. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +20 -18
  426. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  427. package/dist/unstable/ai/OpenAiStructuredOutput.js +45 -43
  428. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  429. package/dist/unstable/ai/Prompt.d.ts +17 -17
  430. package/dist/unstable/ai/Prompt.js +4 -4
  431. package/dist/unstable/ai/Prompt.js.map +1 -1
  432. package/dist/unstable/ai/ResponseIdTracker.d.ts +3 -2
  433. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  434. package/dist/unstable/ai/ResponseIdTracker.js +3 -2
  435. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  436. package/dist/unstable/ai/Telemetry.d.ts +26 -11
  437. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  438. package/dist/unstable/ai/Telemetry.js +9 -4
  439. package/dist/unstable/ai/Telemetry.js.map +1 -1
  440. package/dist/unstable/ai/Tokenizer.d.ts +1 -1
  441. package/dist/unstable/ai/Tokenizer.js +1 -1
  442. package/dist/unstable/ai/Tool.d.ts +13 -12
  443. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  444. package/dist/unstable/ai/Tool.js +14 -13
  445. package/dist/unstable/ai/Tool.js.map +1 -1
  446. package/dist/unstable/ai/Toolkit.d.ts +2 -2
  447. package/dist/unstable/ai/Toolkit.js +2 -2
  448. package/dist/unstable/cli/Command.d.ts +37 -16
  449. package/dist/unstable/cli/Command.d.ts.map +1 -1
  450. package/dist/unstable/cli/Command.js +16 -9
  451. package/dist/unstable/cli/Command.js.map +1 -1
  452. package/dist/unstable/cli/Completions.d.ts +1 -1
  453. package/dist/unstable/cli/Completions.js +1 -1
  454. package/dist/unstable/cli/Flag.d.ts +7 -6
  455. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  456. package/dist/unstable/cli/Flag.js +7 -6
  457. package/dist/unstable/cli/Flag.js.map +1 -1
  458. package/dist/unstable/cli/GlobalFlag.d.ts +6 -1
  459. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  460. package/dist/unstable/cli/GlobalFlag.js +7 -2
  461. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  462. package/dist/unstable/cli/Param.d.ts +4 -4
  463. package/dist/unstable/cli/Param.d.ts.map +1 -1
  464. package/dist/unstable/cli/Param.js +13 -10
  465. package/dist/unstable/cli/Param.js.map +1 -1
  466. package/dist/unstable/cli/Primitive.d.ts +6 -5
  467. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  468. package/dist/unstable/cli/Primitive.js +4 -3
  469. package/dist/unstable/cli/Primitive.js.map +1 -1
  470. package/dist/unstable/cli/Prompt.d.ts +11 -11
  471. package/dist/unstable/cli/internal/parser.js +145 -10
  472. package/dist/unstable/cli/internal/parser.js.map +1 -1
  473. package/dist/unstable/cluster/ClusterCron.d.ts +1 -2
  474. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  475. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  476. package/dist/unstable/cluster/ClusterMetrics.d.ts +5 -0
  477. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  478. package/dist/unstable/cluster/ClusterMetrics.js +5 -0
  479. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  480. package/dist/unstable/cluster/ClusterSchema.d.ts +3 -3
  481. package/dist/unstable/cluster/ClusterSchema.js +3 -3
  482. package/dist/unstable/cluster/ClusterWorkflowEngine.js +15 -15
  483. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  484. package/dist/unstable/cluster/Entity.d.ts +1 -1
  485. package/dist/unstable/cluster/Entity.js +1 -1
  486. package/dist/unstable/cluster/EntityResource.d.ts +10 -0
  487. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  488. package/dist/unstable/cluster/EntityResource.js +10 -0
  489. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  490. package/dist/unstable/cluster/Envelope.d.ts +2 -2
  491. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  492. package/dist/unstable/cluster/Envelope.js +2 -2
  493. package/dist/unstable/cluster/Envelope.js.map +1 -1
  494. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  495. package/dist/unstable/cluster/HttpRunner.js +2 -2
  496. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  497. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  498. package/dist/unstable/cluster/Reply.d.ts +2 -2
  499. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  500. package/dist/unstable/cluster/Reply.js +12 -12
  501. package/dist/unstable/cluster/Reply.js.map +1 -1
  502. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -1
  503. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  504. package/dist/unstable/cluster/RunnerHealth.js +2 -1
  505. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  506. package/dist/unstable/cluster/RunnerServer.d.ts +2 -2
  507. package/dist/unstable/cluster/RunnerServer.js +2 -2
  508. package/dist/unstable/cluster/Runners.d.ts +4 -4
  509. package/dist/unstable/cluster/Runners.js +4 -4
  510. package/dist/unstable/cluster/ShardId.js +3 -3
  511. package/dist/unstable/cluster/ShardId.js.map +1 -1
  512. package/dist/unstable/cluster/Sharding.d.ts +4 -4
  513. package/dist/unstable/cluster/Sharding.js +4 -4
  514. package/dist/unstable/cluster/ShardingConfig.d.ts +4 -4
  515. package/dist/unstable/cluster/ShardingConfig.js +4 -4
  516. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  517. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  518. package/dist/unstable/cluster/Snowflake.d.ts +6 -6
  519. package/dist/unstable/cluster/Snowflake.js +8 -8
  520. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  521. package/dist/unstable/cluster/internal/entityManager.js +2 -2
  522. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  523. package/dist/unstable/devtools/DevToolsClient.d.ts +1 -1
  524. package/dist/unstable/devtools/DevToolsClient.js +1 -1
  525. package/dist/unstable/encoding/Msgpack.d.ts +2 -2
  526. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  527. package/dist/unstable/encoding/Msgpack.js +5 -5
  528. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  529. package/dist/unstable/encoding/Ndjson.d.ts +5 -0
  530. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  531. package/dist/unstable/encoding/Ndjson.js +5 -0
  532. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  533. package/dist/unstable/encoding/Sse.d.ts +2 -2
  534. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  535. package/dist/unstable/encoding/Sse.js +2 -2
  536. package/dist/unstable/encoding/Sse.js.map +1 -1
  537. package/dist/unstable/eventlog/EventGroup.d.ts +2 -1
  538. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  539. package/dist/unstable/eventlog/EventGroup.js +2 -1
  540. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  541. package/dist/unstable/eventlog/EventJournal.d.ts +10 -0
  542. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  543. package/dist/unstable/eventlog/EventJournal.js +10 -0
  544. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  545. package/dist/unstable/eventlog/EventLog.d.ts +4 -4
  546. package/dist/unstable/eventlog/EventLog.js +4 -4
  547. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  548. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  549. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  550. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  551. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +2 -3
  552. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  553. package/dist/unstable/eventlog/EventLogServerEncrypted.js +2 -3
  554. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  555. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +8 -10
  556. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  557. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +8 -10
  558. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  559. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +4 -4
  560. package/dist/unstable/eventlog/EventLogSessionAuth.js +4 -4
  561. package/dist/unstable/http/Cookies.d.ts +1 -1
  562. package/dist/unstable/http/Cookies.js +4 -4
  563. package/dist/unstable/http/Cookies.js.map +1 -1
  564. package/dist/unstable/http/Etag.d.ts +3 -4
  565. package/dist/unstable/http/Etag.d.ts.map +1 -1
  566. package/dist/unstable/http/Etag.js +3 -4
  567. package/dist/unstable/http/Etag.js.map +1 -1
  568. package/dist/unstable/http/FetchHttpClient.d.ts +2 -2
  569. package/dist/unstable/http/FetchHttpClient.js +2 -2
  570. package/dist/unstable/http/Headers.js +2 -2
  571. package/dist/unstable/http/Headers.js.map +1 -1
  572. package/dist/unstable/http/HttpBody.js +2 -2
  573. package/dist/unstable/http/HttpBody.js.map +1 -1
  574. package/dist/unstable/http/HttpClient.d.ts +3 -3
  575. package/dist/unstable/http/HttpClient.js +3 -3
  576. package/dist/unstable/http/HttpClientRequest.d.ts +32 -5
  577. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  578. package/dist/unstable/http/HttpClientRequest.js +10 -1
  579. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  580. package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
  581. package/dist/unstable/http/HttpMiddleware.js +1 -1
  582. package/dist/unstable/http/HttpPlatform.d.ts +1 -1
  583. package/dist/unstable/http/HttpPlatform.js +1 -1
  584. package/dist/unstable/http/HttpRouter.d.ts +5 -5
  585. package/dist/unstable/http/HttpRouter.js +5 -5
  586. package/dist/unstable/http/HttpServerResponse.d.ts +28 -23
  587. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  588. package/dist/unstable/http/HttpServerResponse.js +13 -8
  589. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  590. package/dist/unstable/http/Multipart.js +3 -3
  591. package/dist/unstable/http/Multipart.js.map +1 -1
  592. package/dist/unstable/http/Url.d.ts +33 -33
  593. package/dist/unstable/http/Url.js +11 -11
  594. package/dist/unstable/http/UrlParams.d.ts +30 -0
  595. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  596. package/dist/unstable/http/UrlParams.js +16 -6
  597. package/dist/unstable/http/UrlParams.js.map +1 -1
  598. package/dist/unstable/httpapi/HttpApi.d.ts +4 -3
  599. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  600. package/dist/unstable/httpapi/HttpApi.js +4 -3
  601. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  602. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  603. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -8
  604. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  605. package/dist/unstable/httpapi/HttpApiClient.js +15 -15
  606. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  607. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  608. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  609. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +3 -3
  610. package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -3
  611. package/dist/unstable/httpapi/HttpApiSchema.d.ts +2 -2
  612. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  613. package/dist/unstable/httpapi/HttpApiSchema.js +9 -9
  614. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  615. package/dist/unstable/httpapi/OpenApi.js +11 -11
  616. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  617. package/dist/unstable/observability/OtlpResource.d.ts +5 -0
  618. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  619. package/dist/unstable/observability/OtlpResource.js +5 -0
  620. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  621. package/dist/unstable/observability/PrometheusMetrics.d.ts +8 -6
  622. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  623. package/dist/unstable/observability/PrometheusMetrics.js +6 -4
  624. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  625. package/dist/unstable/persistence/KeyValueStore.d.ts +3 -3
  626. package/dist/unstable/persistence/KeyValueStore.js +1 -1
  627. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  628. package/dist/unstable/persistence/Persistable.js +2 -2
  629. package/dist/unstable/persistence/PersistedQueue.d.ts +8 -8
  630. package/dist/unstable/persistence/PersistedQueue.js +8 -8
  631. package/dist/unstable/persistence/RateLimiter.d.ts +1 -1
  632. package/dist/unstable/persistence/RateLimiter.js +1 -1
  633. package/dist/unstable/process/ChildProcess.d.ts +5 -5
  634. package/dist/unstable/process/ChildProcess.js +2 -2
  635. package/dist/unstable/reactivity/AsyncResult.d.ts +4 -4
  636. package/dist/unstable/reactivity/AsyncResult.js +1 -1
  637. package/dist/unstable/reactivity/Atom.d.ts +4 -4
  638. package/dist/unstable/reactivity/Atom.js +4 -4
  639. package/dist/unstable/reactivity/AtomRegistry.d.ts +1 -1
  640. package/dist/unstable/reactivity/AtomRegistry.js +1 -1
  641. package/dist/unstable/reactivity/Reactivity.d.ts +1 -1
  642. package/dist/unstable/reactivity/Reactivity.js +1 -1
  643. package/dist/unstable/rpc/Rpc.d.ts +5 -5
  644. package/dist/unstable/rpc/Rpc.js +1 -1
  645. package/dist/unstable/rpc/RpcMiddleware.d.ts +1 -1
  646. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  647. package/dist/unstable/rpc/RpcSchema.d.ts +5 -5
  648. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  649. package/dist/unstable/rpc/RpcSchema.js +2 -2
  650. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  651. package/dist/unstable/rpc/RpcSerialization.js +2 -2
  652. package/dist/unstable/schema/Model.d.ts +2 -2
  653. package/dist/unstable/schema/Model.js +6 -6
  654. package/dist/unstable/schema/Model.js.map +1 -1
  655. package/dist/unstable/schema/VariantSchema.d.ts +2 -2
  656. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  657. package/dist/unstable/socket/Socket.d.ts +3 -3
  658. package/dist/unstable/socket/Socket.js +3 -3
  659. package/dist/unstable/socket/SocketServer.d.ts +1 -1
  660. package/dist/unstable/socket/SocketServer.js +1 -1
  661. package/dist/unstable/sql/Migrator.d.ts +1 -1
  662. package/dist/unstable/sql/SqlClient.d.ts +3 -3
  663. package/dist/unstable/sql/SqlClient.js +2 -2
  664. package/dist/unstable/sql/SqlConnection.d.ts +1 -1
  665. package/dist/unstable/sql/SqlConnection.js +1 -1
  666. package/dist/unstable/sql/SqlSchema.d.ts +4 -4
  667. package/dist/unstable/sql/SqlSchema.js +4 -4
  668. package/dist/unstable/sql/Statement.d.ts +2 -2
  669. package/dist/unstable/sql/Statement.js +2 -2
  670. package/dist/unstable/workers/Transferable.d.ts +3 -3
  671. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  672. package/dist/unstable/workers/Transferable.js +6 -6
  673. package/dist/unstable/workers/Transferable.js.map +1 -1
  674. package/dist/unstable/workers/Worker.d.ts +1 -1
  675. package/dist/unstable/workers/Worker.js +1 -1
  676. package/dist/unstable/workflow/Activity.d.ts +1 -1
  677. package/dist/unstable/workflow/Activity.js +1 -1
  678. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  679. package/dist/unstable/workflow/DurableDeferred.js +8 -8
  680. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  681. package/dist/unstable/workflow/DurableQueue.d.ts +1 -2
  682. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  683. package/dist/unstable/workflow/DurableQueue.js +1 -2
  684. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  685. package/dist/unstable/workflow/Workflow.d.ts +35 -15
  686. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  687. package/dist/unstable/workflow/Workflow.js +94 -72
  688. package/dist/unstable/workflow/Workflow.js.map +1 -1
  689. package/dist/unstable/workflow/WorkflowEngine.d.ts +10 -2
  690. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  691. package/dist/unstable/workflow/WorkflowEngine.js +16 -8
  692. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  693. package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -4
  694. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  695. package/dist/unstable/workflow/WorkflowProxy.js +9 -11
  696. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  697. package/dist/unstable/workflow/WorkflowProxyServer.js +7 -7
  698. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  699. package/package.json +1 -1
  700. package/src/Array.ts +745 -627
  701. package/src/BigDecimal.ts +37 -30
  702. package/src/BigInt.ts +34 -40
  703. package/src/Boolean.ts +10 -10
  704. package/src/Brand.ts +16 -14
  705. package/src/Cause.ts +21 -23
  706. package/src/Channel.ts +316 -76
  707. package/src/ChannelSchema.ts +11 -11
  708. package/src/Chunk.ts +87 -34
  709. package/src/Clock.ts +3 -3
  710. package/src/Combiner.ts +9 -13
  711. package/src/Config.ts +60 -67
  712. package/src/ConfigProvider.ts +34 -44
  713. package/src/Console.ts +2 -2
  714. package/src/Context.ts +64 -76
  715. package/src/Cron.ts +6 -6
  716. package/src/Crypto.ts +4 -4
  717. package/src/Data.ts +21 -15
  718. package/src/DateTime.ts +35 -16
  719. package/src/Deferred.ts +61 -52
  720. package/src/Duration.ts +50 -37
  721. package/src/Effect.ts +574 -474
  722. package/src/Encoding.ts +5 -0
  723. package/src/Equal.ts +28 -41
  724. package/src/Equivalence.ts +72 -100
  725. package/src/ErrorReporter.ts +1 -1
  726. package/src/ExecutionPlan.ts +2 -2
  727. package/src/Exit.ts +79 -96
  728. package/src/Fiber.ts +8 -6
  729. package/src/FiberHandle.ts +25 -0
  730. package/src/FiberMap.ts +35 -0
  731. package/src/FiberSet.ts +20 -0
  732. package/src/FileSystem.ts +6 -6
  733. package/src/Filter.ts +4 -4
  734. package/src/Formatter.ts +14 -19
  735. package/src/Function.ts +20 -21
  736. package/src/Graph.ts +13 -13
  737. package/src/HKT.ts +3 -3
  738. package/src/Hash.ts +2 -1
  739. package/src/HashMap.ts +18 -3
  740. package/src/HashRing.ts +9 -9
  741. package/src/HashSet.ts +1 -1
  742. package/src/Iterable.ts +39 -27
  743. package/src/JsonPatch.ts +2 -3
  744. package/src/JsonPointer.ts +2 -6
  745. package/src/JsonSchema.ts +17 -13
  746. package/src/Latch.ts +4 -3
  747. package/src/Layer.ts +108 -130
  748. package/src/Logger.ts +22 -25
  749. package/src/ManagedRuntime.ts +2 -2
  750. package/src/Match.ts +22 -22
  751. package/src/Metric.ts +129 -157
  752. package/src/MutableHashMap.ts +35 -20
  753. package/src/MutableList.ts +15 -0
  754. package/src/MutableRef.ts +56 -42
  755. package/src/Newtype.ts +10 -7
  756. package/src/Number.ts +23 -11
  757. package/src/Optic.ts +25 -22
  758. package/src/Option.ts +232 -204
  759. package/src/Order.ts +119 -180
  760. package/src/PartitionedSemaphore.ts +14 -14
  761. package/src/Path.ts +3 -3
  762. package/src/Pipeable.ts +3 -3
  763. package/src/PlatformError.ts +4 -4
  764. package/src/Pool.ts +7 -11
  765. package/src/Predicate.ts +279 -268
  766. package/src/PubSub.ts +33 -23
  767. package/src/Pull.ts +4 -4
  768. package/src/Queue.ts +70 -31
  769. package/src/RcRef.ts +0 -4
  770. package/src/Record.ts +15 -15
  771. package/src/Redactable.ts +2 -2
  772. package/src/Redacted.ts +5 -5
  773. package/src/Reducer.ts +2 -3
  774. package/src/Ref.ts +61 -58
  775. package/src/References.ts +4 -4
  776. package/src/RegExp.ts +1 -1
  777. package/src/Request.ts +22 -22
  778. package/src/RequestResolver.ts +8 -8
  779. package/src/Resource.ts +3 -3
  780. package/src/Result.ts +105 -51
  781. package/src/Runtime.ts +11 -8
  782. package/src/Schedule.ts +157 -90
  783. package/src/Scheduler.ts +6 -4
  784. package/src/Schema.ts +1020 -1108
  785. package/src/SchemaAST.ts +149 -118
  786. package/src/SchemaGetter.ts +155 -134
  787. package/src/SchemaIssue.ts +39 -41
  788. package/src/SchemaParser.ts +176 -232
  789. package/src/SchemaRepresentation.ts +38 -28
  790. package/src/SchemaTransformation.ts +233 -207
  791. package/src/SchemaUtils.ts +2 -2
  792. package/src/Scope.ts +16 -1
  793. package/src/ScopedCache.ts +1 -1
  794. package/src/ScopedRef.ts +14 -18
  795. package/src/Semaphore.ts +9 -9
  796. package/src/Sink.ts +18 -18
  797. package/src/Stdio.ts +4 -5
  798. package/src/Stream.ts +411 -114
  799. package/src/String.ts +11 -14
  800. package/src/Struct.ts +23 -21
  801. package/src/SubscriptionRef.ts +24 -19
  802. package/src/SynchronizedRef.ts +145 -120
  803. package/src/Terminal.ts +1 -1
  804. package/src/Tracer.ts +9 -9
  805. package/src/Trie.ts +15 -0
  806. package/src/Tuple.ts +39 -33
  807. package/src/TxHashMap.ts +3 -3
  808. package/src/TxHashSet.ts +1 -1
  809. package/src/TxReentrantLock.ts +6 -3
  810. package/src/TxRef.ts +16 -16
  811. package/src/TxSubscriptionRef.ts +43 -27
  812. package/src/Types.ts +12 -39
  813. package/src/UndefinedOr.ts +15 -14
  814. package/src/Unify.ts +9 -9
  815. package/src/internal/schema/annotations.ts +4 -4
  816. package/src/internal/schema/arbitrary.ts +16 -16
  817. package/src/internal/schema/equivalence.ts +11 -11
  818. package/src/internal/schema/representation.ts +23 -23
  819. package/src/internal/schema/schema.ts +17 -17
  820. package/src/testing/TestClock.ts +5 -5
  821. package/src/testing/TestConsole.ts +3 -3
  822. package/src/testing/TestSchema.ts +20 -20
  823. package/src/unstable/ai/AiError.ts +4 -2
  824. package/src/unstable/ai/AnthropicStructuredOutput.ts +59 -56
  825. package/src/unstable/ai/Chat.ts +6 -7
  826. package/src/unstable/ai/EmbeddingModel.ts +5 -5
  827. package/src/unstable/ai/IdGenerator.ts +4 -5
  828. package/src/unstable/ai/LanguageModel.ts +9 -8
  829. package/src/unstable/ai/McpSchema.ts +19 -17
  830. package/src/unstable/ai/McpServer.ts +14 -7
  831. package/src/unstable/ai/OpenAiStructuredOutput.ts +72 -61
  832. package/src/unstable/ai/Prompt.ts +20 -20
  833. package/src/unstable/ai/ResponseIdTracker.ts +3 -2
  834. package/src/unstable/ai/Telemetry.ts +26 -11
  835. package/src/unstable/ai/Tokenizer.ts +1 -1
  836. package/src/unstable/ai/Tool.ts +17 -16
  837. package/src/unstable/ai/Toolkit.ts +2 -2
  838. package/src/unstable/cli/Command.ts +42 -17
  839. package/src/unstable/cli/Completions.ts +1 -1
  840. package/src/unstable/cli/Flag.ts +7 -6
  841. package/src/unstable/cli/GlobalFlag.ts +7 -1
  842. package/src/unstable/cli/Param.ts +24 -19
  843. package/src/unstable/cli/Primitive.ts +6 -5
  844. package/src/unstable/cli/Prompt.ts +11 -11
  845. package/src/unstable/cli/internal/parser.ts +204 -10
  846. package/src/unstable/cluster/ClusterCron.ts +1 -2
  847. package/src/unstable/cluster/ClusterMetrics.ts +5 -0
  848. package/src/unstable/cluster/ClusterSchema.ts +3 -3
  849. package/src/unstable/cluster/ClusterWorkflowEngine.ts +15 -15
  850. package/src/unstable/cluster/Entity.ts +1 -1
  851. package/src/unstable/cluster/EntityResource.ts +10 -0
  852. package/src/unstable/cluster/Envelope.ts +3 -3
  853. package/src/unstable/cluster/HttpRunner.ts +2 -2
  854. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  855. package/src/unstable/cluster/Reply.ts +14 -12
  856. package/src/unstable/cluster/RunnerHealth.ts +2 -1
  857. package/src/unstable/cluster/RunnerServer.ts +2 -2
  858. package/src/unstable/cluster/Runners.ts +4 -4
  859. package/src/unstable/cluster/ShardId.ts +3 -3
  860. package/src/unstable/cluster/Sharding.ts +4 -4
  861. package/src/unstable/cluster/ShardingConfig.ts +4 -4
  862. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  863. package/src/unstable/cluster/Snowflake.ts +8 -8
  864. package/src/unstable/cluster/internal/entityManager.ts +2 -2
  865. package/src/unstable/devtools/DevToolsClient.ts +1 -1
  866. package/src/unstable/encoding/Msgpack.ts +6 -6
  867. package/src/unstable/encoding/Ndjson.ts +5 -0
  868. package/src/unstable/encoding/Sse.ts +2 -2
  869. package/src/unstable/eventlog/EventGroup.ts +2 -1
  870. package/src/unstable/eventlog/EventJournal.ts +10 -0
  871. package/src/unstable/eventlog/EventLog.ts +4 -4
  872. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  873. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  874. package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -3
  875. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +8 -10
  876. package/src/unstable/eventlog/EventLogSessionAuth.ts +4 -4
  877. package/src/unstable/http/Cookies.ts +5 -5
  878. package/src/unstable/http/Etag.ts +3 -4
  879. package/src/unstable/http/FetchHttpClient.ts +2 -2
  880. package/src/unstable/http/Headers.ts +2 -2
  881. package/src/unstable/http/HttpBody.ts +2 -2
  882. package/src/unstable/http/HttpClient.ts +3 -3
  883. package/src/unstable/http/HttpClientRequest.ts +32 -5
  884. package/src/unstable/http/HttpMiddleware.ts +1 -1
  885. package/src/unstable/http/HttpPlatform.ts +1 -1
  886. package/src/unstable/http/HttpRouter.ts +5 -5
  887. package/src/unstable/http/HttpServerResponse.ts +28 -23
  888. package/src/unstable/http/Multipart.ts +3 -3
  889. package/src/unstable/http/Url.ts +33 -33
  890. package/src/unstable/http/UrlParams.ts +36 -6
  891. package/src/unstable/httpapi/HttpApi.ts +6 -5
  892. package/src/unstable/httpapi/HttpApiBuilder.ts +14 -13
  893. package/src/unstable/httpapi/HttpApiClient.ts +16 -16
  894. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  895. package/src/unstable/httpapi/HttpApiMiddleware.ts +3 -3
  896. package/src/unstable/httpapi/HttpApiSchema.ts +15 -15
  897. package/src/unstable/httpapi/OpenApi.ts +18 -18
  898. package/src/unstable/observability/OtlpResource.ts +5 -0
  899. package/src/unstable/observability/PrometheusMetrics.ts +8 -6
  900. package/src/unstable/persistence/KeyValueStore.ts +3 -3
  901. package/src/unstable/persistence/Persistable.ts +2 -2
  902. package/src/unstable/persistence/PersistedQueue.ts +8 -8
  903. package/src/unstable/persistence/RateLimiter.ts +1 -1
  904. package/src/unstable/process/ChildProcess.ts +5 -5
  905. package/src/unstable/reactivity/AsyncResult.ts +4 -4
  906. package/src/unstable/reactivity/Atom.ts +4 -4
  907. package/src/unstable/reactivity/AtomRegistry.ts +1 -1
  908. package/src/unstable/reactivity/Reactivity.ts +1 -1
  909. package/src/unstable/rpc/Rpc.ts +5 -5
  910. package/src/unstable/rpc/RpcMiddleware.ts +1 -1
  911. package/src/unstable/rpc/RpcSchema.ts +5 -5
  912. package/src/unstable/rpc/RpcSerialization.ts +2 -2
  913. package/src/unstable/schema/Model.ts +7 -7
  914. package/src/unstable/schema/VariantSchema.ts +2 -2
  915. package/src/unstable/socket/Socket.ts +3 -3
  916. package/src/unstable/socket/SocketServer.ts +1 -1
  917. package/src/unstable/sql/Migrator.ts +1 -1
  918. package/src/unstable/sql/SqlClient.ts +3 -3
  919. package/src/unstable/sql/SqlConnection.ts +1 -1
  920. package/src/unstable/sql/SqlSchema.ts +4 -4
  921. package/src/unstable/sql/Statement.ts +2 -2
  922. package/src/unstable/workers/Transferable.ts +7 -7
  923. package/src/unstable/workers/Worker.ts +1 -1
  924. package/src/unstable/workflow/Activity.ts +1 -1
  925. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  926. package/src/unstable/workflow/DurableQueue.ts +1 -2
  927. package/src/unstable/workflow/Workflow.ts +159 -114
  928. package/src/unstable/workflow/WorkflowEngine.ts +16 -8
  929. package/src/unstable/workflow/WorkflowProxy.ts +9 -11
  930. package/src/unstable/workflow/WorkflowProxyServer.ts +7 -7
package/src/Option.ts CHANGED
@@ -156,7 +156,7 @@ export interface None<out A> extends Pipeable, Inspectable {
156
156
  *
157
157
  * @see {@link gen} for writing generator-based `Option` code that consumes this iterator protocol
158
158
  *
159
- * @category Generators
159
+ * @category generators
160
160
  * @since 4.0.0
161
161
  */
162
162
  export interface OptionIterator<T extends Option<any>> {
@@ -276,9 +276,10 @@ export interface OptionUnifyIgnore {}
276
276
  *
277
277
  * **When to use**
278
278
  *
279
- * Use to represent `Option` in higher-kinded type operations.
279
+ * Use when defining higher-kinded abstractions that must accept optional-value
280
+ * types as one of their type-lambda inputs.
280
281
  *
281
- * @category Type Lambdas
282
+ * @category type lambdas
282
283
  * @since 2.0.0
283
284
  */
284
285
  export interface OptionTypeLambda extends TypeLambda {
@@ -323,7 +324,7 @@ export const none = <A = never>(): Option<A> => option.none
323
324
  *
324
325
  * **When to use**
325
326
  *
326
- * Use to wrap a known-present value as `Option`
327
+ * Use to wrap a known present value as `Option`
327
328
  * - Returning a successful result from a partial function
328
329
  *
329
330
  * **Details**
@@ -392,7 +393,7 @@ export const isOption: (input: unknown) => input is Option<unknown> = option.isO
392
393
  *
393
394
  * **When to use**
394
395
  *
395
- * Use when branching on absence before accessing `.value`
396
+ * Use when you need to branch on an absent `Option` before accessing `.value`.
396
397
  *
397
398
  * **Details**
398
399
  *
@@ -422,7 +423,7 @@ export const isNone: <A>(self: Option<A>) => self is None<A> = option.isNone
422
423
  *
423
424
  * **When to use**
424
425
  *
425
- * Use when branching on presence before accessing `.value`
426
+ * Use when you need to branch on a present `Option` before accessing `.value`.
426
427
  *
427
428
  * **Details**
428
429
  *
@@ -452,8 +453,8 @@ export const isSome: <A>(self: Option<A>) => self is Some<A> = option.isSome
452
453
  *
453
454
  * **When to use**
454
455
  *
455
- * Use when exhaustively handling both branches in one expression
456
- * - Transforming an `Option` into a plain value
456
+ * Use when you need to handle both `Some` and `None` in one expression and
457
+ * transform an `Option` into a plain value.
457
458
  *
458
459
  * **Details**
459
460
  *
@@ -477,7 +478,7 @@ export const isSome: <A>(self: Option<A>) => self is Some<A> = option.isSome
477
478
  *
478
479
  * @see {@link getOrElse} for unwrapping with a default
479
480
  *
480
- * @category Pattern matching
481
+ * @category pattern matching
481
482
  * @since 2.0.0
482
483
  */
483
484
  export const match: {
@@ -486,8 +487,8 @@ export const match: {
486
487
  *
487
488
  * **When to use**
488
489
  *
489
- * Use when exhaustively handling both branches in one expression
490
- * - Transforming an `Option` into a plain value
490
+ * Use when you need to handle both `Some` and `None` in one expression and
491
+ * transform an `Option` into a plain value.
491
492
  *
492
493
  * **Details**
493
494
  *
@@ -511,7 +512,7 @@ export const match: {
511
512
  *
512
513
  * @see {@link getOrElse} for unwrapping with a default
513
514
  *
514
- * @category Pattern matching
515
+ * @category pattern matching
515
516
  * @since 2.0.0
516
517
  */
517
518
  <B, A, C = B>(
@@ -525,8 +526,8 @@ export const match: {
525
526
  *
526
527
  * **When to use**
527
528
  *
528
- * Use when exhaustively handling both branches in one expression
529
- * - Transforming an `Option` into a plain value
529
+ * Use when you need to handle both `Some` and `None` in one expression and
530
+ * transform an `Option` into a plain value.
530
531
  *
531
532
  * **Details**
532
533
  *
@@ -550,7 +551,7 @@ export const match: {
550
551
  *
551
552
  * @see {@link getOrElse} for unwrapping with a default
552
553
  *
553
- * @category Pattern matching
554
+ * @category pattern matching
554
555
  * @since 2.0.0
555
556
  */
556
557
  <A, B, C = B>(
@@ -573,8 +574,8 @@ export const match: {
573
574
  *
574
575
  * **When to use**
575
576
  *
576
- * Use when turning a parsing function into a type-narrowing predicate
577
- * - Filtering arrays with `Array.prototype.filter`
577
+ * Use when you need to turn an `Option`-returning parser into a type-narrowing
578
+ * predicate, such as for `Array.prototype.filter`.
578
579
  *
579
580
  * **Details**
580
581
  *
@@ -616,8 +617,8 @@ export const toRefinement = <A, B extends A>(f: (a: A) => Option<B>): (a: A) =>
616
617
  *
617
618
  * **When to use**
618
619
  *
619
- * Use when safely extracting the head of a collection
620
- * - Working with generators or lazy iterables
620
+ * Use when you need to safely extract the head of a collection, including
621
+ * generators or lazy iterables.
621
622
  *
622
623
  * **Details**
623
624
  *
@@ -653,7 +654,8 @@ export const fromIterable = <A>(collection: Iterable<A>): Option<A> => {
653
654
  *
654
655
  * **When to use**
655
656
  *
656
- * Use when discarding the failure channel when you only care about success
657
+ * Use when you need to discard a `Result` failure and keep only the success
658
+ * value as an `Option`.
657
659
  *
658
660
  * **Details**
659
661
  *
@@ -684,7 +686,8 @@ export const getSuccess: <A, E>(self: Result<A, E>) => Option<A> = result.getSuc
684
686
  *
685
687
  * **When to use**
686
688
  *
687
- * Use to extract the failure when you do not need the success value
689
+ * Use when you need to discard a `Result` success and keep only the failure
690
+ * value as an `Option`.
688
691
  *
689
692
  * **Details**
690
693
  *
@@ -822,8 +825,8 @@ export const getOrElse: {
822
825
  *
823
826
  * **When to use**
824
827
  *
825
- * Use when chaining fallback `Option` computations
826
- * - Building priority chains of optional values
828
+ * Use when you need a lazy fallback `Option`, such as when building priority
829
+ * chains of optional values.
827
830
  *
828
831
  * **Details**
829
832
  *
@@ -855,8 +858,8 @@ export const orElse: {
855
858
  *
856
859
  * **When to use**
857
860
  *
858
- * Use when chaining fallback `Option` computations
859
- * - Building priority chains of optional values
861
+ * Use when you need a lazy fallback `Option`, such as when building priority
862
+ * chains of optional values.
860
863
  *
861
864
  * **Details**
862
865
  *
@@ -888,8 +891,8 @@ export const orElse: {
888
891
  *
889
892
  * **When to use**
890
893
  *
891
- * Use when chaining fallback `Option` computations
892
- * - Building priority chains of optional values
894
+ * Use when you need a lazy fallback `Option`, such as when building priority
895
+ * chains of optional values.
893
896
  *
894
897
  * **Details**
895
898
  *
@@ -1024,8 +1027,8 @@ export const orElseSome: {
1024
1027
  *
1025
1028
  * **When to use**
1026
1029
  *
1027
- * Use when distinguishing whether a value came from the primary or fallback
1028
- * `Option`.
1030
+ * Use when you need to know whether a present value came from the primary or
1031
+ * fallback `Option`.
1029
1032
  *
1030
1033
  * **Details**
1031
1034
  *
@@ -1056,8 +1059,8 @@ export const orElseResult: {
1056
1059
  *
1057
1060
  * **When to use**
1058
1061
  *
1059
- * Use when distinguishing whether a value came from the primary or fallback
1060
- * `Option`.
1062
+ * Use when you need to know whether a present value came from the primary or
1063
+ * fallback `Option`.
1061
1064
  *
1062
1065
  * **Details**
1063
1066
  *
@@ -1088,8 +1091,8 @@ export const orElseResult: {
1088
1091
  *
1089
1092
  * **When to use**
1090
1093
  *
1091
- * Use when distinguishing whether a value came from the primary or fallback
1092
- * `Option`.
1094
+ * Use when you need to know whether a present value came from the primary or
1095
+ * fallback `Option`.
1093
1096
  *
1094
1097
  * **Details**
1095
1098
  *
@@ -1127,7 +1130,7 @@ export const orElseResult: {
1127
1130
  *
1128
1131
  * **When to use**
1129
1132
  *
1130
- * Use when searching for the first available value in a priority list
1133
+ * Use when you need the first available `Some` value from a priority list.
1131
1134
  *
1132
1135
  * **Details**
1133
1136
  *
@@ -1169,8 +1172,8 @@ export const firstSomeOf = <T, C extends Iterable<Option<T>> = Iterable<Option<T
1169
1172
  *
1170
1173
  * **When to use**
1171
1174
  *
1172
- * Use when bridging from nullable APIs to `Option`
1173
- * - Wrapping values that may be `null` or `undefined`
1175
+ * Use when you need JavaScript nullish values to become absence at an API
1176
+ * boundary while all other values, including falsy ones, remain present.
1174
1177
  *
1175
1178
  * **Details**
1176
1179
  *
@@ -1209,7 +1212,8 @@ export const fromNullishOr = <A>(
1209
1212
  *
1210
1213
  * **When to use**
1211
1214
  *
1212
- * Use when when `null` is a meaningful value but `undefined` means absent
1215
+ * Use when you want to treat only `undefined` as absent while preserving `null`
1216
+ * as a meaningful value.
1213
1217
  *
1214
1218
  * **Details**
1215
1219
  *
@@ -1247,7 +1251,8 @@ export const fromUndefinedOr = <A>(
1247
1251
  *
1248
1252
  * **When to use**
1249
1253
  *
1250
- * Use when when `undefined` is a meaningful value but `null` means absent
1254
+ * Use when you want to treat only `null` as absent while preserving
1255
+ * `undefined` as a meaningful value.
1251
1256
  *
1252
1257
  * **Details**
1253
1258
  *
@@ -1327,7 +1332,7 @@ export const liftNullishOr = <A extends ReadonlyArray<unknown>, B>(
1327
1332
  *
1328
1333
  * **When to use**
1329
1334
  *
1330
- * Use when interoping with APIs that use `null` for missing values
1335
+ * Use when you need to pass absent `Option` values to APIs that expect `null`.
1331
1336
  *
1332
1337
  * **Details**
1333
1338
  *
@@ -1359,7 +1364,8 @@ export const getOrNull: <A>(self: Option<A>) => A | null = getOrElse(constNull)
1359
1364
  *
1360
1365
  * **When to use**
1361
1366
  *
1362
- * Use when interoping with APIs that use `undefined` for missing values
1367
+ * Use when you need to pass absent `Option` values to APIs that expect
1368
+ * `undefined`.
1363
1369
  *
1364
1370
  * **Details**
1365
1371
  *
@@ -1433,8 +1439,8 @@ export const liftThrowable = <A extends ReadonlyArray<unknown>, B>(
1433
1439
  *
1434
1440
  * **When to use**
1435
1441
  *
1436
- * Use when fail-fast unwrapping when absence is unexpected
1437
- * - Providing a descriptive error for debugging
1442
+ * Use when you need fail-fast unwrapping of an `Option` for unexpected absence
1443
+ * and want to provide a descriptive debugging error.
1438
1444
  *
1439
1445
  * **Details**
1440
1446
  *
@@ -1465,8 +1471,8 @@ export const getOrThrowWith: {
1465
1471
  *
1466
1472
  * **When to use**
1467
1473
  *
1468
- * Use when fail-fast unwrapping when absence is unexpected
1469
- * - Providing a descriptive error for debugging
1474
+ * Use when you need fail-fast unwrapping of an `Option` for unexpected absence
1475
+ * and want to provide a descriptive debugging error.
1470
1476
  *
1471
1477
  * **Details**
1472
1478
  *
@@ -1497,8 +1503,8 @@ export const getOrThrowWith: {
1497
1503
  *
1498
1504
  * **When to use**
1499
1505
  *
1500
- * Use when fail-fast unwrapping when absence is unexpected
1501
- * - Providing a descriptive error for debugging
1506
+ * Use when you need fail-fast unwrapping of an `Option` for unexpected absence
1507
+ * and want to provide a descriptive debugging error.
1502
1508
  *
1503
1509
  * **Details**
1504
1510
  *
@@ -1536,7 +1542,8 @@ export const getOrThrowWith: {
1536
1542
  *
1537
1543
  * **When to use**
1538
1544
  *
1539
- * Use when quick fail-fast unwrapping when a generic error is acceptable
1545
+ * Use when you need quick fail-fast unwrapping of an `Option` and a generic
1546
+ * error is acceptable.
1540
1547
  *
1541
1548
  * **Details**
1542
1549
  *
@@ -1569,8 +1576,8 @@ export const getOrThrow: <A>(self: Option<A>) => A = getOrThrowWith(() => new Er
1569
1576
  *
1570
1577
  * **When to use**
1571
1578
  *
1572
- * Use to apply a pure transformation to an optional value, especially when
1573
- * chaining transformations in a pipeline.
1579
+ * Use to apply a pure transformation to an `Option`'s present value, especially
1580
+ * when chaining transformations in a pipeline.
1574
1581
  *
1575
1582
  * **Details**
1576
1583
  *
@@ -1602,8 +1609,8 @@ export const map: {
1602
1609
  *
1603
1610
  * **When to use**
1604
1611
  *
1605
- * Use to apply a pure transformation to an optional value, especially when
1606
- * chaining transformations in a pipeline.
1612
+ * Use to apply a pure transformation to an `Option`'s present value, especially
1613
+ * when chaining transformations in a pipeline.
1607
1614
  *
1608
1615
  * **Details**
1609
1616
  *
@@ -1635,8 +1642,8 @@ export const map: {
1635
1642
  *
1636
1643
  * **When to use**
1637
1644
  *
1638
- * Use to apply a pure transformation to an optional value, especially when
1639
- * chaining transformations in a pipeline.
1645
+ * Use to apply a pure transformation to an `Option`'s present value, especially
1646
+ * when chaining transformations in a pipeline.
1640
1647
  *
1641
1648
  * **Details**
1642
1649
  *
@@ -1672,12 +1679,8 @@ export const map: {
1672
1679
  *
1673
1680
  * **When to use**
1674
1681
  *
1675
- * Use when preserving presence/absence while discarding the original value
1676
- *
1677
- * **Details**
1678
- *
1679
- * - `Some` → `Some(b)`
1680
- * - `None` → `None`
1682
+ * Use when you need to replace a present `Option` value while preserving
1683
+ * whether it was `Some` or `None`.
1681
1684
  *
1682
1685
  * **Example** (Replacing a value)
1683
1686
  *
@@ -1703,12 +1706,8 @@ export const as: {
1703
1706
  *
1704
1707
  * **When to use**
1705
1708
  *
1706
- * Use when preserving presence/absence while discarding the original value
1707
- *
1708
- * **Details**
1709
- *
1710
- * - `Some` → `Some(b)`
1711
- * - `None` → `None`
1709
+ * Use when you need to replace a present `Option` value while preserving
1710
+ * whether it was `Some` or `None`.
1712
1711
  *
1713
1712
  * **Example** (Replacing a value)
1714
1713
  *
@@ -1734,12 +1733,8 @@ export const as: {
1734
1733
  *
1735
1734
  * **When to use**
1736
1735
  *
1737
- * Use when preserving presence/absence while discarding the original value
1738
- *
1739
- * **Details**
1740
- *
1741
- * - `Some` → `Some(b)`
1742
- * - `None` → `None`
1736
+ * Use when you need to replace a present `Option` value while preserving
1737
+ * whether it was `Some` or `None`.
1743
1738
  *
1744
1739
  * **Example** (Replacing a value)
1745
1740
  *
@@ -1768,12 +1763,8 @@ export const as: {
1768
1763
  *
1769
1764
  * **When to use**
1770
1765
  *
1771
- * Use when discarding the value while preserving presence/absence
1772
- *
1773
- * **Details**
1774
- *
1775
- * - `Some` → `Some(undefined)`
1776
- * - `None` → `None`
1766
+ * Use when you need to discard a present `Option` value while preserving
1767
+ * whether it was `Some` or `None`.
1777
1768
  *
1778
1769
  * **Example** (Voiding the value)
1779
1770
  *
@@ -1826,8 +1817,8 @@ export {
1826
1817
  *
1827
1818
  * **When to use**
1828
1819
  *
1829
- * Use when chaining dependent optional computations where each step may return
1830
- * `None`.
1820
+ * Use when you need to chain dependent `Option` computations where each step
1821
+ * may return `None`.
1831
1822
  *
1832
1823
  * **Details**
1833
1824
  *
@@ -1872,8 +1863,8 @@ export const flatMap: {
1872
1863
  *
1873
1864
  * **When to use**
1874
1865
  *
1875
- * Use when chaining dependent optional computations where each step may return
1876
- * `None`.
1866
+ * Use when you need to chain dependent `Option` computations where each step
1867
+ * may return `None`.
1877
1868
  *
1878
1869
  * **Details**
1879
1870
  *
@@ -1918,8 +1909,8 @@ export const flatMap: {
1918
1909
  *
1919
1910
  * **When to use**
1920
1911
  *
1921
- * Use when chaining dependent optional computations where each step may return
1922
- * `None`.
1912
+ * Use when you need to chain dependent `Option` computations where each step
1913
+ * may return `None`.
1923
1914
  *
1924
1915
  * **Details**
1925
1916
  *
@@ -1969,8 +1960,8 @@ export const flatMap: {
1969
1960
  *
1970
1961
  * **When to use**
1971
1962
  *
1972
- * Use when flexible chaining where the next step may return `Option`, a plain value,
1973
- * or a function
1963
+ * Use when you need to chain an `Option` with a next step that may be another
1964
+ * `Option`, a plain value, or a function.
1974
1965
  *
1975
1966
  * **Details**
1976
1967
  *
@@ -2010,8 +2001,8 @@ export const andThen: {
2010
2001
  *
2011
2002
  * **When to use**
2012
2003
  *
2013
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2014
- * or a function
2004
+ * Use when you need to chain an `Option` with a next step that may be another
2005
+ * `Option`, a plain value, or a function.
2015
2006
  *
2016
2007
  * **Details**
2017
2008
  *
@@ -2051,8 +2042,8 @@ export const andThen: {
2051
2042
  *
2052
2043
  * **When to use**
2053
2044
  *
2054
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2055
- * or a function
2045
+ * Use when you need to chain an `Option` with a next step that may be another
2046
+ * `Option`, a plain value, or a function.
2056
2047
  *
2057
2048
  * **Details**
2058
2049
  *
@@ -2092,8 +2083,8 @@ export const andThen: {
2092
2083
  *
2093
2084
  * **When to use**
2094
2085
  *
2095
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2096
- * or a function
2086
+ * Use when you need to chain an `Option` with a next step that may be another
2087
+ * `Option`, a plain value, or a function.
2097
2088
  *
2098
2089
  * **Details**
2099
2090
  *
@@ -2133,8 +2124,8 @@ export const andThen: {
2133
2124
  *
2134
2125
  * **When to use**
2135
2126
  *
2136
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2137
- * or a function
2127
+ * Use when you need to chain an `Option` with a next step that may be another
2128
+ * `Option`, a plain value, or a function.
2138
2129
  *
2139
2130
  * **Details**
2140
2131
  *
@@ -2174,8 +2165,8 @@ export const andThen: {
2174
2165
  *
2175
2166
  * **When to use**
2176
2167
  *
2177
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2178
- * or a function
2168
+ * Use when you need to chain an `Option` with a next step that may be another
2169
+ * `Option`, a plain value, or a function.
2179
2170
  *
2180
2171
  * **Details**
2181
2172
  *
@@ -2215,8 +2206,8 @@ export const andThen: {
2215
2206
  *
2216
2207
  * **When to use**
2217
2208
  *
2218
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2219
- * or a function
2209
+ * Use when you need to chain an `Option` with a next step that may be another
2210
+ * `Option`, a plain value, or a function.
2220
2211
  *
2221
2212
  * **Details**
2222
2213
  *
@@ -2256,8 +2247,8 @@ export const andThen: {
2256
2247
  *
2257
2248
  * **When to use**
2258
2249
  *
2259
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2260
- * or a function
2250
+ * Use when you need to chain an `Option` with a next step that may be another
2251
+ * `Option`, a plain value, or a function.
2261
2252
  *
2262
2253
  * **Details**
2263
2254
  *
@@ -2297,8 +2288,8 @@ export const andThen: {
2297
2288
  *
2298
2289
  * **When to use**
2299
2290
  *
2300
- * Use when flexible chaining where the next step may return `Option`, a plain value,
2301
- * or a function
2291
+ * Use when you need to chain an `Option` with a next step that may be another
2292
+ * `Option`, a plain value, or a function.
2302
2293
  *
2303
2294
  * **Details**
2304
2295
  *
@@ -2347,8 +2338,8 @@ export const andThen: {
2347
2338
  *
2348
2339
  * **When to use**
2349
2340
  *
2350
- * Use when chaining with functions that use `null`/`undefined` instead of `Option`
2351
- * - Navigating deeply nested optional properties
2341
+ * Use when you need to chain optional computations that use `null` or
2342
+ * `undefined` instead of `Option`, such as nested property access.
2352
2343
  *
2353
2344
  * **Details**
2354
2345
  *
@@ -2389,8 +2380,8 @@ export const flatMapNullishOr: {
2389
2380
  *
2390
2381
  * **When to use**
2391
2382
  *
2392
- * Use when chaining with functions that use `null`/`undefined` instead of `Option`
2393
- * - Navigating deeply nested optional properties
2383
+ * Use when you need to chain optional computations that use `null` or
2384
+ * `undefined` instead of `Option`, such as nested property access.
2394
2385
  *
2395
2386
  * **Details**
2396
2387
  *
@@ -2431,8 +2422,8 @@ export const flatMapNullishOr: {
2431
2422
  *
2432
2423
  * **When to use**
2433
2424
  *
2434
- * Use when chaining with functions that use `null`/`undefined` instead of `Option`
2435
- * - Navigating deeply nested optional properties
2425
+ * Use when you need to chain optional computations that use `null` or
2426
+ * `undefined` instead of `Option`, such as nested property access.
2436
2427
  *
2437
2428
  * **Details**
2438
2429
  *
@@ -2478,7 +2469,7 @@ export const flatMapNullishOr: {
2478
2469
  *
2479
2470
  * **When to use**
2480
2471
  *
2481
- * Use when removing one layer of `Option` nesting
2472
+ * Use when you need to remove one layer of nested `Option`.
2482
2473
  *
2483
2474
  * **Details**
2484
2475
  *
@@ -2510,7 +2501,8 @@ export const flatten: <A>(self: Option<Option<A>>) => Option<A> = flatMap(identi
2510
2501
  *
2511
2502
  * **When to use**
2512
2503
  *
2513
- * Use to run a side-condition that must succeed, then using the second value
2504
+ * Use when you need two `Option` values to both be `Some`, then keep only the
2505
+ * second value.
2514
2506
  *
2515
2507
  * **Details**
2516
2508
  *
@@ -2541,7 +2533,8 @@ export const zipRight: {
2541
2533
  *
2542
2534
  * **When to use**
2543
2535
  *
2544
- * Use to run a side-condition that must succeed, then using the second value
2536
+ * Use when you need two `Option` values to both be `Some`, then keep only the
2537
+ * second value.
2545
2538
  *
2546
2539
  * **Details**
2547
2540
  *
@@ -2572,7 +2565,8 @@ export const zipRight: {
2572
2565
  *
2573
2566
  * **When to use**
2574
2567
  *
2575
- * Use to run a side-condition that must succeed, then using the second value
2568
+ * Use when you need two `Option` values to both be `Some`, then keep only the
2569
+ * second value.
2576
2570
  *
2577
2571
  * **Details**
2578
2572
  *
@@ -2605,7 +2599,8 @@ export const zipRight: {
2605
2599
  *
2606
2600
  * **When to use**
2607
2601
  *
2608
- * Use to run a validation that must succeed, but keeping the original value
2602
+ * Use when you need two `Option` values to both be `Some`, then keep only the
2603
+ * first value.
2609
2604
  *
2610
2605
  * **Details**
2611
2606
  *
@@ -2636,7 +2631,8 @@ export const zipLeft: {
2636
2631
  *
2637
2632
  * **When to use**
2638
2633
  *
2639
- * Use to run a validation that must succeed, but keeping the original value
2634
+ * Use when you need two `Option` values to both be `Some`, then keep only the
2635
+ * first value.
2640
2636
  *
2641
2637
  * **Details**
2642
2638
  *
@@ -2667,7 +2663,8 @@ export const zipLeft: {
2667
2663
  *
2668
2664
  * **When to use**
2669
2665
  *
2670
- * Use to run a validation that must succeed, but keeping the original value
2666
+ * Use when you need two `Option` values to both be `Some`, then keep only the
2667
+ * first value.
2671
2668
  *
2672
2669
  * **Details**
2673
2670
  *
@@ -2701,7 +2698,8 @@ export const zipLeft: {
2701
2698
  *
2702
2699
  * **When to use**
2703
2700
  *
2704
- * Use to build pipelines of partial functions (Kleisli composition)
2701
+ * Use when you need to compose two functions that each return an `Option`, so
2702
+ * `None` short-circuits without calling the next function.
2705
2703
  *
2706
2704
  * **Details**
2707
2705
  *
@@ -2740,7 +2738,8 @@ export const composeK: {
2740
2738
  *
2741
2739
  * **When to use**
2742
2740
  *
2743
- * Use to build pipelines of partial functions (Kleisli composition)
2741
+ * Use when you need to compose two functions that each return an `Option`, so
2742
+ * `None` short-circuits without calling the next function.
2744
2743
  *
2745
2744
  * **Details**
2746
2745
  *
@@ -2779,7 +2778,8 @@ export const composeK: {
2779
2778
  *
2780
2779
  * **When to use**
2781
2780
  *
2782
- * Use to build pipelines of partial functions (Kleisli composition)
2781
+ * Use when you need to compose two functions that each return an `Option`, so
2782
+ * `None` short-circuits without calling the next function.
2783
2783
  *
2784
2784
  * **Details**
2785
2785
  *
@@ -2821,8 +2821,8 @@ export const composeK: {
2821
2821
  *
2822
2822
  * **When to use**
2823
2823
  *
2824
- * Use to validate a value without transforming it
2825
- * - Adding a side-condition check in a pipeline
2824
+ * Use to validate an `Option`'s present value without transforming it, such as
2825
+ * adding a side-condition check in a pipeline.
2826
2826
  *
2827
2827
  * **Details**
2828
2828
  *
@@ -2858,8 +2858,8 @@ export const tap: {
2858
2858
  *
2859
2859
  * **When to use**
2860
2860
  *
2861
- * Use to validate a value without transforming it
2862
- * - Adding a side-condition check in a pipeline
2861
+ * Use to validate an `Option`'s present value without transforming it, such as
2862
+ * adding a side-condition check in a pipeline.
2863
2863
  *
2864
2864
  * **Details**
2865
2865
  *
@@ -2895,8 +2895,8 @@ export const tap: {
2895
2895
  *
2896
2896
  * **When to use**
2897
2897
  *
2898
- * Use to validate a value without transforming it
2899
- * - Adding a side-condition check in a pipeline
2898
+ * Use to validate an `Option`'s present value without transforming it, such as
2899
+ * adding a side-condition check in a pipeline.
2900
2900
  *
2901
2901
  * **Details**
2902
2902
  *
@@ -2933,7 +2933,8 @@ export const tap: {
2933
2933
  *
2934
2934
  * **When to use**
2935
2935
  *
2936
- * Use when pairing two optional values together
2936
+ * Use when you need to require two `Option` values to both be `Some` and keep
2937
+ * both values as a tuple.
2937
2938
  *
2938
2939
  * **Details**
2939
2940
  *
@@ -2955,7 +2956,7 @@ export const tap: {
2955
2956
  * @see {@link zipWith} to combine with a function instead of a tuple
2956
2957
  * @see {@link all} to combine many `Option`s
2957
2958
  *
2958
- * @category Combining
2959
+ * @category combining
2959
2960
  * @since 2.0.0
2960
2961
  */
2961
2962
  export const product = <A, B>(self: Option<A>, that: Option<B>): Option<[A, B]> =>
@@ -2967,7 +2968,8 @@ export const product = <A, B>(self: Option<A>, that: Option<B>): Option<[A, B]>
2967
2968
  *
2968
2969
  * **When to use**
2969
2970
  *
2970
- * Use when collecting several `Option`s of the same type into a non-empty tuple
2971
+ * Use when you need several `Option` values of the same type to all be `Some`
2972
+ * and return them as a non-empty tuple.
2971
2973
  *
2972
2974
  * **Details**
2973
2975
  *
@@ -2992,7 +2994,7 @@ export const product = <A, B>(self: Option<A>, that: Option<B>): Option<[A, B]>
2992
2994
  * @see {@link product} for combining exactly two
2993
2995
  * @see {@link all} for tuples, structs, and iterables
2994
2996
  *
2995
- * @category Combining
2997
+ * @category combining
2996
2998
  * @since 2.0.0
2997
2999
  */
2998
3000
  export const productMany = <A>(
@@ -3018,8 +3020,8 @@ export const productMany = <A>(
3018
3020
  *
3019
3021
  * **When to use**
3020
3022
  *
3021
- * Use when collecting multiple `Option`s into one, preserving the input shape
3022
- * - "All or nothing" combination any `None` makes the result `None`
3023
+ * Use when you need to combine multiple `Option` values into one while
3024
+ * preserving the input shape, with any `None` making the result `None`.
3023
3025
  *
3024
3026
  * **Details**
3025
3027
  *
@@ -3054,7 +3056,7 @@ export const productMany = <A>(
3054
3056
  * @see {@link product} for combining exactly two
3055
3057
  * @see {@link productMany} for a homogeneous collection
3056
3058
  *
3057
- * @category Combining
3059
+ * @category combining
3058
3060
  * @since 2.0.0
3059
3061
  */
3060
3062
  // @ts-expect-error
@@ -3094,7 +3096,8 @@ export const all: <const I extends Iterable<Option<any>> | Record<string, Option
3094
3096
  *
3095
3097
  * **When to use**
3096
3098
  *
3097
- * Use when merging two optional values into a computed result
3099
+ * Use when you need to combine two present `Option` values into a computed
3100
+ * result.
3098
3101
  *
3099
3102
  * **Details**
3100
3103
  *
@@ -3129,7 +3132,8 @@ export const zipWith: {
3129
3132
  *
3130
3133
  * **When to use**
3131
3134
  *
3132
- * Use when merging two optional values into a computed result
3135
+ * Use when you need to combine two present `Option` values into a computed
3136
+ * result.
3133
3137
  *
3134
3138
  * **Details**
3135
3139
  *
@@ -3164,7 +3168,8 @@ export const zipWith: {
3164
3168
  *
3165
3169
  * **When to use**
3166
3170
  *
3167
- * Use when merging two optional values into a computed result
3171
+ * Use when you need to combine two present `Option` values into a computed
3172
+ * result.
3168
3173
  *
3169
3174
  * **Details**
3170
3175
  *
@@ -3205,7 +3210,8 @@ export const zipWith: {
3205
3210
  *
3206
3211
  * **When to use**
3207
3212
  *
3208
- * Use when aggregating values from a collection where some may be absent
3213
+ * Use when you need to aggregate values from a collection where some may be
3214
+ * absent.
3209
3215
  *
3210
3216
  * **Details**
3211
3217
  *
@@ -3224,7 +3230,7 @@ export const zipWith: {
3224
3230
  * // Output: 3
3225
3231
  * ```
3226
3232
  *
3227
- * @category Reducing
3233
+ * @category reducing
3228
3234
  * @since 2.0.0
3229
3235
  */
3230
3236
  export const reduceCompact: {
@@ -3233,7 +3239,8 @@ export const reduceCompact: {
3233
3239
  *
3234
3240
  * **When to use**
3235
3241
  *
3236
- * Use when aggregating values from a collection where some may be absent
3242
+ * Use when you need to aggregate values from a collection where some may be
3243
+ * absent.
3237
3244
  *
3238
3245
  * **Details**
3239
3246
  *
@@ -3252,7 +3259,7 @@ export const reduceCompact: {
3252
3259
  * // Output: 3
3253
3260
  * ```
3254
3261
  *
3255
- * @category Reducing
3262
+ * @category reducing
3256
3263
  * @since 2.0.0
3257
3264
  */
3258
3265
  <B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<Option<A>>) => B
@@ -3261,7 +3268,8 @@ export const reduceCompact: {
3261
3268
  *
3262
3269
  * **When to use**
3263
3270
  *
3264
- * Use when aggregating values from a collection where some may be absent
3271
+ * Use when you need to aggregate values from a collection where some may be
3272
+ * absent.
3265
3273
  *
3266
3274
  * **Details**
3267
3275
  *
@@ -3280,7 +3288,7 @@ export const reduceCompact: {
3280
3288
  * // Output: 3
3281
3289
  * ```
3282
3290
  *
3283
- * @category Reducing
3291
+ * @category reducing
3284
3292
  * @since 2.0.0
3285
3293
  */
3286
3294
  <A, B>(self: Iterable<Option<A>>, b: B, f: (b: B, a: A) => B): B
@@ -3302,8 +3310,8 @@ export const reduceCompact: {
3302
3310
  *
3303
3311
  * **When to use**
3304
3312
  *
3305
- * Use when interfacing with array-based APIs
3306
- * - Spreading optional values into collections
3313
+ * Use when you need to pass an `Option` to array-based APIs or spread optional
3314
+ * values into collections.
3307
3315
  *
3308
3316
  * **Details**
3309
3317
  *
@@ -3334,7 +3342,8 @@ export const toArray = <A>(self: Option<A>): Array<A> => isNone(self) ? [] : [se
3334
3342
  *
3335
3343
  * **When to use**
3336
3344
  *
3337
- * Use when categorizing an optional value into "left" (failure) and "right" (success) channels
3345
+ * Use when you need to split an optional value into "left" and "right"
3346
+ * channels using a `Result`-returning function.
3338
3347
  *
3339
3348
  * **Details**
3340
3349
  *
@@ -3373,7 +3382,8 @@ export const partitionMap: {
3373
3382
  *
3374
3383
  * **When to use**
3375
3384
  *
3376
- * Use when categorizing an optional value into "left" (failure) and "right" (success) channels
3385
+ * Use when you need to split an optional value into "left" and "right"
3386
+ * channels using a `Result`-returning function.
3377
3387
  *
3378
3388
  * **Details**
3379
3389
  *
@@ -3412,7 +3422,8 @@ export const partitionMap: {
3412
3422
  *
3413
3423
  * **When to use**
3414
3424
  *
3415
- * Use when categorizing an optional value into "left" (failure) and "right" (success) channels
3425
+ * Use when you need to split an optional value into "left" and "right"
3426
+ * channels using a `Result`-returning function.
3416
3427
  *
3417
3428
  * **Details**
3418
3429
  *
@@ -3462,7 +3473,8 @@ export const partitionMap: {
3462
3473
  *
3463
3474
  * **When to use**
3464
3475
  *
3465
- * Use to transform a present value and discard it when the `Filter` fails.
3476
+ * Use to transform an `Option`'s present value and discard it when the `Filter`
3477
+ * fails.
3466
3478
  *
3467
3479
  * **Details**
3468
3480
  *
@@ -3492,7 +3504,8 @@ export const filterMap: {
3492
3504
  *
3493
3505
  * **When to use**
3494
3506
  *
3495
- * Use to transform a present value and discard it when the `Filter` fails.
3507
+ * Use to transform an `Option`'s present value and discard it when the `Filter`
3508
+ * fails.
3496
3509
  *
3497
3510
  * **Details**
3498
3511
  *
@@ -3522,7 +3535,8 @@ export const filterMap: {
3522
3535
  *
3523
3536
  * **When to use**
3524
3537
  *
3525
- * Use to transform a present value and discard it when the `Filter` fails.
3538
+ * Use to transform an `Option`'s present value and discard it when the `Filter`
3539
+ * fails.
3526
3540
  *
3527
3541
  * **Details**
3528
3542
  *
@@ -3561,8 +3575,8 @@ export const filterMap: {
3561
3575
  *
3562
3576
  * **When to use**
3563
3577
  *
3564
- * Use when discarding values that don't meet a condition
3565
- * - Narrowing the type via a refinement predicate
3578
+ * Use when you need to discard an `Option`'s present value when it does not
3579
+ * meet a condition, while narrowing the type via a refinement predicate.
3566
3580
  *
3567
3581
  * **Details**
3568
3582
  *
@@ -3602,8 +3616,8 @@ export const filter: {
3602
3616
  *
3603
3617
  * **When to use**
3604
3618
  *
3605
- * Use when discarding values that don't meet a condition
3606
- * - Narrowing the type via a refinement predicate
3619
+ * Use when you need to discard an `Option`'s present value when it does not
3620
+ * meet a condition, while narrowing the type via a refinement predicate.
3607
3621
  *
3608
3622
  * **Details**
3609
3623
  *
@@ -3643,8 +3657,8 @@ export const filter: {
3643
3657
  *
3644
3658
  * **When to use**
3645
3659
  *
3646
- * Use when discarding values that don't meet a condition
3647
- * - Narrowing the type via a refinement predicate
3660
+ * Use when you need to discard an `Option`'s present value when it does not
3661
+ * meet a condition, while narrowing the type via a refinement predicate.
3648
3662
  *
3649
3663
  * **Details**
3650
3664
  *
@@ -3684,8 +3698,8 @@ export const filter: {
3684
3698
  *
3685
3699
  * **When to use**
3686
3700
  *
3687
- * Use when discarding values that don't meet a condition
3688
- * - Narrowing the type via a refinement predicate
3701
+ * Use when you need to discard an `Option`'s present value when it does not
3702
+ * meet a condition, while narrowing the type via a refinement predicate.
3689
3703
  *
3690
3704
  * **Details**
3691
3705
  *
@@ -3725,8 +3739,8 @@ export const filter: {
3725
3739
  *
3726
3740
  * **When to use**
3727
3741
  *
3728
- * Use when discarding values that don't meet a condition
3729
- * - Narrowing the type via a refinement predicate
3742
+ * Use when you need to discard an `Option`'s present value when it does not
3743
+ * meet a condition, while narrowing the type via a refinement predicate.
3730
3744
  *
3731
3745
  * **Details**
3732
3746
  *
@@ -3771,7 +3785,8 @@ export const filter: {
3771
3785
  *
3772
3786
  * **When to use**
3773
3787
  *
3774
- * Use to compare two `Option` values for structural equality
3788
+ * Use when you need equality to treat two `None` values as equal and compare
3789
+ * two `Some` values with a supplied equality rule.
3775
3790
  *
3776
3791
  * **Details**
3777
3792
  *
@@ -3796,7 +3811,7 @@ export const filter: {
3796
3811
  * // Output: true
3797
3812
  * ```
3798
3813
  *
3799
- * @category Equivalence
3814
+ * @category instances
3800
3815
  * @since 4.0.0
3801
3816
  */
3802
3817
  export const makeEquivalence = <A>(isEquivalent: Equivalence.Equivalence<A>): Equivalence.Equivalence<Option<A>> =>
@@ -3807,7 +3822,9 @@ export const makeEquivalence = <A>(isEquivalent: Equivalence.Equivalence<A>): Eq
3807
3822
  *
3808
3823
  * **When to use**
3809
3824
  *
3810
- * Use to sort collections of `Option` values
3825
+ * Use when you need to sort `Some` and `None` values, with `None` ordered
3826
+ * before present values and present values compared by a supplied ordering
3827
+ * rule.
3811
3828
  *
3812
3829
  * **Details**
3813
3830
  *
@@ -3832,7 +3849,7 @@ export const makeEquivalence = <A>(isEquivalent: Equivalence.Equivalence<A>): Eq
3832
3849
  * // Output: -1
3833
3850
  * ```
3834
3851
  *
3835
- * @category Sorting
3852
+ * @category sorting
3836
3853
  * @since 4.0.0
3837
3854
  */
3838
3855
  export const makeOrder = <A>(O: Order<A>): Order<Option<A>> =>
@@ -3843,7 +3860,8 @@ export const makeOrder = <A>(O: Order<A>): Order<Option<A>> =>
3843
3860
  *
3844
3861
  * **When to use**
3845
3862
  *
3846
- * Use when reusing an existing binary function in an `Option` context
3863
+ * Use when you need to reuse an existing binary function with two `Option`
3864
+ * values.
3847
3865
  *
3848
3866
  * **Details**
3849
3867
  *
@@ -3866,7 +3884,7 @@ export const makeOrder = <A>(O: Order<A>): Order<Option<A>> =>
3866
3884
  *
3867
3885
  * @see {@link zipWith} for a non-lifted variant
3868
3886
  *
3869
- * @category Lifting
3887
+ * @category lifting
3870
3888
  * @since 2.0.0
3871
3889
  */
3872
3890
  export const lift2 = <A, B, C>(f: (a: A, b: B) => C): {
@@ -3906,7 +3924,7 @@ export const lift2 = <A, B, C>(f: (a: A, b: B) => C): {
3906
3924
  * @see {@link filter} to apply a predicate to an existing `Option`
3907
3925
  * @see {@link toRefinement} for the inverse direction
3908
3926
  *
3909
- * @category Lifting
3927
+ * @category lifting
3910
3928
  * @since 2.0.0
3911
3929
  */
3912
3930
  export const liftPredicate: { // Note: I intentionally avoid using the NoInfer pattern here.
@@ -3943,7 +3961,7 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
3943
3961
  * @see {@link filter} to apply a predicate to an existing `Option`
3944
3962
  * @see {@link toRefinement} for the inverse direction
3945
3963
  *
3946
- * @category Lifting
3964
+ * @category lifting
3947
3965
  * @since 2.0.0
3948
3966
  */
3949
3967
  <B extends A, A = B>(predicate: Predicate<A>): (b: B) => Option<B>
@@ -3979,7 +3997,7 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
3979
3997
  * @see {@link filter} to apply a predicate to an existing `Option`
3980
3998
  * @see {@link toRefinement} for the inverse direction
3981
3999
  *
3982
- * @category Lifting
4000
+ * @category lifting
3983
4001
  * @since 2.0.0
3984
4002
  */
3985
4003
  <A, B extends A>(self: A, refinement: Refinement<A, B>): Option<B>
@@ -4015,7 +4033,7 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
4015
4033
  * @see {@link filter} to apply a predicate to an existing `Option`
4016
4034
  * @see {@link toRefinement} for the inverse direction
4017
4035
  *
4018
- * @category Lifting
4036
+ * @category lifting
4019
4037
  * @since 2.0.0
4020
4038
  */
4021
4039
  <B extends A, A = B>(self: B, predicate: Predicate<A>): Option<B>
@@ -4030,7 +4048,8 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
4030
4048
  *
4031
4049
  * **When to use**
4032
4050
  *
4033
- * Use when testing membership with a custom equality check
4051
+ * Use when you need to test whether an `Option` contains a value using a
4052
+ * custom equality check.
4034
4053
  *
4035
4054
  * **Details**
4036
4055
  *
@@ -4056,7 +4075,7 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
4056
4075
  *
4057
4076
  * @see {@link contains} for a version using default equality
4058
4077
  *
4059
- * @category Elements
4078
+ * @category elements
4060
4079
  * @since 2.0.0
4061
4080
  */
4062
4081
  export const containsWith = <A>(isEquivalent: (self: A, that: A) => boolean): {
@@ -4070,7 +4089,8 @@ export const containsWith = <A>(isEquivalent: (self: A, that: A) => boolean): {
4070
4089
  *
4071
4090
  * **When to use**
4072
4091
  *
4073
- * Use when quick membership test with standard equality
4092
+ * Use when you need a quick membership test for an `Option` value using
4093
+ * standard equality.
4074
4094
  *
4075
4095
  * **Details**
4076
4096
  *
@@ -4095,7 +4115,7 @@ export const containsWith = <A>(isEquivalent: (self: A, that: A) => boolean): {
4095
4115
  * @see {@link containsWith} for custom equality
4096
4116
  * @see {@link exists} to test with a predicate
4097
4117
  *
4098
- * @category Elements
4118
+ * @category elements
4099
4119
  * @since 2.0.0
4100
4120
  */
4101
4121
  export const contains: {
@@ -4105,7 +4125,8 @@ export const contains: {
4105
4125
  *
4106
4126
  * **When to use**
4107
4127
  *
4108
- * Use when quick membership test with standard equality
4128
+ * Use when you need a quick membership test for an `Option` value using
4129
+ * standard equality.
4109
4130
  *
4110
4131
  * **Details**
4111
4132
  *
@@ -4130,7 +4151,7 @@ export const contains: {
4130
4151
  * @see {@link containsWith} for custom equality
4131
4152
  * @see {@link exists} to test with a predicate
4132
4153
  *
4133
- * @category Elements
4154
+ * @category elements
4134
4155
  * @since 2.0.0
4135
4156
  */
4136
4157
  <A>(a: A): (self: Option<A>) => boolean
@@ -4140,7 +4161,8 @@ export const contains: {
4140
4161
  *
4141
4162
  * **When to use**
4142
4163
  *
4143
- * Use when quick membership test with standard equality
4164
+ * Use when you need a quick membership test for an `Option` value using
4165
+ * standard equality.
4144
4166
  *
4145
4167
  * **Details**
4146
4168
  *
@@ -4165,7 +4187,7 @@ export const contains: {
4165
4187
  * @see {@link containsWith} for custom equality
4166
4188
  * @see {@link exists} to test with a predicate
4167
4189
  *
4168
- * @category Elements
4190
+ * @category elements
4169
4191
  * @since 2.0.0
4170
4192
  */
4171
4193
  <A>(self: Option<A>, a: A): boolean
@@ -4205,7 +4227,7 @@ export const contains: {
4205
4227
  * @see {@link filter} to keep or discard based on a predicate
4206
4228
  * @see {@link contains} to test for a specific value
4207
4229
  *
4208
- * @category Elements
4230
+ * @category elements
4209
4231
  * @since 2.0.0
4210
4232
  */
4211
4233
  export const exists: {
@@ -4243,7 +4265,7 @@ export const exists: {
4243
4265
  * @see {@link filter} to keep or discard based on a predicate
4244
4266
  * @see {@link contains} to test for a specific value
4245
4267
  *
4246
- * @category Elements
4268
+ * @category elements
4247
4269
  * @since 2.0.0
4248
4270
  */
4249
4271
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Option<A>) => self is Option<B>
@@ -4281,7 +4303,7 @@ export const exists: {
4281
4303
  * @see {@link filter} to keep or discard based on a predicate
4282
4304
  * @see {@link contains} to test for a specific value
4283
4305
  *
4284
- * @category Elements
4306
+ * @category elements
4285
4307
  * @since 2.0.0
4286
4308
  */
4287
4309
  <A>(predicate: Predicate<NoInfer<A>>): (self: Option<A>) => boolean
@@ -4319,7 +4341,7 @@ export const exists: {
4319
4341
  * @see {@link filter} to keep or discard based on a predicate
4320
4342
  * @see {@link contains} to test for a specific value
4321
4343
  *
4322
- * @category Elements
4344
+ * @category elements
4323
4345
  * @since 2.0.0
4324
4346
  */
4325
4347
  <A, B extends A>(self: Option<A>, refinement: Refinement<A, B>): self is Option<B>
@@ -4357,7 +4379,7 @@ export const exists: {
4357
4379
  * @see {@link filter} to keep or discard based on a predicate
4358
4380
  * @see {@link contains} to test for a specific value
4359
4381
  *
4360
- * @category Elements
4382
+ * @category elements
4361
4383
  * @since 2.0.0
4362
4384
  */
4363
4385
  <A>(self: Option<A>, predicate: Predicate<A>): boolean
@@ -4377,7 +4399,8 @@ export const exists: {
4377
4399
  *
4378
4400
  * **When to use**
4379
4401
  *
4380
- * Use when beginning a do notation chain by naming the first value
4402
+ * Use when you need to start an `Option` do notation chain by naming the first
4403
+ * value.
4381
4404
  *
4382
4405
  * **Example** (Starting do notation)
4383
4406
  *
@@ -4398,7 +4421,7 @@ export const exists: {
4398
4421
  * @see {@link bind} to add `Option` values
4399
4422
  * @see {@link let_ let} to add plain values
4400
4423
  *
4401
- * @category Do notation
4424
+ * @category do notation
4402
4425
  * @since 2.0.0
4403
4426
  */
4404
4427
  export const bindTo: {
@@ -4412,7 +4435,8 @@ export const bindTo: {
4412
4435
  *
4413
4436
  * **When to use**
4414
4437
  *
4415
- * Use when beginning a do notation chain by naming the first value
4438
+ * Use when you need to start an `Option` do notation chain by naming the first
4439
+ * value.
4416
4440
  *
4417
4441
  * **Example** (Starting do notation)
4418
4442
  *
@@ -4433,7 +4457,7 @@ export const bindTo: {
4433
4457
  * @see {@link bind} to add `Option` values
4434
4458
  * @see {@link let_ let} to add plain values
4435
4459
  *
4436
- * @category Do notation
4460
+ * @category do notation
4437
4461
  * @since 2.0.0
4438
4462
  */
4439
4463
  <N extends string>(name: N): <A>(self: Option<A>) => Option<{ [K in N]: A }>
@@ -4447,7 +4471,8 @@ export const bindTo: {
4447
4471
  *
4448
4472
  * **When to use**
4449
4473
  *
4450
- * Use when beginning a do notation chain by naming the first value
4474
+ * Use when you need to start an `Option` do notation chain by naming the first
4475
+ * value.
4451
4476
  *
4452
4477
  * **Example** (Starting do notation)
4453
4478
  *
@@ -4468,7 +4493,7 @@ export const bindTo: {
4468
4493
  * @see {@link bind} to add `Option` values
4469
4494
  * @see {@link let_ let} to add plain values
4470
4495
  *
4471
- * @category Do notation
4496
+ * @category do notation
4472
4497
  * @since 2.0.0
4473
4498
  */
4474
4499
  <A, N extends string>(self: Option<A>, name: N): Option<{ [K in N]: A }>
@@ -4492,7 +4517,8 @@ export {
4492
4517
  *
4493
4518
  * **When to use**
4494
4519
  *
4495
- * Use when binding a derived (non-`Option`) value in a do notation pipeline
4520
+ * Use when you need to bind a derived non-`Option` value in an `Option` do
4521
+ * notation pipeline.
4496
4522
  *
4497
4523
  * **Example** (Adding a computed value)
4498
4524
  *
@@ -4513,7 +4539,7 @@ export {
4513
4539
  * @see {@link bind} to add `Option` values
4514
4540
  * @see {@link bindTo} to start by naming an existing `Option`
4515
4541
  *
4516
- * @category Do notation
4542
+ * @category do notation
4517
4543
  * @since 2.0.0
4518
4544
  */
4519
4545
  let_ as let
@@ -4525,7 +4551,7 @@ export {
4525
4551
  *
4526
4552
  * **When to use**
4527
4553
  *
4528
- * Use when sequencing `Option` computations in do notation
4554
+ * Use when you need to sequence `Option` computations in do notation.
4529
4555
  *
4530
4556
  * **Example** (Binding Option values)
4531
4557
  *
@@ -4547,7 +4573,7 @@ export {
4547
4573
  * @see {@link let_ let} to add plain values
4548
4574
  * @see {@link bindTo} to start by naming an existing `Option`
4549
4575
  *
4550
- * @category Do notation
4576
+ * @category do notation
4551
4577
  * @since 2.0.0
4552
4578
  */
4553
4579
  export const bind: {
@@ -4557,7 +4583,7 @@ export const bind: {
4557
4583
  *
4558
4584
  * **When to use**
4559
4585
  *
4560
- * Use when sequencing `Option` computations in do notation
4586
+ * Use when you need to sequence `Option` computations in do notation.
4561
4587
  *
4562
4588
  * **Example** (Binding Option values)
4563
4589
  *
@@ -4579,7 +4605,7 @@ export const bind: {
4579
4605
  * @see {@link let_ let} to add plain values
4580
4606
  * @see {@link bindTo} to start by naming an existing `Option`
4581
4607
  *
4582
- * @category Do notation
4608
+ * @category do notation
4583
4609
  * @since 2.0.0
4584
4610
  */
4585
4611
  <N extends string, A extends object, B>(name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): (self: Option<A>) => Option<{ [K in N | keyof A]: K extends keyof A ? A[K] : B }>
@@ -4589,7 +4615,7 @@ export const bind: {
4589
4615
  *
4590
4616
  * **When to use**
4591
4617
  *
4592
- * Use when sequencing `Option` computations in do notation
4618
+ * Use when you need to sequence `Option` computations in do notation.
4593
4619
  *
4594
4620
  * **Example** (Binding Option values)
4595
4621
  *
@@ -4611,7 +4637,7 @@ export const bind: {
4611
4637
  * @see {@link let_ let} to add plain values
4612
4638
  * @see {@link bindTo} to start by naming an existing `Option`
4613
4639
  *
4614
- * @category Do notation
4640
+ * @category do notation
4615
4641
  * @since 2.0.0
4616
4642
  */
4617
4643
  <A extends object, N extends string, B>(
@@ -4627,7 +4653,8 @@ export const bind: {
4627
4653
  *
4628
4654
  * **When to use**
4629
4655
  *
4630
- * Use when starting a do notation pipeline before adding bindings
4656
+ * Use when you need to start an `Option` do notation pipeline before adding
4657
+ * bindings.
4631
4658
  *
4632
4659
  * **Example** (Do notation pipeline)
4633
4660
  *
@@ -4649,7 +4676,7 @@ export const bind: {
4649
4676
  * @see {@link let_ let} to add plain values
4650
4677
  * @see {@link bindTo} to start by naming an existing `Option`
4651
4678
  *
4652
- * @category Do notation
4679
+ * @category do notation
4653
4680
  * @since 2.0.0
4654
4681
  */
4655
4682
  export const Do: Option<{}> = some({})
@@ -4660,8 +4687,8 @@ export const Do: Option<{}> = some({})
4660
4687
  *
4661
4688
  * **When to use**
4662
4689
  *
4663
- * Use when writing imperative-style code that chains multiple `Option`s
4664
- * - Readability when many sequential optional steps are involved
4690
+ * Use when you need generator syntax for a sequence of `Option` steps that
4691
+ * should short-circuit on `None`.
4665
4692
  *
4666
4693
  * **Details**
4667
4694
  *
@@ -4690,7 +4717,7 @@ export const Do: Option<{}> = some({})
4690
4717
  *
4691
4718
  * @see {@link Do} / {@link bind} for the do notation alternative
4692
4719
  *
4693
- * @category Generators
4720
+ * @category generators
4694
4721
  * @since 2.0.0
4695
4722
  */
4696
4723
  export const gen: Gen.Gen<OptionTypeLambda> = (...args) => {
@@ -4713,8 +4740,8 @@ export const gen: Gen.Gen<OptionTypeLambda> = (...args) => {
4713
4740
  *
4714
4741
  * **When to use**
4715
4742
  *
4716
- * Use to build a reducer that falls back to the first available value
4717
- * - Combining optional values where either side may be absent
4743
+ * Use to build an `Option` reducer that falls back to the first available value
4744
+ * when either side may be absent.
4718
4745
  *
4719
4746
  * **Details**
4720
4747
  *
@@ -4753,7 +4780,8 @@ export function makeReducer<A>(combiner: Combiner.Combiner<A>): Reducer.Reducer<
4753
4780
  *
4754
4781
  * **When to use**
4755
4782
  *
4756
- * Use when operations that require both values to be present
4783
+ * Use when you need an `Option` combiner that returns `None` unless both
4784
+ * operands are `Some`.
4757
4785
  *
4758
4786
  * **Details**
4759
4787
  *
@@ -4792,8 +4820,8 @@ export function makeCombinerFailFast<A>(combiner: Combiner.Combiner<A>): Combine
4792
4820
  *
4793
4821
  * **When to use**
4794
4822
  *
4795
- * Use to wrap an existing `Reducer` to work with `Option` values
4796
- * - Reductions where any `None` should abort the entire result
4823
+ * Use when you need to reduce `Option` values with fail-fast semantics, where
4824
+ * any `None` aborts the entire result instead of being skipped.
4797
4825
  *
4798
4826
  * **Details**
4799
4827
  *