effect 4.0.0-beta.101 → 4.0.0-beta.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1580) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +462 -412
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +541 -449
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +226 -174
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +339 -267
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +122 -87
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +18 -24
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2897 -3342
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1383 -1580
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +109 -75
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +230 -307
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +46 -103
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +300 -239
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +207 -452
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +16 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +10 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +202 -645
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +190 -292
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +213 -393
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  265. package/dist/PartitionedSemaphore.js +1 -4
  266. package/dist/PartitionedSemaphore.js.map +1 -1
  267. package/dist/Path.d.ts +38 -41
  268. package/dist/Path.d.ts.map +1 -1
  269. package/dist/Path.js +3 -4
  270. package/dist/Path.js.map +1 -1
  271. package/dist/Pipeable.d.ts +6 -5
  272. package/dist/Pipeable.d.ts.map +1 -1
  273. package/dist/Pipeable.js +2 -2
  274. package/dist/Pipeable.js.map +1 -1
  275. package/dist/PlatformError.d.ts +4 -4
  276. package/dist/PlatformError.js +3 -3
  277. package/dist/PlatformError.js.map +1 -1
  278. package/dist/Pool.d.ts +4 -2
  279. package/dist/Pool.d.ts.map +1 -1
  280. package/dist/Pool.js +4 -2
  281. package/dist/Pool.js.map +1 -1
  282. package/dist/Predicate.d.ts +200 -181
  283. package/dist/Predicate.d.ts.map +1 -1
  284. package/dist/Predicate.js +100 -108
  285. package/dist/Predicate.js.map +1 -1
  286. package/dist/PrimaryKey.d.ts +7 -7
  287. package/dist/PrimaryKey.js +5 -5
  288. package/dist/PrimaryKey.js.map +1 -1
  289. package/dist/PubSub.d.ts +425 -494
  290. package/dist/PubSub.d.ts.map +1 -1
  291. package/dist/PubSub.js +373 -362
  292. package/dist/PubSub.js.map +1 -1
  293. package/dist/Pull.d.ts +24 -18
  294. package/dist/Pull.d.ts.map +1 -1
  295. package/dist/Pull.js +11 -9
  296. package/dist/Pull.js.map +1 -1
  297. package/dist/Queue.d.ts +200 -159
  298. package/dist/Queue.d.ts.map +1 -1
  299. package/dist/Queue.js +162 -132
  300. package/dist/Queue.js.map +1 -1
  301. package/dist/Random.d.ts +49 -74
  302. package/dist/Random.d.ts.map +1 -1
  303. package/dist/Random.js +35 -54
  304. package/dist/Random.js.map +1 -1
  305. package/dist/RcMap.d.ts +121 -63
  306. package/dist/RcMap.d.ts.map +1 -1
  307. package/dist/RcMap.js +42 -21
  308. package/dist/RcMap.js.map +1 -1
  309. package/dist/RcRef.d.ts +24 -13
  310. package/dist/RcRef.d.ts.map +1 -1
  311. package/dist/RcRef.js +15 -9
  312. package/dist/RcRef.js.map +1 -1
  313. package/dist/Record.d.ts +361 -466
  314. package/dist/Record.d.ts.map +1 -1
  315. package/dist/Record.js +163 -216
  316. package/dist/Record.js.map +1 -1
  317. package/dist/Redactable.d.ts +6 -2
  318. package/dist/Redactable.d.ts.map +1 -1
  319. package/dist/Redactable.js +7 -2
  320. package/dist/Redactable.js.map +1 -1
  321. package/dist/Redacted.d.ts +25 -25
  322. package/dist/Redacted.d.ts.map +1 -1
  323. package/dist/Redacted.js +19 -20
  324. package/dist/Redacted.js.map +1 -1
  325. package/dist/Reducer.d.ts +8 -15
  326. package/dist/Reducer.d.ts.map +1 -1
  327. package/dist/Reducer.js +6 -12
  328. package/dist/Reducer.js.map +1 -1
  329. package/dist/Ref.d.ts +95 -165
  330. package/dist/Ref.d.ts.map +1 -1
  331. package/dist/Ref.js +75 -122
  332. package/dist/Ref.js.map +1 -1
  333. package/dist/References.d.ts +102 -213
  334. package/dist/References.d.ts.map +1 -1
  335. package/dist/References.js +102 -213
  336. package/dist/References.js.map +1 -1
  337. package/dist/RegExp.d.ts +10 -14
  338. package/dist/RegExp.d.ts.map +1 -1
  339. package/dist/RegExp.js +10 -14
  340. package/dist/RegExp.js.map +1 -1
  341. package/dist/Request.d.ts +31 -21
  342. package/dist/Request.d.ts.map +1 -1
  343. package/dist/Request.js +25 -19
  344. package/dist/Request.js.map +1 -1
  345. package/dist/RequestResolver.d.ts +201 -90
  346. package/dist/RequestResolver.d.ts.map +1 -1
  347. package/dist/RequestResolver.js +87 -41
  348. package/dist/RequestResolver.js.map +1 -1
  349. package/dist/Resource.js.map +1 -1
  350. package/dist/Result.d.ts +302 -470
  351. package/dist/Result.d.ts.map +1 -1
  352. package/dist/Result.js +135 -218
  353. package/dist/Result.js.map +1 -1
  354. package/dist/Runtime.d.ts +50 -75
  355. package/dist/Runtime.d.ts.map +1 -1
  356. package/dist/Runtime.js +39 -60
  357. package/dist/Runtime.js.map +1 -1
  358. package/dist/Schedule.d.ts +290 -1636
  359. package/dist/Schedule.d.ts.map +1 -1
  360. package/dist/Schedule.js +162 -803
  361. package/dist/Schedule.js.map +1 -1
  362. package/dist/Scheduler.d.ts +5 -5
  363. package/dist/Scheduler.d.ts.map +1 -1
  364. package/dist/Scheduler.js +18 -6
  365. package/dist/Scheduler.js.map +1 -1
  366. package/dist/Schema.d.ts +1835 -1060
  367. package/dist/Schema.d.ts.map +1 -1
  368. package/dist/Schema.js +2708 -1050
  369. package/dist/Schema.js.map +1 -1
  370. package/dist/SchemaAST.d.ts +29 -52
  371. package/dist/SchemaAST.d.ts.map +1 -1
  372. package/dist/SchemaAST.js +537 -391
  373. package/dist/SchemaAST.js.map +1 -1
  374. package/dist/SchemaError.d.ts +7 -6
  375. package/dist/SchemaError.d.ts.map +1 -1
  376. package/dist/SchemaError.js +8 -7
  377. package/dist/SchemaError.js.map +1 -1
  378. package/dist/SchemaGetter.d.ts +230 -185
  379. package/dist/SchemaGetter.d.ts.map +1 -1
  380. package/dist/SchemaGetter.js +252 -209
  381. package/dist/SchemaGetter.js.map +1 -1
  382. package/dist/SchemaIssue.d.ts +62 -190
  383. package/dist/SchemaIssue.d.ts.map +1 -1
  384. package/dist/SchemaIssue.js +74 -266
  385. package/dist/SchemaIssue.js.map +1 -1
  386. package/dist/SchemaParser.d.ts +2 -2
  387. package/dist/SchemaParser.d.ts.map +1 -1
  388. package/dist/SchemaParser.js +123 -86
  389. package/dist/SchemaParser.js.map +1 -1
  390. package/dist/SchemaRepresentation.d.ts +398 -1513
  391. package/dist/SchemaRepresentation.d.ts.map +1 -1
  392. package/dist/SchemaRepresentation.js +290 -2854
  393. package/dist/SchemaRepresentation.js.map +1 -1
  394. package/dist/SchemaTransformation.d.ts +116 -76
  395. package/dist/SchemaTransformation.d.ts.map +1 -1
  396. package/dist/SchemaTransformation.js +123 -88
  397. package/dist/SchemaTransformation.js.map +1 -1
  398. package/dist/Scope.d.ts +123 -151
  399. package/dist/Scope.d.ts.map +1 -1
  400. package/dist/Scope.js +72 -92
  401. package/dist/Scope.js.map +1 -1
  402. package/dist/ScopedCache.js.map +1 -1
  403. package/dist/ScopedRef.d.ts +3 -3
  404. package/dist/ScopedRef.js +2 -2
  405. package/dist/ScopedRef.js.map +1 -1
  406. package/dist/Semaphore.d.ts +101 -13
  407. package/dist/Semaphore.d.ts.map +1 -1
  408. package/dist/Semaphore.js +78 -39
  409. package/dist/Semaphore.js.map +1 -1
  410. package/dist/Sink.d.ts +117 -107
  411. package/dist/Sink.d.ts.map +1 -1
  412. package/dist/Sink.js +107 -100
  413. package/dist/Sink.js.map +1 -1
  414. package/dist/Stdio.d.ts +1 -1
  415. package/dist/Stdio.js.map +1 -1
  416. package/dist/Stream.d.ts +2430 -2958
  417. package/dist/Stream.d.ts.map +1 -1
  418. package/dist/Stream.js +1124 -1397
  419. package/dist/Stream.js.map +1 -1
  420. package/dist/String.d.ts +262 -308
  421. package/dist/String.d.ts.map +1 -1
  422. package/dist/String.js +184 -215
  423. package/dist/String.js.map +1 -1
  424. package/dist/Struct.d.ts +109 -114
  425. package/dist/Struct.d.ts.map +1 -1
  426. package/dist/Struct.js +46 -54
  427. package/dist/Struct.js.map +1 -1
  428. package/dist/SubscriptionRef.d.ts +282 -250
  429. package/dist/SubscriptionRef.d.ts.map +1 -1
  430. package/dist/SubscriptionRef.js +104 -92
  431. package/dist/SubscriptionRef.js.map +1 -1
  432. package/dist/Symbol.d.ts +3 -3
  433. package/dist/Symbol.js +3 -3
  434. package/dist/Symbol.js.map +1 -1
  435. package/dist/SynchronizedRef.js.map +1 -1
  436. package/dist/Take.js.map +1 -1
  437. package/dist/Terminal.d.ts +2 -2
  438. package/dist/Terminal.js +1 -1
  439. package/dist/Terminal.js.map +1 -1
  440. package/dist/Tracer.d.ts +100 -54
  441. package/dist/Tracer.d.ts.map +1 -1
  442. package/dist/Tracer.js +41 -24
  443. package/dist/Tracer.js.map +1 -1
  444. package/dist/Trie.d.ts +287 -679
  445. package/dist/Trie.d.ts.map +1 -1
  446. package/dist/Trie.js +109 -251
  447. package/dist/Trie.js.map +1 -1
  448. package/dist/Tuple.d.ts +92 -127
  449. package/dist/Tuple.d.ts.map +1 -1
  450. package/dist/Tuple.js +42 -57
  451. package/dist/Tuple.js.map +1 -1
  452. package/dist/TxChunk.d.ts +201 -121
  453. package/dist/TxChunk.d.ts.map +1 -1
  454. package/dist/TxChunk.js +85 -56
  455. package/dist/TxChunk.js.map +1 -1
  456. package/dist/TxDeferred.d.ts +62 -46
  457. package/dist/TxDeferred.d.ts.map +1 -1
  458. package/dist/TxDeferred.js +30 -22
  459. package/dist/TxDeferred.js.map +1 -1
  460. package/dist/TxHashMap.d.ts +631 -779
  461. package/dist/TxHashMap.d.ts.map +1 -1
  462. package/dist/TxHashMap.js +268 -330
  463. package/dist/TxHashMap.js.map +1 -1
  464. package/dist/TxHashSet.d.ts +297 -236
  465. package/dist/TxHashSet.d.ts.map +1 -1
  466. package/dist/TxHashSet.js +130 -100
  467. package/dist/TxHashSet.js.map +1 -1
  468. package/dist/TxPriorityQueue.d.ts +126 -95
  469. package/dist/TxPriorityQueue.d.ts.map +1 -1
  470. package/dist/TxPriorityQueue.js +74 -56
  471. package/dist/TxPriorityQueue.js.map +1 -1
  472. package/dist/TxPubSub.d.ts +101 -88
  473. package/dist/TxPubSub.d.ts.map +1 -1
  474. package/dist/TxPubSub.js +87 -66
  475. package/dist/TxPubSub.js.map +1 -1
  476. package/dist/TxQueue.d.ts +200 -180
  477. package/dist/TxQueue.d.ts.map +1 -1
  478. package/dist/TxQueue.js +160 -136
  479. package/dist/TxQueue.js.map +1 -1
  480. package/dist/TxReentrantLock.d.ts +97 -66
  481. package/dist/TxReentrantLock.d.ts.map +1 -1
  482. package/dist/TxReentrantLock.js +67 -45
  483. package/dist/TxReentrantLock.js.map +1 -1
  484. package/dist/TxRef.d.ts +51 -32
  485. package/dist/TxRef.d.ts.map +1 -1
  486. package/dist/TxRef.js +23 -15
  487. package/dist/TxRef.js.map +1 -1
  488. package/dist/TxSemaphore.d.ts +129 -95
  489. package/dist/TxSemaphore.d.ts.map +1 -1
  490. package/dist/TxSemaphore.js +85 -70
  491. package/dist/TxSemaphore.js.map +1 -1
  492. package/dist/TxSubscriptionRef.d.ts +97 -70
  493. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  494. package/dist/TxSubscriptionRef.js +44 -34
  495. package/dist/TxSubscriptionRef.js.map +1 -1
  496. package/dist/Types.d.ts +127 -70
  497. package/dist/Types.d.ts.map +1 -1
  498. package/dist/UndefinedOr.js.map +1 -1
  499. package/dist/Unify.d.ts +45 -65
  500. package/dist/Unify.d.ts.map +1 -1
  501. package/dist/Unify.js +6 -9
  502. package/dist/Unify.js.map +1 -1
  503. package/dist/Utils.d.ts +23 -16
  504. package/dist/Utils.d.ts.map +1 -1
  505. package/dist/Utils.js +3 -7
  506. package/dist/Utils.js.map +1 -1
  507. package/dist/index.d.ts +0 -4
  508. package/dist/index.d.ts.map +1 -1
  509. package/dist/index.js +0 -4
  510. package/dist/index.js.map +1 -1
  511. package/dist/internal/array.js.map +1 -1
  512. package/dist/internal/core.js +3 -2
  513. package/dist/internal/core.js.map +1 -1
  514. package/dist/internal/dateTime.js +4 -0
  515. package/dist/internal/dateTime.js.map +1 -1
  516. package/dist/internal/doNotation.js.map +1 -1
  517. package/dist/internal/effect.js +141 -61
  518. package/dist/internal/effect.js.map +1 -1
  519. package/dist/internal/equal.js.map +1 -1
  520. package/dist/internal/errors.js.map +1 -1
  521. package/dist/internal/executionPlan.js.map +1 -1
  522. package/dist/internal/hashMap.js.map +1 -1
  523. package/dist/internal/hashSet.js.map +1 -1
  524. package/dist/internal/layer.js.map +1 -1
  525. package/dist/internal/matcher.js +1 -1
  526. package/dist/internal/matcher.js.map +1 -1
  527. package/dist/internal/metric.js.map +1 -1
  528. package/dist/internal/option.js.map +1 -1
  529. package/dist/internal/persistence.d.ts +2 -0
  530. package/dist/internal/persistence.d.ts.map +1 -0
  531. package/dist/internal/persistence.js +3 -0
  532. package/dist/internal/persistence.js.map +1 -0
  533. package/dist/internal/random.js.map +1 -1
  534. package/dist/internal/rcRef.js.map +1 -1
  535. package/dist/internal/record.d.ts +0 -3
  536. package/dist/internal/record.d.ts.map +1 -1
  537. package/dist/internal/record.js +10 -5
  538. package/dist/internal/record.js.map +1 -1
  539. package/dist/internal/redacted.js.map +1 -1
  540. package/dist/internal/references.js +3 -4
  541. package/dist/internal/references.js.map +1 -1
  542. package/dist/internal/request.js.map +1 -1
  543. package/dist/internal/result.js.map +1 -1
  544. package/dist/internal/schedule.js.map +1 -1
  545. package/dist/internal/schema/annotations.js +12 -0
  546. package/dist/internal/schema/annotations.js.map +1 -1
  547. package/dist/internal/schema/cause.js.map +1 -1
  548. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  549. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  550. package/dist/internal/schema/fromJsonSchemaDocument.js +745 -0
  551. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  552. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  553. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  554. package/dist/internal/schema/fromRepresentation.js +245 -0
  555. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  556. package/dist/internal/schema/parser.d.ts +14 -0
  557. package/dist/internal/schema/parser.d.ts.map +1 -0
  558. package/dist/internal/schema/parser.js +13 -0
  559. package/dist/internal/schema/parser.js.map +1 -0
  560. package/dist/internal/schema/schema.js +28 -40
  561. package/dist/internal/schema/schema.js.map +1 -1
  562. package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
  563. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  564. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
  565. package/dist/internal/schema/toArbitrary.js.map +1 -0
  566. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  567. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  568. package/dist/internal/schema/toCodeDocument.js +438 -0
  569. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  570. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  571. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  572. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  573. package/dist/internal/schema/toEquivalence.js.map +1 -0
  574. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  575. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  576. package/dist/internal/schema/toJsonSchemaDocument.js +508 -0
  577. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  578. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  579. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  580. package/dist/internal/schema/toRepresentation.js +349 -0
  581. package/dist/internal/schema/toRepresentation.js.map +1 -0
  582. package/dist/internal/stackTraceLimit.js +3 -6
  583. package/dist/internal/stackTraceLimit.js.map +1 -1
  584. package/dist/internal/stream.js.map +1 -1
  585. package/dist/internal/tracer.js.map +1 -1
  586. package/dist/internal/trie.js +13 -9
  587. package/dist/internal/trie.js.map +1 -1
  588. package/dist/testing/FastCheck.d.ts +8 -7
  589. package/dist/testing/FastCheck.d.ts.map +1 -1
  590. package/dist/testing/FastCheck.js +8 -7
  591. package/dist/testing/FastCheck.js.map +1 -1
  592. package/dist/testing/TestClock.d.ts +57 -28
  593. package/dist/testing/TestClock.d.ts.map +1 -1
  594. package/dist/testing/TestClock.js +54 -19
  595. package/dist/testing/TestClock.js.map +1 -1
  596. package/dist/testing/TestConsole.d.ts +32 -31
  597. package/dist/testing/TestConsole.d.ts.map +1 -1
  598. package/dist/testing/TestConsole.js +24 -22
  599. package/dist/testing/TestConsole.js.map +1 -1
  600. package/dist/testing/TestSchema.d.ts +29 -29
  601. package/dist/testing/TestSchema.js +25 -25
  602. package/dist/testing/TestSchema.js.map +1 -1
  603. package/dist/testing/index.js.map +1 -1
  604. package/dist/unstable/ai/AiError.d.ts +121 -144
  605. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  606. package/dist/unstable/ai/AiError.js +99 -121
  607. package/dist/unstable/ai/AiError.js.map +1 -1
  608. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  609. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  610. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  611. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  612. package/dist/unstable/ai/Chat.d.ts +132 -97
  613. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  614. package/dist/unstable/ai/Chat.js +55 -51
  615. package/dist/unstable/ai/Chat.js.map +1 -1
  616. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  617. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  618. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  619. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  620. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  621. package/dist/unstable/ai/IdGenerator.js +26 -21
  622. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  623. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  624. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  625. package/dist/unstable/ai/LanguageModel.js +123 -81
  626. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  627. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  628. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  629. package/dist/unstable/ai/McpProtocol.js +20 -0
  630. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  631. package/dist/unstable/ai/McpSchema.d.ts +316 -250
  632. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  633. package/dist/unstable/ai/McpSchema.js +71 -63
  634. package/dist/unstable/ai/McpSchema.js.map +1 -1
  635. package/dist/unstable/ai/McpServer.d.ts +71 -62
  636. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  637. package/dist/unstable/ai/McpServer.js +765 -245
  638. package/dist/unstable/ai/McpServer.js.map +1 -1
  639. package/dist/unstable/ai/Model.d.ts +8 -19
  640. package/dist/unstable/ai/Model.d.ts.map +1 -1
  641. package/dist/unstable/ai/Model.js +9 -20
  642. package/dist/unstable/ai/Model.js.map +1 -1
  643. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  644. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  645. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  646. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  647. package/dist/unstable/ai/Prompt.d.ts +112 -38
  648. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  649. package/dist/unstable/ai/Prompt.js +53 -17
  650. package/dist/unstable/ai/Prompt.js.map +1 -1
  651. package/dist/unstable/ai/Response.d.ts +47 -33
  652. package/dist/unstable/ai/Response.d.ts.map +1 -1
  653. package/dist/unstable/ai/Response.js +23 -18
  654. package/dist/unstable/ai/Response.js.map +1 -1
  655. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  656. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  657. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  658. package/dist/unstable/ai/Telemetry.js +18 -7
  659. package/dist/unstable/ai/Telemetry.js.map +1 -1
  660. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  661. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  662. package/dist/unstable/ai/Tokenizer.js +10 -2
  663. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  664. package/dist/unstable/ai/Tool.d.ts +63 -44
  665. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  666. package/dist/unstable/ai/Tool.js +59 -42
  667. package/dist/unstable/ai/Tool.js.map +1 -1
  668. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  669. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  670. package/dist/unstable/ai/Toolkit.js +32 -14
  671. package/dist/unstable/ai/Toolkit.js.map +1 -1
  672. package/dist/unstable/ai/index.d.ts +4 -0
  673. package/dist/unstable/ai/index.d.ts.map +1 -1
  674. package/dist/unstable/ai/index.js +4 -0
  675. package/dist/unstable/ai/index.js.map +1 -1
  676. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  677. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  678. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  679. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  680. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  681. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  682. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  683. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  684. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  685. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  686. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  687. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  688. package/dist/unstable/ai/internal/structured-output.js +315 -0
  689. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  690. package/dist/unstable/cli/Argument.d.ts +273 -69
  691. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  692. package/dist/unstable/cli/Argument.js +111 -33
  693. package/dist/unstable/cli/Argument.js.map +1 -1
  694. package/dist/unstable/cli/CliConfig.js.map +1 -1
  695. package/dist/unstable/cli/CliError.d.ts +105 -74
  696. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  697. package/dist/unstable/cli/CliError.js +98 -63
  698. package/dist/unstable/cli/CliError.js.map +1 -1
  699. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  700. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  701. package/dist/unstable/cli/CliOutput.js +26 -42
  702. package/dist/unstable/cli/CliOutput.js.map +1 -1
  703. package/dist/unstable/cli/Command.d.ts +705 -107
  704. package/dist/unstable/cli/Command.d.ts.map +1 -1
  705. package/dist/unstable/cli/Command.js +252 -47
  706. package/dist/unstable/cli/Command.js.map +1 -1
  707. package/dist/unstable/cli/Completions.js.map +1 -1
  708. package/dist/unstable/cli/Flag.d.ts +418 -138
  709. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  710. package/dist/unstable/cli/Flag.js +197 -71
  711. package/dist/unstable/cli/Flag.js.map +1 -1
  712. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  713. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  714. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  715. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  716. package/dist/unstable/cli/Param.d.ts +292 -78
  717. package/dist/unstable/cli/Param.d.ts.map +1 -1
  718. package/dist/unstable/cli/Param.js +131 -49
  719. package/dist/unstable/cli/Param.js.map +1 -1
  720. package/dist/unstable/cli/Primitive.d.ts +370 -149
  721. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  722. package/dist/unstable/cli/Primitive.js +345 -137
  723. package/dist/unstable/cli/Primitive.js.map +1 -1
  724. package/dist/unstable/cli/Prompt.d.ts +23 -14
  725. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  726. package/dist/unstable/cli/Prompt.js +23 -14
  727. package/dist/unstable/cli/Prompt.js.map +1 -1
  728. package/dist/unstable/cli/index.js.map +1 -1
  729. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  730. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  731. package/dist/unstable/cli/internal/command.d.ts +3 -1
  732. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  733. package/dist/unstable/cli/internal/command.js +11 -4
  734. package/dist/unstable/cli/internal/command.js.map +1 -1
  735. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  736. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  737. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  738. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  739. package/dist/unstable/cli/internal/config.d.ts +0 -48
  740. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  741. package/dist/unstable/cli/internal/config.js +8 -10
  742. package/dist/unstable/cli/internal/config.js.map +1 -1
  743. package/dist/unstable/cli/internal/help.js.map +1 -1
  744. package/dist/unstable/cli/internal/lexer.js +17 -7
  745. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  746. package/dist/unstable/cli/internal/parser.js +2 -2
  747. package/dist/unstable/cli/internal/parser.js.map +1 -1
  748. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  749. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  750. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  751. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  752. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  753. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  754. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  755. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  756. package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
  757. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  758. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  759. package/dist/unstable/cluster/Entity.d.ts +10 -10
  760. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  761. package/dist/unstable/cluster/Entity.js +9 -9
  762. package/dist/unstable/cluster/Entity.js.map +1 -1
  763. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  764. package/dist/unstable/cluster/EntityId.js.map +1 -1
  765. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  766. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  767. package/dist/unstable/cluster/EntityProxy.js +4 -2
  768. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  769. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  770. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  771. package/dist/unstable/cluster/EntityResource.js +2 -2
  772. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  773. package/dist/unstable/cluster/EntityType.js.map +1 -1
  774. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  775. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  776. package/dist/unstable/cluster/Envelope.js +5 -4
  777. package/dist/unstable/cluster/Envelope.js.map +1 -1
  778. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  779. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  780. package/dist/unstable/cluster/HttpRunner.js +6 -4
  781. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  782. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  783. package/dist/unstable/cluster/MachineId.js.map +1 -1
  784. package/dist/unstable/cluster/Message.d.ts +9 -9
  785. package/dist/unstable/cluster/Message.js +6 -6
  786. package/dist/unstable/cluster/Message.js.map +1 -1
  787. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  788. package/dist/unstable/cluster/MessageStorage.js +5 -5
  789. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  790. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  791. package/dist/unstable/cluster/Reply.js +5 -5
  792. package/dist/unstable/cluster/Reply.js.map +1 -1
  793. package/dist/unstable/cluster/Runner.d.ts +1 -1
  794. package/dist/unstable/cluster/Runner.js +1 -1
  795. package/dist/unstable/cluster/Runner.js.map +1 -1
  796. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  797. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  798. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  799. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  800. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  801. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  802. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  803. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  804. package/dist/unstable/cluster/RunnerServer.js +16 -16
  805. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  806. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  807. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  808. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  809. package/dist/unstable/cluster/Runners.d.ts +6 -6
  810. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  811. package/dist/unstable/cluster/Runners.js +19 -10
  812. package/dist/unstable/cluster/Runners.js.map +1 -1
  813. package/dist/unstable/cluster/ShardId.js +1 -1
  814. package/dist/unstable/cluster/ShardId.js.map +1 -1
  815. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  816. package/dist/unstable/cluster/Sharding.js +128 -26
  817. package/dist/unstable/cluster/Sharding.js.map +1 -1
  818. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  819. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  820. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  821. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  822. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  823. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  824. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  825. package/dist/unstable/cluster/SingleRunner.js +2 -1
  826. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  827. package/dist/unstable/cluster/Singleton.js.map +1 -1
  828. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  829. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  830. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  831. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  832. package/dist/unstable/cluster/Snowflake.js +8 -8
  833. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  834. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  835. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  836. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  837. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  838. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  839. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  840. package/dist/unstable/cluster/SqlRunnerStorage.js +127 -65
  841. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  842. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/entityManager.js +24 -12
  845. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  846. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  847. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  848. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  849. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  850. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  851. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  852. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  853. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  854. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  855. package/dist/unstable/devtools/DevTools.js.map +1 -1
  856. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  857. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  858. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  859. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  860. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.js.map +1 -1
  863. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  864. package/dist/unstable/encoding/Msgpack.js +6 -8
  865. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  866. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  867. package/dist/unstable/encoding/Sse.d.ts +72 -8
  868. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  869. package/dist/unstable/encoding/Sse.js +58 -8
  870. package/dist/unstable/encoding/Sse.js.map +1 -1
  871. package/dist/unstable/encoding/index.js.map +1 -1
  872. package/dist/unstable/eventlog/Event.d.ts +20 -20
  873. package/dist/unstable/eventlog/Event.js.map +1 -1
  874. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  875. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  876. package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
  877. package/dist/unstable/eventlog/EventJournal.js +14 -14
  878. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  879. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  880. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  881. package/dist/unstable/eventlog/EventLog.js +18 -14
  882. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  883. package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
  884. package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
  885. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  886. package/dist/unstable/eventlog/EventLogMessage.d.ts +6 -6
  887. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventLogMessage.js +9 -4
  889. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  890. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  891. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  892. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  893. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  894. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  895. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  896. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  897. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  898. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  899. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  900. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  901. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  902. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  903. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  904. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  905. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  906. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  907. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  908. package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
  909. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  910. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  911. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  912. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  913. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  914. package/dist/unstable/eventlog/index.js.map +1 -1
  915. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  916. package/dist/unstable/http/Cookies.d.ts +2 -2
  917. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  918. package/dist/unstable/http/Cookies.js +54 -40
  919. package/dist/unstable/http/Cookies.js.map +1 -1
  920. package/dist/unstable/http/Etag.d.ts +1 -1
  921. package/dist/unstable/http/Etag.js +1 -1
  922. package/dist/unstable/http/Etag.js.map +1 -1
  923. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  924. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  925. package/dist/unstable/http/Headers.d.ts +2 -2
  926. package/dist/unstable/http/Headers.js +10 -10
  927. package/dist/unstable/http/Headers.js.map +1 -1
  928. package/dist/unstable/http/HttpBody.d.ts +5 -3
  929. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  930. package/dist/unstable/http/HttpBody.js +11 -5
  931. package/dist/unstable/http/HttpBody.js.map +1 -1
  932. package/dist/unstable/http/HttpClient.d.ts +51 -44
  933. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  934. package/dist/unstable/http/HttpClient.js +46 -17
  935. package/dist/unstable/http/HttpClient.js.map +1 -1
  936. package/dist/unstable/http/HttpClientError.js.map +1 -1
  937. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  938. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  939. package/dist/unstable/http/HttpClientRequest.js +16 -0
  940. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  941. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  942. package/dist/unstable/http/HttpClientResponse.js +2 -2
  943. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  944. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  945. package/dist/unstable/http/HttpEffect.js +3 -3
  946. package/dist/unstable/http/HttpEffect.js.map +1 -1
  947. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  948. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  949. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  950. package/dist/unstable/http/HttpMethod.js +6 -9
  951. package/dist/unstable/http/HttpMethod.js.map +1 -1
  952. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  953. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  954. package/dist/unstable/http/HttpMiddleware.js +164 -39
  955. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  956. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  957. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  958. package/dist/unstable/http/HttpPlatform.js +32 -0
  959. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  960. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  961. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpRouter.js +78 -79
  963. package/dist/unstable/http/HttpRouter.js.map +1 -1
  964. package/dist/unstable/http/HttpServer.d.ts +13 -13
  965. package/dist/unstable/http/HttpServer.js +6 -6
  966. package/dist/unstable/http/HttpServer.js.map +1 -1
  967. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  968. package/dist/unstable/http/HttpServerError.js +2 -2
  969. package/dist/unstable/http/HttpServerError.js.map +1 -1
  970. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  971. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  972. package/dist/unstable/http/HttpServerRequest.js +9 -8
  973. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  974. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  975. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  976. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  977. package/dist/unstable/http/HttpServerResponse.js +10 -0
  978. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  979. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  980. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  981. package/dist/unstable/http/HttpStaticServer.js +35 -7
  982. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  983. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  984. package/dist/unstable/http/Multipart.d.ts +6 -6
  985. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  986. package/dist/unstable/http/Multipart.js +22 -20
  987. package/dist/unstable/http/Multipart.js.map +1 -1
  988. package/dist/unstable/http/Template.js +1 -1
  989. package/dist/unstable/http/Template.js.map +1 -1
  990. package/dist/unstable/http/Url.d.ts +33 -63
  991. package/dist/unstable/http/Url.d.ts.map +1 -1
  992. package/dist/unstable/http/Url.js +14 -28
  993. package/dist/unstable/http/Url.js.map +1 -1
  994. package/dist/unstable/http/UrlParams.d.ts +10 -18
  995. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  996. package/dist/unstable/http/UrlParams.js +26 -31
  997. package/dist/unstable/http/UrlParams.js.map +1 -1
  998. package/dist/unstable/http/index.js.map +1 -1
  999. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1000. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1001. package/dist/unstable/http/internal/compression.js +155 -0
  1002. package/dist/unstable/http/internal/compression.js.map +1 -0
  1003. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1004. package/dist/unstable/httpapi/HttpApi.js +3 -3
  1005. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1006. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1007. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1008. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  1009. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1010. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1011. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1012. package/dist/unstable/httpapi/HttpApiClient.js +16 -18
  1013. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1014. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  1015. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1016. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  1017. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  1018. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1019. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1020. package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
  1021. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1022. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1023. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1024. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1025. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1026. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1027. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1028. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1029. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  1030. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  1031. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1032. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1033. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1034. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1035. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  1036. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1037. package/dist/unstable/httpapi/OpenApi.js +50 -37
  1038. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1039. package/dist/unstable/httpapi/index.js.map +1 -1
  1040. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1041. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1042. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1043. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1044. package/dist/unstable/observability/Otlp.js.map +1 -1
  1045. package/dist/unstable/observability/OtlpExporter.d.ts +70 -1
  1046. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1047. package/dist/unstable/observability/OtlpExporter.js +84 -6
  1048. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1049. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1050. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1051. package/dist/unstable/observability/OtlpLogger.js +2 -2
  1052. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1053. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1054. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1055. package/dist/unstable/observability/OtlpMetrics.js +5 -2
  1056. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1057. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1058. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1059. package/dist/unstable/observability/OtlpResource.js +21 -12
  1060. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1061. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1062. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1063. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1064. package/dist/unstable/observability/OtlpTracer.js +2 -2
  1065. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1066. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1067. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1068. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1069. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1070. package/dist/unstable/observability/index.js.map +1 -1
  1071. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1072. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1073. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1074. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1075. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1076. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1077. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1078. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1079. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1080. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1081. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1082. package/dist/unstable/persistence/Persistable.js +2 -1
  1083. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1084. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1085. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1086. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1087. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1088. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1089. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1090. package/dist/unstable/persistence/Persistence.js +91 -15
  1091. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1092. package/dist/unstable/persistence/RateLimiter.d.ts +28 -17
  1093. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1094. package/dist/unstable/persistence/RateLimiter.js +26 -15
  1095. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1096. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1097. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1098. package/dist/unstable/persistence/Redis.js +3 -3
  1099. package/dist/unstable/persistence/Redis.js.map +1 -1
  1100. package/dist/unstable/persistence/index.js.map +1 -1
  1101. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1102. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1103. package/dist/unstable/process/ChildProcess.js +14 -5
  1104. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1105. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1106. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1107. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1108. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1109. package/dist/unstable/process/index.js.map +1 -1
  1110. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1111. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1112. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1113. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1114. package/dist/unstable/reactivity/Atom.d.ts +105 -19
  1115. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1116. package/dist/unstable/reactivity/Atom.js +44 -12
  1117. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1118. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1119. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1120. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1121. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1122. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1123. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1124. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1125. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1126. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1127. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1128. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1129. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1130. package/dist/unstable/reactivity/Hydration.js +1 -1
  1131. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1132. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1133. package/dist/unstable/reactivity/index.js.map +1 -1
  1134. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1135. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1136. package/dist/unstable/rpc/Rpc.js +4 -2
  1137. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1138. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1139. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1140. package/dist/unstable/rpc/RpcClient.js +14 -12
  1141. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1142. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1143. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1144. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1145. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1146. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1147. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1148. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1149. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1150. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1151. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1152. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1153. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1154. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1155. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1156. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1157. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1158. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1159. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1160. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1161. package/dist/unstable/rpc/RpcServer.js +17 -13
  1162. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1163. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1164. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1165. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1166. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1167. package/dist/unstable/rpc/Utils.js.map +1 -1
  1168. package/dist/unstable/rpc/index.js.map +1 -1
  1169. package/dist/unstable/schema/Model.d.ts +52 -50
  1170. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1171. package/dist/unstable/schema/Model.js +35 -33
  1172. package/dist/unstable/schema/Model.js.map +1 -1
  1173. package/dist/unstable/schema/VariantSchema.d.ts +6 -7
  1174. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1175. package/dist/unstable/schema/VariantSchema.js +15 -12
  1176. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1177. package/dist/unstable/schema/index.js.map +1 -1
  1178. package/dist/unstable/socket/Socket.d.ts +12 -4
  1179. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1180. package/dist/unstable/socket/Socket.js +10 -5
  1181. package/dist/unstable/socket/Socket.js.map +1 -1
  1182. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1183. package/dist/unstable/socket/index.js.map +1 -1
  1184. package/dist/unstable/sql/Migrator.js.map +1 -1
  1185. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1186. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1187. package/dist/unstable/sql/SqlClient.js +2 -2
  1188. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1189. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1190. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1191. package/dist/unstable/sql/SqlError.js +2 -2
  1192. package/dist/unstable/sql/SqlError.js.map +1 -1
  1193. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1194. package/dist/unstable/sql/SqlModel.js +2 -2
  1195. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1196. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1197. package/dist/unstable/sql/SqlResolver.js +2 -2
  1198. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1199. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1200. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1201. package/dist/unstable/sql/Statement.d.ts +6 -6
  1202. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1203. package/dist/unstable/sql/Statement.js +22 -21
  1204. package/dist/unstable/sql/Statement.js.map +1 -1
  1205. package/dist/unstable/sql/index.js.map +1 -1
  1206. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1207. package/dist/unstable/workers/Transferable.js +1 -1
  1208. package/dist/unstable/workers/Transferable.js.map +1 -1
  1209. package/dist/unstable/workers/Worker.d.ts +2 -2
  1210. package/dist/unstable/workers/Worker.js +2 -2
  1211. package/dist/unstable/workers/Worker.js.map +1 -1
  1212. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1213. package/dist/unstable/workers/WorkerError.js +6 -6
  1214. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1215. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1216. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1217. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1218. package/dist/unstable/workers/index.js.map +1 -1
  1219. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1220. package/dist/unstable/workflow/Activity.js +2 -2
  1221. package/dist/unstable/workflow/Activity.js.map +1 -1
  1222. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1223. package/dist/unstable/workflow/DurableClock.js +1 -1
  1224. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1225. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1226. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1227. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1228. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1229. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1230. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1231. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1232. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1233. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1234. package/dist/unstable/workflow/Workflow.js +13 -14
  1235. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1236. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1237. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1238. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1239. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1240. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1241. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1242. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1243. package/dist/unstable/workflow/index.js.map +1 -1
  1244. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1245. package/package.json +5 -6
  1246. package/src/Array.ts +1068 -1070
  1247. package/src/BigDecimal.ts +433 -756
  1248. package/src/BigInt.ts +213 -269
  1249. package/src/Boolean.ts +146 -188
  1250. package/src/Cache.ts +409 -255
  1251. package/src/Cause.ts +167 -277
  1252. package/src/Channel.ts +923 -830
  1253. package/src/ChannelSchema.ts +1 -1
  1254. package/src/Chunk.ts +841 -1181
  1255. package/src/Clock.ts +181 -49
  1256. package/src/Combiner.ts +20 -33
  1257. package/src/Config.ts +618 -334
  1258. package/src/ConfigProvider.ts +221 -127
  1259. package/src/Console.ts +289 -39
  1260. package/src/Context.ts +319 -378
  1261. package/src/Cron.ts +68 -77
  1262. package/src/Crypto.ts +13 -15
  1263. package/src/Data.ts +63 -82
  1264. package/src/DateTime.ts +564 -660
  1265. package/src/Deferred.ts +253 -256
  1266. package/src/Duration.ts +216 -308
  1267. package/src/Effect.ts +2958 -3390
  1268. package/src/Encoding.ts +22 -40
  1269. package/src/Equal.ts +49 -39
  1270. package/src/Equivalence.ts +103 -105
  1271. package/src/ErrorReporter.ts +51 -27
  1272. package/src/ExecutionPlan.ts +13 -55
  1273. package/src/Exit.ts +116 -192
  1274. package/src/Fiber.ts +81 -148
  1275. package/src/FiberHandle.ts +155 -107
  1276. package/src/FiberMap.ts +225 -174
  1277. package/src/FiberSet.ts +124 -82
  1278. package/src/FileSystem.ts +155 -263
  1279. package/src/Filter.ts +61 -33
  1280. package/src/Formatter.ts +54 -56
  1281. package/src/Function.ts +76 -145
  1282. package/src/Graph.ts +416 -770
  1283. package/src/HKT.ts +12 -6
  1284. package/src/Hash.ts +52 -83
  1285. package/src/HashMap.ts +319 -411
  1286. package/src/HashRing.ts +1 -0
  1287. package/src/HashSet.ts +177 -284
  1288. package/src/Inspectable.ts +12 -12
  1289. package/src/Iterable.ts +622 -787
  1290. package/src/JsonPatch.ts +60 -113
  1291. package/src/JsonPointer.ts +8 -8
  1292. package/src/JsonSchema.ts +405 -249
  1293. package/src/Latch.ts +23 -35
  1294. package/src/Layer.ts +359 -260
  1295. package/src/LayerMap.ts +49 -29
  1296. package/src/LayerRef.ts +6 -2
  1297. package/src/LogLevel.ts +114 -214
  1298. package/src/Logger.ts +347 -699
  1299. package/src/ManagedRuntime.ts +20 -5
  1300. package/src/Match.ts +217 -252
  1301. package/src/Metric.ts +520 -1092
  1302. package/src/MutableHashMap.ts +218 -255
  1303. package/src/MutableHashSet.ts +84 -89
  1304. package/src/MutableList.ts +73 -370
  1305. package/src/MutableRef.ts +420 -243
  1306. package/src/Newtype.ts +21 -14
  1307. package/src/NonEmptyIterable.ts +7 -137
  1308. package/src/Number.ts +196 -233
  1309. package/src/Optic.ts +246 -385
  1310. package/src/Option.ts +449 -813
  1311. package/src/Order.ts +109 -109
  1312. package/src/Ordering.ts +20 -23
  1313. package/src/PartitionedSemaphore.ts +1 -4
  1314. package/src/Path.ts +38 -41
  1315. package/src/Pipeable.ts +6 -5
  1316. package/src/PlatformError.ts +4 -4
  1317. package/src/Pool.ts +4 -2
  1318. package/src/Predicate.ts +200 -181
  1319. package/src/PrimaryKey.ts +7 -7
  1320. package/src/PubSub.ts +526 -552
  1321. package/src/Pull.ts +24 -18
  1322. package/src/Queue.ts +200 -159
  1323. package/src/Random.ts +49 -74
  1324. package/src/RcMap.ts +121 -63
  1325. package/src/RcRef.ts +24 -13
  1326. package/src/Record.ts +387 -487
  1327. package/src/Redactable.ts +10 -3
  1328. package/src/Redacted.ts +25 -25
  1329. package/src/Reducer.ts +8 -15
  1330. package/src/Ref.ts +221 -361
  1331. package/src/References.ts +102 -214
  1332. package/src/RegExp.ts +10 -14
  1333. package/src/Request.ts +36 -28
  1334. package/src/RequestResolver.ts +202 -91
  1335. package/src/Result.ts +314 -485
  1336. package/src/Runtime.ts +50 -75
  1337. package/src/Schedule.ts +308 -1734
  1338. package/src/Scheduler.ts +20 -7
  1339. package/src/Schema.ts +3156 -1634
  1340. package/src/SchemaAST.ts +676 -489
  1341. package/src/SchemaError.ts +8 -7
  1342. package/src/SchemaGetter.ts +277 -218
  1343. package/src/SchemaIssue.ts +90 -276
  1344. package/src/SchemaParser.ts +179 -116
  1345. package/src/SchemaRepresentation.ts +698 -3417
  1346. package/src/SchemaTransformation.ts +132 -91
  1347. package/src/Scope.ts +123 -151
  1348. package/src/ScopedRef.ts +4 -4
  1349. package/src/Semaphore.ts +157 -54
  1350. package/src/Sink.ts +128 -113
  1351. package/src/Stdio.ts +1 -1
  1352. package/src/Stream.ts +2665 -3142
  1353. package/src/String.ts +275 -312
  1354. package/src/Struct.ts +114 -118
  1355. package/src/SubscriptionRef.ts +284 -252
  1356. package/src/Symbol.ts +3 -3
  1357. package/src/Terminal.ts +2 -2
  1358. package/src/Tracer.ts +102 -55
  1359. package/src/Trie.ts +287 -679
  1360. package/src/Tuple.ts +92 -127
  1361. package/src/TxChunk.ts +201 -121
  1362. package/src/TxDeferred.ts +62 -46
  1363. package/src/TxHashMap.ts +645 -799
  1364. package/src/TxHashSet.ts +443 -356
  1365. package/src/TxPriorityQueue.ts +130 -98
  1366. package/src/TxPubSub.ts +107 -80
  1367. package/src/TxQueue.ts +214 -183
  1368. package/src/TxReentrantLock.ts +97 -66
  1369. package/src/TxRef.ts +51 -32
  1370. package/src/TxSemaphore.ts +129 -95
  1371. package/src/TxSubscriptionRef.ts +97 -70
  1372. package/src/Types.ts +127 -70
  1373. package/src/Unify.ts +45 -65
  1374. package/src/Utils.ts +23 -16
  1375. package/src/index.ts +0 -5
  1376. package/src/internal/core.ts +5 -4
  1377. package/src/internal/dateTime.ts +6 -0
  1378. package/src/internal/effect.ts +160 -79
  1379. package/src/internal/matcher.ts +1 -1
  1380. package/src/internal/persistence.ts +2 -0
  1381. package/src/internal/record.ts +11 -7
  1382. package/src/internal/references.ts +3 -7
  1383. package/src/internal/schema/annotations.ts +44 -0
  1384. package/src/internal/schema/fromJsonSchemaDocument.ts +959 -0
  1385. package/src/internal/schema/fromRepresentation.ts +339 -0
  1386. package/src/internal/schema/parser.ts +22 -0
  1387. package/src/internal/schema/schema.ts +45 -46
  1388. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
  1389. package/src/internal/schema/toCodeDocument.ts +572 -0
  1390. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1391. package/src/internal/schema/toJsonSchemaDocument.ts +529 -0
  1392. package/src/internal/schema/toRepresentation.ts +386 -0
  1393. package/src/internal/stackTraceLimit.ts +3 -7
  1394. package/src/internal/trie.ts +10 -11
  1395. package/src/testing/FastCheck.ts +8 -7
  1396. package/src/testing/TestClock.ts +73 -31
  1397. package/src/testing/TestConsole.ts +32 -31
  1398. package/src/testing/TestSchema.ts +29 -29
  1399. package/src/unstable/ai/AiError.ts +100 -122
  1400. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1401. package/src/unstable/ai/Chat.ts +132 -97
  1402. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1403. package/src/unstable/ai/IdGenerator.ts +32 -28
  1404. package/src/unstable/ai/LanguageModel.ts +137 -95
  1405. package/src/unstable/ai/McpProtocol.ts +48 -0
  1406. package/src/unstable/ai/McpSchema.ts +75 -65
  1407. package/src/unstable/ai/McpServer.ts +1045 -303
  1408. package/src/unstable/ai/Model.ts +9 -20
  1409. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1410. package/src/unstable/ai/Prompt.ts +145 -43
  1411. package/src/unstable/ai/Response.ts +52 -38
  1412. package/src/unstable/ai/Telemetry.ts +46 -13
  1413. package/src/unstable/ai/Tokenizer.ts +14 -3
  1414. package/src/unstable/ai/Tool.ts +81 -48
  1415. package/src/unstable/ai/Toolkit.ts +45 -15
  1416. package/src/unstable/ai/index.ts +5 -0
  1417. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1418. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1419. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1420. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1421. package/src/unstable/cli/Argument.ts +273 -69
  1422. package/src/unstable/cli/CliError.ts +116 -77
  1423. package/src/unstable/cli/CliOutput.ts +44 -58
  1424. package/src/unstable/cli/Command.ts +709 -111
  1425. package/src/unstable/cli/Flag.ts +418 -138
  1426. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1427. package/src/unstable/cli/HelpDoc.ts +12 -4
  1428. package/src/unstable/cli/Param.ts +295 -81
  1429. package/src/unstable/cli/Primitive.ts +371 -150
  1430. package/src/unstable/cli/Prompt.ts +28 -14
  1431. package/src/unstable/cli/internal/command.ts +13 -5
  1432. package/src/unstable/cli/internal/config.ts +8 -10
  1433. package/src/unstable/cli/internal/lexer.ts +8 -2
  1434. package/src/unstable/cli/internal/parser.ts +2 -2
  1435. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1436. package/src/unstable/cluster/ClusterWorkflowEngine.ts +8 -4
  1437. package/src/unstable/cluster/Entity.ts +16 -17
  1438. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1439. package/src/unstable/cluster/EntityResource.ts +2 -2
  1440. package/src/unstable/cluster/Envelope.ts +5 -4
  1441. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1442. package/src/unstable/cluster/Message.ts +9 -9
  1443. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1444. package/src/unstable/cluster/Reply.ts +5 -7
  1445. package/src/unstable/cluster/Runner.ts +1 -1
  1446. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1447. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1448. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1449. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1450. package/src/unstable/cluster/Runners.ts +23 -12
  1451. package/src/unstable/cluster/ShardId.ts +1 -1
  1452. package/src/unstable/cluster/Sharding.ts +168 -42
  1453. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1454. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1455. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1456. package/src/unstable/cluster/Snowflake.ts +8 -8
  1457. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1458. package/src/unstable/cluster/SqlRunnerStorage.ts +205 -119
  1459. package/src/unstable/cluster/internal/entityManager.ts +42 -25
  1460. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1461. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1462. package/src/unstable/encoding/Msgpack.ts +6 -8
  1463. package/src/unstable/encoding/Sse.ts +98 -16
  1464. package/src/unstable/eventlog/Event.ts +20 -20
  1465. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1466. package/src/unstable/eventlog/EventJournal.ts +16 -16
  1467. package/src/unstable/eventlog/EventLog.ts +24 -14
  1468. package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
  1469. package/src/unstable/eventlog/EventLogMessage.ts +12 -5
  1470. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1471. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1472. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1473. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1474. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1475. package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
  1476. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1477. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1478. package/src/unstable/http/Cookies.ts +64 -45
  1479. package/src/unstable/http/Etag.ts +1 -1
  1480. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1481. package/src/unstable/http/Headers.ts +10 -10
  1482. package/src/unstable/http/HttpBody.ts +20 -5
  1483. package/src/unstable/http/HttpClient.ts +83 -55
  1484. package/src/unstable/http/HttpClientRequest.ts +59 -0
  1485. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1486. package/src/unstable/http/HttpEffect.ts +8 -8
  1487. package/src/unstable/http/HttpMethod.ts +6 -9
  1488. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1489. package/src/unstable/http/HttpPlatform.ts +95 -0
  1490. package/src/unstable/http/HttpRouter.ts +102 -98
  1491. package/src/unstable/http/HttpServer.ts +13 -13
  1492. package/src/unstable/http/HttpServerError.ts +2 -2
  1493. package/src/unstable/http/HttpServerRequest.ts +9 -8
  1494. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1495. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1496. package/src/unstable/http/Multipart.ts +22 -19
  1497. package/src/unstable/http/Template.ts +1 -1
  1498. package/src/unstable/http/Url.ts +33 -63
  1499. package/src/unstable/http/UrlParams.ts +27 -32
  1500. package/src/unstable/http/internal/compression.ts +196 -0
  1501. package/src/unstable/httpapi/HttpApi.ts +3 -3
  1502. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1503. package/src/unstable/httpapi/HttpApiClient.ts +19 -19
  1504. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1505. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1506. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  1507. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1508. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1509. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1510. package/src/unstable/httpapi/OpenApi.ts +65 -41
  1511. package/src/unstable/observability/OtlpExporter.ts +126 -10
  1512. package/src/unstable/observability/OtlpLogger.ts +5 -5
  1513. package/src/unstable/observability/OtlpMetrics.ts +12 -5
  1514. package/src/unstable/observability/OtlpResource.ts +26 -17
  1515. package/src/unstable/observability/OtlpTracer.ts +8 -4
  1516. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1517. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1518. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1519. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1520. package/src/unstable/persistence/Persistable.ts +11 -10
  1521. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1522. package/src/unstable/persistence/Persistence.ts +126 -19
  1523. package/src/unstable/persistence/RateLimiter.ts +28 -17
  1524. package/src/unstable/persistence/Redis.ts +4 -4
  1525. package/src/unstable/process/ChildProcess.ts +64 -21
  1526. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1527. package/src/unstable/reactivity/AsyncResult.ts +16 -16
  1528. package/src/unstable/reactivity/Atom.ts +117 -22
  1529. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1530. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1531. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1532. package/src/unstable/reactivity/Hydration.ts +1 -1
  1533. package/src/unstable/rpc/Rpc.ts +35 -33
  1534. package/src/unstable/rpc/RpcClient.ts +18 -16
  1535. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1536. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1537. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1538. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1539. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1540. package/src/unstable/rpc/RpcServer.ts +18 -15
  1541. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1542. package/src/unstable/schema/Model.ts +52 -50
  1543. package/src/unstable/schema/VariantSchema.ts +19 -29
  1544. package/src/unstable/socket/Socket.ts +18 -5
  1545. package/src/unstable/sql/SqlClient.ts +5 -6
  1546. package/src/unstable/sql/SqlError.ts +2 -2
  1547. package/src/unstable/sql/SqlModel.ts +2 -2
  1548. package/src/unstable/sql/SqlResolver.ts +5 -5
  1549. package/src/unstable/sql/Statement.ts +31 -29
  1550. package/src/unstable/workers/Transferable.ts +1 -1
  1551. package/src/unstable/workers/Worker.ts +2 -2
  1552. package/src/unstable/workers/WorkerError.ts +7 -7
  1553. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1554. package/src/unstable/workflow/Activity.ts +2 -2
  1555. package/src/unstable/workflow/DurableClock.ts +1 -1
  1556. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1557. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1558. package/src/unstable/workflow/Workflow.ts +23 -23
  1559. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1560. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1561. package/dist/SchemaUtils.d.ts +0 -28
  1562. package/dist/SchemaUtils.d.ts.map +0 -1
  1563. package/dist/SchemaUtils.js +0 -45
  1564. package/dist/SchemaUtils.js.map +0 -1
  1565. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1566. package/dist/internal/schema/arbitrary.js.map +0 -1
  1567. package/dist/internal/schema/equivalence.d.ts +0 -2
  1568. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1569. package/dist/internal/schema/equivalence.js.map +0 -1
  1570. package/dist/internal/schema/representation.d.ts +0 -2
  1571. package/dist/internal/schema/representation.d.ts.map +0 -1
  1572. package/dist/internal/schema/representation.js +0 -865
  1573. package/dist/internal/schema/representation.js.map +0 -1
  1574. package/dist/internal/version.d.ts +0 -3
  1575. package/dist/internal/version.d.ts.map +0 -1
  1576. package/dist/internal/version.js +0 -2
  1577. package/dist/internal/version.js.map +0 -1
  1578. package/src/SchemaUtils.ts +0 -51
  1579. package/src/internal/schema/representation.ts +0 -795
  1580. package/src/internal/version.ts +0 -2
