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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1451) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +381 -407
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +514 -440
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +225 -173
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +336 -265
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +115 -80
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +16 -23
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2841 -3247
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1322 -1546
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +106 -73
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +228 -306
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +44 -102
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +297 -234
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +204 -450
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +7 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +7 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +198 -642
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +187 -290
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +211 -392
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.js.map +1 -1
  265. package/dist/Path.d.ts +38 -41
  266. package/dist/Path.d.ts.map +1 -1
  267. package/dist/Path.js +3 -4
  268. package/dist/Path.js.map +1 -1
  269. package/dist/Pipeable.d.ts +6 -5
  270. package/dist/Pipeable.d.ts.map +1 -1
  271. package/dist/Pipeable.js +2 -2
  272. package/dist/Pipeable.js.map +1 -1
  273. package/dist/PlatformError.d.ts +4 -4
  274. package/dist/PlatformError.js +3 -3
  275. package/dist/PlatformError.js.map +1 -1
  276. package/dist/Pool.d.ts +4 -2
  277. package/dist/Pool.d.ts.map +1 -1
  278. package/dist/Pool.js +4 -2
  279. package/dist/Pool.js.map +1 -1
  280. package/dist/Predicate.d.ts +200 -181
  281. package/dist/Predicate.d.ts.map +1 -1
  282. package/dist/Predicate.js +100 -108
  283. package/dist/Predicate.js.map +1 -1
  284. package/dist/PrimaryKey.d.ts +7 -7
  285. package/dist/PrimaryKey.js +5 -5
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +425 -494
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +373 -362
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +24 -18
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +11 -9
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +200 -159
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +162 -132
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +49 -74
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +35 -54
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +121 -63
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +42 -21
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +24 -13
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js +15 -9
  310. package/dist/RcRef.js.map +1 -1
  311. package/dist/Record.d.ts +291 -488
  312. package/dist/Record.d.ts.map +1 -1
  313. package/dist/Record.js +111 -202
  314. package/dist/Record.js.map +1 -1
  315. package/dist/Redactable.d.ts +6 -2
  316. package/dist/Redactable.d.ts.map +1 -1
  317. package/dist/Redactable.js +7 -2
  318. package/dist/Redactable.js.map +1 -1
  319. package/dist/Redacted.d.ts +25 -25
  320. package/dist/Redacted.d.ts.map +1 -1
  321. package/dist/Redacted.js +19 -20
  322. package/dist/Redacted.js.map +1 -1
  323. package/dist/Reducer.d.ts +8 -15
  324. package/dist/Reducer.d.ts.map +1 -1
  325. package/dist/Reducer.js +6 -12
  326. package/dist/Reducer.js.map +1 -1
  327. package/dist/Ref.d.ts +95 -165
  328. package/dist/Ref.d.ts.map +1 -1
  329. package/dist/Ref.js +75 -122
  330. package/dist/Ref.js.map +1 -1
  331. package/dist/References.d.ts +102 -168
  332. package/dist/References.d.ts.map +1 -1
  333. package/dist/References.js +102 -168
  334. package/dist/References.js.map +1 -1
  335. package/dist/RegExp.d.ts +10 -14
  336. package/dist/RegExp.d.ts.map +1 -1
  337. package/dist/RegExp.js +10 -14
  338. package/dist/RegExp.js.map +1 -1
  339. package/dist/Request.d.ts +31 -21
  340. package/dist/Request.d.ts.map +1 -1
  341. package/dist/Request.js +16 -13
  342. package/dist/Request.js.map +1 -1
  343. package/dist/RequestResolver.d.ts +201 -90
  344. package/dist/RequestResolver.d.ts.map +1 -1
  345. package/dist/RequestResolver.js +87 -41
  346. package/dist/RequestResolver.js.map +1 -1
  347. package/dist/Resource.js.map +1 -1
  348. package/dist/Result.d.ts +302 -470
  349. package/dist/Result.d.ts.map +1 -1
  350. package/dist/Result.js +133 -217
  351. package/dist/Result.js.map +1 -1
  352. package/dist/Runtime.d.ts +50 -75
  353. package/dist/Runtime.d.ts.map +1 -1
  354. package/dist/Runtime.js +39 -60
  355. package/dist/Runtime.js.map +1 -1
  356. package/dist/Schedule.d.ts +290 -1636
  357. package/dist/Schedule.d.ts.map +1 -1
  358. package/dist/Schedule.js +162 -803
  359. package/dist/Schedule.js.map +1 -1
  360. package/dist/Scheduler.d.ts +5 -5
  361. package/dist/Scheduler.d.ts.map +1 -1
  362. package/dist/Scheduler.js +18 -6
  363. package/dist/Scheduler.js.map +1 -1
  364. package/dist/Schema.d.ts +644 -642
  365. package/dist/Schema.d.ts.map +1 -1
  366. package/dist/Schema.js +491 -527
  367. package/dist/Schema.js.map +1 -1
  368. package/dist/SchemaAST.d.ts +27 -50
  369. package/dist/SchemaAST.d.ts.map +1 -1
  370. package/dist/SchemaAST.js +366 -279
  371. package/dist/SchemaAST.js.map +1 -1
  372. package/dist/SchemaError.d.ts +7 -6
  373. package/dist/SchemaError.d.ts.map +1 -1
  374. package/dist/SchemaError.js +7 -6
  375. package/dist/SchemaError.js.map +1 -1
  376. package/dist/SchemaGetter.d.ts +217 -174
  377. package/dist/SchemaGetter.d.ts.map +1 -1
  378. package/dist/SchemaGetter.js +218 -185
  379. package/dist/SchemaGetter.js.map +1 -1
  380. package/dist/SchemaIssue.d.ts +62 -190
  381. package/dist/SchemaIssue.d.ts.map +1 -1
  382. package/dist/SchemaIssue.js +73 -265
  383. package/dist/SchemaIssue.js.map +1 -1
  384. package/dist/SchemaParser.d.ts +2 -2
  385. package/dist/SchemaParser.d.ts.map +1 -1
  386. package/dist/SchemaParser.js +123 -75
  387. package/dist/SchemaParser.js.map +1 -1
  388. package/dist/SchemaRepresentation.d.ts +22 -36
  389. package/dist/SchemaRepresentation.d.ts.map +1 -1
  390. package/dist/SchemaRepresentation.js +20 -26
  391. package/dist/SchemaRepresentation.js.map +1 -1
  392. package/dist/SchemaTransformation.d.ts +114 -74
  393. package/dist/SchemaTransformation.d.ts.map +1 -1
  394. package/dist/SchemaTransformation.js +120 -85
  395. package/dist/SchemaTransformation.js.map +1 -1
  396. package/dist/Scope.d.ts +123 -151
  397. package/dist/Scope.d.ts.map +1 -1
  398. package/dist/Scope.js +72 -92
  399. package/dist/Scope.js.map +1 -1
  400. package/dist/ScopedCache.js.map +1 -1
  401. package/dist/ScopedRef.d.ts +3 -3
  402. package/dist/ScopedRef.js +2 -2
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +96 -10
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +78 -39
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +117 -107
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +107 -100
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +1 -1
  413. package/dist/Stdio.js.map +1 -1
  414. package/dist/Stream.d.ts +2415 -2949
  415. package/dist/Stream.d.ts.map +1 -1
  416. package/dist/Stream.js +1078 -1381
  417. package/dist/Stream.js.map +1 -1
  418. package/dist/String.d.ts +262 -308
  419. package/dist/String.d.ts.map +1 -1
  420. package/dist/String.js +184 -215
  421. package/dist/String.js.map +1 -1
  422. package/dist/Struct.d.ts +109 -114
  423. package/dist/Struct.d.ts.map +1 -1
  424. package/dist/Struct.js +41 -50
  425. package/dist/Struct.js.map +1 -1
  426. package/dist/SubscriptionRef.d.ts +282 -250
  427. package/dist/SubscriptionRef.d.ts.map +1 -1
  428. package/dist/SubscriptionRef.js +104 -92
  429. package/dist/SubscriptionRef.js.map +1 -1
  430. package/dist/Symbol.d.ts +3 -3
  431. package/dist/Symbol.js +3 -3
  432. package/dist/Symbol.js.map +1 -1
  433. package/dist/SynchronizedRef.js.map +1 -1
  434. package/dist/Take.js.map +1 -1
  435. package/dist/Terminal.d.ts +2 -2
  436. package/dist/Terminal.js +1 -1
  437. package/dist/Terminal.js.map +1 -1
  438. package/dist/Tracer.d.ts +100 -54
  439. package/dist/Tracer.d.ts.map +1 -1
  440. package/dist/Tracer.js +41 -24
  441. package/dist/Tracer.js.map +1 -1
  442. package/dist/Trie.d.ts +287 -679
  443. package/dist/Trie.d.ts.map +1 -1
  444. package/dist/Trie.js +109 -251
  445. package/dist/Trie.js.map +1 -1
  446. package/dist/Tuple.d.ts +92 -127
  447. package/dist/Tuple.d.ts.map +1 -1
  448. package/dist/Tuple.js +42 -57
  449. package/dist/Tuple.js.map +1 -1
  450. package/dist/TxChunk.d.ts +201 -121
  451. package/dist/TxChunk.d.ts.map +1 -1
  452. package/dist/TxChunk.js +85 -56
  453. package/dist/TxChunk.js.map +1 -1
  454. package/dist/TxDeferred.d.ts +62 -46
  455. package/dist/TxDeferred.d.ts.map +1 -1
  456. package/dist/TxDeferred.js +30 -22
  457. package/dist/TxDeferred.js.map +1 -1
  458. package/dist/TxHashMap.d.ts +631 -779
  459. package/dist/TxHashMap.d.ts.map +1 -1
  460. package/dist/TxHashMap.js +268 -330
  461. package/dist/TxHashMap.js.map +1 -1
  462. package/dist/TxHashSet.d.ts +297 -236
  463. package/dist/TxHashSet.d.ts.map +1 -1
  464. package/dist/TxHashSet.js +130 -100
  465. package/dist/TxHashSet.js.map +1 -1
  466. package/dist/TxPriorityQueue.d.ts +126 -95
  467. package/dist/TxPriorityQueue.d.ts.map +1 -1
  468. package/dist/TxPriorityQueue.js +74 -56
  469. package/dist/TxPriorityQueue.js.map +1 -1
  470. package/dist/TxPubSub.d.ts +101 -88
  471. package/dist/TxPubSub.d.ts.map +1 -1
  472. package/dist/TxPubSub.js +87 -66
  473. package/dist/TxPubSub.js.map +1 -1
  474. package/dist/TxQueue.d.ts +200 -180
  475. package/dist/TxQueue.d.ts.map +1 -1
  476. package/dist/TxQueue.js +160 -136
  477. package/dist/TxQueue.js.map +1 -1
  478. package/dist/TxReentrantLock.d.ts +97 -66
  479. package/dist/TxReentrantLock.d.ts.map +1 -1
  480. package/dist/TxReentrantLock.js +67 -45
  481. package/dist/TxReentrantLock.js.map +1 -1
  482. package/dist/TxRef.d.ts +51 -32
  483. package/dist/TxRef.d.ts.map +1 -1
  484. package/dist/TxRef.js +23 -15
  485. package/dist/TxRef.js.map +1 -1
  486. package/dist/TxSemaphore.d.ts +129 -95
  487. package/dist/TxSemaphore.d.ts.map +1 -1
  488. package/dist/TxSemaphore.js +85 -70
  489. package/dist/TxSemaphore.js.map +1 -1
  490. package/dist/TxSubscriptionRef.d.ts +97 -70
  491. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  492. package/dist/TxSubscriptionRef.js +44 -34
  493. package/dist/TxSubscriptionRef.js.map +1 -1
  494. package/dist/Types.d.ts +126 -67
  495. package/dist/Types.d.ts.map +1 -1
  496. package/dist/UndefinedOr.js.map +1 -1
  497. package/dist/Unify.d.ts +45 -65
  498. package/dist/Unify.d.ts.map +1 -1
  499. package/dist/Unify.js +6 -9
  500. package/dist/Unify.js.map +1 -1
  501. package/dist/Utils.d.ts +23 -16
  502. package/dist/Utils.d.ts.map +1 -1
  503. package/dist/Utils.js +3 -7
  504. package/dist/Utils.js.map +1 -1
  505. package/dist/index.js.map +1 -1
  506. package/dist/internal/array.js.map +1 -1
  507. package/dist/internal/core.js +1 -1
  508. package/dist/internal/core.js.map +1 -1
  509. package/dist/internal/dateTime.js +4 -0
  510. package/dist/internal/dateTime.js.map +1 -1
  511. package/dist/internal/doNotation.js.map +1 -1
  512. package/dist/internal/effect.js +77 -40
  513. package/dist/internal/effect.js.map +1 -1
  514. package/dist/internal/equal.js.map +1 -1
  515. package/dist/internal/errors.js.map +1 -1
  516. package/dist/internal/executionPlan.js.map +1 -1
  517. package/dist/internal/hashMap.js.map +1 -1
  518. package/dist/internal/hashSet.js.map +1 -1
  519. package/dist/internal/layer.js.map +1 -1
  520. package/dist/internal/matcher.js.map +1 -1
  521. package/dist/internal/metric.js.map +1 -1
  522. package/dist/internal/option.js.map +1 -1
  523. package/dist/internal/persistence.d.ts +2 -0
  524. package/dist/internal/persistence.d.ts.map +1 -0
  525. package/dist/internal/persistence.js +3 -0
  526. package/dist/internal/persistence.js.map +1 -0
  527. package/dist/internal/random.js.map +1 -1
  528. package/dist/internal/rcRef.js.map +1 -1
  529. package/dist/internal/record.js.map +1 -1
  530. package/dist/internal/redacted.js.map +1 -1
  531. package/dist/internal/references.js +3 -0
  532. package/dist/internal/references.js.map +1 -1
  533. package/dist/internal/request.js.map +1 -1
  534. package/dist/internal/result.js.map +1 -1
  535. package/dist/internal/schedule.js.map +1 -1
  536. package/dist/internal/schema/annotations.js.map +1 -1
  537. package/dist/internal/schema/cause.js.map +1 -1
  538. package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
  539. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  540. package/dist/internal/schema/fromRepresentation.js +8 -15
  541. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  542. package/dist/internal/schema/parser.d.ts +14 -0
  543. package/dist/internal/schema/parser.d.ts.map +1 -0
  544. package/dist/internal/schema/parser.js +13 -0
  545. package/dist/internal/schema/parser.js.map +1 -0
  546. package/dist/internal/schema/schema.js.map +1 -1
  547. package/dist/internal/schema/toArbitrary.js.map +1 -1
  548. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  549. package/dist/internal/schema/toEquivalence.js.map +1 -1
  550. package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
  551. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  552. package/dist/internal/schema/toRepresentation.js +87 -107
  553. package/dist/internal/schema/toRepresentation.js.map +1 -1
  554. package/dist/internal/stackTraceLimit.js.map +1 -1
  555. package/dist/internal/stream.js.map +1 -1
  556. package/dist/internal/tracer.js.map +1 -1
  557. package/dist/internal/trie.js +13 -9
  558. package/dist/internal/trie.js.map +1 -1
  559. package/dist/testing/FastCheck.d.ts +8 -7
  560. package/dist/testing/FastCheck.d.ts.map +1 -1
  561. package/dist/testing/FastCheck.js +8 -7
  562. package/dist/testing/FastCheck.js.map +1 -1
  563. package/dist/testing/TestClock.d.ts +57 -28
  564. package/dist/testing/TestClock.d.ts.map +1 -1
  565. package/dist/testing/TestClock.js +50 -18
  566. package/dist/testing/TestClock.js.map +1 -1
  567. package/dist/testing/TestConsole.d.ts +32 -31
  568. package/dist/testing/TestConsole.d.ts.map +1 -1
  569. package/dist/testing/TestConsole.js +24 -22
  570. package/dist/testing/TestConsole.js.map +1 -1
  571. package/dist/testing/TestSchema.d.ts +29 -29
  572. package/dist/testing/TestSchema.js +25 -25
  573. package/dist/testing/TestSchema.js.map +1 -1
  574. package/dist/testing/index.js.map +1 -1
  575. package/dist/unstable/ai/AiError.d.ts +95 -118
  576. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  577. package/dist/unstable/ai/AiError.js +94 -117
  578. package/dist/unstable/ai/AiError.js.map +1 -1
  579. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  580. package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
  581. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  582. package/dist/unstable/ai/Chat.d.ts +132 -97
  583. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  584. package/dist/unstable/ai/Chat.js +55 -51
  585. package/dist/unstable/ai/Chat.js.map +1 -1
  586. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  587. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  588. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  589. package/dist/unstable/ai/IdGenerator.js +26 -21
  590. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  591. package/dist/unstable/ai/LanguageModel.d.ts +107 -67
  592. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  593. package/dist/unstable/ai/LanguageModel.js +104 -64
  594. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  595. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  596. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  597. package/dist/unstable/ai/McpProtocol.js +20 -0
  598. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  599. package/dist/unstable/ai/McpSchema.d.ts +141 -75
  600. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  601. package/dist/unstable/ai/McpSchema.js +58 -50
  602. package/dist/unstable/ai/McpSchema.js.map +1 -1
  603. package/dist/unstable/ai/McpServer.d.ts +68 -59
  604. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  605. package/dist/unstable/ai/McpServer.js +694 -241
  606. package/dist/unstable/ai/McpServer.js.map +1 -1
  607. package/dist/unstable/ai/Model.d.ts +8 -19
  608. package/dist/unstable/ai/Model.d.ts.map +1 -1
  609. package/dist/unstable/ai/Model.js +9 -20
  610. package/dist/unstable/ai/Model.js.map +1 -1
  611. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  612. package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
  613. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  614. package/dist/unstable/ai/Prompt.d.ts +112 -38
  615. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  616. package/dist/unstable/ai/Prompt.js +53 -17
  617. package/dist/unstable/ai/Prompt.js.map +1 -1
  618. package/dist/unstable/ai/Response.d.ts +28 -14
  619. package/dist/unstable/ai/Response.d.ts.map +1 -1
  620. package/dist/unstable/ai/Response.js +9 -4
  621. package/dist/unstable/ai/Response.js.map +1 -1
  622. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  623. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  624. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  625. package/dist/unstable/ai/Telemetry.js +18 -7
  626. package/dist/unstable/ai/Telemetry.js.map +1 -1
  627. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  628. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  629. package/dist/unstable/ai/Tokenizer.js +10 -2
  630. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  631. package/dist/unstable/ai/Tool.d.ts +59 -44
  632. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  633. package/dist/unstable/ai/Tool.js +48 -39
  634. package/dist/unstable/ai/Tool.js.map +1 -1
  635. package/dist/unstable/ai/Toolkit.d.ts +26 -8
  636. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  637. package/dist/unstable/ai/Toolkit.js +18 -4
  638. package/dist/unstable/ai/Toolkit.js.map +1 -1
  639. package/dist/unstable/ai/index.d.ts +4 -0
  640. package/dist/unstable/ai/index.d.ts.map +1 -1
  641. package/dist/unstable/ai/index.js +4 -0
  642. package/dist/unstable/ai/index.js.map +1 -1
  643. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  644. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  645. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  646. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  647. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  648. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  649. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  650. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  651. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  652. package/dist/unstable/ai/internal/structured-output.js +14 -15
  653. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  654. package/dist/unstable/cli/Argument.d.ts +273 -69
  655. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  656. package/dist/unstable/cli/Argument.js +111 -33
  657. package/dist/unstable/cli/Argument.js.map +1 -1
  658. package/dist/unstable/cli/CliConfig.js.map +1 -1
  659. package/dist/unstable/cli/CliError.d.ts +69 -76
  660. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  661. package/dist/unstable/cli/CliError.js +57 -61
  662. package/dist/unstable/cli/CliError.js.map +1 -1
  663. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  664. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  665. package/dist/unstable/cli/CliOutput.js +26 -42
  666. package/dist/unstable/cli/CliOutput.js.map +1 -1
  667. package/dist/unstable/cli/Command.d.ts +705 -107
  668. package/dist/unstable/cli/Command.d.ts.map +1 -1
  669. package/dist/unstable/cli/Command.js +238 -42
  670. package/dist/unstable/cli/Command.js.map +1 -1
  671. package/dist/unstable/cli/Completions.js.map +1 -1
  672. package/dist/unstable/cli/Flag.d.ts +418 -138
  673. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  674. package/dist/unstable/cli/Flag.js +197 -71
  675. package/dist/unstable/cli/Flag.js.map +1 -1
  676. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  677. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  678. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  679. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  680. package/dist/unstable/cli/Param.d.ts +292 -78
  681. package/dist/unstable/cli/Param.d.ts.map +1 -1
  682. package/dist/unstable/cli/Param.js +128 -46
  683. package/dist/unstable/cli/Param.js.map +1 -1
  684. package/dist/unstable/cli/Primitive.d.ts +370 -149
  685. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  686. package/dist/unstable/cli/Primitive.js +344 -136
  687. package/dist/unstable/cli/Primitive.js.map +1 -1
  688. package/dist/unstable/cli/Prompt.d.ts +23 -14
  689. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  690. package/dist/unstable/cli/Prompt.js +23 -14
  691. package/dist/unstable/cli/Prompt.js.map +1 -1
  692. package/dist/unstable/cli/index.js.map +1 -1
  693. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  694. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  695. package/dist/unstable/cli/internal/command.js.map +1 -1
  696. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  697. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  698. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  699. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  700. package/dist/unstable/cli/internal/config.js.map +1 -1
  701. package/dist/unstable/cli/internal/help.js.map +1 -1
  702. package/dist/unstable/cli/internal/lexer.js +17 -7
  703. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  704. package/dist/unstable/cli/internal/parser.js +2 -2
  705. package/dist/unstable/cli/internal/parser.js.map +1 -1
  706. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  707. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  708. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  709. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  710. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  711. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  712. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  713. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  714. package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
  715. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  716. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  717. package/dist/unstable/cluster/Entity.d.ts +10 -10
  718. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  719. package/dist/unstable/cluster/Entity.js +8 -8
  720. package/dist/unstable/cluster/Entity.js.map +1 -1
  721. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js.map +1 -1
  723. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  724. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  725. package/dist/unstable/cluster/EntityProxy.js +4 -2
  726. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  727. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  728. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  729. package/dist/unstable/cluster/EntityResource.js +2 -2
  730. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  731. package/dist/unstable/cluster/EntityType.js.map +1 -1
  732. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  733. package/dist/unstable/cluster/Envelope.js +3 -3
  734. package/dist/unstable/cluster/Envelope.js.map +1 -1
  735. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  736. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  737. package/dist/unstable/cluster/HttpRunner.js +6 -4
  738. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  739. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  740. package/dist/unstable/cluster/MachineId.js.map +1 -1
  741. package/dist/unstable/cluster/Message.d.ts +9 -9
  742. package/dist/unstable/cluster/Message.js +6 -6
  743. package/dist/unstable/cluster/Message.js.map +1 -1
  744. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  745. package/dist/unstable/cluster/MessageStorage.js +5 -5
  746. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  747. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  748. package/dist/unstable/cluster/Reply.js +4 -4
  749. package/dist/unstable/cluster/Reply.js.map +1 -1
  750. package/dist/unstable/cluster/Runner.js.map +1 -1
  751. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  752. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  753. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  754. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  755. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  756. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  757. package/dist/unstable/cluster/RunnerServer.js +16 -16
  758. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  759. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  760. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  761. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  762. package/dist/unstable/cluster/Runners.d.ts +6 -6
  763. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  764. package/dist/unstable/cluster/Runners.js +19 -10
  765. package/dist/unstable/cluster/Runners.js.map +1 -1
  766. package/dist/unstable/cluster/ShardId.js.map +1 -1
  767. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  768. package/dist/unstable/cluster/Sharding.js +3 -2
  769. package/dist/unstable/cluster/Sharding.js.map +1 -1
  770. package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
  771. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  772. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  773. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  774. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  775. package/dist/unstable/cluster/Singleton.js.map +1 -1
  776. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  777. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  778. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  779. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  780. package/dist/unstable/cluster/Snowflake.js +8 -8
  781. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  782. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  783. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  784. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  785. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
  787. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  789. package/dist/unstable/cluster/index.js.map +1 -1
  790. package/dist/unstable/cluster/internal/entityManager.js +5 -5
  791. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  792. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  793. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  794. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  795. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  796. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  797. package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
  798. package/dist/unstable/devtools/DevTools.js.map +1 -1
  799. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  800. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  801. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  802. package/dist/unstable/devtools/index.js.map +1 -1
  803. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  804. package/dist/unstable/encoding/Msgpack.js +6 -8
  805. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  806. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  807. package/dist/unstable/encoding/Sse.d.ts +72 -8
  808. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  809. package/dist/unstable/encoding/Sse.js +58 -8
  810. package/dist/unstable/encoding/Sse.js.map +1 -1
  811. package/dist/unstable/encoding/index.js.map +1 -1
  812. package/dist/unstable/eventlog/Event.d.ts +20 -20
  813. package/dist/unstable/eventlog/Event.js.map +1 -1
  814. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  815. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  816. package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
  817. package/dist/unstable/eventlog/EventJournal.js +13 -13
  818. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  819. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  820. package/dist/unstable/eventlog/EventLog.js +3 -3
  821. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  822. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  823. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  824. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  825. package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
  826. package/dist/unstable/eventlog/EventLogMessage.js +1 -1
  827. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  828. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  829. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  830. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  831. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  832. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  833. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  834. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  835. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  836. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  837. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  838. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  839. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  840. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  841. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  842. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  843. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  844. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  845. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  846. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  847. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  848. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  849. package/dist/unstable/eventlog/index.js.map +1 -1
  850. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  851. package/dist/unstable/http/Cookies.d.ts +2 -2
  852. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  853. package/dist/unstable/http/Cookies.js +30 -18
  854. package/dist/unstable/http/Cookies.js.map +1 -1
  855. package/dist/unstable/http/Etag.d.ts +1 -1
  856. package/dist/unstable/http/Etag.js +1 -1
  857. package/dist/unstable/http/Etag.js.map +1 -1
  858. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  859. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  860. package/dist/unstable/http/Headers.d.ts +2 -2
  861. package/dist/unstable/http/Headers.js +2 -2
  862. package/dist/unstable/http/Headers.js.map +1 -1
  863. package/dist/unstable/http/HttpBody.d.ts +5 -3
  864. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  865. package/dist/unstable/http/HttpBody.js +11 -5
  866. package/dist/unstable/http/HttpBody.js.map +1 -1
  867. package/dist/unstable/http/HttpClient.d.ts +51 -44
  868. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  869. package/dist/unstable/http/HttpClient.js +46 -17
  870. package/dist/unstable/http/HttpClient.js.map +1 -1
  871. package/dist/unstable/http/HttpClientError.js.map +1 -1
  872. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  873. package/dist/unstable/http/HttpClientRequest.js +2 -0
  874. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  875. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  876. package/dist/unstable/http/HttpClientResponse.js +2 -2
  877. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  878. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  879. package/dist/unstable/http/HttpEffect.js +3 -3
  880. package/dist/unstable/http/HttpEffect.js.map +1 -1
  881. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  882. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  883. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  884. package/dist/unstable/http/HttpMethod.js +6 -9
  885. package/dist/unstable/http/HttpMethod.js.map +1 -1
  886. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  887. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  888. package/dist/unstable/http/HttpMiddleware.js +164 -39
  889. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  890. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  891. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  892. package/dist/unstable/http/HttpPlatform.js +32 -0
  893. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  894. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  895. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  896. package/dist/unstable/http/HttpRouter.js +78 -79
  897. package/dist/unstable/http/HttpRouter.js.map +1 -1
  898. package/dist/unstable/http/HttpServer.d.ts +13 -13
  899. package/dist/unstable/http/HttpServer.js +6 -6
  900. package/dist/unstable/http/HttpServer.js.map +1 -1
  901. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  902. package/dist/unstable/http/HttpServerError.js +2 -2
  903. package/dist/unstable/http/HttpServerError.js.map +1 -1
  904. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  905. package/dist/unstable/http/HttpServerRequest.js +4 -4
  906. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  907. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  908. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  909. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  910. package/dist/unstable/http/HttpServerResponse.js +10 -0
  911. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  912. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  913. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  914. package/dist/unstable/http/HttpStaticServer.js +35 -7
  915. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  916. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  917. package/dist/unstable/http/Multipart.d.ts +6 -6
  918. package/dist/unstable/http/Multipart.js +5 -5
  919. package/dist/unstable/http/Multipart.js.map +1 -1
  920. package/dist/unstable/http/Template.js.map +1 -1
  921. package/dist/unstable/http/Url.d.ts +33 -63
  922. package/dist/unstable/http/Url.d.ts.map +1 -1
  923. package/dist/unstable/http/Url.js +14 -28
  924. package/dist/unstable/http/Url.js.map +1 -1
  925. package/dist/unstable/http/UrlParams.d.ts +10 -18
  926. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  927. package/dist/unstable/http/UrlParams.js +9 -17
  928. package/dist/unstable/http/UrlParams.js.map +1 -1
  929. package/dist/unstable/http/index.js.map +1 -1
  930. package/dist/unstable/http/internal/compression.d.ts +2 -0
  931. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  932. package/dist/unstable/http/internal/compression.js +155 -0
  933. package/dist/unstable/http/internal/compression.js.map +1 -0
  934. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  935. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  936. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  937. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  938. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  939. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  940. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  941. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  942. package/dist/unstable/httpapi/HttpApiClient.js +11 -13
  943. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  944. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  945. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  946. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  947. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  948. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  949. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  950. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  951. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  952. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  953. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  954. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  955. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  956. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  957. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  958. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  959. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  960. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  961. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  962. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  963. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  964. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  965. package/dist/unstable/httpapi/OpenApi.js +13 -13
  966. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  967. package/dist/unstable/httpapi/index.js.map +1 -1
  968. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  969. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  970. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  971. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  972. package/dist/unstable/observability/Otlp.js.map +1 -1
  973. package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
  974. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  975. package/dist/unstable/observability/OtlpExporter.js +17 -4
  976. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  977. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  978. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
  979. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  980. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  981. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  982. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  983. package/dist/unstable/observability/OtlpResource.js +21 -12
  984. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  985. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  986. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  987. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  988. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  989. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  990. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  991. package/dist/unstable/observability/index.js.map +1 -1
  992. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  993. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  994. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  995. package/dist/unstable/observability/internal/protobuf.js +3 -0
  996. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  997. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  998. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  999. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1000. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1001. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1002. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1003. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1004. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1005. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1006. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1007. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1008. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1009. package/dist/unstable/persistence/Persistence.js +91 -15
  1010. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1011. package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
  1012. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1013. package/dist/unstable/persistence/RateLimiter.js +24 -13
  1014. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1015. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1016. package/dist/unstable/persistence/Redis.js +1 -1
  1017. package/dist/unstable/persistence/Redis.js.map +1 -1
  1018. package/dist/unstable/persistence/index.js.map +1 -1
  1019. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1020. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1021. package/dist/unstable/process/ChildProcess.js +14 -5
  1022. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1023. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1024. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1025. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  1026. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1027. package/dist/unstable/process/index.js.map +1 -1
  1028. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1029. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1030. package/dist/unstable/reactivity/AsyncResult.js +10 -10
  1031. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1032. package/dist/unstable/reactivity/Atom.d.ts +25 -22
  1033. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1034. package/dist/unstable/reactivity/Atom.js +14 -13
  1035. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1036. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1037. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1038. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1039. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1040. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1041. package/dist/unstable/reactivity/AtomRegistry.js +24 -3
  1042. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1043. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1044. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1045. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1046. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1047. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1048. package/dist/unstable/reactivity/Hydration.js +1 -1
  1049. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1050. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1051. package/dist/unstable/reactivity/index.js.map +1 -1
  1052. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1053. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/Rpc.js +4 -2
  1055. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1057. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcClient.js +12 -11
  1059. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1060. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1061. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1062. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1063. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1064. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1065. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1066. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1067. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1068. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1069. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1070. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1071. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1072. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1073. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1074. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1075. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1076. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1077. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1078. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1079. package/dist/unstable/rpc/RpcServer.js +17 -13
  1080. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1081. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1082. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1083. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1084. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1085. package/dist/unstable/rpc/Utils.js.map +1 -1
  1086. package/dist/unstable/rpc/index.js.map +1 -1
  1087. package/dist/unstable/schema/Model.d.ts +52 -50
  1088. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1089. package/dist/unstable/schema/Model.js +35 -33
  1090. package/dist/unstable/schema/Model.js.map +1 -1
  1091. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  1092. package/dist/unstable/schema/VariantSchema.js +2 -2
  1093. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1094. package/dist/unstable/schema/index.js.map +1 -1
  1095. package/dist/unstable/socket/Socket.d.ts +11 -3
  1096. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1097. package/dist/unstable/socket/Socket.js +9 -4
  1098. package/dist/unstable/socket/Socket.js.map +1 -1
  1099. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1100. package/dist/unstable/socket/index.js.map +1 -1
  1101. package/dist/unstable/sql/Migrator.js.map +1 -1
  1102. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1103. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1104. package/dist/unstable/sql/SqlClient.js +2 -2
  1105. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1106. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1107. package/dist/unstable/sql/SqlError.js.map +1 -1
  1108. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1109. package/dist/unstable/sql/SqlModel.js +2 -2
  1110. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1111. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1112. package/dist/unstable/sql/SqlResolver.js +2 -2
  1113. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1114. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1115. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1116. package/dist/unstable/sql/Statement.d.ts +6 -6
  1117. package/dist/unstable/sql/Statement.js +15 -15
  1118. package/dist/unstable/sql/Statement.js.map +1 -1
  1119. package/dist/unstable/sql/index.js.map +1 -1
  1120. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1121. package/dist/unstable/workers/Transferable.js +1 -1
  1122. package/dist/unstable/workers/Transferable.js.map +1 -1
  1123. package/dist/unstable/workers/Worker.d.ts +2 -2
  1124. package/dist/unstable/workers/Worker.js +2 -2
  1125. package/dist/unstable/workers/Worker.js.map +1 -1
  1126. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1127. package/dist/unstable/workers/WorkerError.js +6 -6
  1128. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1129. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1130. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1131. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1132. package/dist/unstable/workers/index.js.map +1 -1
  1133. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1134. package/dist/unstable/workflow/Activity.js +2 -2
  1135. package/dist/unstable/workflow/Activity.js.map +1 -1
  1136. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1137. package/dist/unstable/workflow/DurableClock.js +1 -1
  1138. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1139. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1140. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1141. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1142. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1143. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1144. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1145. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1146. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1147. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1148. package/dist/unstable/workflow/Workflow.js +13 -14
  1149. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1150. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1151. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1152. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1153. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1154. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1155. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1156. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1157. package/dist/unstable/workflow/index.js.map +1 -1
  1158. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1159. package/package.json +5 -6
  1160. package/src/Array.ts +982 -1045
  1161. package/src/BigDecimal.ts +433 -756
  1162. package/src/BigInt.ts +213 -269
  1163. package/src/Boolean.ts +146 -188
  1164. package/src/Cache.ts +409 -255
  1165. package/src/Cause.ts +167 -277
  1166. package/src/Channel.ts +891 -816
  1167. package/src/ChannelSchema.ts +1 -1
  1168. package/src/Chunk.ts +841 -1181
  1169. package/src/Clock.ts +181 -49
  1170. package/src/Combiner.ts +20 -33
  1171. package/src/Config.ts +615 -332
  1172. package/src/ConfigProvider.ts +214 -120
  1173. package/src/Console.ts +289 -39
  1174. package/src/Context.ts +319 -378
  1175. package/src/Cron.ts +68 -77
  1176. package/src/Crypto.ts +13 -15
  1177. package/src/Data.ts +60 -80
  1178. package/src/DateTime.ts +564 -660
  1179. package/src/Deferred.ts +253 -256
  1180. package/src/Duration.ts +216 -308
  1181. package/src/Effect.ts +2893 -3279
  1182. package/src/Encoding.ts +22 -40
  1183. package/src/Equal.ts +49 -39
  1184. package/src/Equivalence.ts +103 -105
  1185. package/src/ErrorReporter.ts +51 -27
  1186. package/src/ExecutionPlan.ts +13 -55
  1187. package/src/Exit.ts +116 -192
  1188. package/src/Fiber.ts +81 -148
  1189. package/src/FiberHandle.ts +152 -105
  1190. package/src/FiberMap.ts +225 -174
  1191. package/src/FiberSet.ts +124 -82
  1192. package/src/FileSystem.ts +155 -263
  1193. package/src/Filter.ts +61 -33
  1194. package/src/Formatter.ts +54 -56
  1195. package/src/Function.ts +76 -145
  1196. package/src/Graph.ts +416 -770
  1197. package/src/HKT.ts +12 -6
  1198. package/src/Hash.ts +52 -83
  1199. package/src/HashMap.ts +319 -411
  1200. package/src/HashRing.ts +1 -0
  1201. package/src/HashSet.ts +177 -284
  1202. package/src/Inspectable.ts +12 -12
  1203. package/src/Iterable.ts +620 -786
  1204. package/src/JsonPatch.ts +58 -112
  1205. package/src/JsonPointer.ts +8 -8
  1206. package/src/JsonSchema.ts +402 -244
  1207. package/src/Latch.ts +23 -35
  1208. package/src/Layer.ts +359 -260
  1209. package/src/LayerMap.ts +49 -29
  1210. package/src/LayerRef.ts +6 -2
  1211. package/src/LogLevel.ts +114 -214
  1212. package/src/Logger.ts +344 -697
  1213. package/src/ManagedRuntime.ts +7 -5
  1214. package/src/Match.ts +217 -252
  1215. package/src/Metric.ts +516 -1089
  1216. package/src/MutableHashMap.ts +218 -255
  1217. package/src/MutableHashSet.ts +84 -89
  1218. package/src/MutableList.ts +73 -370
  1219. package/src/MutableRef.ts +420 -243
  1220. package/src/Newtype.ts +21 -14
  1221. package/src/NonEmptyIterable.ts +7 -137
  1222. package/src/Number.ts +196 -233
  1223. package/src/Optic.ts +243 -383
  1224. package/src/Option.ts +447 -812
  1225. package/src/Order.ts +109 -109
  1226. package/src/Ordering.ts +20 -23
  1227. package/src/Path.ts +38 -41
  1228. package/src/Pipeable.ts +6 -5
  1229. package/src/PlatformError.ts +4 -4
  1230. package/src/Pool.ts +4 -2
  1231. package/src/Predicate.ts +200 -181
  1232. package/src/PrimaryKey.ts +7 -7
  1233. package/src/PubSub.ts +526 -552
  1234. package/src/Pull.ts +24 -18
  1235. package/src/Queue.ts +200 -159
  1236. package/src/Random.ts +49 -74
  1237. package/src/RcMap.ts +121 -63
  1238. package/src/RcRef.ts +24 -13
  1239. package/src/Record.ts +291 -488
  1240. package/src/Redactable.ts +10 -3
  1241. package/src/Redacted.ts +25 -25
  1242. package/src/Reducer.ts +8 -15
  1243. package/src/Ref.ts +221 -361
  1244. package/src/References.ts +102 -168
  1245. package/src/RegExp.ts +10 -14
  1246. package/src/Request.ts +31 -21
  1247. package/src/RequestResolver.ts +202 -91
  1248. package/src/Result.ts +312 -484
  1249. package/src/Runtime.ts +50 -75
  1250. package/src/Schedule.ts +308 -1734
  1251. package/src/Scheduler.ts +20 -7
  1252. package/src/Schema.ts +716 -745
  1253. package/src/SchemaAST.ts +466 -358
  1254. package/src/SchemaError.ts +7 -6
  1255. package/src/SchemaGetter.ts +242 -190
  1256. package/src/SchemaIssue.ts +89 -275
  1257. package/src/SchemaParser.ts +180 -93
  1258. package/src/SchemaRepresentation.ts +22 -40
  1259. package/src/SchemaTransformation.ts +129 -88
  1260. package/src/Scope.ts +123 -151
  1261. package/src/ScopedRef.ts +4 -4
  1262. package/src/Semaphore.ts +152 -51
  1263. package/src/Sink.ts +128 -113
  1264. package/src/Stdio.ts +1 -1
  1265. package/src/Stream.ts +2602 -3123
  1266. package/src/String.ts +275 -312
  1267. package/src/Struct.ts +109 -114
  1268. package/src/SubscriptionRef.ts +284 -252
  1269. package/src/Symbol.ts +3 -3
  1270. package/src/Terminal.ts +2 -2
  1271. package/src/Tracer.ts +102 -55
  1272. package/src/Trie.ts +287 -679
  1273. package/src/Tuple.ts +92 -127
  1274. package/src/TxChunk.ts +201 -121
  1275. package/src/TxDeferred.ts +62 -46
  1276. package/src/TxHashMap.ts +645 -799
  1277. package/src/TxHashSet.ts +443 -356
  1278. package/src/TxPriorityQueue.ts +130 -98
  1279. package/src/TxPubSub.ts +107 -80
  1280. package/src/TxQueue.ts +214 -183
  1281. package/src/TxReentrantLock.ts +97 -66
  1282. package/src/TxRef.ts +51 -32
  1283. package/src/TxSemaphore.ts +129 -95
  1284. package/src/TxSubscriptionRef.ts +97 -70
  1285. package/src/Types.ts +126 -67
  1286. package/src/Unify.ts +45 -65
  1287. package/src/Utils.ts +23 -16
  1288. package/src/internal/core.ts +2 -2
  1289. package/src/internal/dateTime.ts +6 -0
  1290. package/src/internal/effect.ts +93 -48
  1291. package/src/internal/persistence.ts +2 -0
  1292. package/src/internal/references.ts +3 -2
  1293. package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
  1294. package/src/internal/schema/fromRepresentation.ts +10 -16
  1295. package/src/internal/schema/parser.ts +22 -0
  1296. package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
  1297. package/src/internal/schema/toRepresentation.ts +104 -119
  1298. package/src/internal/trie.ts +10 -11
  1299. package/src/testing/FastCheck.ts +8 -7
  1300. package/src/testing/TestClock.ts +72 -30
  1301. package/src/testing/TestConsole.ts +32 -31
  1302. package/src/testing/TestSchema.ts +29 -29
  1303. package/src/unstable/ai/AiError.ts +95 -118
  1304. package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
  1305. package/src/unstable/ai/Chat.ts +132 -97
  1306. package/src/unstable/ai/IdGenerator.ts +32 -28
  1307. package/src/unstable/ai/LanguageModel.ts +107 -67
  1308. package/src/unstable/ai/McpProtocol.ts +48 -0
  1309. package/src/unstable/ai/McpSchema.ts +60 -50
  1310. package/src/unstable/ai/McpServer.ts +930 -304
  1311. package/src/unstable/ai/Model.ts +9 -20
  1312. package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
  1313. package/src/unstable/ai/Prompt.ts +145 -43
  1314. package/src/unstable/ai/Response.ts +28 -14
  1315. package/src/unstable/ai/Telemetry.ts +46 -13
  1316. package/src/unstable/ai/Tokenizer.ts +14 -3
  1317. package/src/unstable/ai/Tool.ts +59 -44
  1318. package/src/unstable/ai/Toolkit.ts +26 -8
  1319. package/src/unstable/ai/index.ts +5 -0
  1320. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1321. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1322. package/src/unstable/ai/internal/structured-output.ts +13 -18
  1323. package/src/unstable/cli/Argument.ts +273 -69
  1324. package/src/unstable/cli/CliError.ts +69 -76
  1325. package/src/unstable/cli/CliOutput.ts +44 -58
  1326. package/src/unstable/cli/Command.ts +705 -107
  1327. package/src/unstable/cli/Flag.ts +418 -138
  1328. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1329. package/src/unstable/cli/HelpDoc.ts +12 -4
  1330. package/src/unstable/cli/Param.ts +292 -78
  1331. package/src/unstable/cli/Primitive.ts +370 -149
  1332. package/src/unstable/cli/Prompt.ts +28 -14
  1333. package/src/unstable/cli/internal/lexer.ts +8 -2
  1334. package/src/unstable/cli/internal/parser.ts +2 -2
  1335. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1336. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
  1337. package/src/unstable/cluster/Entity.ts +15 -16
  1338. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1339. package/src/unstable/cluster/EntityResource.ts +2 -2
  1340. package/src/unstable/cluster/Envelope.ts +3 -3
  1341. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1342. package/src/unstable/cluster/Message.ts +9 -9
  1343. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1344. package/src/unstable/cluster/Reply.ts +4 -6
  1345. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1346. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1347. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1348. package/src/unstable/cluster/Runners.ts +23 -12
  1349. package/src/unstable/cluster/Sharding.ts +7 -8
  1350. package/src/unstable/cluster/ShardingConfig.ts +3 -3
  1351. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1352. package/src/unstable/cluster/Snowflake.ts +8 -8
  1353. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  1354. package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
  1355. package/src/unstable/cluster/internal/entityManager.ts +11 -15
  1356. package/src/unstable/encoding/Msgpack.ts +6 -8
  1357. package/src/unstable/encoding/Sse.ts +98 -16
  1358. package/src/unstable/eventlog/Event.ts +20 -20
  1359. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1360. package/src/unstable/eventlog/EventJournal.ts +15 -15
  1361. package/src/unstable/eventlog/EventLog.ts +3 -3
  1362. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  1363. package/src/unstable/eventlog/EventLogMessage.ts +2 -2
  1364. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1365. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1366. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1367. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1368. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1369. package/src/unstable/http/Cookies.ts +35 -21
  1370. package/src/unstable/http/Etag.ts +1 -1
  1371. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1372. package/src/unstable/http/Headers.ts +2 -2
  1373. package/src/unstable/http/HttpBody.ts +20 -5
  1374. package/src/unstable/http/HttpClient.ts +83 -55
  1375. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1376. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1377. package/src/unstable/http/HttpEffect.ts +8 -8
  1378. package/src/unstable/http/HttpMethod.ts +6 -9
  1379. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1380. package/src/unstable/http/HttpPlatform.ts +95 -0
  1381. package/src/unstable/http/HttpRouter.ts +102 -98
  1382. package/src/unstable/http/HttpServer.ts +13 -13
  1383. package/src/unstable/http/HttpServerError.ts +2 -2
  1384. package/src/unstable/http/HttpServerRequest.ts +4 -4
  1385. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1386. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1387. package/src/unstable/http/Multipart.ts +6 -6
  1388. package/src/unstable/http/Url.ts +33 -63
  1389. package/src/unstable/http/UrlParams.ts +10 -18
  1390. package/src/unstable/http/internal/compression.ts +196 -0
  1391. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1392. package/src/unstable/httpapi/HttpApiClient.ts +14 -14
  1393. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1394. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1395. package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
  1396. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1397. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1398. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1399. package/src/unstable/httpapi/OpenApi.ts +13 -13
  1400. package/src/unstable/observability/OtlpExporter.ts +31 -19
  1401. package/src/unstable/observability/OtlpMetrics.ts +4 -1
  1402. package/src/unstable/observability/OtlpResource.ts +26 -17
  1403. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1404. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1405. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1406. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1407. package/src/unstable/persistence/Persistable.ts +8 -8
  1408. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1409. package/src/unstable/persistence/Persistence.ts +126 -19
  1410. package/src/unstable/persistence/RateLimiter.ts +26 -15
  1411. package/src/unstable/persistence/Redis.ts +2 -2
  1412. package/src/unstable/process/ChildProcess.ts +64 -21
  1413. package/src/unstable/process/ChildProcessSpawner.ts +21 -10
  1414. package/src/unstable/reactivity/AsyncResult.ts +12 -13
  1415. package/src/unstable/reactivity/Atom.ts +28 -25
  1416. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1417. package/src/unstable/reactivity/AtomRegistry.ts +24 -3
  1418. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1419. package/src/unstable/reactivity/Hydration.ts +1 -1
  1420. package/src/unstable/rpc/Rpc.ts +35 -33
  1421. package/src/unstable/rpc/RpcClient.ts +16 -15
  1422. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1423. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1424. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1425. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1426. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1427. package/src/unstable/rpc/RpcServer.ts +18 -15
  1428. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1429. package/src/unstable/schema/Model.ts +52 -50
  1430. package/src/unstable/schema/VariantSchema.ts +5 -5
  1431. package/src/unstable/socket/Socket.ts +17 -4
  1432. package/src/unstable/sql/SqlClient.ts +5 -6
  1433. package/src/unstable/sql/SqlModel.ts +2 -2
  1434. package/src/unstable/sql/SqlResolver.ts +5 -5
  1435. package/src/unstable/sql/Statement.ts +24 -23
  1436. package/src/unstable/workers/Transferable.ts +1 -1
  1437. package/src/unstable/workers/Worker.ts +2 -2
  1438. package/src/unstable/workers/WorkerError.ts +7 -7
  1439. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1440. package/src/unstable/workflow/Activity.ts +2 -2
  1441. package/src/unstable/workflow/DurableClock.ts +1 -1
  1442. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1443. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1444. package/src/unstable/workflow/Workflow.ts +23 -23
  1445. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1446. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1447. package/dist/internal/version.d.ts +0 -3
  1448. package/dist/internal/version.d.ts.map +0 -1
  1449. package/dist/internal/version.js +0 -2
  1450. package/dist/internal/version.js.map +0 -1
  1451. package/src/internal/version.ts +0 -2
package/src/Ref.ts CHANGED
@@ -35,24 +35,18 @@ const TypeId = "~effect/Ref"
35
35
  *
36
36
  * **Example** (Reading and updating a ref)
37
37
  *
38
- * ```ts
38
+ * ```ts import.meta.vitest
39
39
  * import { Effect, Ref } from "effect"
40
40
  *
41
41
  * const program = Effect.gen(function*() {
42
- * // Create a ref with initial value
43
42
  * const counter = yield* Ref.make(0)
44
- *
45
- * // Read the current value
46
43
  * const value = yield* Ref.get(counter)
47
- * console.log(value) // 0
48
- *
49
- * // Update the value atomically
50
44
  * yield* Ref.update(counter, (n) => n + 1)
51
- *
52
- * // Read the updated value
53
45
  * const newValue = yield* Ref.get(counter)
54
- * console.log(newValue) // 1
46
+ * return [value, newValue]
55
47
  * })
48
+ *
49
+ * await Effect.runPromise(program) // => [0, 1]
56
50
  * ```
57
51
  *
58
52
  * @see {@link make} for creating a `Ref`
@@ -85,18 +79,17 @@ export declare namespace Ref {
85
79
  *
86
80
  * **Example** (Using invariant refs)
87
81
  *
88
- * ```ts
82
+ * ```ts import.meta.vitest
89
83
  * import { Effect, Ref } from "effect"
90
84
  *
91
- * // This interface defines the invariant nature of Ref's type parameter
92
- * // A Ref<A> is both a producer and consumer of A
93
85
  * const program = Effect.gen(function*() {
94
86
  * const ref = yield* Ref.make(42)
95
- *
96
- * // Ref is invariant - it can both produce and consume numbers
97
- * const value = yield* Ref.get(ref) // produces number
98
- * yield* Ref.set(ref, value + 1) // consumes number
87
+ * const value = yield* Ref.get(ref)
88
+ * yield* Ref.set(ref, value + 1)
89
+ * return yield* Ref.get(ref)
99
90
  * })
91
+ *
92
+ * await Effect.runPromise(program) // => 43
100
93
  * ```