package/src/Option.ts CHANGED
@@ -20,6 +20,7 @@ import type { TypeLambda } from "./HKT.ts"
20
20
  import type { Inspectable } from "./Inspectable.ts"
21
21
  import * as doNotation from "./internal/doNotation.ts"
22
22
  import * as option from "./internal/option.ts"
23
+ import * as InternalRecord from "./internal/record.ts"
23
24
  import * as result from "./internal/result.ts"
24
25
  import type { Order } from "./Order.ts"
25
26
  import * as order from "./Order.ts"
@@ -177,17 +178,16 @@ export declare namespace Option {
177
178
  *
178
179
  * **Example** (Extracting the value type)
179
180
  *
180
- * ```ts
181
- * import type { Option } from "effect"
182
- *
183
- * declare const myOption: Option.Option<string>
181
+ * ```ts import.meta.vitest
182
+ * import { Option } from "effect"
184
183
  *
185
- * // ┌─── string
186
- * // ▼
184
+ * const myOption: Option.Option<string> = Option.some("value")
187
185
  * type MyType = Option.Option.Value<typeof myOption>
186
+ *
187
+ * const witness: MyType = "value"
188
188
  * ```
189
189
  *
190
- * @category Type-level Utils
190
+ * @category utility types
191
191
  * @since 2.0.0
192
192
  */
193
193
  export type Value<T extends Option<any>> = [T] extends [Option<infer _A>] ? _A : never
@@ -218,7 +218,7 @@ export interface OptionUnifyIgnore {}
218
218
  * Use when defining higher-kinded abstractions that must accept optional-value
219
219
  * types as one of their type-lambda inputs.
220
220
  *
221
- * @category type lambdas
221
+ * @category utility types
222
222
  * @since 2.0.0
223
223
  */
224
224
  export interface OptionTypeLambda extends TypeLambda {
@@ -240,15 +240,12 @@ export interface OptionTypeLambda extends TypeLambda {
240
240
  *
241
241
  * **Example** (Creating an empty Option)
242
242
  *
243
- * ```ts
243
+ * ```ts import.meta.vitest
244
244
  * import { Option } from "effect"
245
245
  *
246
246
  * // ┌─── Option<never>
247
247
  * // ▼
248
- * const noValue = Option.none()
249
- *
250
- * console.log(noValue)
251
- * // Output: { _id: 'Option', _tag: 'None' }
248
+ * const noValue = Option.none() // => Option.none()
252
249
  * ```
253
250
  *
254
251
  * @see {@link some} for the opposite operation.
@@ -273,15 +270,12 @@ export const none = <A = never>(): Option<A> => option.none
273
270
  *
274
271
  * **Example** (Wrapping a value)
275
272
  *
276
- * ```ts
273
+ * ```ts import.meta.vitest
277
274
  * import { Option } from "effect"
278
275
  *
279
276
  * // ┌─── Option<number>
280
277
  * // ▼
281
- * const value = Option.some(1)
282
- *
283
- * console.log(value)
284
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
278
+ * const value = Option.some(1) // => Option.some(1)
285
279
  * ```
286
280
  *
287
281
  * @see {@link none} for the opposite operation.
@@ -306,17 +300,12 @@ export const some: <A>(value: A) => Option<A> = option.some
306
300
  *
307
301
  * **Example** (Checking if a value is an Option)
308
302
  *
309
- * ```ts
303
+ * ```ts import.meta.vitest
310
304
  * import { Option } from "effect"
311
305
  *
312
- * console.log(Option.isOption(Option.some(1)))
313
- * // Output: true
314
- *
315
- * console.log(Option.isOption(Option.none()))
316
- * // Output: true
317
- *
318
- * console.log(Option.isOption({}))
319
- * // Output: false
306
+ * Option.isOption(Option.some(1)) // => true
307
+ * Option.isOption(Option.none()) // => true
308
+ * Option.isOption({}) // => false
320
309
  * ```
321
310
  *
322
311
  * @see {@link isNone} to check for `None` specifically
@@ -340,14 +329,11 @@ export const isOption: (input: unknown) => input is Option<unknown> = option.isO
340
329
  *
341
330
  * **Example** (Checking for None)
342
331
  *
343
- * ```ts
332
+ * ```ts import.meta.vitest
344
333
  * import { Option } from "effect"
345
334
  *
346
- * console.log(Option.isNone(Option.some(1)))
347
- * // Output: false
348
- *
349
- * console.log(Option.isNone(Option.none()))
350
- * // Output: true
335
+ * Option.isNone(Option.some(1)) // => false
336
+ * Option.isNone(Option.none()) // => true
351
337
  * ```
352
338
  *
353
339
  * @see {@link isSome} for the opposite check.
@@ -370,14 +356,11 @@ export const isNone: <A>(self: Option<A>) => self is None<A> = option.isNone
370
356
  *
371
357
  * **Example** (Checking for Some)
372
358
  *
373
- * ```ts
359
+ * ```ts import.meta.vitest
374
360
  * import { Option } from "effect"
375
361
  *
376
- * console.log(Option.isSome(Option.some(1)))
377
- * // Output: true
378
- *
379
- * console.log(Option.isSome(Option.none()))
380
- * // Output: false
362
+ * Option.isSome(Option.some(1)) // => true
363
+ * Option.isSome(Option.none()) // => false
381
364
  * ```
382
365
  *
383
366
  * @see {@link isNone} for the opposite check.
@@ -403,16 +386,13 @@ export const isSome: <A>(self: Option<A>) => self is Some<A> = option.isSome
403
386
  *
404
387
  * **Example** (Matching on an Option)
405
388
  *
406
- * ```ts
389
+ * ```ts import.meta.vitest
407
390
  * import { Option } from "effect"
408
391
  *
409
- * const message = Option.match(Option.some(1), {
392
+ * Option.match(Option.some(1), {
410
393
  * onNone: () => "Option is empty",
411
394
  * onSome: (value) => `Option has a value: ${value}`
412
- * })
413
- *
414
- * console.log(message)
415
- * // Output: "Option has a value: 1"
395
+ * }) // => "Option has a value: 1"
416
396
  * ```
417
397
  *
418
398
  * @see {@link getOrElse} for unwrapping with a default
@@ -437,16 +417,13 @@ export const match: {
437
417
  *
438
418
  * **Example** (Matching on an Option)
439
419
  *
440
- * ```ts
420
+ * ```ts import.meta.vitest
441
421
  * import { Option } from "effect"
442
422
  *
443
- * const message = Option.match(Option.some(1), {
423
+ * Option.match(Option.some(1), {
444
424
  * onNone: () => "Option is empty",
445
425
  * onSome: (value) => `Option has a value: ${value}`
446
- * })
447
- *
448
- * console.log(message)
449
- * // Output: "Option has a value: 1"
426
+ * }) // => "Option has a value: 1"
450
427
  * ```
451
428
  *
452
429
  * @see {@link getOrElse} for unwrapping with a default
@@ -476,16 +453,13 @@ export const match: {
476
453
  *
477
454
  * **Example** (Matching on an Option)
478
455
  *
479
- * ```ts
456
+ * ```ts import.meta.vitest
480
457
  * import { Option } from "effect"
481
458
  *
482
- * const message = Option.match(Option.some(1), {
459
+ * Option.match(Option.some(1), {
483
460
  * onNone: () => "Option is empty",
484
461
  * onSome: (value) => `Option has a value: ${value}`
485
- * })
486
- *
487
- * console.log(message)
488
- * // Output: "Option has a value: 1"
462
+ * }) // => "Option has a value: 1"
489
463
  * ```
490
464
  *
491
465
  * @see {@link getOrElse} for unwrapping with a default
@@ -524,7 +498,7 @@ export const match: {
524
498
  *
525
499
  * **Example** (Converting a parser to a type guard)
526
500
  *
527
- * ```ts
501
+ * ```ts import.meta.vitest
528
502
  * import { Option } from "effect"
529
503
  *
530
504
  * type MyData = string | number
@@ -536,11 +510,8 @@ export const match: {
536
510
  * // ▼
537
511
  * const isString = Option.toRefinement(parseString)
538
512
  *
539
- * console.log(isString("a"))
540
- * // Output: true
541
- *
542
- * console.log(isString(1))
543
- * // Output: false
513
+ * isString("a") // => true
514
+ * isString(1) // => false
544
515
  * ```
545
516
  *
546
517
  * @see {@link liftPredicate} for the reverse direction
@@ -566,14 +537,11 @@ export const toRefinement = <A, B extends A>(f: (a: A) => Option<B>): (a: A) =>
566
537
  *
567
538
  * **Example** (Getting the first element)
568
539
  *
569
- * ```ts
540
+ * ```ts import.meta.vitest
570
541
  * import { Option } from "effect"
571
542
  *
572
- * console.log(Option.fromIterable([1, 2, 3]))
573
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
574
- *
575
- * console.log(Option.fromIterable([]))
576
- * // Output: { _id: 'Option', _tag: 'None' }
543
+ * Option.fromIterable([1, 2, 3]) // => Option.some(1)
544
+ * Option.fromIterable([]) // => Option.none()
577
545
  * ```
578
546
  *
579
547
  * @see {@link toArray} for the inverse direction
@@ -603,14 +571,11 @@ export const fromIterable = <A>(collection: Iterable<A>): Option<A> => {
603
571
  *
604
572
  * **Example** (Extracting the success side)
605
573
  *
606
- * ```ts
574
+ * ```ts import.meta.vitest
607
575
  * import { Option, Result } from "effect"
608
576
  *
609
- * console.log(Option.getSuccess(Result.succeed("ok")))
610
- * // Output: { _id: 'Option', _tag: 'Some', value: 'ok' }
611
- *
612
- * console.log(Option.getSuccess(Result.fail("err")))
613
- * // Output: { _id: 'Option', _tag: 'None' }
577
+ * Option.getSuccess(Result.succeed("ok")) // => Option.some("ok")
578
+ * Option.getSuccess(Result.fail("err")) // => Option.none()
614
579
  * ```
615
580
  *
616
581
  * @see {@link getFailure} for the opposite operation.
@@ -635,14 +600,11 @@ export const getSuccess: <A, E>(self: Result<A, E>) => Option<A> = result.getSuc
635
600
  *
636
601
  * **Example** (Extracting the failure side)
637
602
  *
638
- * ```ts
603
+ * ```ts import.meta.vitest
639
604
  * import { Option, Result } from "effect"
640
605
  *
641
- * console.log(Option.getFailure(Result.succeed("ok")))
642
- * // Output: { _id: 'Option', _tag: 'None' }
643
- *
644
- * console.log(Option.getFailure(Result.fail("err")))
645
- * // Output: { _id: 'Option', _tag: 'Some', value: 'err' }
606
+ * Option.getFailure(Result.succeed("ok")) // => Option.none()
607
+ * Option.getFailure(Result.fail("err")) // => Option.some("err")
646
608
  * ```
647
609
  *
648
610
  * @see {@link getSuccess} for the opposite operation.
@@ -668,14 +630,11 @@ export const getFailure: <A, E>(self: Result<A, E>) => Option<E> = result.getFai
668
630
  *
669
631
  * **Example** (Unwrapping with a fallback)
670
632
  *
671
- * ```ts
633
+ * ```ts import.meta.vitest
672
634
  * import { Option } from "effect"
673
635
  *
674
- * console.log(Option.some(1).pipe(Option.getOrElse(() => 0)))
675
- * // Output: 1
676
- *
677
- * console.log(Option.none().pipe(Option.getOrElse(() => 0)))
678
- * // Output: 0
636
+ * Option.some(1).pipe(Option.getOrElse(() => 0)) // => 1
637
+ * Option.none().pipe(Option.getOrElse(() => 0)) // => 0
679
638
  * ```
680
639
  *
681
640
  * @see {@link getOrNull} to fall back to `null`
@@ -702,14 +661,11 @@ export const getOrElse: {
702
661
  *
703
662
  * **Example** (Unwrapping with a fallback)
704
663
  *
705
- * ```ts
664
+ * ```ts import.meta.vitest
706
665
  * import { Option } from "effect"
707
666
  *
708
- * console.log(Option.some(1).pipe(Option.getOrElse(() => 0)))
709
- * // Output: 1
710
- *
711
- * console.log(Option.none().pipe(Option.getOrElse(() => 0)))
712
- * // Output: 0
667
+ * Option.some(1).pipe(Option.getOrElse(() => 0)) // => 1
668
+ * Option.none().pipe(Option.getOrElse(() => 0)) // => 0
713
669
  * ```
714
670
  *
715
671
  * @see {@link getOrNull} to fall back to `null`
@@ -736,14 +692,11 @@ export const getOrElse: {
736
692
  *
737
693
  * **Example** (Unwrapping with a fallback)
738
694
  *
739
- * ```ts
695
+ * ```ts import.meta.vitest
740
696
  * import { Option } from "effect"
741
697
  *
742
- * console.log(Option.some(1).pipe(Option.getOrElse(() => 0)))
743
- * // Output: 1
744
- *
745
- * console.log(Option.none().pipe(Option.getOrElse(() => 0)))
746
- * // Output: 0
698
+ * Option.some(1).pipe(Option.getOrElse(() => 0)) // => 1
699
+ * Option.none().pipe(Option.getOrElse(() => 0)) // => 0
747
700
  * ```
748
701
  *
749
702
  * @see {@link getOrNull} to fall back to `null`
@@ -775,14 +728,11 @@ export const getOrElse: {
775
728
  *
776
729
  * **Example** (Providing a fallback Option)
777
730
  *
778
- * ```ts
731
+ * ```ts import.meta.vitest
779
732
  * import { Option } from "effect"
780
733
  *
781
- * console.log(Option.none().pipe(Option.orElse(() => Option.some("b"))))
782
- * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
783
- *
784
- * console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
785
- * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
734
+ * Option.none().pipe(Option.orElse(() => Option.some("b"))) // => Option.some("b")
735
+ * Option.some("a").pipe(Option.orElse(() => Option.some("b"))) // => Option.some("a")
786
736
  * ```
787
737
  *
788
738
  * @see {@link orElseSome} to wrap the fallback value in `Some` automatically
@@ -808,14 +758,11 @@ export const orElse: {
808
758
  *
809
759
  * **Example** (Providing a fallback Option)
810
760
  *
811
- * ```ts
761
+ * ```ts import.meta.vitest
812
762
  * import { Option } from "effect"
813
763
  *
814
- * console.log(Option.none().pipe(Option.orElse(() => Option.some("b"))))
815
- * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
816
- *
817
- * console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
818
- * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
764
+ * Option.none().pipe(Option.orElse(() => Option.some("b"))) // => Option.some("b")
765
+ * Option.some("a").pipe(Option.orElse(() => Option.some("b"))) // => Option.some("a")
819
766
  * ```
820
767
  *
821
768
  * @see {@link orElseSome} to wrap the fallback value in `Some` automatically
@@ -841,14 +788,11 @@ export const orElse: {
841
788
  *
842
789
  * **Example** (Providing a fallback Option)
843
790
  *
844
- * ```ts
791
+ * ```ts import.meta.vitest
845
792
  * import { Option } from "effect"
846
793
  *
847
- * console.log(Option.none().pipe(Option.orElse(() => Option.some("b"))))
848
- * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
849
- *
850
- * console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
851
- * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
794
+ * Option.none().pipe(Option.orElse(() => Option.some("b"))) // => Option.some("b")
795
+ * Option.some("a").pipe(Option.orElse(() => Option.some("b"))) // => Option.some("a")
852
796
  * ```
853
797
  *
854
798
  * @see {@link orElseSome} to wrap the fallback value in `Some` automatically
@@ -878,14 +822,11 @@ export const orElse: {
878
822
  *
879
823
  * **Example** (Providing a fallback value)
880
824
  *
881
- * ```ts
825
+ * ```ts import.meta.vitest
882
826
  * import { Option } from "effect"
883
827
  *
884
- * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
885
- * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
886
- *
887
- * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
888
- * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
828
+ * Option.none().pipe(Option.orElseSome(() => "b")) // => Option.some("b")
829
+ * Option.some("a").pipe(Option.orElseSome(() => "b")) // => Option.some("a")
889
830
  * ```
890
831
  *
891
832
  * @see {@link orElse} when the fallback is itself an `Option`
@@ -909,14 +850,11 @@ export const orElseSome: {
909
850
  *
910
851
  * **Example** (Providing a fallback value)
911
852
  *
912
- * ```ts
853
+ * ```ts import.meta.vitest
913
854
  * import { Option } from "effect"
914
855
  *
915
- * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
916
- * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
917
- *
918
- * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
919
- * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
856
+ * Option.none().pipe(Option.orElseSome(() => "b")) // => Option.some("b")
857
+ * Option.some("a").pipe(Option.orElseSome(() => "b")) // => Option.some("a")
920
858
  * ```
921
859
  *
922
860
  * @see {@link orElse} when the fallback is itself an `Option`
@@ -940,14 +878,11 @@ export const orElseSome: {
940
878
  *
941
879
  * **Example** (Providing a fallback value)
942
880
  *
943
- * ```ts
881
+ * ```ts import.meta.vitest
944
882
  * import { Option } from "effect"
945
883
  *
946
- * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
947
- * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
948
- *
949
- * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
950
- * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
884
+ * Option.none().pipe(Option.orElseSome(() => "b")) // => Option.some("b")
885
+ * Option.some("a").pipe(Option.orElseSome(() => "b")) // => Option.some("a")
951
886
  * ```
952
887
  *
953
888
  * @see {@link orElse} when the fallback is itself an `Option`
@@ -977,14 +912,13 @@ export const orElseSome: {
977
912
  *
978
913
  * **Example** (Tracking value source)
979
914
  *
980
- * ```ts
981
- * import { Option } from "effect"
915
+ * ```ts import.meta.vitest
916
+ * import { Option, Result } from "effect"
982
917
  *
983
- * console.log(Option.orElseResult(Option.some("primary"), () => Option.some("fallback")))
984
- * // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Failure', value: 'primary' } }
918
+ * const fallback = () => Option.some("fallback")
985
919
  *
986
- * console.log(Option.orElseResult(Option.none(), () => Option.some("fallback")))
987
- * // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Success', value: 'fallback' } }
920
+ * Option.orElseResult(Option.some("primary"), fallback) // => Option.some(Result.fail("primary"))
921
+ * Option.orElseResult(Option.none(), fallback) // => Option.some(Result.succeed("fallback"))
988
922
  * ```
989
923
  *
990
924
  * @see {@link orElse} for the simpler variant without source tracking
@@ -1009,14 +943,13 @@ export const orElseResult: {
1009
943
  *
1010
944
  * **Example** (Tracking value source)
1011
945
  *
1012
- * ```ts
1013
- * import { Option } from "effect"
946
+ * ```ts import.meta.vitest
947
+ * import { Option, Result } from "effect"
1014
948
  *
1015
- * console.log(Option.orElseResult(Option.some("primary"), () => Option.some("fallback")))
1016
- * // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Failure', value: 'primary' } }
949
+ * const fallback = () => Option.some("fallback")
1017
950
  *
1018
- * console.log(Option.orElseResult(Option.none(), () => Option.some("fallback")))
1019
- * // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Success', value: 'fallback' } }
951
+ * Option.orElseResult(Option.some("primary"), fallback) // => Option.some(Result.fail("primary"))
952
+ * Option.orElseResult(Option.none(), fallback) // => Option.some(Result.succeed("fallback"))
1020
953
  * ```
1021
954
  *
1022
955
  * @see {@link orElse} for the simpler variant without source tracking
@@ -1041,14 +974,13 @@ export const orElseResult: {
1041
974
  *
1042
975
  * **Example** (Tracking value source)
1043
976
  *
1044
- * ```ts
1045
- * import { Option } from "effect"
977
+ * ```ts import.meta.vitest
978
+ * import { Option, Result } from "effect"
1046
979
  *
1047
- * console.log(Option.orElseResult(Option.some("primary"), () => Option.some("fallback")))
1048
- * // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Failure', value: 'primary' } }
980
+ * const fallback = () => Option.some("fallback")
1049
981
  *
1050
- * console.log(Option.orElseResult(Option.none(), () => Option.some("fallback")))
1051
- * // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Success', value: 'fallback' } }
982
+ * Option.orElseResult(Option.some("primary"), fallback) // => Option.some(Result.fail("primary"))
983
+ * Option.orElseResult(Option.none(), fallback) // => Option.some(Result.succeed("fallback"))
1052
984
  * ```
1053
985
  *
1054
986
  * @see {@link orElse} for the simpler variant without source tracking
@@ -1078,15 +1010,14 @@ export const orElseResult: {
1078
1010
  *
1079
1011
  * **Example** (Finding the first Some)
1080
1012
  *
1081
- * ```ts
1013
+ * ```ts import.meta.vitest
1082
1014
  * import { Option } from "effect"
1083
1015
  *
1084
- * console.log(Option.firstSomeOf([
1016
+ * Option.firstSomeOf([
1085
1017
  * Option.none(),
1086
1018
  * Option.some(1),
1087
1019
  * Option.some(2)
1088
- * ]))
1089
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
1020
+ * ]) // => Option.some(1)
1090
1021
  * ```
1091
1022
  *
1092
1023
  * @see {@link orElse} for a two-option fallback
@@ -1121,17 +1052,12 @@ export const firstSomeOf = <T, C extends Iterable<Option<T>> = Iterable<Option<T
1121
1052
  *
1122
1053
  * **Example** (Converting nullable values to an Option)
1123
1054
  *
1124
- * ```ts
1055
+ * ```ts import.meta.vitest
1125
1056
  * import { Option } from "effect"
1126
1057
  *
1127
- * console.log(Option.fromNullishOr(undefined))
1128
- * // Output: { _id: 'Option', _tag: 'None' }
1129
- *
1130
- * console.log(Option.fromNullishOr(null))
1131
- * // Output: { _id: 'Option', _tag: 'None' }
1132
- *
1133
- * console.log(Option.fromNullishOr(1))
1134
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
1058
+ * Option.fromNullishOr(undefined) // => Option.none()
1059
+ * Option.fromNullishOr(null) // => Option.none()
1060
+ * Option.fromNullishOr(1) // => Option.some(1)
1135
1061
  * ```
1136
1062
  *
1137
1063
  * @see {@link fromNullOr} to only treat `null` as absent
@@ -1161,17 +1087,12 @@ export const fromNullishOr = <A>(
1161
1087
  *
1162
1088
  * **Example** (Converting possibly undefined values to an Option)
1163
1089
  *
1164
- * ```ts
1090
+ * ```ts import.meta.vitest
1165
1091
  * import { Option } from "effect"
1166
1092
  *
1167
- * console.log(Option.fromUndefinedOr(undefined))
1168
- * // Output: { _id: 'Option', _tag: 'None' }
1169
- *
1170
- * console.log(Option.fromUndefinedOr(null))
1171
- * // Output: { _id: 'Option', _tag: 'Some', value: null }
1172
- *
1173
- * console.log(Option.fromUndefinedOr(42))
1174
- * // Output: { _id: 'Option', _tag: 'Some', value: 42 }
1093
+ * Option.fromUndefinedOr(undefined) // => Option.none()
1094
+ * Option.fromUndefinedOr(null) // => Option.some(null)
1095
+ * Option.fromUndefinedOr(42) // => Option.some(42)
1175
1096
  * ```
1176
1097
  *
1177
1098
  * @see {@link fromNullishOr} to treat both `null` and `undefined` as absent
@@ -1200,17 +1121,12 @@ export const fromUndefinedOr = <A>(
1200
1121
  *
1201
1122
  * **Example** (Converting possibly null values to an Option)
1202
1123
  *
1203
- * ```ts
1124
+ * ```ts import.meta.vitest
1204
1125
  * import { Option } from "effect"
1205
1126
  *
1206
- * console.log(Option.fromNullOr(null))
1207
- * // Output: { _id: 'Option', _tag: 'None' }
1208
- *
1209
- * console.log(Option.fromNullOr(undefined))
1210
- * // Output: { _id: 'Option', _tag: 'Some', value: undefined }
1211
- *
1212
- * console.log(Option.fromNullOr(42))
1213
- * // Output: { _id: 'Option', _tag: 'Some', value: 42 }
1127
+ * Option.fromNullOr(null) // => Option.none()
1128
+ * Option.fromNullOr(undefined) // => Option.some(undefined)
1129
+ * Option.fromNullOr(42) // => Option.some(42)
1214
1130
  * ```
1215
1131
  *
1216
1132
  * @see {@link fromNullishOr} to treat both `null` and `undefined` as absent
@@ -1238,7 +1154,7 @@ export const fromNullOr = <A>(
1238
1154
  *
1239
1155
  * **Example** (Lifting a parser)
1240
1156
  *
1241
- * ```ts
1157
+ * ```ts import.meta.vitest
1242
1158
  * import { Option } from "effect"
1243
1159
  *
1244
1160
  * const parse = (s: string): number | undefined => {
@@ -1248,11 +1164,8 @@ export const fromNullOr = <A>(
1248
1164
  *
1249
1165
  * const parseOption = Option.liftNullishOr(parse)
1250
1166
  *
1251
- * console.log(parseOption("1"))
1252
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
1253
- *
1254
- * console.log(parseOption("not a number"))
1255
- * // Output: { _id: 'Option', _tag: 'None' }
1167
+ * parseOption("1") // => Option.some(1)
1168
+ * parseOption("not a number") // => Option.none()
1256
1169
  * ```
1257
1170
  *
1258
1171
  * @see {@link fromNullishOr} for converting a single value
@@ -1280,14 +1193,11 @@ export const liftNullishOr = <A extends ReadonlyArray<unknown>, B>(
1280
1193
  *
1281
1194
  * **Example** (Unwrapping to null)
1282
1195
  *
1283
- * ```ts
1196
+ * ```ts import.meta.vitest
1284
1197
  * import { Option } from "effect"
1285
1198
  *
1286
- * console.log(Option.getOrNull(Option.some(1)))
1287
- * // Output: 1
1288
- *
1289
- * console.log(Option.getOrNull(Option.none()))
1290
- * // Output: null
1199
+ * Option.getOrNull(Option.some(1)) // => 1
1200
+ * Option.getOrNull(Option.none()) // => null
1291
1201
  * ```
1292
1202
  *
1293
1203
  * @see {@link getOrUndefined} to return `undefined` instead
@@ -1313,14 +1223,11 @@ export const getOrNull: <A>(self: Option<A>) => A | null = getOrElse(constNull)
1313
1223
  *
1314
1224
  * **Example** (Unwrapping to undefined)
1315
1225
  *
1316
- * ```ts
1226
+ * ```ts import.meta.vitest
1317
1227
  * import { Option } from "effect"
1318
1228
  *
1319
- * console.log(Option.getOrUndefined(Option.some(1)))
1320
- * // Output: 1
1321
- *
1322
- * console.log(Option.getOrUndefined(Option.none()))
1323
- * // Output: undefined
1229
+ * Option.getOrUndefined(Option.some(1)) // => 1
1230
+ * Option.getOrUndefined(Option.none()) // => undefined
1324
1231
  * ```
1325
1232
  *
1326
1233
  * @see {@link getOrNull} to return `null` instead
@@ -1345,16 +1252,13 @@ export const getOrUndefined: <A>(self: Option<A>) => A | undefined = getOrElse(c
1345
1252
  *
1346
1253
  * **Example** (Lifting JSON.parse)
1347
1254
  *
1348
- * ```ts
1255
+ * ```ts import.meta.vitest
1349
1256
  * import { Option } from "effect"
1350
1257
  *
1351
1258
  * const parse = Option.liftThrowable(JSON.parse)
1352
1259
  *
1353
- * console.log(parse("1"))
1354
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
1355
- *
1356
- * console.log(parse(""))
1357
- * // Output: { _id: 'Option', _tag: 'None' }
1260
+ * parse("1") // => Option.some(1)
1261
+ * parse("") // => Option.none()
1358
1262
  * ```
1359
1263
  *
1360
1264
  * @see {@link liftNullishOr} for nullable-returning functions
@@ -1388,14 +1292,16 @@ export const liftThrowable = <A extends ReadonlyArray<unknown>, B>(
1388
1292
  *
1389
1293
  * **Example** (Throwing a custom error)
1390
1294
  *
1391
- * ```ts
1392
- * import { Option } from "effect"
1295
+ * ```ts import.meta.vitest
1296
+ * import { Option, Result } from "effect"
1393
1297
  *
1394
- * console.log(Option.getOrThrowWith(Option.some(1), () => new Error("missing")))
1395
- * // Output: 1
1298
+ * Option.getOrThrowWith(Option.some(1), () => new Error("missing")) // => 1
1396
1299
  *
1397
- * Option.getOrThrowWith(Option.none(), () => new Error("missing"))
1398
- * // throws Error: missing
1300
+ * const failure = Result.try({
1301
+ * try: () => Option.getOrThrowWith(Option.none(), () => new Error("missing")),
1302
+ * catch: (error) => (error as Error).message
1303
+ * })
1304
+ * Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "missing"
1399
1305
  * ```
1400
1306
  *
1401
1307
  * @see {@link getOrThrow} for a version with a default error
@@ -1420,14 +1326,16 @@ export const getOrThrowWith: {
1420
1326
  *
1421
1327
  * **Example** (Throwing a custom error)
1422
1328
  *
1423
- * ```ts
1424
- * import { Option } from "effect"
1329
+ * ```ts import.meta.vitest
1330
+ * import { Option, Result } from "effect"
1425
1331
  *
1426
- * console.log(Option.getOrThrowWith(Option.some(1), () => new Error("missing")))
1427
- * // Output: 1
1332
+ * Option.getOrThrowWith(Option.some(1), () => new Error("missing")) // => 1
1428
1333
  *
1429
- * Option.getOrThrowWith(Option.none(), () => new Error("missing"))
1430
- * // throws Error: missing
1334
+ * const failure = Result.try({
1335
+ * try: () => Option.getOrThrowWith(Option.none(), () => new Error("missing")),
1336
+ * catch: (error) => (error as Error).message
1337
+ * })
1338
+ * Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "missing"
1431
1339
  * ```
1432
1340
  *
1433
1341
  * @see {@link getOrThrow} for a version with a default error
@@ -1452,14 +1360,16 @@ export const getOrThrowWith: {
1452
1360
  *
1453
1361
  * **Example** (Throwing a custom error)
1454
1362
  *
1455
- * ```ts
1456
- * import { Option } from "effect"
1363
+ * ```ts import.meta.vitest
1364
+ * import { Option, Result } from "effect"
1457
1365
  *
1458
- * console.log(Option.getOrThrowWith(Option.some(1), () => new Error("missing")))
1459
- * // Output: 1
1366
+ * Option.getOrThrowWith(Option.some(1), () => new Error("missing")) // => 1
1460
1367
  *
1461
- * Option.getOrThrowWith(Option.none(), () => new Error("missing"))
1462
- * // throws Error: missing
1368
+ * const failure = Result.try({
1369
+ * try: () => Option.getOrThrowWith(Option.none(), () => new Error("missing")),
1370
+ * catch: (error) => (error as Error).message
1371
+ * })
1372
+ * Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "missing"
1463
1373
  * ```
1464
1374
  *
1465
1375
  * @see {@link getOrThrow} for a version with a default error
@@ -1491,14 +1401,16 @@ export const getOrThrowWith: {
1491
1401
  *
1492
1402
  * **Example** (Throwing a default error)
1493
1403
  *
1494
- * ```ts
1495
- * import { Option } from "effect"
1404
+ * ```ts import.meta.vitest
1405
+ * import { Option, Result } from "effect"
1496
1406
  *
1497
- * console.log(Option.getOrThrow(Option.some(1)))
1498
- * // Output: 1
1407
+ * Option.getOrThrow(Option.some(1)) // => 1
1499
1408
  *
1500
- * Option.getOrThrow(Option.none())
1501
- * // throws Error: getOrThrow called on a None
1409
+ * const failure = Result.try({
1410
+ * try: () => Option.getOrThrow(Option.none()),
1411
+ * catch: (error) => (error as Error).message
1412
+ * })
1413
+ * Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "getOrThrow called on a None"
1502
1414
  * ```
1503
1415
  *
1504
1416
  * @see {@link getOrThrowWith} for a custom error
@@ -1525,14 +1437,11 @@ export const getOrThrow: <A>(self: Option<A>) => A = getOrThrowWith(() => new Er
1525
1437
  *
1526
1438
  * **Example** (Mapping over an Option)
1527
1439
  *
1528
- * ```ts
1440
+ * ```ts import.meta.vitest
1529
1441
  * import { Option } from "effect"
1530
1442
  *
1531
- * console.log(Option.map(Option.some(2), (n) => n * 2))
1532
- * // Output: { _id: 'Option', _tag: 'Some', value: 4 }
1533
- *
1534
- * console.log(Option.map(Option.none(), (n: number) => n * 2))
1535
- * // Output: { _id: 'Option', _tag: 'None' }
1443
+ * Option.map(Option.some(2), (n) => n * 2) // => Option.some(4)
1444
+ * Option.map(Option.none(), (n: number) => n * 2) // => Option.none()
1536
1445
  * ```
1537
1446
  *
1538
1447
  * @see {@link flatMap} when `f` returns an `Option`
@@ -1558,14 +1467,11 @@ export const map: {
1558
1467
  *
1559
1468
  * **Example** (Mapping over an Option)
1560
1469
  *
1561
- * ```ts
1470
+ * ```ts import.meta.vitest
1562
1471
  * import { Option } from "effect"
1563
1472
  *
1564
- * console.log(Option.map(Option.some(2), (n) => n * 2))
1565
- * // Output: { _id: 'Option', _tag: 'Some', value: 4 }
1566
- *
1567
- * console.log(Option.map(Option.none(), (n: number) => n * 2))
1568
- * // Output: { _id: 'Option', _tag: 'None' }
1473
+ * Option.map(Option.some(2), (n) => n * 2) // => Option.some(4)
1474
+ * Option.map(Option.none(), (n: number) => n * 2) // => Option.none()
1569
1475
  * ```
1570
1476
  *
1571
1477
  * @see {@link flatMap} when `f` returns an `Option`
@@ -1591,14 +1497,11 @@ export const map: {
1591
1497
  *
1592
1498
  * **Example** (Mapping over an Option)
1593
1499
  *
1594
- * ```ts
1500
+ * ```ts import.meta.vitest
1595
1501
  * import { Option } from "effect"
1596
1502
  *
1597
- * console.log(Option.map(Option.some(2), (n) => n * 2))
1598
- * // Output: { _id: 'Option', _tag: 'Some', value: 4 }
1599
- *
1600
- * console.log(Option.map(Option.none(), (n: number) => n * 2))
1601
- * // Output: { _id: 'Option', _tag: 'None' }
1503
+ * Option.map(Option.some(2), (n) => n * 2) // => Option.some(4)
1504
+ * Option.map(Option.none(), (n: number) => n * 2) // => Option.none()
1602
1505
  * ```
1603
1506
  *
1604
1507
  * @see {@link flatMap} when `f` returns an `Option`
@@ -1623,14 +1526,11 @@ export const map: {
1623
1526
  *
1624
1527
  * **Example** (Replacing a value)
1625
1528
  *
1626
- * ```ts
1529
+ * ```ts import.meta.vitest
1627
1530
  * import { Option } from "effect"
1628
1531
  *
1629
- * console.log(Option.as(Option.some(42), "new value"))
1630
- * // Output: { _id: 'Option', _tag: 'Some', value: 'new value' }
1631
- *
1632
- * console.log(Option.as(Option.none(), "new value"))
1633
- * // Output: { _id: 'Option', _tag: 'None' }
1532
+ * Option.as(Option.some(42), "new value") // => Option.some("new value")
1533
+ * Option.as(Option.none(), "new value") // => Option.none()
1634
1534
  * ```
1635
1535
  *
1636
1536
  * @see {@link asVoid} to replace with `undefined`
@@ -1650,14 +1550,11 @@ export const as: {
1650
1550
  *
1651
1551
  * **Example** (Replacing a value)
1652
1552
  *
1653
- * ```ts
1553
+ * ```ts import.meta.vitest
1654
1554
  * import { Option } from "effect"
1655
1555
  *
1656
- * console.log(Option.as(Option.some(42), "new value"))
1657
- * // Output: { _id: 'Option', _tag: 'Some', value: 'new value' }
1658
- *
1659
- * console.log(Option.as(Option.none(), "new value"))
1660
- * // Output: { _id: 'Option', _tag: 'None' }
1556
+ * Option.as(Option.some(42), "new value") // => Option.some("new value")
1557
+ * Option.as(Option.none(), "new value") // => Option.none()
1661
1558
  * ```
1662
1559
  *
1663
1560
  * @see {@link asVoid} to replace with `undefined`
@@ -1677,14 +1574,11 @@ export const as: {
1677
1574
  *
1678
1575
  * **Example** (Replacing a value)
1679
1576
  *
1680
- * ```ts
1577
+ * ```ts import.meta.vitest
1681
1578
  * import { Option } from "effect"
1682
1579
  *
1683
- * console.log(Option.as(Option.some(42), "new value"))
1684
- * // Output: { _id: 'Option', _tag: 'Some', value: 'new value' }
1685
- *
1686
- * console.log(Option.as(Option.none(), "new value"))
1687
- * // Output: { _id: 'Option', _tag: 'None' }
1580
+ * Option.as(Option.some(42), "new value") // => Option.some("new value")
1581
+ * Option.as(Option.none(), "new value") // => Option.none()
1688
1582
  * ```
1689
1583
  *
1690
1584
  * @see {@link asVoid} to replace with `undefined`
@@ -1707,14 +1601,11 @@ export const as: {
1707
1601
  *
1708
1602
  * **Example** (Voiding the value)
1709
1603
  *
1710
- * ```ts
1604
+ * ```ts import.meta.vitest
1711
1605
  * import { Option } from "effect"
1712
1606
  *
1713
- * console.log(Option.asVoid(Option.some(42)))
1714
- * // Output: { _id: 'Option', _tag: 'Some', value: undefined }
1715
- *
1716
- * console.log(Option.asVoid(Option.none()))
1717
- * // Output: { _id: 'Option', _tag: 'None' }
1607
+ * Option.asVoid(Option.some(42)) // => Option.some(undefined)
1608
+ * Option.asVoid(Option.none()) // => Option.none()
1718
1609
  * ```
1719
1610
  *
1720
1611
  * @see {@link as} to replace with a specific constant
@@ -1735,11 +1626,10 @@ export {
1735
1626
  *
1736
1627
  * **Example** (Referencing Option.void)
1737
1628
  *
1738
- * ```ts
1629
+ * ```ts import.meta.vitest
1739
1630
  * import { Option } from "effect"
1740
1631
  *
1741
- * console.log(Option.void)
1742
- * // Output: { _id: 'Option', _tag: 'Some', value: undefined }
1632
+ * Option.void // => Option.some(undefined)
1743
1633
  * ```
1744
1634
  *
1745
1635
  * @see {@link asVoid} to convert an existing `Option` to `Option<void>`
@@ -1767,7 +1657,7 @@ export {
1767
1657
  *
1768
1658
  * **Example** (Chaining optional lookups)
1769
1659
  *
1770
- * ```ts
1660
+ * ```ts import.meta.vitest
1771
1661
  * import { Option } from "effect"
1772
1662
  *
1773
1663
  * interface User {
@@ -1780,12 +1670,9 @@ export {
1780
1670
  * address: Option.some({ street: Option.some("123 Main St") })
1781
1671
  * }
1782
1672
  *
1783
- * const street = user.address.pipe(
1673
+ * user.address.pipe(
1784
1674
  * Option.flatMap((addr) => addr.street)
1785
- * )
1786
- *
1787
- * console.log(street)
1788
- * // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
1675
+ * ) // => Option.some("123 Main St")
1789
1676
  * ```
1790
1677
  *
1791
1678
  * @see {@link map} when `f` returns a plain value
@@ -1813,7 +1700,7 @@ export const flatMap: {
1813
1700
  *
1814
1701
  * **Example** (Chaining optional lookups)
1815
1702
  *
1816
- * ```ts
1703
+ * ```ts import.meta.vitest
1817
1704
  * import { Option } from "effect"
1818
1705
  *
1819
1706
  * interface User {
@@ -1826,12 +1713,9 @@ export const flatMap: {
1826
1713
  * address: Option.some({ street: Option.some("123 Main St") })
1827
1714
  * }
1828
1715
  *
1829
- * const street = user.address.pipe(
1716
+ * user.address.pipe(
1830
1717
  * Option.flatMap((addr) => addr.street)
1831
- * )
1832
- *
1833
- * console.log(street)
1834
- * // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
1718
+ * ) // => Option.some("123 Main St")
1835
1719
  * ```
1836
1720
  *
1837
1721
  * @see {@link map} when `f` returns a plain value
@@ -1859,7 +1743,7 @@ export const flatMap: {
1859
1743
  *
1860
1744
  * **Example** (Chaining optional lookups)
1861
1745
  *
1862
- * ```ts
1746
+ * ```ts import.meta.vitest
1863
1747
  * import { Option } from "effect"
1864
1748
  *
1865
1749
  * interface User {
@@ -1872,12 +1756,9 @@ export const flatMap: {
1872
1756
  * address: Option.some({ street: Option.some("123 Main St") })
1873
1757
  * }
1874
1758
  *
1875
- * const street = user.address.pipe(
1759
+ * user.address.pipe(
1876
1760
  * Option.flatMap((addr) => addr.street)
1877
- * )
1878
- *
1879
- * console.log(street)
1880
- * // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
1761
+ * ) // => Option.some("123 Main St")
1881
1762
  * ```
1882
1763
  *
1883
1764
  * @see {@link map} when `f` returns a plain value
@@ -1911,20 +1792,17 @@ export const flatMap: {
1911
1792
  *
1912
1793
  * **Example** (Chaining with andThen)
1913
1794
  *
1914
- * ```ts
1795
+ * ```ts import.meta.vitest
1915
1796
  * import { Option } from "effect"
1916
1797
  *
1917
1798
  * // Chain with a function returning Option
1918
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
1919
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
1799
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
1920
1800
  *
1921
1801
  * // Chain with a static value
1922
- * console.log(Option.andThen(Option.some(5), "hello"))
1923
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
1802
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
1924
1803
  *
1925
1804
  * // Chain with None - skips
1926
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
1927
- * // Output: { _id: 'Option', _tag: 'None' }
1805
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
1928
1806
  * ```
1929
1807
  *
1930
1808
  * @see {@link flatMap} for the standard monadic bind
@@ -1952,20 +1830,17 @@ export const andThen: {
1952
1830
  *
1953
1831
  * **Example** (Chaining with andThen)
1954
1832
  *
1955
- * ```ts
1833
+ * ```ts import.meta.vitest
1956
1834
  * import { Option } from "effect"
1957
1835
  *
1958
1836
  * // Chain with a function returning Option
1959
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
1960
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
1837
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
1961
1838
  *
1962
1839
  * // Chain with a static value
1963
- * console.log(Option.andThen(Option.some(5), "hello"))
1964
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
1840
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
1965
1841
  *
1966
1842
  * // Chain with None - skips
1967
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
1968
- * // Output: { _id: 'Option', _tag: 'None' }
1843
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
1969
1844
  * ```
1970
1845
  *
1971
1846
  * @see {@link flatMap} for the standard monadic bind
@@ -1993,20 +1868,17 @@ export const andThen: {
1993
1868
  *
1994
1869
  * **Example** (Chaining with andThen)
1995
1870
  *
1996
- * ```ts
1871
+ * ```ts import.meta.vitest
1997
1872
  * import { Option } from "effect"
1998
1873
  *
1999
1874
  * // Chain with a function returning Option
2000
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2001
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
1875
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2002
1876
  *
2003
1877
  * // Chain with a static value
2004
- * console.log(Option.andThen(Option.some(5), "hello"))
2005
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
1878
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2006
1879
  *
2007
1880
  * // Chain with None - skips
2008
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2009
- * // Output: { _id: 'Option', _tag: 'None' }
1881
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2010
1882
  * ```
2011
1883
  *
2012
1884
  * @see {@link flatMap} for the standard monadic bind
@@ -2034,20 +1906,17 @@ export const andThen: {
2034
1906
  *
2035
1907
  * **Example** (Chaining with andThen)
2036
1908
  *
2037
- * ```ts
1909
+ * ```ts import.meta.vitest
2038
1910
  * import { Option } from "effect"
2039
1911
  *
2040
1912
  * // Chain with a function returning Option
2041
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2042
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
1913
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2043
1914
  *
2044
1915
  * // Chain with a static value
2045
- * console.log(Option.andThen(Option.some(5), "hello"))
2046
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
1916
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2047
1917
  *
2048
1918
  * // Chain with None - skips
2049
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2050
- * // Output: { _id: 'Option', _tag: 'None' }
1919
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2051
1920
  * ```
2052
1921
  *
2053
1922
  * @see {@link flatMap} for the standard monadic bind
@@ -2075,20 +1944,17 @@ export const andThen: {
2075
1944
  *
2076
1945
  * **Example** (Chaining with andThen)
2077
1946
  *
2078
- * ```ts
1947
+ * ```ts import.meta.vitest
2079
1948
  * import { Option } from "effect"
2080
1949
  *
2081
1950
  * // Chain with a function returning Option
2082
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2083
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
1951
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2084
1952
  *
2085
1953
  * // Chain with a static value
2086
- * console.log(Option.andThen(Option.some(5), "hello"))
2087
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
1954
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2088
1955
  *
2089
1956
  * // Chain with None - skips
2090
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2091
- * // Output: { _id: 'Option', _tag: 'None' }
1957
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2092
1958
  * ```
2093
1959
  *
2094
1960
  * @see {@link flatMap} for the standard monadic bind
@@ -2116,20 +1982,17 @@ export const andThen: {
2116
1982
  *
2117
1983
  * **Example** (Chaining with andThen)
2118
1984
  *
2119
- * ```ts
1985
+ * ```ts import.meta.vitest
2120
1986
  * import { Option } from "effect"
2121
1987
  *
2122
1988
  * // Chain with a function returning Option
2123
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2124
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
1989
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2125
1990
  *
2126
1991
  * // Chain with a static value
2127
- * console.log(Option.andThen(Option.some(5), "hello"))
2128
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
1992
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2129
1993
  *
2130
1994
  * // Chain with None - skips
2131
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2132
- * // Output: { _id: 'Option', _tag: 'None' }
1995
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2133
1996
  * ```
2134
1997
  *
2135
1998
  * @see {@link flatMap} for the standard monadic bind
@@ -2157,20 +2020,17 @@ export const andThen: {
2157
2020
  *
2158
2021
  * **Example** (Chaining with andThen)
2159
2022
  *
2160
- * ```ts
2023
+ * ```ts import.meta.vitest
2161
2024
  * import { Option } from "effect"
2162
2025
  *
2163
2026
  * // Chain with a function returning Option
2164
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2165
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
2027
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2166
2028
  *
2167
2029
  * // Chain with a static value
2168
- * console.log(Option.andThen(Option.some(5), "hello"))
2169
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
2030
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2170
2031
  *
2171
2032
  * // Chain with None - skips
2172
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2173
- * // Output: { _id: 'Option', _tag: 'None' }
2033
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2174
2034
  * ```
2175
2035
  *
2176
2036
  * @see {@link flatMap} for the standard monadic bind
@@ -2198,20 +2058,17 @@ export const andThen: {
2198
2058
  *
2199
2059
  * **Example** (Chaining with andThen)
2200
2060
  *
2201
- * ```ts
2061
+ * ```ts import.meta.vitest
2202
2062
  * import { Option } from "effect"
2203
2063
  *
2204
2064
  * // Chain with a function returning Option
2205
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2206
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
2065
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2207
2066
  *
2208
2067
  * // Chain with a static value
2209
- * console.log(Option.andThen(Option.some(5), "hello"))
2210
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
2068
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2211
2069
  *
2212
2070
  * // Chain with None - skips
2213
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2214
- * // Output: { _id: 'Option', _tag: 'None' }
2071
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2215
2072
  * ```
2216
2073
  *
2217
2074
  * @see {@link flatMap} for the standard monadic bind
@@ -2239,20 +2096,17 @@ export const andThen: {
2239
2096
  *
2240
2097
  * **Example** (Chaining with andThen)
2241
2098
  *
2242
- * ```ts
2099
+ * ```ts import.meta.vitest
2243
2100
  * import { Option } from "effect"
2244
2101
  *
2245
2102
  * // Chain with a function returning Option
2246
- * console.log(Option.andThen(Option.some(5), (x) => Option.some(x * 2)))
2247
- * // Output: { _id: 'Option', _tag: 'Some', value: 10 }
2103
+ * Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
2248
2104
  *
2249
2105
  * // Chain with a static value
2250
- * console.log(Option.andThen(Option.some(5), "hello"))
2251
- * // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
2106
+ * Option.andThen(Option.some(5), "hello") // => Option.some("hello")
2252
2107
  *
2253
2108
  * // Chain with None - skips
2254
- * console.log(Option.andThen(Option.none(), (x) => Option.some(x * 2)))
2255
- * // Output: { _id: 'Option', _tag: 'None' }
2109
+ * Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
2256
2110
  * ```
2257
2111
  *
2258
2112
  * @see {@link flatMap} for the standard monadic bind
@@ -2287,7 +2141,7 @@ export const andThen: {
2287
2141
  *
2288
2142
  * **Example** (Navigating optional properties)
2289
2143
  *
2290
- * ```ts
2144
+ * ```ts import.meta.vitest
2291
2145
  * import { Option } from "effect"
2292
2146
  *
2293
2147
  * interface Employee {
@@ -2298,12 +2152,9 @@ export const andThen: {
2298
2152
  * company: { address: { street: { name: "high street" } } }
2299
2153
  * }
2300
2154
  *
2301
- * console.log(
2302
- * Option.some(emp).pipe(
2303
- * Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
2304
- * )
2305
- * )
2306
- * // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
2155
+ * Option.some(emp).pipe(
2156
+ * Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
2157
+ * ) // => Option.some("high street")
2307
2158
  * ```
2308
2159
  *
2309
2160
  * @see {@link flatMap} when the function already returns `Option`
@@ -2329,7 +2180,7 @@ export const flatMapNullishOr: {
2329
2180
  *
2330
2181
  * **Example** (Navigating optional properties)
2331
2182
  *
2332
- * ```ts
2183
+ * ```ts import.meta.vitest
2333
2184
  * import { Option } from "effect"
2334
2185
  *
2335
2186
  * interface Employee {
@@ -2340,12 +2191,9 @@ export const flatMapNullishOr: {
2340
2191
  * company: { address: { street: { name: "high street" } } }
2341
2192
  * }
2342
2193
  *
2343
- * console.log(
2344
- * Option.some(emp).pipe(
2345
- * Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
2346
- * )
2347
- * )
2348
- * // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
2194
+ * Option.some(emp).pipe(
2195
+ * Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
2196
+ * ) // => Option.some("high street")
2349
2197
  * ```
2350
2198
  *
2351
2199
  * @see {@link flatMap} when the function already returns `Option`
@@ -2371,7 +2219,7 @@ export const flatMapNullishOr: {
2371
2219
  *
2372
2220
  * **Example** (Navigating optional properties)
2373
2221
  *
2374
- * ```ts
2222
+ * ```ts import.meta.vitest
2375
2223
  * import { Option } from "effect"
2376
2224
  *
2377
2225
  * interface Employee {
@@ -2382,12 +2230,9 @@ export const flatMapNullishOr: {
2382
2230
  * company: { address: { street: { name: "high street" } } }
2383
2231
  * }
2384
2232
  *
2385
- * console.log(
2386
- * Option.some(emp).pipe(
2387
- * Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
2388
- * )
2389
- * )
2390
- * // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
2233
+ * Option.some(emp).pipe(
2234
+ * Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
2235
+ * ) // => Option.some("high street")
2391
2236
  * ```
2392
2237
  *
2393
2238
  * @see {@link flatMap} when the function already returns `Option`
@@ -2418,14 +2263,11 @@ export const flatMapNullishOr: {
2418
2263
  *
2419
2264
  * **Example** (Flattening nested Options)
2420
2265
  *
2421
- * ```ts
2266
+ * ```ts import.meta.vitest
2422
2267
  * import { Option } from "effect"
2423
2268
  *
2424
- * console.log(Option.flatten(Option.some(Option.some("value"))))
2425
- * // Output: { _id: 'Option', _tag: 'Some', value: 'value' }
2426
- *
2427
- * console.log(Option.flatten(Option.some(Option.none())))
2428
- * // Output: { _id: 'Option', _tag: 'None' }
2269
+ * Option.flatten(Option.some(Option.some("value"))) // => Option.some("value")
2270
+ * Option.flatten(Option.some(Option.none())) // => Option.none()
2429
2271
  * ```
2430
2272
  *
2431
2273
  * @see {@link flatMap} which is `map` + `flatten`
@@ -2450,14 +2292,11 @@ export const flatten: <A>(self: Option<Option<A>>) => Option<A> = flatMap(identi
2450
2292
  *
2451
2293
  * **Example** (Keeping the second value)
2452
2294
  *
2453
- * ```ts
2295
+ * ```ts import.meta.vitest
2454
2296
  * import { Option } from "effect"
2455
2297
  *
2456
- * console.log(Option.zipRight(Option.some(1), Option.some("hello")))
2457
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
2458
- *
2459
- * console.log(Option.zipRight(Option.none(), Option.some("hello")))
2460
- * // Output: { _id: 'Option', _tag: 'None' }
2298
+ * Option.zipRight(Option.some(1), Option.some("hello")) // => Option.some("hello")
2299
+ * Option.zipRight(Option.none(), Option.some("hello")) // => Option.none()
2461
2300
  * ```
2462
2301
  *
2463
2302
  * @see {@link zipLeft} to keep the first value instead
@@ -2482,14 +2321,11 @@ export const zipRight: {
2482
2321
  *
2483
2322
  * **Example** (Keeping the second value)
2484
2323
  *
2485
- * ```ts
2324
+ * ```ts import.meta.vitest
2486
2325
  * import { Option } from "effect"
2487
2326
  *
2488
- * console.log(Option.zipRight(Option.some(1), Option.some("hello")))
2489
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
2490
- *
2491
- * console.log(Option.zipRight(Option.none(), Option.some("hello")))
2492
- * // Output: { _id: 'Option', _tag: 'None' }
2327
+ * Option.zipRight(Option.some(1), Option.some("hello")) // => Option.some("hello")
2328
+ * Option.zipRight(Option.none(), Option.some("hello")) // => Option.none()
2493
2329
  * ```
2494
2330
  *
2495
2331
  * @see {@link zipLeft} to keep the first value instead
@@ -2514,14 +2350,11 @@ export const zipRight: {
2514
2350
  *
2515
2351
  * **Example** (Keeping the second value)
2516
2352
  *
2517
- * ```ts
2353
+ * ```ts import.meta.vitest
2518
2354
  * import { Option } from "effect"
2519
2355
  *
2520
- * console.log(Option.zipRight(Option.some(1), Option.some("hello")))
2521
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
2522
- *
2523
- * console.log(Option.zipRight(Option.none(), Option.some("hello")))
2524
- * // Output: { _id: 'Option', _tag: 'None' }
2356
+ * Option.zipRight(Option.some(1), Option.some("hello")) // => Option.some("hello")
2357
+ * Option.zipRight(Option.none(), Option.some("hello")) // => Option.none()
2525
2358
  * ```
2526
2359
  *
2527
2360
  * @see {@link zipLeft} to keep the first value instead
@@ -2548,14 +2381,11 @@ export const zipRight: {
2548
2381
  *
2549
2382
  * **Example** (Keeping the first value)
2550
2383
  *
2551
- * ```ts
2384
+ * ```ts import.meta.vitest
2552
2385
  * import { Option } from "effect"
2553
2386
  *
2554
- * console.log(Option.zipLeft(Option.some("hello"), Option.some(1)))
2555
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
2556
- *
2557
- * console.log(Option.zipLeft(Option.some("hello"), Option.none()))
2558
- * // Output: { _id: 'Option', _tag: 'None' }
2387
+ * Option.zipLeft(Option.some("hello"), Option.some(1)) // => Option.some("hello")
2388
+ * Option.zipLeft(Option.some("hello"), Option.none()) // => Option.none()
2559
2389
  * ```
2560
2390
  *
2561
2391
  * @see {@link zipRight} to keep the second value instead
@@ -2580,14 +2410,11 @@ export const zipLeft: {
2580
2410
  *
2581
2411
  * **Example** (Keeping the first value)
2582
2412
  *
2583
- * ```ts
2413
+ * ```ts import.meta.vitest
2584
2414
  * import { Option } from "effect"
2585
2415
  *
2586
- * console.log(Option.zipLeft(Option.some("hello"), Option.some(1)))
2587
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
2588
- *
2589
- * console.log(Option.zipLeft(Option.some("hello"), Option.none()))
2590
- * // Output: { _id: 'Option', _tag: 'None' }
2416
+ * Option.zipLeft(Option.some("hello"), Option.some(1)) // => Option.some("hello")
2417
+ * Option.zipLeft(Option.some("hello"), Option.none()) // => Option.none()
2591
2418
  * ```
2592
2419
  *
2593
2420
  * @see {@link zipRight} to keep the second value instead
@@ -2612,14 +2439,11 @@ export const zipLeft: {
2612
2439
  *
2613
2440
  * **Example** (Keeping the first value)
2614
2441
  *
2615
- * ```ts
2442
+ * ```ts import.meta.vitest
2616
2443
  * import { Option } from "effect"
2617
2444
  *
2618
- * console.log(Option.zipLeft(Option.some("hello"), Option.some(1)))
2619
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
2620
- *
2621
- * console.log(Option.zipLeft(Option.some("hello"), Option.none()))
2622
- * // Output: { _id: 'Option', _tag: 'None' }
2445
+ * Option.zipLeft(Option.some("hello"), Option.some(1)) // => Option.some("hello")
2446
+ * Option.zipLeft(Option.some("hello"), Option.none()) // => Option.none()
2623
2447
  * ```
2624
2448
  *
2625
2449
  * @see {@link zipRight} to keep the second value instead
@@ -2647,7 +2471,7 @@ export const zipLeft: {
2647
2471
  *
2648
2472
  * **Example** (Composing parsers)
2649
2473
  *
2650
- * ```ts
2474
+ * ```ts import.meta.vitest
2651
2475
  * import { Option } from "effect"
2652
2476
  *
2653
2477
  * const parse = (s: string): Option.Option<number> =>
@@ -2658,11 +2482,8 @@ export const zipLeft: {
2658
2482
  *
2659
2483
  * const parseAndDouble = Option.composeK(parse, double)
2660
2484
  *
2661
- * console.log(parseAndDouble("42"))
2662
- * // Output: { _id: 'Option', _tag: 'Some', value: 84 }
2663
- *
2664
- * console.log(parseAndDouble("not a number"))
2665
- * // Output: { _id: 'Option', _tag: 'None' }
2485
+ * parseAndDouble("42") // => Option.some(84)
2486
+ * parseAndDouble("not a number") // => Option.none()
2666
2487
  * ```
2667
2488
  *
2668
2489
  * @see {@link flatMap} for single-step chaining
@@ -2687,7 +2508,7 @@ export const composeK: {
2687
2508
  *
2688
2509
  * **Example** (Composing parsers)
2689
2510
  *
2690
- * ```ts
2511
+ * ```ts import.meta.vitest
2691
2512
  * import { Option } from "effect"
2692
2513
  *
2693
2514
  * const parse = (s: string): Option.Option<number> =>
@@ -2698,11 +2519,8 @@ export const composeK: {
2698
2519
  *
2699
2520
  * const parseAndDouble = Option.composeK(parse, double)
2700
2521
  *
2701
- * console.log(parseAndDouble("42"))
2702
- * // Output: { _id: 'Option', _tag: 'Some', value: 84 }
2703
- *
2704
- * console.log(parseAndDouble("not a number"))
2705
- * // Output: { _id: 'Option', _tag: 'None' }
2522
+ * parseAndDouble("42") // => Option.some(84)
2523
+ * parseAndDouble("not a number") // => Option.none()
2706
2524
  * ```
2707
2525
  *
2708
2526
  * @see {@link flatMap} for single-step chaining
@@ -2727,7 +2545,7 @@ export const composeK: {
2727
2545
  *
2728
2546
  * **Example** (Composing parsers)
2729
2547
  *
2730
- * ```ts
2548
+ * ```ts import.meta.vitest
2731
2549
  * import { Option } from "effect"
2732
2550
  *
2733
2551
  * const parse = (s: string): Option.Option<number> =>
@@ -2738,11 +2556,8 @@ export const composeK: {
2738
2556
  *
2739
2557
  * const parseAndDouble = Option.composeK(parse, double)
2740
2558
  *
2741
- * console.log(parseAndDouble("42"))
2742
- * // Output: { _id: 'Option', _tag: 'Some', value: 84 }
2743
- *
2744
- * console.log(parseAndDouble("not a number"))
2745
- * // Output: { _id: 'Option', _tag: 'None' }
2559
+ * parseAndDouble("42") // => Option.some(84)
2560
+ * parseAndDouble("not a number") // => Option.none()
2746
2561
  * ```
2747
2562
  *
2748
2563
  * @see {@link flatMap} for single-step chaining
@@ -2770,17 +2585,14 @@ export const composeK: {
2770
2585
  *
2771
2586
  * **Example** (Validating without transforming)
2772
2587
  *
2773
- * ```ts
2588
+ * ```ts import.meta.vitest
2774
2589
  * import { Option } from "effect"
2775
2590
  *
2776
2591
  * const getInteger = (n: number) =>
2777
2592
  * Number.isInteger(n) ? Option.some(n) : Option.none()
2778
2593
  *
2779
- * console.log(Option.tap(Option.some(1), getInteger))
2780
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
2781
- *
2782
- * console.log(Option.tap(Option.some(1.14), getInteger))
2783
- * // Output: { _id: 'Option', _tag: 'None' }
2594
+ * Option.tap(Option.some(1), getInteger) // => Option.some(1)
2595
+ * Option.tap(Option.some(1.14), getInteger) // => Option.none()
2784
2596
  * ```
2785
2597
  *
2786
2598
  * @see {@link flatMap} when you want to transform the value
@@ -2807,17 +2619,14 @@ export const tap: {
2807
2619
  *
2808
2620
  * **Example** (Validating without transforming)
2809
2621
  *
2810
- * ```ts
2622
+ * ```ts import.meta.vitest
2811
2623
  * import { Option } from "effect"
2812
2624
  *
2813
2625
  * const getInteger = (n: number) =>
2814
2626
  * Number.isInteger(n) ? Option.some(n) : Option.none()
2815
2627
  *
2816
- * console.log(Option.tap(Option.some(1), getInteger))
2817
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
2818
- *
2819
- * console.log(Option.tap(Option.some(1.14), getInteger))
2820
- * // Output: { _id: 'Option', _tag: 'None' }
2628
+ * Option.tap(Option.some(1), getInteger) // => Option.some(1)
2629
+ * Option.tap(Option.some(1.14), getInteger) // => Option.none()
2821
2630
  * ```
2822
2631
  *
2823
2632
  * @see {@link flatMap} when you want to transform the value
@@ -2844,17 +2653,14 @@ export const tap: {
2844
2653
  *
2845
2654
  * **Example** (Validating without transforming)
2846
2655
  *
2847
- * ```ts
2656
+ * ```ts import.meta.vitest
2848
2657
  * import { Option } from "effect"
2849
2658
  *
2850
2659
  * const getInteger = (n: number) =>
2851
2660
  * Number.isInteger(n) ? Option.some(n) : Option.none()
2852
2661
  *
2853
- * console.log(Option.tap(Option.some(1), getInteger))
2854
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
2855
- *
2856
- * console.log(Option.tap(Option.some(1.14), getInteger))
2857
- * // Output: { _id: 'Option', _tag: 'None' }
2662
+ * Option.tap(Option.some(1), getInteger) // => Option.some(1)
2663
+ * Option.tap(Option.some(1.14), getInteger) // => Option.none()
2858
2664
  * ```
2859
2665
  *
2860
2666
  * @see {@link flatMap} when you want to transform the value
@@ -2882,14 +2688,11 @@ export const tap: {
2882
2688
  *
2883
2689
  * **Example** (Pairing two Options)
2884
2690
  *
2885
- * ```ts
2691
+ * ```ts import.meta.vitest
2886
2692
  * import { Option } from "effect"
2887
2693
  *
2888
- * console.log(Option.product(Option.some("hello"), Option.some(42)))
2889
- * // Output: { _id: 'Option', _tag: 'Some', value: ['hello', 42] }
2890
- *
2891
- * console.log(Option.product(Option.none(), Option.some(42)))
2892
- * // Output: { _id: 'Option', _tag: 'None' }
2694
+ * Option.product(Option.some("hello"), Option.some(42)) // => Option.some(["hello", 42])
2695
+ * Option.product(Option.none(), Option.some(42)) // => Option.none()
2893
2696
  * ```
2894
2697
  *
2895
2698
  * @see {@link zipWith} to combine with a function instead of a tuple
@@ -2917,17 +2720,14 @@ export const product = <A, B>(self: Option<A>, that: Option<B>): Option<[A, B]>
2917
2720
  *
2918
2721
  * **Example** (Combining many Options)
2919
2722
  *
2920
- * ```ts
2723
+ * ```ts import.meta.vitest
2921
2724
  * import { Option } from "effect"
2922
2725
  *
2923
2726
  * const first = Option.some(1)
2924
2727
  * const rest = [Option.some(2), Option.some(3)]
2925
2728
  *
2926
- * console.log(Option.productMany(first, rest))
2927
- * // Output: { _id: 'Option', _tag: 'Some', value: [1, 2, 3] }
2928
- *
2929
- * console.log(Option.productMany(first, [Option.some(2), Option.none()]))
2930
- * // Output: { _id: 'Option', _tag: 'None' }
2729
+ * Option.productMany(first, rest) // => Option.some([1, 2, 3])
2730
+ * Option.productMany(first, [Option.some(2), Option.none()]) // => Option.none()
2931
2731
  * ```
2932
2732
  *
2933
2733
  * @see {@link product} for combining exactly two
@@ -2971,7 +2771,7 @@ export const productMany = <A>(
2971
2771
  *
2972
2772
  * **Example** (Combining a tuple and a struct)
2973
2773
  *
2974
- * ```ts
2774
+ * ```ts import.meta.vitest
2975
2775
  * import { Option } from "effect"
2976
2776
  *
2977
2777
  * const maybeName: Option.Option<string> = Option.some("John")
@@ -2979,17 +2779,11 @@ export const productMany = <A>(
2979
2779
  *
2980
2780
  * // ┌─── Option<[string, number]>
2981
2781
  * // ▼
2982
- * const tuple = Option.all([maybeName, maybeAge])
2983
- * console.log(tuple)
2984
- * // Output:
2985
- * // { _id: 'Option', _tag: 'Some', value: [ 'John', 25 ] }
2782
+ * const tuple = Option.all([maybeName, maybeAge]) // => Option.some(["John", 25])
2986
2783
  *
2987
2784
  * // ┌─── Option<{ name: string; age: number; }>
2988
2785
  * // ▼
2989
- * const struct = Option.all({ name: maybeName, age: maybeAge })
2990
- * console.log(struct)
2991
- * // Output:
2992
- * // { _id: 'Option', _tag: 'Some', value: { name: 'John', age: 25 } }
2786
+ * const struct = Option.all({ name: maybeName, age: maybeAge }) // => Option.some({ name: "John", age: 25 })
2993
2787
  * ```
2994
2788
  *
2995
2789
  * @see {@link product} for combining exactly two
@@ -3025,7 +2819,7 @@ export const all: <const I extends Iterable<Option<any>> | Record<string, Option
3025
2819
  if (isNone(o)) {
3026
2820
  return none()
3027
2821
  }
3028
- out[key] = o.value
2822
+ InternalRecord.assignProperty(out, key, o.value)
3029
2823
  }
3030
2824
  return some(out)
3031
2825
  }
@@ -3045,18 +2839,14 @@ export const all: <const I extends Iterable<Option<any>> | Record<string, Option
3045
2839
  *
3046
2840
  * **Example** (Combining with a function)
3047
2841
  *
3048
- * ```ts
2842
+ * ```ts import.meta.vitest
3049
2843
  * import { Option } from "effect"
3050
2844
  *
3051
- * const person = Option.zipWith(
2845
+ * Option.zipWith(
3052
2846
  * Option.some("John"),
3053
2847
  * Option.some(25),
3054
2848
  * (name, age) => ({ name: name.toUpperCase(), age })
3055
- * )
3056
- *
3057
- * console.log(person)
3058
- * // Output:
3059
- * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
2849
+ * ) // => Option.some({ name: "JOHN", age: 25 })
3060
2850
  * ```
3061
2851
  *
3062
2852
  * @see {@link product} to combine into a tuple instead
@@ -3081,18 +2871,14 @@ export const zipWith: {
3081
2871
  *
3082
2872
  * **Example** (Combining with a function)
3083
2873
  *
3084
- * ```ts
2874
+ * ```ts import.meta.vitest
3085
2875
  * import { Option } from "effect"
3086
2876
  *
3087
- * const person = Option.zipWith(
2877
+ * Option.zipWith(
3088
2878
  * Option.some("John"),
3089
2879
  * Option.some(25),
3090
2880
  * (name, age) => ({ name: name.toUpperCase(), age })
3091
- * )
3092
- *
3093
- * console.log(person)
3094
- * // Output:
3095
- * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
2881
+ * ) // => Option.some({ name: "JOHN", age: 25 })
3096
2882
  * ```
3097
2883
  *
3098
2884
  * @see {@link product} to combine into a tuple instead
@@ -3117,18 +2903,14 @@ export const zipWith: {
3117
2903
  *
3118
2904
  * **Example** (Combining with a function)
3119
2905
  *
3120
- * ```ts
2906
+ * ```ts import.meta.vitest
3121
2907
  * import { Option } from "effect"
3122
2908
  *
3123
- * const person = Option.zipWith(
2909
+ * Option.zipWith(
3124
2910
  * Option.some("John"),
3125
2911
  * Option.some(25),
3126
2912
  * (name, age) => ({ name: name.toUpperCase(), age })
3127
- * )
3128
- *
3129
- * console.log(person)
3130
- * // Output:
3131
- * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
2913
+ * ) // => Option.some({ name: "JOHN", age: 25 })
3132
2914
  * ```
3133
2915
  *
3134
2916
  * @see {@link product} to combine into a tuple instead
@@ -3160,16 +2942,15 @@ export const zipWith: {
3160
2942
  *
3161
2943
  * **Example** (Summing present values)
3162
2944
  *
3163
- * ```ts
2945
+ * ```ts import.meta.vitest
3164
2946
  * import { Option, pipe } from "effect"
3165
2947
  *
3166
2948
  * const items = [Option.some(1), Option.none(), Option.some(2), Option.none()]
3167
2949
  *
3168
- * console.log(pipe(items, Option.reduceCompact(0, (b, a) => b + a)))
3169
- * // Output: 3
2950
+ * pipe(items, Option.reduceCompact(0, (b, a) => b + a)) // => 3
3170
2951
  * ```
3171
2952
  *
3172
- * @category reducing
2953
+ * @category folding
3173
2954
  * @since 2.0.0
3174
2955
  */
3175
2956
  export const reduceCompact: {
@@ -3189,16 +2970,15 @@ export const reduceCompact: {
3189
2970
  *
3190
2971
  * **Example** (Summing present values)
3191
2972
  *
3192
- * ```ts
2973
+ * ```ts import.meta.vitest
3193
2974
  * import { Option, pipe } from "effect"
3194
2975
  *
3195
2976
  * const items = [Option.some(1), Option.none(), Option.some(2), Option.none()]
3196
2977
  *
3197
- * console.log(pipe(items, Option.reduceCompact(0, (b, a) => b + a)))
3198
- * // Output: 3
2978
+ * pipe(items, Option.reduceCompact(0, (b, a) => b + a)) // => 3
3199
2979
  * ```
3200
2980
  *
3201
- * @category reducing
2981
+ * @category folding
3202
2982
  * @since 2.0.0
3203
2983
  */
3204
2984
  <B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<Option<A>>) => B
@@ -3218,16 +2998,15 @@ export const reduceCompact: {
3218
2998
  *
3219
2999
  * **Example** (Summing present values)
3220
3000
  *
3221
- * ```ts
3001
+ * ```ts import.meta.vitest
3222
3002
  * import { Option, pipe } from "effect"
3223
3003
  *
3224
3004
  * const items = [Option.some(1), Option.none(), Option.some(2), Option.none()]
3225
3005
  *
3226
- * console.log(pipe(items, Option.reduceCompact(0, (b, a) => b + a)))
3227
- * // Output: 3
3006
+ * pipe(items, Option.reduceCompact(0, (b, a) => b + a)) // => 3
3228
3007
  * ```
3229
3008
  *
3230
- * @category reducing
3009
+ * @category folding
3231
3010
  * @since 2.0.0
3232
3011
  */
3233
3012
  <A, B>(self: Iterable<Option<A>>, b: B, f: (b: B, a: A) => B): B
@@ -3259,14 +3038,11 @@ export const reduceCompact: {
3259
3038
  *
3260
3039
  * **Example** (Converting to an array)
3261
3040
  *
3262
- * ```ts
3041
+ * ```ts import.meta.vitest
3263
3042
  * import { Option } from "effect"
3264
3043
  *
3265
- * console.log(Option.toArray(Option.some(1)))
3266
- * // Output: [1]
3267
- *
3268
- * console.log(Option.toArray(Option.none()))
3269
- * // Output: []
3044
+ * Option.toArray(Option.some(1)) // => [1]
3045
+ * Option.toArray(Option.none()) // => []
3270
3046
  * ```
3271
3047
  *
3272
3048
  * @see {@link fromIterable} for the inverse direction
@@ -3292,7 +3068,7 @@ export const toArray = <A>(self: Option<A>): Array<A> => isNone(self) ? [] : [se
3292
3068
  *
3293
3069
  * **Example** (Partitioning by Result)
3294
3070
  *
3295
- * ```ts
3071
+ * ```ts import.meta.vitest
3296
3072
  * import { Option, Result } from "effect"
3297
3073
  *
3298
3074
  * const parseNumber = (s: string): Result.Result<number, string> => {
@@ -3300,14 +3076,9 @@ export const toArray = <A>(self: Option<A>): Array<A> => isNone(self) ? [] : [se
3300
3076
  * return isNaN(n) ? Result.fail("Not a number") : Result.succeed(n)
3301
3077
  * }
3302
3078
  *
3303
- * console.log(Option.partitionMap(Option.some("42"), parseNumber))
3304
- * // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'Some', value: 42 }]
3305
- *
3306
- * console.log(Option.partitionMap(Option.some("abc"), parseNumber))
3307
- * // Output: [{ _id: 'Option', _tag: 'Some', value: 'Not a number' }, { _id: 'Option', _tag: 'None' }]
3308
- *
3309
- * console.log(Option.partitionMap(Option.none(), parseNumber))
3310
- * // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'None' }]
3079
+ * Option.partitionMap(Option.some("42"), parseNumber) // => [Option.none(), Option.some(42)]
3080
+ * Option.partitionMap(Option.some("abc"), parseNumber) // => [Option.some("Not a number"), Option.none()]
3081
+ * Option.partitionMap(Option.none(), parseNumber) // => [Option.none(), Option.none()]
3311
3082
  * ```
3312
3083
  *
3313
3084
  * @see {@link filter} for simple predicate-based filtering
@@ -3332,7 +3103,7 @@ export const partitionMap: {
3332
3103
  *
3333
3104
  * **Example** (Partitioning by Result)
3334
3105
  *
3335
- * ```ts
3106
+ * ```ts import.meta.vitest
3336
3107
  * import { Option, Result } from "effect"
3337
3108
  *
3338
3109
  * const parseNumber = (s: string): Result.Result<number, string> => {
@@ -3340,14 +3111,9 @@ export const partitionMap: {
3340
3111
  * return isNaN(n) ? Result.fail("Not a number") : Result.succeed(n)
3341
3112
  * }
3342
3113
  *
3343
- * console.log(Option.partitionMap(Option.some("42"), parseNumber))
3344
- * // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'Some', value: 42 }]
3345
- *
3346
- * console.log(Option.partitionMap(Option.some("abc"), parseNumber))
3347
- * // Output: [{ _id: 'Option', _tag: 'Some', value: 'Not a number' }, { _id: 'Option', _tag: 'None' }]
3348
- *
3349
- * console.log(Option.partitionMap(Option.none(), parseNumber))
3350
- * // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'None' }]
3114
+ * Option.partitionMap(Option.some("42"), parseNumber) // => [Option.none(), Option.some(42)]
3115
+ * Option.partitionMap(Option.some("abc"), parseNumber) // => [Option.some("Not a number"), Option.none()]
3116
+ * Option.partitionMap(Option.none(), parseNumber) // => [Option.none(), Option.none()]
3351
3117
  * ```
3352
3118
  *
3353
3119
  * @see {@link filter} for simple predicate-based filtering
@@ -3372,7 +3138,7 @@ export const partitionMap: {
3372
3138
  *
3373
3139
  * **Example** (Partitioning by Result)
3374
3140
  *
3375
- * ```ts
3141
+ * ```ts import.meta.vitest
3376
3142
  * import { Option, Result } from "effect"
3377
3143
  *
3378
3144
  * const parseNumber = (s: string): Result.Result<number, string> => {
@@ -3380,14 +3146,9 @@ export const partitionMap: {
3380
3146
  * return isNaN(n) ? Result.fail("Not a number") : Result.succeed(n)
3381
3147
  * }
3382
3148
  *
3383
- * console.log(Option.partitionMap(Option.some("42"), parseNumber))
3384
- * // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'Some', value: 42 }]
3385
- *
3386
- * console.log(Option.partitionMap(Option.some("abc"), parseNumber))
3387
- * // Output: [{ _id: 'Option', _tag: 'Some', value: 'Not a number' }, { _id: 'Option', _tag: 'None' }]
3388
- *
3389
- * console.log(Option.partitionMap(Option.none(), parseNumber))
3390
- * // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'None' }]
3149
+ * Option.partitionMap(Option.some("42"), parseNumber) // => [Option.none(), Option.some(42)]
3150
+ * Option.partitionMap(Option.some("abc"), parseNumber) // => [Option.some("Not a number"), Option.none()]
3151
+ * Option.partitionMap(Option.none(), parseNumber) // => [Option.none(), Option.none()]
3391
3152
  * ```
3392
3153
  *
3393
3154
  * @see {@link filter} for simple predicate-based filtering
@@ -3422,14 +3183,13 @@ export const partitionMap: {
3422
3183
  *
3423
3184
  * **Example** (Filtering and transforming)
3424
3185
  *
3425
- * ```ts
3186
+ * ```ts import.meta.vitest
3426
3187
  * import { Option, Result } from "effect"
3427
3188
  *
3428
- * console.log(Option.filterMap(
3189
+ * Option.filterMap(
3429
3190
  * Option.some(2),
3430
3191
  * (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
3431
- * ))
3432
- * // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
3192
+ * ) // => Option.some("Even: 2")
3433
3193
  * ```
3434
3194
  *
3435
3195
  * @see {@link filter} for predicate-based filtering
@@ -3453,14 +3213,13 @@ export const filterMap: {
3453
3213
  *
3454
3214
  * **Example** (Filtering and transforming)
3455
3215
  *
3456
- * ```ts
3216
+ * ```ts import.meta.vitest
3457
3217
  * import { Option, Result } from "effect"
3458
3218
  *
3459
- * console.log(Option.filterMap(
3219
+ * Option.filterMap(
3460
3220
  * Option.some(2),
3461
3221
  * (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
3462
- * ))
3463
- * // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
3222
+ * ) // => Option.some("Even: 2")
3464
3223
  * ```
3465
3224
  *
3466
3225
  * @see {@link filter} for predicate-based filtering
@@ -3484,14 +3243,13 @@ export const filterMap: {
3484
3243
  *
3485
3244
  * **Example** (Filtering and transforming)
3486
3245
  *
3487
- * ```ts
3246
+ * ```ts import.meta.vitest
3488
3247
  * import { Option, Result } from "effect"
3489
3248
  *
3490
- * console.log(Option.filterMap(
3249
+ * Option.filterMap(
3491
3250
  * Option.some(2),
3492
3251
  * (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
3493
- * ))
3494
- * // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
3252
+ * ) // => Option.some("Even: 2")
3495
3253
  * ```
3496
3254
  *
3497
3255
  * @see {@link filter} for predicate-based filtering
@@ -3526,20 +3284,15 @@ export const filterMap: {
3526
3284
  *
3527
3285
  * **Example** (Filtering with a predicate)
3528
3286
  *
3529
- * ```ts
3287
+ * ```ts import.meta.vitest
3530
3288
  * import { Option } from "effect"
3531
3289
  *
3532
3290
  * const removeEmpty = (input: Option.Option<string>) =>
3533
3291
  * Option.filter(input, (value) => value !== "")
3534
3292
  *
3535
- * console.log(removeEmpty(Option.some("hello")))
3536
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
3537
- *
3538
- * console.log(removeEmpty(Option.some("")))
3539
- * // Output: { _id: 'Option', _tag: 'None' }
3540
- *
3541
- * console.log(removeEmpty(Option.none()))
3542
- * // Output: { _id: 'Option', _tag: 'None' }
3293
+ * removeEmpty(Option.some("hello")) // => Option.some("hello")
3294
+ * removeEmpty(Option.some("")) // => Option.none()
3295
+ * removeEmpty(Option.none()) // => Option.none()
3543
3296
  * ```
3544
3297
  *
3545
3298
  * @see {@link filterMap} to transform and filter simultaneously
@@ -3567,20 +3320,15 @@ export const filter: {
3567
3320
  *
3568
3321
  * **Example** (Filtering with a predicate)
3569
3322
  *
3570
- * ```ts
3323
+ * ```ts import.meta.vitest
3571
3324
  * import { Option } from "effect"
3572
3325
  *
3573
3326
  * const removeEmpty = (input: Option.Option<string>) =>
3574
3327
  * Option.filter(input, (value) => value !== "")
3575
3328
  *
3576
- * console.log(removeEmpty(Option.some("hello")))
3577
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
3578
- *
3579
- * console.log(removeEmpty(Option.some("")))
3580
- * // Output: { _id: 'Option', _tag: 'None' }
3581
- *
3582
- * console.log(removeEmpty(Option.none()))
3583
- * // Output: { _id: 'Option', _tag: 'None' }
3329
+ * removeEmpty(Option.some("hello")) // => Option.some("hello")
3330
+ * removeEmpty(Option.some("")) // => Option.none()
3331
+ * removeEmpty(Option.none()) // => Option.none()
3584
3332
  * ```
3585
3333
  *
3586
3334
  * @see {@link filterMap} to transform and filter simultaneously
@@ -3608,20 +3356,15 @@ export const filter: {
3608
3356
  *
3609
3357
  * **Example** (Filtering with a predicate)
3610
3358
  *
3611
- * ```ts
3359
+ * ```ts import.meta.vitest
3612
3360
  * import { Option } from "effect"
3613
3361
  *
3614
3362
  * const removeEmpty = (input: Option.Option<string>) =>
3615
3363
  * Option.filter(input, (value) => value !== "")
3616
3364
  *
3617
- * console.log(removeEmpty(Option.some("hello")))
3618
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
3619
- *
3620
- * console.log(removeEmpty(Option.some("")))
3621
- * // Output: { _id: 'Option', _tag: 'None' }
3622
- *
3623
- * console.log(removeEmpty(Option.none()))
3624
- * // Output: { _id: 'Option', _tag: 'None' }
3365
+ * removeEmpty(Option.some("hello")) // => Option.some("hello")
3366
+ * removeEmpty(Option.some("")) // => Option.none()
3367
+ * removeEmpty(Option.none()) // => Option.none()
3625
3368
  * ```
3626
3369
  *
3627
3370
  * @see {@link filterMap} to transform and filter simultaneously
@@ -3649,20 +3392,15 @@ export const filter: {
3649
3392
  *
3650
3393
  * **Example** (Filtering with a predicate)
3651
3394
  *
3652
- * ```ts
3395
+ * ```ts import.meta.vitest
3653
3396
  * import { Option } from "effect"
3654
3397
  *
3655
3398
  * const removeEmpty = (input: Option.Option<string>) =>
3656
3399
  * Option.filter(input, (value) => value !== "")
3657
3400
  *
3658
- * console.log(removeEmpty(Option.some("hello")))
3659
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
3660
- *
3661
- * console.log(removeEmpty(Option.some("")))
3662
- * // Output: { _id: 'Option', _tag: 'None' }
3663
- *
3664
- * console.log(removeEmpty(Option.none()))
3665
- * // Output: { _id: 'Option', _tag: 'None' }
3401
+ * removeEmpty(Option.some("hello")) // => Option.some("hello")
3402
+ * removeEmpty(Option.some("")) // => Option.none()
3403
+ * removeEmpty(Option.none()) // => Option.none()
3666
3404
  * ```
3667
3405
  *
3668
3406
  * @see {@link filterMap} to transform and filter simultaneously
@@ -3690,20 +3428,15 @@ export const filter: {
3690
3428
  *
3691
3429
  * **Example** (Filtering with a predicate)
3692
3430
  *
3693
- * ```ts
3431
+ * ```ts import.meta.vitest
3694
3432
  * import { Option } from "effect"
3695
3433
  *
3696
3434
  * const removeEmpty = (input: Option.Option<string>) =>
3697
3435
  * Option.filter(input, (value) => value !== "")
3698
3436
  *
3699
- * console.log(removeEmpty(Option.some("hello")))
3700
- * // Output: { _id: 'Option', _tag: 'Some', value: 'hello' }
3701
- *
3702
- * console.log(removeEmpty(Option.some("")))
3703
- * // Output: { _id: 'Option', _tag: 'None' }
3704
- *
3705
- * console.log(removeEmpty(Option.none()))
3706
- * // Output: { _id: 'Option', _tag: 'None' }
3437
+ * removeEmpty(Option.some("hello")) // => Option.some("hello")
3438
+ * removeEmpty(Option.some("")) // => Option.none()
3439
+ * removeEmpty(Option.none()) // => Option.none()
3707
3440
  * ```
3708
3441
  *
3709
3442
  * @see {@link filterMap} to transform and filter simultaneously
@@ -3735,19 +3468,14 @@ export const filter: {
3735
3468
  *
3736
3469
  * **Example** (Comparing Options)
3737
3470
  *
3738
- * ```ts
3471
+ * ```ts import.meta.vitest
3739
3472
  * import { Equivalence, Option } from "effect"
3740
3473
  *
3741
3474
  * const eq = Option.makeEquivalence(Equivalence.strictEqual<number>())
3742
3475
  *
3743
- * console.log(eq(Option.some(1), Option.some(1)))
3744
- * // Output: true
3745
- *
3746
- * console.log(eq(Option.some(1), Option.some(2)))
3747
- * // Output: false
3748
- *
3749
- * console.log(eq(Option.none(), Option.none()))
3750
- * // Output: true
3476
+ * eq(Option.some(1), Option.some(1)) // => true
3477
+ * eq(Option.some(1), Option.some(2)) // => false
3478
+ * eq(Option.none(), Option.none()) // => true
3751
3479
  * ```
3752
3480
  *
3753
3481
  * @category instances
@@ -3773,19 +3501,14 @@ export const makeEquivalence = <A>(isEquivalent: Equivalence.Equivalence<A>): Eq
3773
3501
  *
3774
3502
  * **Example** (Ordering Options)
3775
3503
  *
3776
- * ```ts
3504
+ * ```ts import.meta.vitest
3777
3505
  * import { Number as N, Option } from "effect"
3778
3506
  *
3779
3507
  * const ord = Option.makeOrder(N.Order)
3780
3508
  *
3781
- * console.log(ord(Option.none(), Option.some(1)))
3782
- * // Output: -1
3783
- *
3784
- * console.log(ord(Option.some(1), Option.none()))
3785
- * // Output: 1
3786
- *
3787
- * console.log(ord(Option.some(1), Option.some(2)))
3788
- * // Output: -1
3509
+ * ord(Option.none(), Option.some(1)) // => -1
3510
+ * ord(Option.some(1), Option.none()) // => 1
3511
+ * ord(Option.some(1), Option.some(2)) // => -1
3789
3512
  * ```
3790
3513
  *
3791
3514
  * @category sorting
@@ -3809,16 +3532,13 @@ export const makeOrder = <A>(O: Order<A>): Order<Option<A>> =>
3809
3532
  *
3810
3533
  * **Example** (Lifting addition)
3811
3534
  *
3812
- * ```ts
3535
+ * ```ts import.meta.vitest
3813
3536
  * import { Option } from "effect"
3814
3537
  *
3815
3538
  * const addOptions = Option.lift2((a: number, b: number) => a + b)
3816
3539
  *
3817
- * console.log(addOptions(Option.some(2), Option.some(3)))
3818
- * // Output: { _id: 'Option', _tag: 'Some', value: 5 }
3819
- *
3820
- * console.log(addOptions(Option.some(2), Option.none()))
3821
- * // Output: { _id: 'Option', _tag: 'None' }
3540
+ * addOptions(Option.some(2), Option.some(3)) // => Option.some(5)
3541
+ * addOptions(Option.some(2), Option.none()) // => Option.none()
3822
3542
  * ```
3823
3543
  *
3824
3544
  * @see {@link zipWith} for a non-lifted variant
@@ -3848,16 +3568,13 @@ export const lift2 = <A, B, C>(f: (a: A, b: B) => C): {
3848
3568
  *
3849
3569
  * **Example** (Validating positive numbers)
3850
3570
  *
3851
- * ```ts
3571
+ * ```ts import.meta.vitest
3852
3572
  * import { Option } from "effect"
3853
3573
  *
3854
3574
  * const parsePositive = Option.liftPredicate((n: number) => n > 0)
3855
3575
  *
3856
- * console.log(parsePositive(1))
3857
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3858
- *
3859
- * console.log(parsePositive(-1))
3860
- * // Output: { _id: 'Option', _tag: 'None' }
3576
+ * parsePositive(1) // => Option.some(1)
3577
+ * parsePositive(-1) // => Option.none()
3861
3578
  * ```
3862
3579
  *
3863
3580
  * @see {@link filter} to apply a predicate to an existing `Option`
@@ -3885,16 +3602,13 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
3885
3602
  *
3886
3603
  * **Example** (Validating positive numbers)
3887
3604
  *
3888
- * ```ts
3605
+ * ```ts import.meta.vitest
3889
3606
  * import { Option } from "effect"
3890
3607
  *
3891
3608
  * const parsePositive = Option.liftPredicate((n: number) => n > 0)
3892
3609
  *
3893
- * console.log(parsePositive(1))
3894
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3895
- *
3896
- * console.log(parsePositive(-1))
3897
- * // Output: { _id: 'Option', _tag: 'None' }
3610
+ * parsePositive(1) // => Option.some(1)
3611
+ * parsePositive(-1) // => Option.none()
3898
3612
  * ```
3899
3613
  *
3900
3614
  * @see {@link filter} to apply a predicate to an existing `Option`
@@ -3921,16 +3635,13 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
3921
3635
  *
3922
3636
  * **Example** (Validating positive numbers)
3923
3637
  *
3924
- * ```ts
3638
+ * ```ts import.meta.vitest
3925
3639
  * import { Option } from "effect"
3926
3640
  *
3927
3641
  * const parsePositive = Option.liftPredicate((n: number) => n > 0)
3928
3642
  *
3929
- * console.log(parsePositive(1))
3930
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3931
- *
3932
- * console.log(parsePositive(-1))
3933
- * // Output: { _id: 'Option', _tag: 'None' }
3643
+ * parsePositive(1) // => Option.some(1)
3644
+ * parsePositive(-1) // => Option.none()
3934
3645
  * ```
3935
3646
  *
3936
3647
  * @see {@link filter} to apply a predicate to an existing `Option`
@@ -3957,16 +3668,13 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
3957
3668
  *
3958
3669
  * **Example** (Validating positive numbers)
3959
3670
  *
3960
- * ```ts
3671
+ * ```ts import.meta.vitest
3961
3672
  * import { Option } from "effect"
3962
3673
  *
3963
3674
  * const parsePositive = Option.liftPredicate((n: number) => n > 0)
3964
3675
  *
3965
- * console.log(parsePositive(1))
3966
- * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3967
- *
3968
- * console.log(parsePositive(-1))
3969
- * // Output: { _id: 'Option', _tag: 'None' }
3676
+ * parsePositive(1) // => Option.some(1)
3677
+ * parsePositive(-1) // => Option.none()
3970
3678
  * ```
3971
3679
  *
3972
3680
  * @see {@link filter} to apply a predicate to an existing `Option`
@@ -3997,24 +3705,19 @@ export const liftPredicate: { // Note: I intentionally avoid using the NoInfer p
3997
3705
  *
3998
3706
  * **Example** (Checking with custom equivalence)
3999
3707
  *
4000
- * ```ts
3708
+ * ```ts import.meta.vitest
4001
3709
  * import { Equivalence, Option } from "effect"
4002
3710
  *
4003
3711
  * const check = Option.containsWith(Equivalence.strictEqual<number>())
4004
3712
  *
4005
- * console.log(Option.some(2).pipe(check(2)))
4006
- * // Output: true
4007
- *
4008
- * console.log(Option.some(1).pipe(check(2)))
4009
- * // Output: false
4010
- *
4011
- * console.log(Option.none().pipe(check(2)))
4012
- * // Output: false
3713
+ * Option.some(2).pipe(check(2)) // => true
3714
+ * Option.some(1).pipe(check(2)) // => false
3715
+ * Option.none().pipe(check(2)) // => false
4013
3716
  * ```
4014
3717
  *
4015
3718
  * @see {@link contains} for a version using default equality
4016
3719
  *
4017
- * @category elements
3720
+ * @category predicates
4018
3721
  * @since 2.0.0
4019
3722
  */
4020
3723
  export const containsWith = <A>(isEquivalent: (self: A, that: A) => boolean): {
@@ -4038,23 +3741,18 @@ export const containsWith = <A>(isEquivalent: (self: A, that: A) => boolean): {
4038
3741
  *
4039
3742
  * **Example** (Checking containment)
4040
3743
  *
4041
- * ```ts
3744
+ * ```ts import.meta.vitest
4042
3745
  * import { Option } from "effect"
4043
3746
  *
4044
- * console.log(Option.some(2).pipe(Option.contains(2)))
4045
- * // Output: true
4046
- *
4047
- * console.log(Option.some(1).pipe(Option.contains(2)))
4048
- * // Output: false
4049
- *
4050
- * console.log(Option.none().pipe(Option.contains(2)))
4051
- * // Output: false
3747
+ * Option.some(2).pipe(Option.contains(2)) // => true
3748
+ * Option.some(1).pipe(Option.contains(2)) // => false
3749
+ * Option.none().pipe(Option.contains(2)) // => false
4052
3750
  * ```
4053
3751
  *
4054
3752
  * @see {@link containsWith} for custom equality
4055
3753
  * @see {@link exists} to test with a predicate
4056
3754
  *
4057
- * @category elements
3755
+ * @category predicates
4058
3756
  * @since 2.0.0
4059
3757
  */
4060
3758
  export const contains: {
@@ -4074,23 +3772,18 @@ export const contains: {
4074
3772
  *
4075
3773
  * **Example** (Checking containment)
4076
3774
  *
4077
- * ```ts
3775
+ * ```ts import.meta.vitest
4078
3776
  * import { Option } from "effect"
4079
3777
  *
4080
- * console.log(Option.some(2).pipe(Option.contains(2)))
4081
- * // Output: true
4082
- *
4083
- * console.log(Option.some(1).pipe(Option.contains(2)))
4084
- * // Output: false
4085
- *
4086
- * console.log(Option.none().pipe(Option.contains(2)))
4087
- * // Output: false
3778
+ * Option.some(2).pipe(Option.contains(2)) // => true
3779
+ * Option.some(1).pipe(Option.contains(2)) // => false
3780
+ * Option.none().pipe(Option.contains(2)) // => false
4088
3781
  * ```
4089
3782
  *
4090
3783
  * @see {@link containsWith} for custom equality
4091
3784
  * @see {@link exists} to test with a predicate
4092
3785
  *
4093
- * @category elements
3786
+ * @category predicates
4094
3787
  * @since 2.0.0
4095
3788
  */
4096
3789
  <A>(a: A): (self: Option<A>) => boolean
@@ -4110,23 +3803,18 @@ export const contains: {
4110
3803
  *
4111
3804
  * **Example** (Checking containment)
4112
3805
  *
4113
- * ```ts
3806
+ * ```ts import.meta.vitest
4114
3807
  * import { Option } from "effect"
4115
3808
  *
4116
- * console.log(Option.some(2).pipe(Option.contains(2)))
4117
- * // Output: true
4118
- *
4119
- * console.log(Option.some(1).pipe(Option.contains(2)))
4120
- * // Output: false
4121
- *
4122
- * console.log(Option.none().pipe(Option.contains(2)))
4123
- * // Output: false
3809
+ * Option.some(2).pipe(Option.contains(2)) // => true
3810
+ * Option.some(1).pipe(Option.contains(2)) // => false
3811
+ * Option.none().pipe(Option.contains(2)) // => false
4124
3812
  * ```
4125
3813
  *
4126
3814
  * @see {@link containsWith} for custom equality
4127
3815
  * @see {@link exists} to test with a predicate
4128
3816
  *
4129
- * @category elements
3817
+ * @category predicates
4130
3818
  * @since 2.0.0
4131
3819
  */
4132
3820
  <A>(self: Option<A>, a: A): boolean
@@ -4148,25 +3836,20 @@ export const contains: {
4148
3836
  *
4149
3837
  * **Example** (Testing a condition)
4150
3838
  *
4151
- * ```ts
3839
+ * ```ts import.meta.vitest
4152
3840
  * import { Option } from "effect"
4153
3841
  *
4154
3842
  * const isEven = (n: number) => n % 2 === 0
4155
3843
  *
4156
- * console.log(Option.some(2).pipe(Option.exists(isEven)))
4157
- * // Output: true
4158
- *
4159
- * console.log(Option.some(1).pipe(Option.exists(isEven)))
4160
- * // Output: false
4161
- *
4162
- * console.log(Option.none().pipe(Option.exists(isEven)))
4163
- * // Output: false
3844
+ * Option.some(2).pipe(Option.exists(isEven)) // => true
3845
+ * Option.some(1).pipe(Option.exists(isEven)) // => false
3846
+ * Option.none().pipe(Option.exists(isEven)) // => false
4164
3847
  * ```
4165
3848
  *
4166
3849
  * @see {@link filter} to keep or discard based on a predicate
4167
3850
  * @see {@link contains} to test for a specific value
4168
3851
  *
4169
- * @category elements
3852
+ * @category predicates
4170
3853
  * @since 2.0.0
4171
3854
  */
4172
3855
  export const exists: {
@@ -4186,25 +3869,20 @@ export const exists: {
4186
3869
  *
4187
3870
  * **Example** (Testing a condition)
4188
3871
  *
4189
- * ```ts
3872
+ * ```ts import.meta.vitest
4190
3873
  * import { Option } from "effect"
4191
3874
  *
4192
3875
  * const isEven = (n: number) => n % 2 === 0
4193
3876
  *
4194
- * console.log(Option.some(2).pipe(Option.exists(isEven)))
4195
- * // Output: true
4196
- *
4197
- * console.log(Option.some(1).pipe(Option.exists(isEven)))
4198
- * // Output: false
4199
- *
4200
- * console.log(Option.none().pipe(Option.exists(isEven)))
4201
- * // Output: false
3877
+ * Option.some(2).pipe(Option.exists(isEven)) // => true
3878
+ * Option.some(1).pipe(Option.exists(isEven)) // => false
3879
+ * Option.none().pipe(Option.exists(isEven)) // => false
4202
3880
  * ```
4203
3881
  *
4204
3882
  * @see {@link filter} to keep or discard based on a predicate
4205
3883
  * @see {@link contains} to test for a specific value
4206
3884
  *
4207
- * @category elements
3885
+ * @category predicates
4208
3886
  * @since 2.0.0
4209
3887
  */
4210
3888
  <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Option<A>) => self is Option<B>
@@ -4224,25 +3902,20 @@ export const exists: {
4224
3902
  *
4225
3903
  * **Example** (Testing a condition)
4226
3904
  *
4227
- * ```ts
3905
+ * ```ts import.meta.vitest
4228
3906
  * import { Option } from "effect"
4229
3907
  *
4230
3908
  * const isEven = (n: number) => n % 2 === 0
4231
3909
  *
4232
- * console.log(Option.some(2).pipe(Option.exists(isEven)))
4233
- * // Output: true
4234
- *
4235
- * console.log(Option.some(1).pipe(Option.exists(isEven)))
4236
- * // Output: false
4237
- *
4238
- * console.log(Option.none().pipe(Option.exists(isEven)))
4239
- * // Output: false
3910
+ * Option.some(2).pipe(Option.exists(isEven)) // => true
3911
+ * Option.some(1).pipe(Option.exists(isEven)) // => false
3912
+ * Option.none().pipe(Option.exists(isEven)) // => false
4240
3913
  * ```
4241
3914
  *
4242
3915
  * @see {@link filter} to keep or discard based on a predicate
4243
3916
  * @see {@link contains} to test for a specific value
4244
3917
  *
4245
- * @category elements
3918
+ * @category predicates
4246
3919
  * @since 2.0.0
4247
3920
  */
4248
3921
  <A>(predicate: Predicate<NoInfer<A>>): (self: Option<A>) => boolean
@@ -4262,25 +3935,20 @@ export const exists: {
4262
3935
  *
4263
3936
  * **Example** (Testing a condition)
4264
3937
  *
4265
- * ```ts
3938
+ * ```ts import.meta.vitest
4266
3939
  * import { Option } from "effect"
4267
3940
  *
4268
3941
  * const isEven = (n: number) => n % 2 === 0
4269
3942
  *
4270
- * console.log(Option.some(2).pipe(Option.exists(isEven)))
4271
- * // Output: true
4272
- *
4273
- * console.log(Option.some(1).pipe(Option.exists(isEven)))
4274
- * // Output: false
4275
- *
4276
- * console.log(Option.none().pipe(Option.exists(isEven)))
4277
- * // Output: false
3943
+ * Option.some(2).pipe(Option.exists(isEven)) // => true
3944
+ * Option.some(1).pipe(Option.exists(isEven)) // => false
3945
+ * Option.none().pipe(Option.exists(isEven)) // => false
4278
3946
  * ```
4279
3947
  *
4280
3948
  * @see {@link filter} to keep or discard based on a predicate
4281
3949
  * @see {@link contains} to test for a specific value
4282
3950
  *
4283
- * @category elements
3951
+ * @category predicates
4284
3952
  * @since 2.0.0
4285
3953
  */
4286
3954
  <A, B extends A>(self: Option<A>, refinement: Refinement<A, B>): self is Option<B>
@@ -4300,25 +3968,20 @@ export const exists: {
4300
3968
  *
4301
3969
  * **Example** (Testing a condition)
4302
3970
  *
4303
- * ```ts
3971
+ * ```ts import.meta.vitest
4304
3972
  * import { Option } from "effect"
4305
3973
  *
4306
3974
  * const isEven = (n: number) => n % 2 === 0
4307
3975
  *
4308
- * console.log(Option.some(2).pipe(Option.exists(isEven)))
4309
- * // Output: true
4310
- *
4311
- * console.log(Option.some(1).pipe(Option.exists(isEven)))
4312
- * // Output: false
4313
- *
4314
- * console.log(Option.none().pipe(Option.exists(isEven)))
4315
- * // Output: false
3976
+ * Option.some(2).pipe(Option.exists(isEven)) // => true
3977
+ * Option.some(1).pipe(Option.exists(isEven)) // => false
3978
+ * Option.none().pipe(Option.exists(isEven)) // => false
4316
3979
  * ```
4317
3980
  *
4318
3981
  * @see {@link filter} to keep or discard based on a predicate
4319
3982
  * @see {@link contains} to test for a specific value
4320
3983
  *
4321
- * @category elements
3984
+ * @category predicates
4322
3985
  * @since 2.0.0
4323
3986
  */
4324
3987
  <A>(self: Option<A>, predicate: Predicate<A>): boolean
@@ -4343,24 +4006,22 @@ export const exists: {
4343
4006
  *
4344
4007
  * **Example** (Starting do notation)
4345
4008
  *
4346
- * ```ts
4009
+ * ```ts import.meta.vitest
4347
4010
  * import { Option, pipe } from "effect"
4348
- * import * as assert from "node:assert"
4349
4011
  *
4350
- * const result = pipe(
4012
+ * pipe(
4351
4013
  * Option.some(2),
4352
4014
  * Option.bindTo("x"),
4353
4015
  * Option.bind("y", () => Option.some(3)),
4354
4016
  * Option.let("sum", ({ x, y }) => x + y)
4355
- * )
4356
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4017
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4357
4018
  * ```
4358
4019
  *
4359
4020
  * @see {@link Do} for starting with an empty record
4360
4021
  * @see {@link bind} to add `Option` values
4361
4022
  * @see {@link let_ let} to add plain values
4362
4023
  *
4363
- * @category do notation
4024
+ * @category mapping
4364
4025
  * @since 2.0.0
4365
4026
  */
4366
4027
  export const bindTo: {
@@ -4379,24 +4040,22 @@ export const bindTo: {
4379
4040
  *
4380
4041
  * **Example** (Starting do notation)
4381
4042
  *
4382
- * ```ts
4043
+ * ```ts import.meta.vitest
4383
4044
  * import { Option, pipe } from "effect"
4384
- * import * as assert from "node:assert"
4385
4045
  *
4386
- * const result = pipe(
4046
+ * pipe(
4387
4047
  * Option.some(2),
4388
4048
  * Option.bindTo("x"),
4389
4049
  * Option.bind("y", () => Option.some(3)),
4390
4050
  * Option.let("sum", ({ x, y }) => x + y)
4391
- * )
4392
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4051
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4393
4052
  * ```
4394
4053
  *
4395
4054
  * @see {@link Do} for starting with an empty record
4396
4055
  * @see {@link bind} to add `Option` values
4397
4056
  * @see {@link let_ let} to add plain values
4398
4057
  *
4399
- * @category do notation
4058
+ * @category mapping
4400
4059
  * @since 2.0.0
4401
4060
  */
4402
4061
  <N extends string>(name: N): <A>(self: Option<A>) => Option<{ [K in N]: A }>
@@ -4415,24 +4074,22 @@ export const bindTo: {
4415
4074
  *
4416
4075
  * **Example** (Starting do notation)
4417
4076
  *
4418
- * ```ts
4077
+ * ```ts import.meta.vitest
4419
4078
  * import { Option, pipe } from "effect"
4420
- * import * as assert from "node:assert"
4421
4079
  *
4422
- * const result = pipe(
4080
+ * pipe(
4423
4081
  * Option.some(2),
4424
4082
  * Option.bindTo("x"),
4425
4083
  * Option.bind("y", () => Option.some(3)),
4426
4084
  * Option.let("sum", ({ x, y }) => x + y)
4427
- * )
4428
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4085
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4429
4086
  * ```
4430
4087
  *
4431
4088
  * @see {@link Do} for starting with an empty record
4432
4089
  * @see {@link bind} to add `Option` values
4433
4090
  * @see {@link let_ let} to add plain values
4434
4091
  *
4435
- * @category do notation
4092
+ * @category mapping
4436
4093
  * @since 2.0.0
4437
4094
  */
4438
4095
  <A, N extends string>(self: Option<A>, name: N): Option<{ [K in N]: A }>
@@ -4461,24 +4118,22 @@ export {
4461
4118
  *
4462
4119
  * **Example** (Adding a computed value)
4463
4120
  *
4464
- * ```ts
4121
+ * ```ts import.meta.vitest
4465
4122
  * import { Option, pipe } from "effect"
4466
- * import * as assert from "node:assert"
4467
4123
  *
4468
- * const result = pipe(
4124
+ * pipe(
4469
4125
  * Option.Do,
4470
4126
  * Option.bind("x", () => Option.some(2)),
4471
4127
  * Option.bind("y", () => Option.some(3)),
4472
4128
  * Option.let("sum", ({ x, y }) => x + y)
4473
- * )
4474
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4129
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4475
4130
  * ```
4476
4131
  *
4477
4132
  * @see {@link Do} for starting the chain
4478
4133
  * @see {@link bind} to add `Option` values
4479
4134
  * @see {@link bindTo} to start by naming an existing `Option`
4480
4135
  *
4481
- * @category do notation
4136
+ * @category mapping
4482
4137
  * @since 2.0.0
4483
4138
  */
4484
4139
  let_ as let
@@ -4494,25 +4149,23 @@ export {
4494
4149
  *
4495
4150
  * **Example** (Binding Option values)
4496
4151
  *
4497
- * ```ts
4152
+ * ```ts import.meta.vitest
4498
4153
  * import { Option, pipe } from "effect"
4499
- * import * as assert from "node:assert"
4500
4154
  *
4501
- * const result = pipe(
4155
+ * pipe(
4502
4156
  * Option.Do,
4503
4157
  * Option.bind("x", () => Option.some(2)),
4504
4158
  * Option.bind("y", () => Option.some(3)),
4505
4159
  * Option.let("sum", ({ x, y }) => x + y),
4506
4160
  * Option.filter(({ x, y }) => x * y > 5)
4507
- * )
4508
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4161
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4509
4162
  * ```
4510
4163
  *
4511
4164
  * @see {@link Do} for starting the chain
4512
4165
  * @see {@link let_ let} to add plain values
4513
4166
  * @see {@link bindTo} to start by naming an existing `Option`
4514
4167
  *
4515
- * @category do notation
4168
+ * @category sequencing
4516
4169
  * @since 2.0.0
4517
4170
  */
4518
4171
  export const bind: {
@@ -4526,25 +4179,23 @@ export const bind: {
4526
4179
  *
4527
4180
  * **Example** (Binding Option values)
4528
4181
  *
4529
- * ```ts
4182
+ * ```ts import.meta.vitest
4530
4183
  * import { Option, pipe } from "effect"
4531
- * import * as assert from "node:assert"
4532
4184
  *
4533
- * const result = pipe(
4185
+ * pipe(
4534
4186
  * Option.Do,
4535
4187
  * Option.bind("x", () => Option.some(2)),
4536
4188
  * Option.bind("y", () => Option.some(3)),
4537
4189
  * Option.let("sum", ({ x, y }) => x + y),
4538
4190
  * Option.filter(({ x, y }) => x * y > 5)
4539
- * )
4540
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4191
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4541
4192
  * ```
4542
4193
  *
4543
4194
  * @see {@link Do} for starting the chain
4544
4195
  * @see {@link let_ let} to add plain values
4545
4196
  * @see {@link bindTo} to start by naming an existing `Option`
4546
4197
  *
4547
- * @category do notation
4198
+ * @category sequencing
4548
4199
  * @since 2.0.0
4549
4200
  */
4550
4201
  <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 }>
@@ -4558,25 +4209,23 @@ export const bind: {
4558
4209
  *
4559
4210
  * **Example** (Binding Option values)
4560
4211
  *
4561
- * ```ts
4212
+ * ```ts import.meta.vitest
4562
4213
  * import { Option, pipe } from "effect"
4563
- * import * as assert from "node:assert"
4564
4214
  *
4565
- * const result = pipe(
4215
+ * pipe(
4566
4216
  * Option.Do,
4567
4217
  * Option.bind("x", () => Option.some(2)),
4568
4218
  * Option.bind("y", () => Option.some(3)),
4569
4219
  * Option.let("sum", ({ x, y }) => x + y),
4570
4220
  * Option.filter(({ x, y }) => x * y > 5)
4571
- * )
4572
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4221
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4573
4222
  * ```
4574
4223
  *
4575
4224
  * @see {@link Do} for starting the chain
4576
4225
  * @see {@link let_ let} to add plain values
4577
4226
  * @see {@link bindTo} to start by naming an existing `Option`
4578
4227
  *
4579
- * @category do notation
4228
+ * @category sequencing
4580
4229
  * @since 2.0.0
4581
4230
  */
4582
4231
  <A extends object, N extends string, B>(
@@ -4597,25 +4246,23 @@ export const bind: {
4597
4246
  *
4598
4247
  * **Example** (Building Option pipelines with do notation)
4599
4248
  *
4600
- * ```ts
4249
+ * ```ts import.meta.vitest
4601
4250
  * import { Option, pipe } from "effect"
4602
- * import * as assert from "node:assert"
4603
4251
  *
4604
- * const result = pipe(
4252
+ * pipe(
4605
4253
  * Option.Do,
4606
4254
  * Option.bind("x", () => Option.some(2)),
4607
4255
  * Option.bind("y", () => Option.some(3)),
4608
4256
  * Option.let("sum", ({ x, y }) => x + y),
4609
4257
  * Option.filter(({ x, y }) => x * y > 5)
4610
- * )
4611
- * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
4258
+ * ) // => Option.some({ x: 2, y: 3, sum: 5 })
4612
4259
  * ```
4613
4260
  *
4614
4261
  * @see {@link bind} to add `Option` values
4615
4262
  * @see {@link let_ let} to add plain values
4616
4263
  * @see {@link bindTo} to start by naming an existing `Option`
4617
4264
  *
4618
- * @category do notation
4265
+ * @category constructors
4619
4266
  * @since 2.0.0
4620
4267
  */
4621
4268
  export const Do: Option<{}> = some({})
@@ -4637,21 +4284,17 @@ export const Do: Option<{}> = some({})
4637
4284
  *
4638
4285
  * **Example** (Sequencing Option computations with generator syntax)
4639
4286
  *
4640
- * ```ts
4287
+ * ```ts import.meta.vitest
4641
4288
  * import { Option } from "effect"
4642
4289
  *
4643
4290
  * const maybeName: Option.Option<string> = Option.some("John")
4644
4291
  * const maybeAge: Option.Option<number> = Option.some(25)
4645
4292
  *
4646
- * const person = Option.gen(function*() {
4293
+ * Option.gen(function*() {
4647
4294
  * const name = (yield* maybeName).toUpperCase()
4648
4295
  * const age = yield* maybeAge
4649
4296
  * return { name, age }
4650
- * })
4651
- *
4652
- * console.log(person)
4653
- * // Output:
4654
- * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
4297
+ * }) // => Option.some({ name: "JOHN", age: 25 })
4655
4298
  * ```
4656
4299
  *
4657
4300
  * @see {@link Do} / {@link bind} for the do notation alternative
@@ -4692,17 +4335,16 @@ export const gen: Gen.Gen<OptionTypeLambda> = (...args) => {
4692
4335
  *
4693
4336
  * **Example** (Reducing with first-wins semantics)
4694
4337
  *
4695
- * ```ts
4338
+ * ```ts import.meta.vitest
4696
4339
  * import { Number, Option } from "effect"
4697
4340
  *
4698
4341
  * const reducer = Option.makeReducer(Number.ReducerSum)
4699
- * console.log(reducer.combineAll([Option.some(1), Option.none(), Option.some(2)]))
4700
- * // Output: { _id: 'Option', _tag: 'Some', value: 3 }
4342
+ * reducer.combineAll([Option.some(1), Option.none(), Option.some(2)]) // => Option.some(3)
4701
4343
  * ```
4702
4344
  *
4703
4345
  * @see {@link makeReducerFailFast} for fail-fast semantics
4704
4346
  *
4705
- * @category Reducer
4347
+ * @category constructors
4706
4348
  * @since 4.0.0
4707
4349
  */
4708
4350
  export function makeReducer<A>(combiner: Combiner.Combiner<A>): Reducer.Reducer<Option<A>> {
@@ -4730,20 +4372,17 @@ export function makeReducer<A>(combiner: Combiner.Combiner<A>): Reducer.Reducer<
4730
4372
  *
4731
4373
  * **Example** (Fail-fast combining)
4732
4374
  *
4733
- * ```ts
4375
+ * ```ts import.meta.vitest
4734
4376
  * import { Number, Option } from "effect"
4735
4377
  *
4736
4378
  * const combiner = Option.makeCombinerFailFast(Number.ReducerSum)
4737
- * console.log(combiner.combine(Option.some(1), Option.some(2)))
4738
- * // Output: { _id: 'Option', _tag: 'Some', value: 3 }
4739
- *
4740
- * console.log(combiner.combine(Option.some(1), Option.none()))
4741
- * // Output: { _id: 'Option', _tag: 'None' }
4379
+ * combiner.combine(Option.some(1), Option.some(2)) // => Option.some(3)
4380
+ * combiner.combine(Option.some(1), Option.none()) // => Option.none()
4742
4381
  * ```
4743
4382
  *
4744
4383
  * @see {@link makeReducerFailFast} to get a full `Reducer`
4745
4384
  *
4746
- * @category Combiner
4385
+ * @category constructors
4747
4386
  * @since 4.0.0
4748
4387
  */
4749
4388
  export function makeCombinerFailFast<A>(combiner: Combiner.Combiner<A>): Combiner.Combiner<Option<A>> {
@@ -4770,21 +4409,18 @@ export function makeCombinerFailFast<A>(combiner: Combiner.Combiner<A>): Combine
4770
4409
  *
4771
4410
  * **Example** (Fail-fast reducing)
4772
4411
  *
4773
- * ```ts
4412
+ * ```ts import.meta.vitest
4774
4413
  * import { Number, Option } from "effect"
4775
4414
  *
4776
4415
  * const reducer = Option.makeReducerFailFast(Number.ReducerSum)
4777
- * console.log(reducer.combineAll([Option.some(1), Option.some(2)]))
4778
- * // Output: { _id: 'Option', _tag: 'Some', value: 3 }
4779
- *
4780
- * console.log(reducer.combineAll([Option.some(1), Option.none()]))
4781
- * // Output: { _id: 'Option', _tag: 'None' }
4416
+ * reducer.combineAll([Option.some(1), Option.some(2)]) // => Option.some(3)
4417
+ * reducer.combineAll([Option.some(1), Option.none()]) // => Option.none()
4782
4418
  * ```
4783
4419
  *
4784
4420
  * @see {@link makeCombinerFailFast} for just the combiner
4785
4421
  * @see {@link makeReducer} for non-fail-fast semantics
4786
4422
  *
4787
- * @category Reducer
4423
+ * @category constructors
4788
4424
  * @since 4.0.0
4789
4425
  */
4790
4426
  export function makeReducerFailFast<A>(reducer: Reducer.Reducer<A>): Reducer.Reducer<Option<A>> {