101
94
  *
102
95
  * @category models
@@ -136,18 +129,11 @@ const RefProto = {
136
129
  *
137
130
  * **Example** (Creating a ref unsafely)
138
131
  *
139
- * ```ts
132
+ * ```ts import.meta.vitest
140
133
  * import { Ref } from "effect"
141
134
  *
142
- * // Create a ref directly without Effect
143
135
  * const counter = Ref.makeUnsafe(0)
144
- *
145
- * // Get the current value
146
- * const value = Ref.getUnsafe(counter)
147
- * console.log(value) // 0
148
- *
149
- * // Note: This is unsafe and should be used carefully
150
- * // Prefer Ref.make for Effect-wrapped creation
136
+ * Ref.getUnsafe(counter) // => 0
151
137
  * ```
152
138
  *
153
139
  * @category constructors
@@ -168,14 +154,15 @@ export const makeUnsafe = <A>(value: A): Ref<A> => {
168
154
  *
169
155
  * **Example** (Creating a ref)
170
156
  *
171
- * ```ts
157
+ * ```ts import.meta.vitest
172
158
  * import { Effect, Ref } from "effect"
173
159
  *
174
160
  * const program = Effect.gen(function*() {
175
161
  * const ref = yield* Ref.make(42)
176
- * const value = yield* Ref.get(ref)
177
- * console.log(value) // 42
162
+ * return yield* Ref.get(ref)
178
163
  * })
164
+ *
165
+ * await Effect.runPromise(program) // => 42
179
166
  * ```
180
167
  *
181
168
  * @see {@link makeUnsafe} for synchronous construction outside Effect code
@@ -194,14 +181,15 @@ export const make = <A>(value: A): Effect.Effect<Ref<A>> => Effect.sync(() => ma
194
181
  *
195
182
  * **Example** (Getting the current value)
196
183
  *
197
- * ```ts
184
+ * ```ts import.meta.vitest
198
185
  * import { Effect, Ref } from "effect"
199
186
  *
200
187
  * const program = Effect.gen(function*() {
201
188
  * const ref = yield* Ref.make(42)
202
- * const value = yield* Ref.get(ref)
203
- * console.log(value) // 42
189
+ * return yield* Ref.get(ref)
204
190
  * })
191
+ *
192
+ * await Effect.runPromise(program) // => 42
205
193
  * ```
206
194
  *
207
195
  * @see {@link set} for replacing the current value
@@ -220,29 +208,29 @@ export const get = <A>(self: Ref<A>) => Effect.sync(() => self.ref.current)
220
208
  *
221
209
  * **Example** (Setting a value)
222
210
  *
223
- * ```ts
211
+ * ```ts import.meta.vitest
224
212
  * import { Effect, Ref } from "effect"
225
213
  *
226
214
  * const program = Effect.gen(function*() {
227
215
  * const ref = yield* Ref.make(0)
228
216
  * yield* Ref.set(ref, 42)
229
- * const value = yield* Ref.get(ref)
230
- * console.log(value) // 42
217
+ * return yield* Ref.get(ref)
231
218
  * })
232
219
  *
233
- * // Using multiple operations
234
220
  * const program2 = Effect.gen(function*() {
235
221
  * const ref = yield* Ref.make(0)
236
222
  * yield* Ref.set(ref, 100)
237
- * const value = yield* Ref.get(ref)
238
- * console.log(value) // 100
223
+ * return yield* Ref.get(ref)
239
224
  * })
225
+ *
226
+ * await Effect.runPromise(program) // => 42
227
+ * await Effect.runPromise(program2) // => 100
240
228
  * ```
241
229
  *
242
230
  * @see {@link getAndSet} for setting while returning the previous value
243
231
  * @see {@link setAndGet} for setting while returning the new value
244
232
  *
245
- * @category setters
233
+ * @category mutations
246
234
  * @since 2.0.0
247
235
  */
248
236
  export const set = dual<
@@ -255,29 +243,29 @@ export const set = dual<
255
243
  *
256
244
  * **Example** (Setting a value)
257
245
  *
258
- * ```ts
246
+ * ```ts import.meta.vitest
259
247
  * import { Effect, Ref } from "effect"
260
248
  *
261
249
  * const program = Effect.gen(function*() {
262
250
  * const ref = yield* Ref.make(0)
263
251
  * yield* Ref.set(ref, 42)
264
- * const value = yield* Ref.get(ref)
265
- * console.log(value) // 42
252
+ * return yield* Ref.get(ref)
266
253
  * })
267
254
  *
268
- * // Using multiple operations
269
255
  * const program2 = Effect.gen(function*() {
270
256
  * const ref = yield* Ref.make(0)
271
257
  * yield* Ref.set(ref, 100)
272
- * const value = yield* Ref.get(ref)
273
- * console.log(value) // 100
258
+ * return yield* Ref.get(ref)
274
259
  * })
260
+ *
261
+ * await Effect.runPromise(program) // => 42
262
+ * await Effect.runPromise(program2) // => 100
275
263
  * ```
276
264
  *
277
265
  * @see {@link getAndSet} for setting while returning the previous value
278
266
  * @see {@link setAndGet} for setting while returning the new value
279
267
  *
280
- * @category setters
268
+ * @category mutations
281
269
  * @since 2.0.0
282
270
  */
283
271
  <A>(value: A) => (self: Ref<A>) => Effect.Effect<void>,
@@ -290,29 +278,29 @@ export const set = dual<
290
278
  *
291
279
  * **Example** (Setting a value)
292
280
  *
293
- * ```ts
281
+ * ```ts import.meta.vitest
294
282
  * import { Effect, Ref } from "effect"
295
283
  *
296
284
  * const program = Effect.gen(function*() {
297
285
  * const ref = yield* Ref.make(0)
298
286
  * yield* Ref.set(ref, 42)
299
- * const value = yield* Ref.get(ref)
300
- * console.log(value) // 42
287
+ * return yield* Ref.get(ref)
301
288
  * })
302
289
  *
303
- * // Using multiple operations
304
290
  * const program2 = Effect.gen(function*() {
305
291
  * const ref = yield* Ref.make(0)
306
292
  * yield* Ref.set(ref, 100)
307
- * const value = yield* Ref.get(ref)
308
- * console.log(value) // 100
293
+ * return yield* Ref.get(ref)
309
294
  * })
295
+ *
296
+ * await Effect.runPromise(program) // => 42
297
+ * await Effect.runPromise(program2) // => 100
310
298
  * ```
311
299
  *
312
300
  * @see {@link getAndSet} for setting while returning the previous value
313
301
  * @see {@link setAndGet} for setting while returning the new value
314
302
  *
315
- * @category setters
303
+ * @category mutations
316
304
  * @since 2.0.0
317
305
  */
318
306
  <A>(self: Ref<A>, value: A) => Effect.Effect<void>
@@ -327,19 +315,18 @@ export const set = dual<
327
315
  *
328
316
  * **Example** (Replacing a value atomically)
329
317
  *
330
- * ```ts
318
+ * ```ts import.meta.vitest
331
319
  * import { Effect, Ref } from "effect"
332
320
  *
333
321
  * const program = Effect.gen(function*() {
334
322
  * const ref = yield* Ref.make("initial")
335
323
  *
336
- * // Get current value and set new value atomically
337
324
  * const previous = yield* Ref.getAndSet(ref, "updated")
338
- * console.log(previous) // "initial"
339
- *
340
325
  * const current = yield* Ref.get(ref)
341
- * console.log(current) // "updated"
326
+ * return [previous, current]
342
327
  * })
328
+ *
329
+ * await Effect.runPromise(program) // => ["initial", "updated"]
343
330
  * ```
344
331
  *
345
332
  * @see {@link set} for setting without returning the previous value
@@ -358,19 +345,18 @@ export const getAndSet = dual<
358
345
  *
359
346
  * **Example** (Replacing a value atomically)
360
347
  *
361
- * ```ts
348
+ * ```ts import.meta.vitest
362
349
  * import { Effect, Ref } from "effect"
363
350
  *
364
351
  * const program = Effect.gen(function*() {
365
352
  * const ref = yield* Ref.make("initial")
366
353
  *
367
- * // Get current value and set new value atomically
368
354
  * const previous = yield* Ref.getAndSet(ref, "updated")
369
- * console.log(previous) // "initial"
370
- *
371
355
  * const current = yield* Ref.get(ref)
372
- * console.log(current) // "updated"
356
+ * return [previous, current]
373
357
  * })
358
+ *
359
+ * await Effect.runPromise(program) // => ["initial", "updated"]
374
360
  * ```
375
361
  *
376
362
  * @see {@link set} for setting without returning the previous value
@@ -389,19 +375,18 @@ export const getAndSet = dual<
389
375
  *
390
376
  * **Example** (Replacing a value atomically)
391
377
  *
392
- * ```ts
378
+ * ```ts import.meta.vitest
393
379
  * import { Effect, Ref } from "effect"
394
380
  *
395
381
  * const program = Effect.gen(function*() {
396
382
  * const ref = yield* Ref.make("initial")
397
383
  *
398
- * // Get current value and set new value atomically
399
384
  * const previous = yield* Ref.getAndSet(ref, "updated")
400
- * console.log(previous) // "initial"
401
- *
402
385
  * const current = yield* Ref.get(ref)
403
- * console.log(current) // "updated"
386
+ * return [previous, current]
404
387
  * })
388
+ *
389
+ * await Effect.runPromise(program) // => ["initial", "updated"]
405
390
  * ```
406
391
  *
407
392
  * @see {@link set} for setting without returning the previous value
@@ -427,19 +412,18 @@ export const getAndSet = dual<
427
412
  *
428
413
  * **Example** (Updating and returning the previous value)
429
414
  *
430
- * ```ts
415
+ * ```ts import.meta.vitest
431
416
  * import { Effect, Ref } from "effect"
432
417
  *
433
418
  * const program = Effect.gen(function*() {
434
419
  * const counter = yield* Ref.make(10)
435
420
  *
436
- * // Get current value and update it atomically
437
421
  * const previous = yield* Ref.getAndUpdate(counter, (n) => n * 2)
438
- * console.log(previous) // 10
439
- *
440
422
  * const current = yield* Ref.get(counter)
441
- * console.log(current) // 20
423
+ * return [previous, current]
442
424
  * })
425
+ *
426
+ * await Effect.runPromise(program) // => [10, 20]
443
427
  * ```
444
428
  *
445
429
  * @see {@link update} for updating without returning the previous value
@@ -458,19 +442,18 @@ export const getAndUpdate = dual<
458
442
  *
459
443
  * **Example** (Updating and returning the previous value)
460
444
  *
461
- * ```ts
445
+ * ```ts import.meta.vitest
462
446
  * import { Effect, Ref } from "effect"
463
447
  *
464
448
  * const program = Effect.gen(function*() {
465
449
  * const counter = yield* Ref.make(10)
466
450
  *
467
- * // Get current value and update it atomically
468
451
  * const previous = yield* Ref.getAndUpdate(counter, (n) => n * 2)
469
- * console.log(previous) // 10
470
- *
471
452
  * const current = yield* Ref.get(counter)
472
- * console.log(current) // 20
453
+ * return [previous, current]
473
454
  * })
455
+ *
456
+ * await Effect.runPromise(program) // => [10, 20]
474
457
  * ```
475
458
  *
476
459
  * @see {@link update} for updating without returning the previous value
@@ -489,19 +472,18 @@ export const getAndUpdate = dual<
489
472
  *
490
473
  * **Example** (Updating and returning the previous value)
491
474
  *
492
- * ```ts
475
+ * ```ts import.meta.vitest
493
476
  * import { Effect, Ref } from "effect"
494
477
  *
495
478
  * const program = Effect.gen(function*() {
496
479
  * const counter = yield* Ref.make(10)
497
480
  *
498
- * // Get current value and update it atomically
499
481
  * const previous = yield* Ref.getAndUpdate(counter, (n) => n * 2)
500
- * console.log(previous) // 10
501
- *
502
482
  * const current = yield* Ref.get(counter)
503
- * console.log(current) // 20
483
+ * return [previous, current]
504
484
  * })
485
+ *
486
+ * await Effect.runPromise(program) // => [10, 20]
505
487
  * ```
506
488
  *
507
489
  * @see {@link update} for updating without returning the previous value
@@ -533,32 +515,26 @@ export const getAndUpdate = dual<
533
515
  *
534
516
  * **Example** (Conditionally updating and returning the previous value)
535
517
  *
536
- * ```ts
518
+ * ```ts import.meta.vitest
537
519
  * import { Effect, Option, Ref } from "effect"
538
520
  *
539
521
  * const program = Effect.gen(function*() {
540
522
  * const counter = yield* Ref.make(5)
541
523
  *
542
- * // Only update if value is greater than 3
543
524
  * const previous1 = yield* Ref.getAndUpdateSome(
544
525
  * counter,
545
526
  * (n) => n > 3 ? Option.some(n * 2) : Option.none()
546
527
  * )
547
- * console.log(previous1) // 5
548
- *
549
528
  * const current1 = yield* Ref.get(counter)
550
- * console.log(current1) // 10
551
- *
552
- * // Try to update again (won't update since 10 > 3 is true but let's say condition is n < 3)
553
529
  * const previous2 = yield* Ref.getAndUpdateSome(
554
530
  * counter,
555
531
  * (n) => n < 3 ? Option.some(n * 2) : Option.none()
556
532
  * )
557
- * console.log(previous2) // 10
558
- *
559
533
  * const current2 = yield* Ref.get(counter)
560
- * console.log(current2) // 10 (unchanged)
534
+ * return [previous1, current1, previous2, current2]
561
535
  * })
536
+ *
537
+ * await Effect.runPromise(program) // => [5, 10, 10, 10]
562
538
  * ```
563
539
  *
564
540
  * @see {@link getAndUpdate} for always applying an update
@@ -583,32 +559,26 @@ export const getAndUpdateSome = dual<
583
559
  *
584
560
  * **Example** (Conditionally updating and returning the previous value)
585
561
  *
586
- * ```ts
562
+ * ```ts import.meta.vitest
587
563
  * import { Effect, Option, Ref } from "effect"
588
564
  *
589
565
  * const program = Effect.gen(function*() {
590
566
  * const counter = yield* Ref.make(5)
591
567
  *
592
- * // Only update if value is greater than 3
593
568
  * const previous1 = yield* Ref.getAndUpdateSome(
594
569
  * counter,
595
570
  * (n) => n > 3 ? Option.some(n * 2) : Option.none()
596
571
  * )
597
- * console.log(previous1) // 5
598
- *
599
572
  * const current1 = yield* Ref.get(counter)
600
- * console.log(current1) // 10
601
- *
602
- * // Try to update again (won't update since 10 > 3 is true but let's say condition is n < 3)
603
573
  * const previous2 = yield* Ref.getAndUpdateSome(
604
574
  * counter,
605
575
  * (n) => n < 3 ? Option.some(n * 2) : Option.none()
606
576
  * )
607
- * console.log(previous2) // 10
608
- *
609
577
  * const current2 = yield* Ref.get(counter)
610
- * console.log(current2) // 10 (unchanged)
578
+ * return [previous1, current1, previous2, current2]
611
579
  * })
580
+ *
581
+ * await Effect.runPromise(program) // => [5, 10, 10, 10]
612
582
  * ```
613
583
  *
614
584
  * @see {@link getAndUpdate} for always applying an update
@@ -633,32 +603,26 @@ export const getAndUpdateSome = dual<
633
603
  *
634
604
  * **Example** (Conditionally updating and returning the previous value)
635
605
  *
636
- * ```ts
606
+ * ```ts import.meta.vitest
637
607
  * import { Effect, Option, Ref } from "effect"
638
608
  *
639
609
  * const program = Effect.gen(function*() {
640
610
  * const counter = yield* Ref.make(5)
641
611
  *
642
- * // Only update if value is greater than 3
643
612
  * const previous1 = yield* Ref.getAndUpdateSome(
644
613
  * counter,
645
614
  * (n) => n > 3 ? Option.some(n * 2) : Option.none()
646
615
  * )
647
- * console.log(previous1) // 5
648
- *
649
616
  * const current1 = yield* Ref.get(counter)
650
- * console.log(current1) // 10
651
- *
652
- * // Try to update again (won't update since 10 > 3 is true but let's say condition is n < 3)
653
617
  * const previous2 = yield* Ref.getAndUpdateSome(
654
618
  * counter,
655
619
  * (n) => n < 3 ? Option.some(n * 2) : Option.none()
656
620
  * )
657
- * console.log(previous2) // 10
658
- *
659
621
  * const current2 = yield* Ref.get(counter)
660
- * console.log(current2) // 10 (unchanged)
622
+ * return [previous1, current1, previous2, current2]
661
623
  * })
624
+ *
625
+ * await Effect.runPromise(program) // => [5, 10, 10, 10]
662
626
  * ```
663
627
  *
664
628
  * @see {@link getAndUpdate} for always applying an update
@@ -688,28 +652,24 @@ export const getAndUpdateSome = dual<
688
652
  *
689
653
  * **Example** (Setting and returning the new value)
690
654
  *
691
- * ```ts
655
+ * ```ts import.meta.vitest
692
656
  * import { Effect, Ref } from "effect"
693
657
  *
694
658
  * const program = Effect.gen(function*() {
695
659
  * const ref = yield* Ref.make(10)
696
660
  *
697
- * // Set new value and get it back in one operation
698
661
  * const newValue = yield* Ref.setAndGet(ref, 42)
699
- * console.log(newValue) // 42
700
- *
701
- * // Verify the ref contains the new value
702
662
  * const current = yield* Ref.get(ref)
703
- * console.log(current) // 42
663
+ * return [newValue, current]
704
664
  * })
705
665
  *
706
- * // Useful for sequential operations
707
666
  * const program2 = Effect.gen(function*() {
708
667
  * const counter = yield* Ref.make(0)
709
- *
710
- * const newValue = yield* Ref.setAndGet(counter, 20)
711
- * console.log(newValue) // 20
668
+ * return yield* Ref.setAndGet(counter, 20)
712
669
  * })
670
+ *
671
+ * await Effect.runPromise(program) // => [42, 42]
672
+ * await Effect.runPromise(program2) // => 20
713
673
  * ```
714
674
  *
715
675
  * @category mutations
@@ -726,28 +686,24 @@ export const setAndGet = dual<
726
686
  *
727
687
  * **Example** (Setting and returning the new value)
728
688
  *
729
- * ```ts
689
+ * ```ts import.meta.vitest
730
690
  * import { Effect, Ref } from "effect"
731
691
  *
732
692
  * const program = Effect.gen(function*() {
733
693
  * const ref = yield* Ref.make(10)
734
694
  *
735
- * // Set new value and get it back in one operation
736
695
  * const newValue = yield* Ref.setAndGet(ref, 42)
737
- * console.log(newValue) // 42
738
- *
739
- * // Verify the ref contains the new value
740
696
  * const current = yield* Ref.get(ref)
741
- * console.log(current) // 42
697
+ * return [newValue, current]
742
698
  * })
743
699
  *
744
- * // Useful for sequential operations
745
700
  * const program2 = Effect.gen(function*() {
746
701
  * const counter = yield* Ref.make(0)
747
- *
748
- * const newValue = yield* Ref.setAndGet(counter, 20)
749
- * console.log(newValue) // 20
702
+ * return yield* Ref.setAndGet(counter, 20)
750
703
  * })
704
+ *
705
+ * await Effect.runPromise(program) // => [42, 42]
706
+ * await Effect.runPromise(program2) // => 20
751
707
  * ```
752
708
  *
753
709
  * @category mutations
@@ -764,28 +720,24 @@ export const setAndGet = dual<
764
720
  *
765
721
  * **Example** (Setting and returning the new value)
766
722
  *
767
- * ```ts
723
+ * ```ts import.meta.vitest
768
724
  * import { Effect, Ref } from "effect"
769
725
  *
770
726
  * const program = Effect.gen(function*() {
771
727
  * const ref = yield* Ref.make(10)
772
728
  *
773
- * // Set new value and get it back in one operation
774
729
  * const newValue = yield* Ref.setAndGet(ref, 42)
775
- * console.log(newValue) // 42
776
- *
777
- * // Verify the ref contains the new value
778
730
  * const current = yield* Ref.get(ref)
779
- * console.log(current) // 42
731
+ * return [newValue, current]
780
732
  * })
781
733
  *
782
- * // Useful for sequential operations
783
734
  * const program2 = Effect.gen(function*() {
784
735
  * const counter = yield* Ref.make(0)
785
- *
786
- * const newValue = yield* Ref.setAndGet(counter, 20)
787
- * console.log(newValue) // 20
736
+ * return yield* Ref.setAndGet(counter, 20)
788
737
  * })
738
+ *
739
+ * await Effect.runPromise(program) // => [42, 42]
740
+ * await Effect.runPromise(program2) // => 20
789
741
  * ```
790
742
  *
791
743
  * @category mutations
@@ -810,41 +762,36 @@ export const setAndGet = dual<
810
762
  *
811
763
  * **Example** (Modifying a value atomically)
812
764
  *
813
- * ```ts
765
+ * ```ts import.meta.vitest
814
766
  * import { Effect, Ref } from "effect"
815
767
  *
816
768
  * const program = Effect.gen(function*() {
817
769
  * const counter = yield* Ref.make(10)
818
770
  *
819
- * // Modify the ref and return some computation result
820
771
  * const result = yield* Ref.modify(counter, (n) => [
821
- * `Previous value was ${n}`, // Return value
822
- * n * 2 // New ref value
772
+ * `Previous value was ${n}`,
773
+ * n * 2
823
774
  * ])
824
- *
825
- * console.log(result) // "Previous value was 10"
826
- *
827
775
  * const current = yield* Ref.get(counter)
828
- * console.log(current) // 20
776
+ * return [result, current]
829
777
  * })
830
778
  *
831
- * // Example with more complex computation
832
779
  * const program2 = Effect.gen(function*() {
833
780
  * const state = yield* Ref.make({ count: 0, total: 0 })
834
- *
835
- * const incremented = yield* Ref.modify(state, (s) => [
836
- * s.count, // Return previous count
837
- * { count: s.count + 1, total: s.total + s.count + 1 } // New state
781
+ * return yield* Ref.modify(state, (s) => [
782
+ * s.count,
783
+ * { count: s.count + 1, total: s.total + s.count + 1 }
838
784
  * ])
839
- *
840
- * console.log(incremented) // 0
841
785
  * })
786
+ *
787
+ * await Effect.runPromise(program) // => ["Previous value was 10", 20]
788
+ * await Effect.runPromise(program2) // => 0
842
789
  * ```
843
790
  *
844
791
  * @see {@link updateAndGet} for returning the new stored value
845
792
  * @see {@link modifySome} for optionally updating while returning a separate result
846
793
  *
847
- * @category setters
794
+ * @category mutations
848
795
  * @since 2.0.0
849
796
  */
850
797
  export const modify = dual<
@@ -864,41 +811,36 @@ export const modify = dual<
864
811
  *
865
812
  * **Example** (Modifying a value atomically)
866
813
  *
867
- * ```ts
814
+ * ```ts import.meta.vitest
868
815
  * import { Effect, Ref } from "effect"
869
816
  *
870
817
  * const program = Effect.gen(function*() {
871
818
  * const counter = yield* Ref.make(10)
872
819
  *
873
- * // Modify the ref and return some computation result
874
820
  * const result = yield* Ref.modify(counter, (n) => [
875
- * `Previous value was ${n}`, // Return value
876
- * n * 2 // New ref value
821
+ * `Previous value was ${n}`,
822
+ * n * 2
877
823
  * ])
878
- *
879
- * console.log(result) // "Previous value was 10"
880
- *
881
824
  * const current = yield* Ref.get(counter)
882
- * console.log(current) // 20
825
+ * return [result, current]
883
826
  * })
884
827
  *
885
- * // Example with more complex computation
886
828
  * const program2 = Effect.gen(function*() {
887
829
  * const state = yield* Ref.make({ count: 0, total: 0 })
888
- *
889
- * const incremented = yield* Ref.modify(state, (s) => [
890
- * s.count, // Return previous count
891
- * { count: s.count + 1, total: s.total + s.count + 1 } // New state
830
+ * return yield* Ref.modify(state, (s) => [
831
+ * s.count,
832
+ * { count: s.count + 1, total: s.total + s.count + 1 }
892
833
  * ])
893
- *
894
- * console.log(incremented) // 0
895
834
  * })
835
+ *
836
+ * await Effect.runPromise(program) // => ["Previous value was 10", 20]
837
+ * await Effect.runPromise(program2) // => 0
896
838
  * ```
897
839
  *
898
840
  * @see {@link updateAndGet} for returning the new stored value
899
841
  * @see {@link modifySome} for optionally updating while returning a separate result
900
842
  *
901
- * @category setters
843
+ * @category mutations
902
844
  * @since 2.0.0
903
845
  */
904
846
  <A, B>(f: (a: A) => readonly [B, A]) => (self: Ref<A>) => Effect.Effect<B>,
@@ -918,41 +860,36 @@ export const modify = dual<
918
860
  *
919
861
  * **Example** (Modifying a value atomically)
920
862
  *
921
- * ```ts
863
+ * ```ts import.meta.vitest
922
864
  * import { Effect, Ref } from "effect"
923
865
  *
924
866
  * const program = Effect.gen(function*() {
925
867
  * const counter = yield* Ref.make(10)
926
868
  *
927
- * // Modify the ref and return some computation result
928
869
  * const result = yield* Ref.modify(counter, (n) => [
929
- * `Previous value was ${n}`, // Return value
930
- * n * 2 // New ref value
870
+ * `Previous value was ${n}`,
871
+ * n * 2
931
872
  * ])
932
- *
933
- * console.log(result) // "Previous value was 10"
934
- *
935
873
  * const current = yield* Ref.get(counter)
936
- * console.log(current) // 20
874
+ * return [result, current]
937
875
  * })
938
876
  *
939
- * // Example with more complex computation
940
877
  * const program2 = Effect.gen(function*() {
941
878
  * const state = yield* Ref.make({ count: 0, total: 0 })
942
- *
943
- * const incremented = yield* Ref.modify(state, (s) => [
944
- * s.count, // Return previous count
945
- * { count: s.count + 1, total: s.total + s.count + 1 } // New state
879
+ * return yield* Ref.modify(state, (s) => [
880
+ * s.count,
881
+ * { count: s.count + 1, total: s.total + s.count + 1 }
946
882
  * ])
947
- *
948
- * console.log(incremented) // 0
949
883
  * })
884
+ *
885
+ * await Effect.runPromise(program) // => ["Previous value was 10", 20]
886
+ * await Effect.runPromise(program2) // => 0
950
887
  * ```
951
888
  *
952
889
  * @see {@link updateAndGet} for returning the new stored value
953
890
  * @see {@link modifySome} for optionally updating while returning a separate result
954
891
  *
955
- * @category setters
892
+ * @category mutations
956
893
  * @since 2.0.0
957
894
  */
958
895
  <A, B>(self: Ref<A>, f: (a: A) => readonly [B, A]) => Effect.Effect<B>
@@ -979,13 +916,12 @@ export const modify = dual<
979
916
  *
980
917
  * **Example** (Conditionally modifying a value)
981
918
  *
982
- * ```ts
919
+ * ```ts import.meta.vitest
983
920
  * import { Effect, Option, Ref } from "effect"
984
921
  *
985
922
  * const program = Effect.gen(function*() {
986
923
  * const counter = yield* Ref.make(5)
987
924
  *
988
- * // Only modify if value is greater than 3
989
925
  * const result1 = yield* Ref.modifySome(
990
926
  * counter,
991
927
  * (n) =>
@@ -993,13 +929,7 @@ export const modify = dual<
993
929
  * ? [`incremented ${n}`, Option.some(n + 10)]
994
930
  * : ["no change", Option.none()]
995
931
  * )
996
- *
997
- * console.log(result1) // "incremented 5"
998
- *
999
932
  * const current1 = yield* Ref.get(counter)
1000
- * console.log(current1) // 15
1001
- *
1002
- * // Try to modify with a condition that fails
1003
933
  * const result2 = yield* Ref.modifySome(
1004
934
  * counter,
1005
935
  * (n) =>
@@ -1007,18 +937,17 @@ export const modify = dual<
1007
937
  * ? [`decremented ${n}`, Option.some(n - 5)]
1008
938
  * : ["no change", Option.none()]
1009
939
  * )
1010
- *
1011
- * console.log(result2) // "no change"
1012
- *
1013
940
  * const current2 = yield* Ref.get(counter)
1014
- * console.log(current2) // 15 (unchanged)
941
+ * return [result1, current1, result2, current2]
1015
942
  * })
943
+ *
944
+ * await Effect.runPromise(program) // => ["incremented 5", 15, "no change", 15]
1016
945
  * ```
1017
946
  *
1018
947
  * @see {@link modify} for always storing a new value
1019
948
  * @see {@link updateSome} for optional updates without a separate return value
1020
949
  *
1021
- * @category setters
950
+ * @category mutations
1022
951
  * @since 2.0.0
1023
952
  */
1024
953
  export const modifySome: {
@@ -1038,13 +967,12 @@ export const modifySome: {
1038
967
  *
1039
968
  * **Example** (Conditionally modifying a value)
1040
969
  *
1041
- * ```ts
970
+ * ```ts import.meta.vitest
1042
971
  * import { Effect, Option, Ref } from "effect"
1043
972
  *
1044
973
  * const program = Effect.gen(function*() {
1045
974
  * const counter = yield* Ref.make(5)
1046
975
  *
1047
- * // Only modify if value is greater than 3
1048
976
  * const result1 = yield* Ref.modifySome(
1049
977
  * counter,
1050
978
  * (n) =>
@@ -1052,13 +980,7 @@ export const modifySome: {
1052
980
  * ? [`incremented ${n}`, Option.some(n + 10)]
1053
981
  * : ["no change", Option.none()]
1054
982
  * )
1055
- *
1056
- * console.log(result1) // "incremented 5"
1057
- *
1058
983
  * const current1 = yield* Ref.get(counter)
1059
- * console.log(current1) // 15
1060
- *
1061
- * // Try to modify with a condition that fails
1062
984
  * const result2 = yield* Ref.modifySome(
1063
985
  * counter,
1064
986
  * (n) =>
@@ -1066,18 +988,17 @@ export const modifySome: {
1066
988
  * ? [`decremented ${n}`, Option.some(n - 5)]
1067
989
  * : ["no change", Option.none()]
1068
990
  * )
1069
- *
1070
- * console.log(result2) // "no change"
1071
- *
1072
991
  * const current2 = yield* Ref.get(counter)
1073
- * console.log(current2) // 15 (unchanged)
992
+ * return [result1, current1, result2, current2]
1074
993
  * })
994
+ *
995
+ * await Effect.runPromise(program) // => ["incremented 5", 15, "no change", 15]
1075
996
  * ```
1076
997
  *
1077
998
  * @see {@link modify} for always storing a new value
1078
999
  * @see {@link updateSome} for optional updates without a separate return value
1079
1000
  *
1080
- * @category setters
1001
+ * @category mutations
1081
1002
  * @since 2.0.0
1082
1003
  */
1083
1004
  <B, A>(pf: (a: A) => readonly [B, Option.Option<A>]): (self: Ref<A>) => Effect.Effect<B>
@@ -1097,13 +1018,12 @@ export const modifySome: {
1097
1018
  *
1098
1019
  * **Example** (Conditionally modifying a value)
1099
1020
  *
1100
- * ```ts
1021
+ * ```ts import.meta.vitest
1101
1022
  * import { Effect, Option, Ref } from "effect"
1102
1023
  *
1103
1024
  * const program = Effect.gen(function*() {
1104
1025
  * const counter = yield* Ref.make(5)
1105
1026
  *
1106
- * // Only modify if value is greater than 3
1107
1027
  * const result1 = yield* Ref.modifySome(
1108
1028
  * counter,
1109
1029
  * (n) =>
@@ -1111,13 +1031,7 @@ export const modifySome: {
1111
1031
  * ? [`incremented ${n}`, Option.some(n + 10)]
1112
1032
  * : ["no change", Option.none()]
1113
1033
  * )
1114
- *
1115
- * console.log(result1) // "incremented 5"
1116
- *
1117
1034
  * const current1 = yield* Ref.get(counter)
1118
- * console.log(current1) // 15
1119
- *
1120
- * // Try to modify with a condition that fails
1121
1035
  * const result2 = yield* Ref.modifySome(
1122
1036
  * counter,
1123
1037
  * (n) =>
@@ -1125,18 +1039,17 @@ export const modifySome: {
1125
1039
  * ? [`decremented ${n}`, Option.some(n - 5)]
1126
1040
  * : ["no change", Option.none()]
1127
1041
  * )
1128
- *
1129
- * console.log(result2) // "no change"
1130
- *
1131
1042
  * const current2 = yield* Ref.get(counter)
1132
- * console.log(current2) // 15 (unchanged)
1043
+ * return [result1, current1, result2, current2]
1133
1044
  * })
1045
+ *
1046
+ * await Effect.runPromise(program) // => ["incremented 5", 15, "no change", 15]
1134
1047
  * ```
1135
1048
  *
1136
1049
  * @see {@link modify} for always storing a new value
1137
1050
  * @see {@link updateSome} for optional updates without a separate return value
1138
1051
  *
1139
- * @category setters
1052
+ * @category mutations
1140
1053
  * @since 2.0.0
1141
1054
  */
1142
1055
  <A, B>(self: Ref<A>, pf: (a: A) => readonly [B, Option.Option<A>]): Effect.Effect<B>
@@ -1157,13 +1070,12 @@ export const modifySome: {
1157
1070
  *
1158
1071
  * **Example** (Conditionally modifying a value)
1159
1072
  *
1160
- * ```ts
1073
+ * ```ts import.meta.vitest
1161
1074
  * import { Effect, Option, Ref } from "effect"
1162
1075
  *
1163
1076
  * const program = Effect.gen(function*() {
1164
1077
  * const counter = yield* Ref.make(5)
1165
1078
  *
1166
- * // Only modify if value is greater than 3
1167
1079
  * const result1 = yield* Ref.modifySome(
1168
1080
  * counter,
1169
1081
  * (n) =>
@@ -1171,13 +1083,7 @@ export const modifySome: {
1171
1083
  * ? [`incremented ${n}`, Option.some(n + 10)]
1172
1084
  * : ["no change", Option.none()]
1173
1085
  * )
1174
- *
1175
- * console.log(result1) // "incremented 5"
1176
- *
1177
1086
  * const current1 = yield* Ref.get(counter)
1178
- * console.log(current1) // 15
1179
- *
1180
- * // Try to modify with a condition that fails
1181
1087
  * const result2 = yield* Ref.modifySome(
1182
1088
  * counter,
1183
1089
  * (n) =>
@@ -1185,18 +1091,17 @@ export const modifySome: {
1185
1091
  * ? [`decremented ${n}`, Option.some(n - 5)]
1186
1092
  * : ["no change", Option.none()]
1187
1093
  * )
1188
- *
1189
- * console.log(result2) // "no change"
1190
- *
1191
1094
  * const current2 = yield* Ref.get(counter)
1192
- * console.log(current2) // 15 (unchanged)
1095
+ * return [result1, current1, result2, current2]
1193
1096
  * })
1097
+ *
1098
+ * await Effect.runPromise(program) // => ["incremented 5", 15, "no change", 15]
1194
1099
  * ```
1195
1100
  *
1196
1101
  * @see {@link modify} for always storing a new value
1197
1102
  * @see {@link updateSome} for optional updates without a separate return value
1198
1103
  *
1199
- * @category setters
1104
+ * @category mutations
1200
1105
  * @since 2.0.0
1201
1106
  */
1202
1107
  <B, A>(pf: (a: A) => readonly [B, Option.Option<A>]) => (self: Ref<A>) => Effect.Effect<B>,
@@ -1216,13 +1121,12 @@ export const modifySome: {
1216
1121
  *
1217
1122
  * **Example** (Conditionally modifying a value)
1218
1123
  *
1219
- * ```ts
1124
+ * ```ts import.meta.vitest
1220
1125
  * import { Effect, Option, Ref } from "effect"
1221
1126
  *
1222
1127
  * const program = Effect.gen(function*() {
1223
1128
  * const counter = yield* Ref.make(5)
1224
1129
  *
1225
- * // Only modify if value is greater than 3
1226
1130
  * const result1 = yield* Ref.modifySome(
1227
1131
  * counter,
1228
1132
  * (n) =>
@@ -1230,13 +1134,7 @@ export const modifySome: {
1230
1134
  * ? [`incremented ${n}`, Option.some(n + 10)]
1231
1135
  * : ["no change", Option.none()]
1232
1136
  * )
1233
- *
1234
- * console.log(result1) // "incremented 5"
1235
- *
1236
1137
  * const current1 = yield* Ref.get(counter)
1237
- * console.log(current1) // 15
1238
- *
1239
- * // Try to modify with a condition that fails
1240
1138
  * const result2 = yield* Ref.modifySome(
1241
1139
  * counter,
1242
1140
  * (n) =>
@@ -1244,18 +1142,17 @@ export const modifySome: {
1244
1142
  * ? [`decremented ${n}`, Option.some(n - 5)]
1245
1143
  * : ["no change", Option.none()]
1246
1144
  * )
1247
- *
1248
- * console.log(result2) // "no change"
1249
- *
1250
1145
  * const current2 = yield* Ref.get(counter)
1251
- * console.log(current2) // 15 (unchanged)
1146
+ * return [result1, current1, result2, current2]
1252
1147
  * })
1148
+ *
1149
+ * await Effect.runPromise(program) // => ["incremented 5", 15, "no change", 15]
1253
1150
  * ```
1254
1151
  *
1255
1152
  * @see {@link modify} for always storing a new value
1256
1153
  * @see {@link updateSome} for optional updates without a separate return value
1257
1154
  *
1258
- * @category setters
1155
+ * @category mutations
1259
1156
  * @since 2.0.0
1260
1157
  */
1261
1158
  <A, B>(self: Ref<A>, pf: (a: A) => readonly [B, Option.Option<A>]) => Effect.Effect<B>
@@ -1274,32 +1171,30 @@ export const modifySome: {
1274
1171
  *
1275
1172
  * **Example** (Updating a value)
1276
1173
  *
1277
- * ```ts
1174
+ * ```ts import.meta.vitest
1278
1175
  * import { Effect, Ref } from "effect"
1279
1176
  *
1280
1177
  * const program = Effect.gen(function*() {
1281
1178
  * const counter = yield* Ref.make(5)
1282
1179
  *
1283
- * // Update the value
1284
1180
  * yield* Ref.update(counter, (n) => n * 2)
1285
- *
1286
- * const value = yield* Ref.get(counter)
1287
- * console.log(value) // 10
1181
+ * return yield* Ref.get(counter)
1288
1182
  * })
1289
1183
  *
1290
- * // Using multiple operations
1291
1184
  * const program2 = Effect.gen(function*() {
1292
1185
  * const counter = yield* Ref.make(5)
1293
1186
  * yield* Ref.update(counter, (n: number) => n + 10)
1294
- * const value = yield* Ref.get(counter)
1295
- * console.log(value) // 15
1187
+ * return yield* Ref.get(counter)
1296
1188
  * })
1189
+ *
1190
+ * await Effect.runPromise(program) // => 10
1191
+ * await Effect.runPromise(program2) // => 15
1297
1192
  * ```
1298
1193
  *
1299
1194
  * @see {@link updateAndGet} for returning the new value
1300
1195
  * @see {@link getAndUpdate} for returning the previous value
1301
1196
  *
1302
- * @category setters
1197
+ * @category mutations
1303
1198
  * @since 2.0.0
1304
1199
  */
1305
1200
  export const update = dual<
@@ -1312,32 +1207,30 @@ export const update = dual<
1312
1207
  *
1313
1208
  * **Example** (Updating a value)
1314
1209
  *
1315
- * ```ts
1210
+ * ```ts import.meta.vitest
1316
1211
  * import { Effect, Ref } from "effect"
1317
1212
  *
1318
1213
  * const program = Effect.gen(function*() {
1319
1214
  * const counter = yield* Ref.make(5)
1320
1215
  *
1321
- * // Update the value
1322
1216
  * yield* Ref.update(counter, (n) => n * 2)
1323
- *
1324
- * const value = yield* Ref.get(counter)
1325
- * console.log(value) // 10
1217
+ * return yield* Ref.get(counter)
1326
1218
  * })
1327
1219
  *
1328
- * // Using multiple operations
1329
1220
  * const program2 = Effect.gen(function*() {
1330
1221
  * const counter = yield* Ref.make(5)
1331
1222
  * yield* Ref.update(counter, (n: number) => n + 10)
1332
- * const value = yield* Ref.get(counter)
1333
- * console.log(value) // 15
1223
+ * return yield* Ref.get(counter)
1334
1224
  * })
1225
+ *
1226
+ * await Effect.runPromise(program) // => 10
1227
+ * await Effect.runPromise(program2) // => 15
1335
1228
  * ```
1336
1229
  *
1337
1230
  * @see {@link updateAndGet} for returning the new value
1338
1231
  * @see {@link getAndUpdate} for returning the previous value
1339
1232
  *
1340
- * @category setters
1233
+ * @category mutations
1341
1234
  * @since 2.0.0
1342
1235
  */
1343
1236
  <A>(f: (a: A) => A) => (self: Ref<A>) => Effect.Effect<void>,
@@ -1350,32 +1243,30 @@ export const update = dual<
1350
1243
  *
1351
1244
  * **Example** (Updating a value)
1352
1245
  *
1353
- * ```ts
1246
+ * ```ts import.meta.vitest
1354
1247
  * import { Effect, Ref } from "effect"
1355
1248
  *
1356
1249
  * const program = Effect.gen(function*() {
1357
1250
  * const counter = yield* Ref.make(5)
1358
1251
  *
1359
- * // Update the value
1360
1252
  * yield* Ref.update(counter, (n) => n * 2)
1361
- *
1362
- * const value = yield* Ref.get(counter)
1363
- * console.log(value) // 10
1253
+ * return yield* Ref.get(counter)
1364
1254
  * })
1365
1255
  *
1366
- * // Using multiple operations
1367
1256
  * const program2 = Effect.gen(function*() {
1368
1257
  * const counter = yield* Ref.make(5)
1369
1258
  * yield* Ref.update(counter, (n: number) => n + 10)
1370
- * const value = yield* Ref.get(counter)
1371
- * console.log(value) // 15
1259
+ * return yield* Ref.get(counter)
1372
1260
  * })
1261
+ *
1262
+ * await Effect.runPromise(program) // => 10
1263
+ * await Effect.runPromise(program2) // => 15
1373
1264
  * ```
1374
1265
  *
1375
1266
  * @see {@link updateAndGet} for returning the new value
1376
1267
  * @see {@link getAndUpdate} for returning the previous value
1377
1268
  *
1378
- * @category setters
1269
+ * @category mutations
1379
1270
  * @since 2.0.0
1380
1271
  */
1381
1272
  <A>(self: Ref<A>, f: (a: A) => A) => Effect.Effect<void>
@@ -1393,20 +1284,18 @@ export const update = dual<
1393
1284
  *
1394
1285
  * **Example** (Updating and returning the new value)
1395
1286
  *
1396
- * ```ts
1287
+ * ```ts import.meta.vitest
1397
1288
  * import { Effect, Ref } from "effect"
1398
1289
  *
1399
1290
  * const program = Effect.gen(function*() {
1400
1291
  * const counter = yield* Ref.make(5)
1401
1292
  *
1402
- * // Update and get the new value in one operation
1403
1293
  * const newValue = yield* Ref.updateAndGet(counter, (n) => n * 3)
1404
- * console.log(newValue) // 15
1405
- *
1406
- * // Verify the ref contains the new value
1407
1294
  * const current = yield* Ref.get(counter)
1408
- * console.log(current) // 15
1295
+ * return [newValue, current]
1409
1296
  * })
1297
+ *
1298
+ * await Effect.runPromise(program) // => [15, 15]
1410
1299
  * ```
1411
1300
  *
1412
1301
  * @see {@link update} for updating without returning the new value
@@ -1425,20 +1314,18 @@ export const updateAndGet = dual<
1425
1314
  *
1426
1315
  * **Example** (Updating and returning the new value)
1427
1316
  *
1428
- * ```ts
1317
+ * ```ts import.meta.vitest
1429
1318
  * import { Effect, Ref } from "effect"
1430
1319
  *
1431
1320
  * const program = Effect.gen(function*() {
1432
1321
  * const counter = yield* Ref.make(5)
1433
1322
  *
1434
- * // Update and get the new value in one operation
1435
1323
  * const newValue = yield* Ref.updateAndGet(counter, (n) => n * 3)
1436
- * console.log(newValue) // 15
1437
- *
1438
- * // Verify the ref contains the new value
1439
1324
  * const current = yield* Ref.get(counter)
1440
- * console.log(current) // 15
1325
+ * return [newValue, current]
1441
1326
  * })
1327
+ *
1328
+ * await Effect.runPromise(program) // => [15, 15]
1442
1329
  * ```
1443
1330
  *
1444
1331
  * @see {@link update} for updating without returning the new value
@@ -1457,20 +1344,18 @@ export const updateAndGet = dual<
1457
1344
  *
1458
1345
  * **Example** (Updating and returning the new value)
1459
1346
  *
1460
- * ```ts
1347
+ * ```ts import.meta.vitest
1461
1348
  * import { Effect, Ref } from "effect"
1462
1349
  *
1463
1350
  * const program = Effect.gen(function*() {
1464
1351
  * const counter = yield* Ref.make(5)
1465
1352
  *
1466
- * // Update and get the new value in one operation
1467
1353
  * const newValue = yield* Ref.updateAndGet(counter, (n) => n * 3)
1468
- * console.log(newValue) // 15
1469
- *
1470
- * // Verify the ref contains the new value
1471
1354
  * const current = yield* Ref.get(counter)
1472
- * console.log(current) // 15
1355
+ * return [newValue, current]
1473
1356
  * })
1357
+ *
1358
+ * await Effect.runPromise(program) // => [15, 15]
1474
1359
  * ```
1475
1360
  *
1476
1361
  * @see {@link update} for updating without returning the new value
@@ -1496,37 +1381,33 @@ export const updateAndGet = dual<
1496
1381
  *
1497
1382
  * **Example** (Conditionally updating a value)
1498
1383
  *
1499
- * ```ts
1384
+ * ```ts import.meta.vitest
1500
1385
  * import { Effect, Option, Ref } from "effect"
1501
1386
  *
1502
1387
  * const program = Effect.gen(function*() {
1503
1388
  * const counter = yield* Ref.make(5)
1504
1389
  *
1505
- * // Only update if value is even
1506
1390
  * yield* Ref.updateSome(
1507
1391
  * counter,
1508
1392
  * (n) => n % 2 === 0 ? Option.some(n * 2) : Option.none()
1509
1393
  * )
1510
- *
1511
- * let current = yield* Ref.get(counter)
1512
- * console.log(current) // 5 (unchanged because 5 is odd)
1513
- *
1514
- * // Set to even number and try again
1394
+ * const before = yield* Ref.get(counter)
1515
1395
  * yield* Ref.set(counter, 6)
1516
1396
  * yield* Ref.updateSome(
1517
1397
  * counter,
1518
1398
  * (n) => n % 2 === 0 ? Option.some(n * 2) : Option.none()
1519
1399
  * )
1520
- *
1521
- * current = yield* Ref.get(counter)
1522
- * console.log(current) // 12 (updated because 6 is even)
1400
+ * const after = yield* Ref.get(counter)
1401
+ * return [before, after]
1523
1402
  * })
1403
+ *
1404
+ * await Effect.runPromise(program) // => [5, 12]
1524
1405
  * ```
1525
1406
  *
1526
1407
  * @see {@link update} for always applying an update
1527
1408
  * @see {@link updateSomeAndGet} for returning the resulting current value
1528
1409
  *
1529
- * @category setters
1410
+ * @category mutations
1530
1411
  * @since 2.0.0
1531
1412
  */
1532
1413
  export const updateSome = dual<
@@ -1544,37 +1425,33 @@ export const updateSome = dual<
1544
1425
  *
1545
1426
  * **Example** (Conditionally updating a value)
1546
1427
  *
1547
- * ```ts
1428
+ * ```ts import.meta.vitest
1548
1429
  * import { Effect, Option, Ref } from "effect"
1549
1430
  *
1550
1431
  * const program = Effect.gen(function*() {
1551
1432
  * const counter = yield* Ref.make(5)
1552
1433
  *
1553
- * // Only update if value is even
1554
1434
  * yield* Ref.updateSome(
1555
1435
  * counter,
1556
1436
  * (n) => n % 2 === 0 ? Option.some(n * 2) : Option.none()
1557
1437
  * )
1558
- *
1559
- * let current = yield* Ref.get(counter)
1560
- * console.log(current) // 5 (unchanged because 5 is odd)
1561
- *
1562
- * // Set to even number and try again
1438
+ * const before = yield* Ref.get(counter)
1563
1439
  * yield* Ref.set(counter, 6)
1564
1440
  * yield* Ref.updateSome(
1565
1441
  * counter,
1566
1442
  * (n) => n % 2 === 0 ? Option.some(n * 2) : Option.none()
1567
1443
  * )
1568
- *
1569
- * current = yield* Ref.get(counter)
1570
- * console.log(current) // 12 (updated because 6 is even)
1444
+ * const after = yield* Ref.get(counter)
1445
+ * return [before, after]
1571
1446
  * })
1447
+ *
1448
+ * await Effect.runPromise(program) // => [5, 12]
1572
1449
  * ```
1573
1450
  *
1574
1451
  * @see {@link update} for always applying an update
1575
1452
  * @see {@link updateSomeAndGet} for returning the resulting current value
1576
1453
  *
1577
- * @category setters
1454
+ * @category mutations
1578
1455
  * @since 2.0.0
1579
1456
  */
1580
1457
  <A>(f: (a: A) => Option.Option<A>) => (self: Ref<A>) => Effect.Effect<void>,
@@ -1592,37 +1469,33 @@ export const updateSome = dual<
1592
1469
  *
1593
1470
  * **Example** (Conditionally updating a value)
1594
1471
  *
1595
- * ```ts
1472
+ * ```ts import.meta.vitest
1596
1473
  * import { Effect, Option, Ref } from "effect"
1597
1474
  *
1598
1475
  * const program = Effect.gen(function*() {
1599
1476
  * const counter = yield* Ref.make(5)
1600
1477
  *
1601
- * // Only update if value is even
1602
1478
  * yield* Ref.updateSome(
1603
1479
  * counter,
1604
1480
  * (n) => n % 2 === 0 ? Option.some(n * 2) : Option.none()
1605
1481
  * )
1606
- *
1607
- * let current = yield* Ref.get(counter)
1608
- * console.log(current) // 5 (unchanged because 5 is odd)
1609
- *
1610
- * // Set to even number and try again
1482
+ * const before = yield* Ref.get(counter)
1611
1483
  * yield* Ref.set(counter, 6)
1612
1484
  * yield* Ref.updateSome(
1613
1485
  * counter,
1614
1486
  * (n) => n % 2 === 0 ? Option.some(n * 2) : Option.none()
1615
1487
  * )
1616
- *
1617
- * current = yield* Ref.get(counter)
1618
- * console.log(current) // 12 (updated because 6 is even)
1488
+ * const after = yield* Ref.get(counter)
1489
+ * return [before, after]
1619
1490
  * })
1491
+ *
1492
+ * await Effect.runPromise(program) // => [5, 12]
1620
1493
  * ```
1621
1494
  *
1622
1495
  * @see {@link update} for always applying an update
1623
1496
  * @see {@link updateSomeAndGet} for returning the resulting current value
1624
1497
  *
1625
- * @category setters
1498
+ * @category mutations
1626
1499
  * @since 2.0.0
1627
1500
  */
1628
1501
  <A>(self: Ref<A>, f: (a: A) => Option.Option<A>) => Effect.Effect<void>
@@ -1650,26 +1523,24 @@ export const updateSome = dual<
1650
1523
  *
1651
1524
  * **Example** (Conditionally updating and returning the current value)
1652
1525
  *
1653
- * ```ts
1526
+ * ```ts import.meta.vitest
1654
1527
  * import { Effect, Option, Ref } from "effect"
1655
1528
  *
1656
1529
  * const program = Effect.gen(function*() {
1657
1530
  * const counter = yield* Ref.make(10)
1658
1531
  *
1659
- * // Only update if value is greater than 5
1660
1532
  * const result1 = yield* Ref.updateSomeAndGet(
1661
1533
  * counter,
1662
1534
  * (n) => n > 5 ? Option.some(n / 2) : Option.none()
1663
1535
  * )
1664
- * console.log(result1) // 5 (updated and returned)
1665
- *
1666
- * // Try to update again with same condition
1667
1536
  * const result2 = yield* Ref.updateSomeAndGet(
1668
1537
  * counter,
1669
1538
  * (n) => n > 5 ? Option.some(n / 2) : Option.none()
1670
1539
  * )
1671
- * console.log(result2) // 5 (unchanged because 5 is not > 5)
1540
+ * return [result1, result2]
1672
1541
  * })
1542
+ *
1543
+ * await Effect.runPromise(program) // => [5, 5]
1673
1544
  * ```
1674
1545
  *
1675
1546
  * @see {@link updateSome} for conditional updates without returning a value
@@ -1695,26 +1566,24 @@ export const updateSomeAndGet = dual<
1695
1566
  *
1696
1567
  * **Example** (Conditionally updating and returning the current value)
1697
1568
  *
1698
- * ```ts
1569
+ * ```ts import.meta.vitest
1699
1570
  * import { Effect, Option, Ref } from "effect"
1700
1571
  *
1701
1572
  * const program = Effect.gen(function*() {
1702
1573
  * const counter = yield* Ref.make(10)
1703
1574
  *
1704
- * // Only update if value is greater than 5
1705
1575
  * const result1 = yield* Ref.updateSomeAndGet(
1706
1576
  * counter,
1707
1577
  * (n) => n > 5 ? Option.some(n / 2) : Option.none()
1708
1578
  * )
1709
- * console.log(result1) // 5 (updated and returned)
1710
- *
1711
- * // Try to update again with same condition
1712
1579
  * const result2 = yield* Ref.updateSomeAndGet(
1713
1580
  * counter,
1714
1581
  * (n) => n > 5 ? Option.some(n / 2) : Option.none()
1715
1582
  * )
1716
- * console.log(result2) // 5 (unchanged because 5 is not > 5)
1583
+ * return [result1, result2]
1717
1584
  * })
1585
+ *
1586
+ * await Effect.runPromise(program) // => [5, 5]
1718
1587
  * ```
1719
1588
  *
1720
1589
  * @see {@link updateSome} for conditional updates without returning a value
@@ -1740,26 +1609,24 @@ export const updateSomeAndGet = dual<
1740
1609
  *
1741
1610
  * **Example** (Conditionally updating and returning the current value)
1742
1611
  *
1743
- * ```ts
1612
+ * ```ts import.meta.vitest
1744
1613
  * import { Effect, Option, Ref } from "effect"
1745
1614
  *
1746
1615
  * const program = Effect.gen(function*() {
1747
1616
  * const counter = yield* Ref.make(10)
1748
1617
  *
1749
- * // Only update if value is greater than 5
1750
1618
  * const result1 = yield* Ref.updateSomeAndGet(
1751
1619
  * counter,
1752
1620
  * (n) => n > 5 ? Option.some(n / 2) : Option.none()
1753
1621
  * )
1754
- * console.log(result1) // 5 (updated and returned)
1755
- *
1756
- * // Try to update again with same condition
1757
1622
  * const result2 = yield* Ref.updateSomeAndGet(
1758
1623
  * counter,
1759
1624
  * (n) => n > 5 ? Option.some(n / 2) : Option.none()
1760
1625
  * )
1761
- * console.log(result2) // 5 (unchanged because 5 is not > 5)
1626
+ * return [result1, result2]
1762
1627
  * })
1628
+ *
1629
+ * await Effect.runPromise(program) // => [5, 5]
1763
1630
  * ```
1764
1631
  *
1765
1632
  * @see {@link updateSome} for conditional updates without returning a value
@@ -1792,18 +1659,11 @@ export const updateSomeAndGet = dual<
1792
1659
  *
1793
1660
  * **Example** (Reading a ref unsafely)
1794
1661
  *
1795
- * ```ts
1662
+ * ```ts import.meta.vitest
1796
1663
  * import { Ref } from "effect"
1797
1664
  *
1798
- * // Create a ref directly
1799
1665
  * const counter = Ref.makeUnsafe(42)
1800
- *
1801
- * // Get the value synchronously
1802
- * const value = Ref.getUnsafe(counter)
1803
- * console.log(value) // 42
1804
- *
1805
- * // Note: This is unsafe and should be used carefully
1806
- * // Prefer Ref.get for Effect-wrapped access
1666
+ * Ref.getUnsafe(counter) // => 42
1807
1667
  * ```
1808
1668
  *
1809
1669
  * @category getters