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
@@ -45,13 +45,13 @@ import * as Str from "./String.ts"
45
45
  *
46
46
  * **Example** (Creating and composing getters)
47
47
  *
48
- * ```ts
49
- * import { SchemaGetter } from "effect"
48
+ * ```ts import.meta.vitest
49
+ * import { Effect, Option, SchemaGetter } from "effect"
50
50
  *
51
51
  * const parseNumber = SchemaGetter.transform<number, string>((s) => Number(s))
52
52
  * const double = SchemaGetter.transform<number, number>((n) => n * 2)
53
53
  * const composed = parseNumber.compose(double)
54
- * // composed: Getter<number, string> parses then doubles
54
+ * await Effect.runPromise(composed.run(Option.some("21"), {})) // => Option.some(42)
55
55
  * ```
56
56
  *
57
57
  * @see {@link transform} to create a getter from a pure function
@@ -105,11 +105,11 @@ export class Getter<out T, in E, R = never> extends Pipeable.Class {
105
105
  *
106
106
  * **Example** (Returning a constant getter)
107
107
  *
108
- * ```ts
109
- * import { SchemaGetter } from "effect"
108
+ * ```ts import.meta.vitest
109
+ * import { Effect, Option, SchemaGetter } from "effect"
110
110
  *
111
111
  * const alwaysZero = SchemaGetter.succeed(0)
112
- * // alwaysZero: Getter<0, unknown> always produces 0
112
+ * await Effect.runPromise(alwaysZero.run(Option.none(), {})) // => Option.some(0)
113
113
  * ```
114
114
  *
115
115
  * @see {@link transform} when you need to use the input value
@@ -137,12 +137,14 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
137
137
  *
138
138
  * **Example** (Defining an always-failing getter)
139
139
  *
140
- * ```ts
141
- * import { Option, SchemaGetter, SchemaIssue } from "effect"
140
+ * ```ts import.meta.vitest
141
+ * import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
142
142
  *
143
143
  * const rejectAll = SchemaGetter.fail<string, string>(
144
- * (oe) => new SchemaIssue.InvalidValue(oe, { message: "not allowed" })
144
+ * () => new SchemaIssue.InvalidValue({ message: "not allowed" })
145
145
  * )
146
+ * const issue = await Effect.runPromise(Effect.flip(rejectAll.run(Option.some("x"), {})))
147
+ * issue._tag // => "InvalidValue"
146
148
  * ```
147
149
  *
148
150
  * @see {@link forbidden} for a convenience helper for `Forbidden` issues
@@ -171,12 +173,14 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
171
173
  *
172
174
  * **Example** (Forbidding a decode direction)
173
175
  *
174
- * ```ts
175
- * import { SchemaGetter } from "effect"
176
+ * ```ts import.meta.vitest
177
+ * import { Effect, Option, SchemaGetter } from "effect"
176
178
  *
177
179
  * const noEncode = SchemaGetter.forbidden<string, number>(
178
180
  * () => "encoding is not supported"
179
181
  * )
182
+ * const issue = await Effect.runPromise(Effect.flip(noEncode.run(Option.some(1), {})))
183
+ * issue._tag // => "Forbidden"
180
184
  * ```
181
185
  *
182
186
  * @see {@link fail} to fail with a custom issue type
@@ -185,7 +189,7 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
185
189
  * @since 4.0.0
186
190
  */
187
191
  export function forbidden<T, E>(message: (oe: Option.Option<E>) => string): Getter<T, E> {
188
- return fail<T, E>((oe) => new SchemaIssue.Forbidden(oe, { message: message(oe) }))
192
+ return fail<T, E>((oe) => new SchemaIssue.Forbidden({ message: message(oe) }))
189
193
  }
190
194
 
191
195
  const passthrough_ = new Getter<any, any>(Effect.succeed)
@@ -211,7 +215,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
211
215
  *
212
216
  * **Example** (Passing through identity transformations)
213
217
  *
214
- * ```ts
218
+ * ```ts import.meta.vitest
215
219
  * import { Schema, SchemaGetter } from "effect"
216
220
  *
217
221
  * // No transformation needed — types already match
@@ -221,6 +225,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
221
225
  * encode: SchemaGetter.passthrough()
222
226
  * })
223
227
  * )
228
+ * Schema.decodeSync(StringToString)("hello") // => "hello"
224
229
  * ```
225
230
  *
226
231
  * @see {@link passthroughSupertype} when `T extends E`
@@ -250,11 +255,12 @@ export function passthrough<T>(): Getter<T, T> {
250
255
  *
251
256
  * **Example** (Passing through supertypes)
252
257
  *
253
- * ```ts
254
- * import { SchemaGetter } from "effect"
258
+ * ```ts import.meta.vitest
259
+ * import { Effect, Option, SchemaGetter } from "effect"
255
260
  *
256
261
  * // string extends string, so this is valid
257
262
  * const g = SchemaGetter.passthroughSupertype<string, string>()
263
+ * await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
258
264
  * ```
259
265
  *
260
266
  * @see {@link passthrough} when types are identical
@@ -282,11 +288,12 @@ export function passthroughSupertype<T>(): Getter<T, T> {
282
288
  *
283
289
  * **Example** (Passing through subtypes)
284
290
  *
285
- * ```ts
286
- * import { SchemaGetter } from "effect"
291
+ * ```ts import.meta.vitest
292
+ * import { Effect, Option, SchemaGetter } from "effect"
287
293
  *
288
294
  * // "hello" extends string, so E extends T
289
295
  * const g = SchemaGetter.passthroughSubtype<string, "hello">()
296
+ * await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
290
297
  * ```
291
298
  *
292
299
  * @see {@link passthrough} when types are identical
@@ -317,19 +324,20 @@ export function passthroughSubtype<T>(): Getter<T, T> {
317
324
  *
318
325
  * **Example** (Providing a default timestamp for a missing field)
319
326
  *
320
- * ```ts
327
+ * ```ts import.meta.vitest
321
328
  * import { Effect, Option, SchemaGetter } from "effect"
322
329
  *
323
330
  * const withTimestamp = SchemaGetter.onNone<number>(() =>
324
- * Effect.succeed(Option.some(Date.now()))
331
+ * Effect.succeed(Option.some(0))
325
332
  * )
333
+ * await Effect.runPromise(withTimestamp.run(Option.none(), {})) // => Option.some(0)
326
334
  * ```
327
335
  *
328
336
  * @see {@link required} when absent input should fail
329
337
  * @see {@link withDefault} for a simpler default value for undefined inputs
330
338
  * @see {@link onSome} to handle only present values
331
339
  *
332
- * @category constructors
340
+ * @category transforming
333
341
  * @since 4.0.0
334
342
  */
335
343
  export function onNone<T, E extends T = T, R = never>(
@@ -354,16 +362,18 @@ export function onNone<T, E extends T = T, R = never>(
354
362
  *
355
363
  * **Example** (Defining a required struct field)
356
364
  *
357
- * ```ts
358
- * import { SchemaGetter } from "effect"
365
+ * ```ts import.meta.vitest
366
+ * import { Effect, Option, SchemaGetter } from "effect"
359
367
  *
360
368
  * const mustExist = SchemaGetter.required<string>()
369
+ * const issue = await Effect.runPromise(Effect.flip(mustExist.run(Option.none(), {})))
370
+ * issue._tag // => "MissingKey"
361
371
  * ```
362
372
  *
363
373
  * @see {@link onNone} to provide a fallback instead of failing
364
374
  * @see {@link withDefault} to substitute a default for undefined values
365
375
  *
366
- * @category constructors
376
+ * @category validation
367
377
  * @since 4.0.0
368
378
  */
369
379
  export function required<T, E extends T = T>(annotations?: Schema.Annotations.Key<T>): Getter<T, E> {
@@ -387,19 +397,20 @@ export function required<T, E extends T = T>(annotations?: Schema.Annotations.Ke
387
397
  *
388
398
  * **Example** (Transforming only present values)
389
399
  *
390
- * ```ts
400
+ * ```ts import.meta.vitest
391
401
  * import { Effect, Option, SchemaGetter } from "effect"
392
402
  *
393
403
  * const parseIfPresent = SchemaGetter.onSome<number, string>(
394
404
  * (s) => Effect.succeed(Option.some(Number(s)))
395
405
  * )
406
+ * await Effect.runPromise(parseIfPresent.run(Option.some("42"), {})) // => Option.some(42)
396
407
  * ```
397
408
  *
398
409
  * @see {@link onNone} to handle only absent values
399
410
  * @see {@link transform} for a simpler pure transformation of present values
400
411
  * @see {@link transformOrFail} for fallible transformation of present values
401
412
  *
402
- * @category constructors
413
+ * @category transforming
403
414
  * @since 4.0.0
404
415
  */
405
416
  export function onSome<T, E, R = never>(
@@ -430,18 +441,19 @@ export function onSome<T, E, R = never>(
430
441
  *
431
442
  * **Example** (Validating effectfully)
432
443
  *
433
- * ```ts
434
- * import { Effect, SchemaGetter } from "effect"
444
+ * ```ts import.meta.vitest
445
+ * import { Effect, Option, SchemaGetter } from "effect"
435
446
  *
436
447
  * const nonNegative = SchemaGetter.checkEffect<number>((n) =>
437
448
  * Effect.succeed(n >= 0 ? undefined : "must be non-negative")
438
449
  * )
450
+ * await Effect.runPromise(nonNegative.run(Option.some(1), {})) // => Option.some(1)
439
451
  * ```
440
452
  *
441
453
  * @see {@link transform} when you need to change the value, not just validate
442
454
  * @see {@link fail} for unconditional failure
443
455
  *
444
- * @category constructors
456
+ * @category validation
445
457
  * @since 4.0.0
446
458
  */
447
459
  export function checkEffect<T, R = never>(
@@ -453,7 +465,7 @@ export function checkEffect<T, R = never>(
453
465
  ): Getter<T, T, R> {
454
466
  return onSome((t, options) => {
455
467
  return f(t, options).pipe(Effect.flatMapEager((out) => {
456
- const issue = SchemaIssue.makeSingle(t, out)
468
+ const issue = SchemaIssue.makeSingle(out)
457
469
  return issue ?
458
470
  Effect.fail(issue) :
459
471
  Effect.succeed(Option.some(t))
@@ -479,7 +491,7 @@ export function checkEffect<T, R = never>(
479
491
  *
480
492
  * **Example** (Transforming strings to numbers)
481
493
  *
482
- * ```ts
494
+ * ```ts import.meta.vitest
483
495
  * import { Schema, SchemaGetter } from "effect"
484
496
  *
485
497
  * const NumberFromString = Schema.String.pipe(
@@ -488,13 +500,14 @@ export function checkEffect<T, R = never>(
488
500
  * encode: SchemaGetter.transform((n) => String(n))
489
501
  * })
490
502
  * )
503
+ * Schema.decodeSync(NumberFromString)("42") // => 42
491
504
  * ```
492
505
  *
493
506
  * @see {@link transformOrFail} when the transformation can fail
494
507
  * @see {@link transformOptional} when you need to handle `None` inputs
495
508
  * @see {@link passthrough} when no transformation is needed
496
509
  *
497
- * @category constructors
510
+ * @category transforming
498
511
  * @since 4.0.0
499
512
  */
500
513
  export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
@@ -517,23 +530,24 @@ export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
517
530
  *
518
531
  * **Example** (Parsing with failure)
519
532
  *
520
- * ```ts
533
+ * ```ts import.meta.vitest
521
534
  * import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
522
535
  *
523
536
  * const safeParseInt = SchemaGetter.transformOrFail<number, string>(
524
537
  * (s) => {
525
538
  * const n = parseInt(s, 10)
526
539
  * return isNaN(n)
527
- * ? Effect.fail(new SchemaIssue.InvalidValue(Option.some(s), { message: "not an integer" }))
540
+ * ? Effect.fail(new SchemaIssue.InvalidValue({ message: "not an integer" }))
528
541
  * : Effect.succeed(n)
529
542
  * }
530
543
  * )
544
+ * await Effect.runPromise(safeParseInt.run(Option.some("42"), {})) // => Option.some(42)
531
545
  * ```
532
546
  *
533
547
  * @see {@link transform} when transformation cannot fail
534
548
  * @see {@link onSome} when you need full `Option` control over the output
535
549
  *
536
- * @category constructors
550
+ * @category transforming
537
551
  * @since 4.0.0
538
552
  */
539
553
  export function transformOrFail<T, E, R = never>(
@@ -557,18 +571,19 @@ export function transformOrFail<T, E, R = never>(
557
571
  *
558
572
  * **Example** (Filtering out empty strings)
559
573
  *
560
- * ```ts
561
- * import { Option, SchemaGetter } from "effect"
574
+ * ```ts import.meta.vitest
575
+ * import { Effect, Option, SchemaGetter } from "effect"
562
576
  *
563
577
  * const skipEmpty = SchemaGetter.transformOptional<string, string>((o) =>
564
578
  * Option.filter(o, (s) => s.length > 0)
565
579
  * )
580
+ * await Effect.runPromise(skipEmpty.run(Option.some(""), {})) // => Option.none()
566
581
  * ```
567
582
  *
568
583
  * @see {@link transform} when you only need to transform present values
569
584
  * @see {@link omit} when you always want `None`
570
585
  *
571
- * @category constructors
586
+ * @category transforming
572
587
  * @since 4.0.0
573
588
  */
574
589
  export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Option<T>): Getter<T, E> {
@@ -590,16 +605,17 @@ export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Opti
590
605
  *
591
606
  * **Example** (Omitting a field during encoding)
592
607
  *
593
- * ```ts
594
- * import { SchemaGetter } from "effect"
608
+ * ```ts import.meta.vitest
609
+ * import { Effect, Option, SchemaGetter } from "effect"
595
610
  *
596
611
  * const omitField = SchemaGetter.omit<string>()
612
+ * await Effect.runPromise(omitField.run(Option.some("hidden"), {})) // => Option.none()
597
613
  * ```
598
614
  *
599
615
  * @see {@link transformOptional} when you want conditional omission
600
616
  * @see {@link forbidden} when you want to fail instead of silently omit
601
617
  *
602
- * @category constructors
618
+ * @category filtering
603
619
  * @since 4.0.0
604
620
  */
605
621
  export function omit<T>(): Getter<never, T> {
@@ -622,17 +638,17 @@ export function omit<T>(): Getter<never, T> {
622
638
  *
623
639
  * **Example** (Providing a default value for an optional field)
624
640
  *
625
- * ```ts
626
- * import { Effect, SchemaGetter } from "effect"
641
+ * ```ts import.meta.vitest
642
+ * import { Effect, Option, SchemaGetter } from "effect"
627
643
  *
628
644
  * const withZero = SchemaGetter.withDefault(Effect.succeed(0))
629
- * // Getter<number, number | undefined>
645
+ * await Effect.runPromise(withZero.run(Option.some(undefined), {})) // => Option.some(0)
630
646
  * ```
631
647
  *
632
648
  * @see {@link onNone} to handle only absent keys (not `undefined` values)
633
649
  * @see {@link required} when absent input should fail instead of using a default
634
650
  *
635
- * @category constructors
651
+ * @category transforming
636
652
  * @since 4.0.0
637
653
  */
638
654
  export function withDefault<T, R = never>(
@@ -658,16 +674,16 @@ export function withDefault<T, R = never>(
658
674
  *
659
675
  * **Example** (Coercing to a string)
660
676
  *
661
- * ```ts
662
- * import { SchemaGetter } from "effect"
677
+ * ```ts import.meta.vitest
678
+ * import { Effect, Option, SchemaGetter } from "effect"
663
679
  *
664
680
  * const toString = SchemaGetter.String<number>()
665
- * // Getter<string, number>
681
+ * await Effect.runPromise(toString.run(Option.some(42), {})) // => Option.some("42")
666
682
  * ```
667
683
  *
668
684
  * @see {@link transform} for custom string conversions
669
685
  *
670
- * @category Coercions
686
+ * @category converting
671
687
  * @since 4.0.0
672
688
  */
673
689
  export function String<E>(): Getter<string, E> {
@@ -689,16 +705,16 @@ export function String<E>(): Getter<string, E> {
689
705
  *
690
706
  * **Example** (Coercing to a number)
691
707
  *
692
- * ```ts
693
- * import { SchemaGetter } from "effect"
708
+ * ```ts import.meta.vitest
709
+ * import { Effect, Option, SchemaGetter } from "effect"
694
710
  *
695
711
  * const toNumber = SchemaGetter.Number<string>()
696
- * // Getter<number, string>
712
+ * await Effect.runPromise(toNumber.run(Option.some("42"), {})) // => Option.some(42)
697
713
  * ```
698
714
  *
699
715
  * @see {@link transformOrFail} for validated number parsing
700
716
  *
701
- * @category Coercions
717
+ * @category converting
702
718
  * @since 4.0.0
703
719
  */
704
720
  export function Number<E>(): Getter<number, E> {
@@ -719,14 +735,14 @@ export function Number<E>(): Getter<number, E> {
719
735
  *
720
736
  * **Example** (Coercing to a boolean)
721
737
  *
722
- * ```ts
723
- * import { SchemaGetter } from "effect"
738
+ * ```ts import.meta.vitest
739
+ * import { Effect, Option, SchemaGetter } from "effect"
724
740
  *
725
741
  * const toBool = SchemaGetter.Boolean<string>()
726
- * // Getter<boolean, string>
742
+ * await Effect.runPromise(toBool.run(Option.some("true"), {})) // => Option.some(true)
727
743
  * ```
728
744
  *
729
- * @category Coercions
745
+ * @category converting
730
746
  * @since 4.0.0
731
747
  */
732
748
  export function Boolean<E>(): Getter<boolean, E> {
@@ -748,14 +764,14 @@ export function Boolean<E>(): Getter<boolean, E> {
748
764
  *
749
765
  * **Example** (Coercing to a bigint)
750
766
  *
751
- * ```ts
752
- * import { SchemaGetter } from "effect"
767
+ * ```ts import.meta.vitest
768
+ * import { Effect, Option, SchemaGetter } from "effect"
753
769
  *
754
770
  * const toBigInt = SchemaGetter.BigInt<string>()
755
- * // Getter<bigint, string>
771
+ * await Effect.runPromise(toBigInt.run(Option.some("42"), {})) // => Option.some(42n)
756
772
  * ```
757
773
  *
758
- * @category Coercions
774
+ * @category converting
759
775
  * @since 4.0.0
760
776
  */
761
777
  export function BigInt<E extends string | number | bigint | boolean>(): Getter<bigint, E> {
@@ -777,16 +793,17 @@ export function BigInt<E extends string | number | bigint | boolean>(): Getter<b
777
793
  *
778
794
  * **Example** (Coercing to a Date)
779
795
  *
780
- * ```ts
781
- * import { SchemaGetter } from "effect"
796
+ * ```ts import.meta.vitest
797
+ * import { Effect, Option, SchemaGetter } from "effect"
782
798
  *
783
799
  * const toDate = SchemaGetter.Date<string>()
784
- * // Getter<Date, string>
800
+ * const result = await Effect.runPromise(toDate.run(Option.some("1970-01-01"), {}))
801
+ * Option.map(result, (date) => date.toISOString()) // => Option.some("1970-01-01T00:00:00.000Z")
785
802
  * ```
786
803
  *
787
804
  * @see {@link dateTimeUtcFromInput} for validated DateTime parsing
788
805
  *
789
- * @category Coercions
806
+ * @category converting
790
807
  * @since 4.0.0
791
808
  */
792
809
  export function Date<E extends string | number | Date>(): Getter<Date, E> {
@@ -802,13 +819,14 @@ export function Date<E extends string | number | Date>(): Getter<Date, E> {
802
819
  *
803
820
  * **Example** (Trimming whitespace)
804
821
  *
805
- * ```ts
806
- * import { SchemaGetter } from "effect"
822
+ * ```ts import.meta.vitest
823
+ * import { Effect, Option, SchemaGetter } from "effect"
807
824
  *
808
825
  * const trimmed = SchemaGetter.trim<string>()
826
+ * await Effect.runPromise(trimmed.run(Option.some(" hello "), {})) // => Option.some("hello")
809
827
  * ```
810
828
  *
811
- * @category string
829
+ * @category transforming
812
830
  * @since 4.0.0
813
831
  */
814
832
  export function trim<E extends string>(): Getter<string, E> {
@@ -824,13 +842,14 @@ export function trim<E extends string>(): Getter<string, E> {
824
842
  *
825
843
  * **Example** (Capitalizing a string)
826
844
  *
827
- * ```ts
828
- * import { SchemaGetter } from "effect"
845
+ * ```ts import.meta.vitest
846
+ * import { Effect, Option, SchemaGetter } from "effect"
829
847
  *
830
848
  * const cap = SchemaGetter.capitalize<string>()
849
+ * await Effect.runPromise(cap.run(Option.some("hello"), {})) // => Option.some("Hello")
831
850
  * ```
832
851
  *
833
- * @category string
852
+ * @category transforming
834
853
  * @since 4.0.0
835
854
  */
836
855
  export function capitalize<E extends string>(): Getter<string, E> {
@@ -846,13 +865,14 @@ export function capitalize<E extends string>(): Getter<string, E> {
846
865
  *
847
866
  * **Example** (Uncapitalizing a string)
848
867
  *
849
- * ```ts
850
- * import { SchemaGetter } from "effect"
868
+ * ```ts import.meta.vitest
869
+ * import { Effect, Option, SchemaGetter } from "effect"
851
870
  *
852
871
  * const uncap = SchemaGetter.uncapitalize<string>()
872
+ * await Effect.runPromise(uncap.run(Option.some("Hello"), {})) // => Option.some("hello")
853
873
  * ```
854
874
  *
855
- * @category string
875
+ * @category transforming
856
876
  * @since 4.0.0
857
877
  */
858
878
  export function uncapitalize<E extends string>(): Getter<string, E> {
@@ -868,15 +888,16 @@ export function uncapitalize<E extends string>(): Getter<string, E> {
868
888
  *
869
889
  * **Example** (Converting snake case to camel case)
870
890
  *
871
- * ```ts
872
- * import { SchemaGetter } from "effect"
891
+ * ```ts import.meta.vitest
892
+ * import { Effect, Option, SchemaGetter } from "effect"
873
893
  *
874
894
  * const toCamel = SchemaGetter.snakeToCamel<string>()
895
+ * await Effect.runPromise(toCamel.run(Option.some("user_name"), {})) // => Option.some("userName")
875
896
  * ```
876
897
  *
877
898
  * @see {@link camelToSnake} for the inverse operation
878
899
  *
879
- * @category string
900
+ * @category transforming
880
901
  * @since 4.0.0
881
902
  */
882
903
  export function snakeToCamel<E extends string>(): Getter<string, E> {
@@ -892,15 +913,16 @@ export function snakeToCamel<E extends string>(): Getter<string, E> {
892
913
  *
893
914
  * **Example** (Converting camel case to snake case)
894
915
  *
895
- * ```ts
896
- * import { SchemaGetter } from "effect"
916
+ * ```ts import.meta.vitest
917
+ * import { Effect, Option, SchemaGetter } from "effect"
897
918
  *
898
919
  * const toSnake = SchemaGetter.camelToSnake<string>()
920
+ * await Effect.runPromise(toSnake.run(Option.some("userName"), {})) // => Option.some("user_name")
899
921
  * ```
900
922
  *
901
923
  * @see {@link snakeToCamel} for the inverse operation
902
924
  *
903
- * @category string
925
+ * @category transforming
904
926
  * @since 4.0.0
905
927
  */
906
928
  export function camelToSnake<E extends string>(): Getter<string, E> {
@@ -916,15 +938,16 @@ export function camelToSnake<E extends string>(): Getter<string, E> {
916
938
  *
917
939
  * **Example** (Converting to lowercase)
918
940
  *
919
- * ```ts
920
- * import { SchemaGetter } from "effect"
941
+ * ```ts import.meta.vitest
942
+ * import { Effect, Option, SchemaGetter } from "effect"
921
943
  *
922
944
  * const lower = SchemaGetter.toLowerCase<string>()
945
+ * await Effect.runPromise(lower.run(Option.some("HELLO"), {})) // => Option.some("hello")
923
946
  * ```
924
947
  *
925
948
  * @see {@link toUpperCase} for the inverse operation
926
949
  *
927
- * @category string
950
+ * @category transforming
928
951
  * @since 4.0.0
929
952
  */
930
953
  export function toLowerCase<E extends string>(): Getter<string, E> {
@@ -940,15 +963,16 @@ export function toLowerCase<E extends string>(): Getter<string, E> {
940
963
  *
941
964
  * **Example** (Converting to uppercase)
942
965
  *
943
- * ```ts
944
- * import { SchemaGetter } from "effect"
966
+ * ```ts import.meta.vitest
967
+ * import { Effect, Option, SchemaGetter } from "effect"
945
968
  *
946
969
  * const upper = SchemaGetter.toUpperCase<string>()
970
+ * await Effect.runPromise(upper.run(Option.some("hello"), {})) // => Option.some("HELLO")
947
971
  * ```
948
972
  *
949
973
  * @see {@link toLowerCase} for the inverse operation
950
974
  *
951
- * @category string
975
+ * @category transforming
952
976
  * @since 4.0.0
953
977
  */
954
978
  export function toUpperCase<E extends string>(): Getter<string, E> {
@@ -972,20 +996,20 @@ type ParseJsonOptions = {
972
996
  * - Skips `None` inputs.
973
997
  * - Without `reviver`: returns `Schema.MutableJson` (typed JSON).
974
998
  * - With `reviver`: returns `unknown` (reviver may produce arbitrary values).
975
- * - On parse failure, fails with `SchemaIssue.InvalidValue` containing the error message.
999
+ * - On parse failure, fails with `SchemaIssue.InvalidValue` containing a static message.
976
1000
  *
977
1001
  * **Example** (Parsing JSON)
978
1002
  *
979
- * ```ts
980
- * import { SchemaGetter } from "effect"
1003
+ * ```ts import.meta.vitest
1004
+ * import { Effect, Option, SchemaGetter } from "effect"
981
1005
  *
982
1006
  * const parse = SchemaGetter.parseJson<string>()
983
- * // Getter<MutableJson, string>
1007
+ * await Effect.runPromise(parse.run(Option.some("{\"a\":1}"), {})) // => Option.some({ a: 1 })
984
1008
  * ```
985
1009
  *
986
1010
  * @see {@link stringifyJson} for the inverse operation
987
1011
  *
988
- * @category JSON getters
1012
+ * @category decoding
989
1013
  * @since 4.0.0
990
1014
  */
991
1015
  export function parseJson<E extends string>(): Getter<Schema.MutableJson, E>
@@ -994,13 +1018,24 @@ export function parseJson<E extends string>(options?: ParseJsonOptions | undefin
994
1018
  return onSome((input) =>
995
1019
  Effect.try({
996
1020
  try: () => Option.some(JSON.parse(input, options?.reviver)),
997
- catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
1021
+ catch: () => new SchemaIssue.InvalidValue({ message: "Expected a valid JSON string" })
998
1022
  })
999
1023
  )
1000
1024
  }
1001
1025
 
1026
+ /**
1027
+ * Replacer function or property allowlist accepted by `JSON.stringify`.
1028
+ *
1029
+ * @category utility types
1030
+ * @since 4.0.0
1031
+ */
1032
+ export type JsonReplacer =
1033
+ | ((this: any, key: string, value: any) => any)
1034
+ | Array<string | number>
1035
+ | null
1036
+
1002
1037
  type StringifyJsonOptions = {
1003
- readonly replacer?: Parameters<typeof JSON.stringify>[1]
1038
+ readonly replacer?: JsonReplacer | undefined
1004
1039
  readonly space?: Parameters<typeof JSON.stringify>[2]
1005
1040
  }
1006
1041
 
@@ -1022,29 +1057,29 @@ type StringifyJsonOptions = {
1022
1057
  *
1023
1058
  * **Example** (Stringifying JSON)
1024
1059
  *
1025
- * ```ts
1026
- * import { SchemaGetter } from "effect"
1060
+ * ```ts import.meta.vitest
1061
+ * import { Effect, Option, SchemaGetter } from "effect"
1027
1062
  *
1028
1063
  * const stringify = SchemaGetter.stringifyJson()
1029
- * // Getter<string, unknown>
1064
+ * await Effect.runPromise(stringify.run(Option.some({ a: 1 }), {})) // => Option.some("{\"a\":1}")
1030
1065
  * ```
1031
1066
  *
1032
1067
  * @see {@link parseJson} for the inverse operation
1033
1068
  *
1034
- * @category JSON getters
1069
+ * @category encoding
1035
1070
  * @since 4.0.0
1036
1071
  */
1037
1072
  export function stringifyJson(options?: StringifyJsonOptions): Getter<string, unknown> {
1038
1073
  return onSome((input) =>
1039
1074
  Effect.try({
1040
1075
  try: () => {
1041
- const output = JSON.stringify(input, options?.replacer, options?.space)
1076
+ const output = JSON.stringify(input, options?.replacer as any, options?.space)
1042
1077
  if (output === undefined) {
1043
1078
  throw new TypeError("Value cannot be represented as JSON")
1044
1079
  }
1045
1080
  return Option.some(output)
1046
1081
  },
1047
- catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
1082
+ catch: () => new SchemaIssue.InvalidValue({ message: "Expected a JSON-serializable value" })
1048
1083
  })
1049
1084
  )
1050
1085
  }
@@ -1065,17 +1100,17 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
1065
1100
  *
1066
1101
  * **Example** (Parsing a key-value string)
1067
1102
  *
1068
- * ```ts
1069
- * import { SchemaGetter } from "effect"
1103
+ * ```ts import.meta.vitest
1104
+ * import { Effect, Option, SchemaGetter } from "effect"
1070
1105
  *
1071
1106
  * const parse = SchemaGetter.splitKeyValue<string>()
1072
- * // "a=1,b=2" -> { a: "1", b: "2" }
1107
+ * await Effect.runPromise(parse.run(Option.some("a=1,b=2"), {})) // => Option.some({ a: "1", b: "2" })
1073
1108
  * ```
1074
1109
  *
1075
1110
  * @see {@link joinKeyValue} for the inverse operation
1076
1111
  * @see {@link split} to split into an array of strings
1077
1112
  *
1078
- * @category string
1113
+ * @category splitting
1079
1114
  * @since 4.0.0
1080
1115
  */
1081
1116
  export function splitKeyValue<E extends string>(options?: {
@@ -1111,16 +1146,16 @@ export function splitKeyValue<E extends string>(options?: {
1111
1146
  *
1112
1147
  * **Example** (Joining key-value records)
1113
1148
  *
1114
- * ```ts
1115
- * import { SchemaGetter } from "effect"
1149
+ * ```ts import.meta.vitest
1150
+ * import { Effect, Option, SchemaGetter } from "effect"
1116
1151
  *
1117
1152
  * const join = SchemaGetter.joinKeyValue()
1118
- * // { a: "1", b: "2" } -> "a=1,b=2"
1153
+ * await Effect.runPromise(join.run(Option.some({ a: "1", b: "2" }), {})) // => Option.some("a=1,b=2")
1119
1154
  * ```
1120
1155
  *
1121
1156
  * @see {@link splitKeyValue} for the inverse operation
1122
1157
  *
1123
- * @category string
1158
+ * @category combining
1124
1159
  * @since 4.0.0
1125
1160
  */
1126
1161
  export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
@@ -1149,17 +1184,16 @@ export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
1149
1184
  *
1150
1185
  * **Example** (Splitting a comma-separated string)
1151
1186
  *
1152
- * ```ts
1153
- * import { SchemaGetter } from "effect"
1187
+ * ```ts import.meta.vitest
1188
+ * import { Effect, Option, SchemaGetter } from "effect"
1154
1189
  *
1155
1190
  * const splitComma = SchemaGetter.split<string>()
1156
- * // "a,b,c" -> ["a", "b", "c"]
1157
- * // "" -> []
1191
+ * await Effect.runPromise(splitComma.run(Option.some("a,b,c"), {})) // => Option.some(["a", "b", "c"])
1158
1192
  * ```
1159
1193
  *
1160
1194
  * @see {@link splitKeyValue} when values are key-value pairs
1161
1195
  *
1162
- * @category string
1196
+ * @category splitting
1163
1197
  * @since 4.0.0
1164
1198
  */
1165
1199
  export function split<E extends string>(options?: {
@@ -1178,17 +1212,18 @@ export function split<E extends string>(options?: {
1178
1212
  *
1179
1213
  * **Example** (Encoding to Base64)
1180
1214
  *
1181
- * ```ts
1182
- * import { SchemaGetter } from "effect"
1215
+ * ```ts import.meta.vitest
1216
+ * import { Effect, Option, SchemaGetter } from "effect"
1183
1217
  *
1184
1218
  * const encode = SchemaGetter.encodeBase64<Uint8Array>()
1219
+ * await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("AQID")
1185
1220
  * ```
1186
1221
  *
1187
1222
  * @see {@link decodeBase64} for the inverse operation to `Uint8Array`
1188
1223
  * @see {@link decodeBase64String} for the inverse operation to `string`
1189
1224
  * @see {@link encodeBase64Url} for the URL-safe variant
1190
1225
  *
1191
- * @category Base64 getters
1226
+ * @category encoding
1192
1227
  * @since 4.0.0
1193
1228
  */
1194
1229
  export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E> {
@@ -1204,17 +1239,18 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
1204
1239
  *
1205
1240
  * **Example** (Encoding to Base64Url)
1206
1241
  *
1207
- * ```ts
1208
- * import { SchemaGetter } from "effect"
1242
+ * ```ts import.meta.vitest
1243
+ * import { Effect, Option, SchemaGetter } from "effect"
1209
1244
  *
1210
1245
  * const encode = SchemaGetter.encodeBase64Url<Uint8Array>()
1246
+ * await Effect.runPromise(encode.run(Option.some(new Uint8Array([251, 255])), {})) // => Option.some("-_8")
1211
1247
  * ```
1212
1248
  *
1213
1249
  * @see {@link decodeBase64Url} for the inverse operation to `Uint8Array`
1214
1250
  * @see {@link decodeBase64UrlString} for the inverse operation to `string`
1215
1251
  * @see {@link encodeBase64} for the standard Base64 variant
1216
1252
  *
1217
- * @category Base64 getters
1253
+ * @category encoding
1218
1254
  * @since 4.0.0
1219
1255
  */
1220
1256
  export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string, E> {
@@ -1230,16 +1266,17 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
1230
1266
  *
1231
1267
  * **Example** (Encoding to hex)
1232
1268
  *
1233
- * ```ts
1234
- * import { SchemaGetter } from "effect"
1269
+ * ```ts import.meta.vitest
1270
+ * import { Effect, Option, SchemaGetter } from "effect"
1235
1271
  *
1236
1272
  * const encode = SchemaGetter.encodeHex<Uint8Array>()
1273
+ * await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("010203")
1237
1274
  * ```
1238
1275
  *
1239
1276
  * @see {@link decodeHex} for the inverse operation to `Uint8Array`
1240
1277
  * @see {@link decodeHexString} for the inverse operation to `string`
1241
1278
  *
1242
- * @category Hex getters
1279
+ * @category encoding
1243
1280
  * @since 4.0.0
1244
1281
  */
1245
1282
  export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
@@ -1255,24 +1292,25 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
1255
1292
  *
1256
1293
  * **Example** (Decoding Base64 to bytes)
1257
1294
  *
1258
- * ```ts
1259
- * import { SchemaGetter } from "effect"
1295
+ * ```ts import.meta.vitest
1296
+ * import { Effect, Option, SchemaGetter } from "effect"
1260
1297
  *
1261
1298
  * const decode = SchemaGetter.decodeBase64<string>()
1262
- * // Getter<Uint8Array, string>
1299
+ * const result = await Effect.runPromise(decode.run(Option.some("AQID"), {}))
1300
+ * Option.map(result, Array.from) // => Option.some([1, 2, 3])
1263
1301
  * ```
1264
1302
  *
1265
1303
  * @see {@link decodeBase64String} to decode to `string` instead
1266
1304
  * @see {@link encodeBase64} for the inverse operation
1267
1305
  *
1268
- * @category Base64 getters
1306
+ * @category decoding
1269
1307
  * @since 4.0.0
1270
1308
  */
1271
1309
  export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
1272
1310
  return transformOrFail((input) =>
1273
1311
  Effect.mapErrorEager(
1274
1312
  Effect.fromResult(Encoding.decodeBase64(input)),
1275
- (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })
1313
+ () => new SchemaIssue.InvalidValue({ message: "Expected a valid Base64 string" })
1276
1314
  )
1277
1315
  )
1278
1316
  }
@@ -1286,23 +1324,23 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
1286
1324
  *
1287
1325
  * **Example** (Decoding Base64 to string)
1288
1326
  *
1289
- * ```ts
1290
- * import { SchemaGetter } from "effect"
1327
+ * ```ts import.meta.vitest
1328
+ * import { Effect, Option, SchemaGetter } from "effect"
1291
1329
  *
1292
1330
  * const decode = SchemaGetter.decodeBase64String<string>()
1293
- * // Getter<string, string>
1331
+ * await Effect.runPromise(decode.run(Option.some("aGVsbG8="), {})) // => Option.some("hello")
1294
1332
  * ```
1295
1333
  *
1296
1334
  * @see {@link decodeBase64} to decode to `Uint8Array` instead
1297
1335
  * @see {@link encodeBase64} for the inverse operation
1298
1336
  *
1299
- * @category Base64 getters
1337
+ * @category decoding
1300
1338
  * @since 4.0.0
1301
1339
  */
1302
1340
  export function decodeBase64String<E extends string>(): Getter<string, E> {
1303
1341
  return transformOrFail((input) =>
1304
1342
  Result.match(Encoding.decodeBase64String(input), {
1305
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1343
+ onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64 string" })),
1306
1344
  onSuccess: Effect.succeed
1307
1345
  })
1308
1346
  )
@@ -1317,23 +1355,24 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
1317
1355
  *
1318
1356
  * **Example** (Decoding Base64Url to bytes)
1319
1357
  *
1320
- * ```ts
1321
- * import { SchemaGetter } from "effect"
1358
+ * ```ts import.meta.vitest
1359
+ * import { Effect, Option, SchemaGetter } from "effect"
1322
1360
  *
1323
1361
  * const decode = SchemaGetter.decodeBase64Url<string>()
1324
- * // Getter<Uint8Array, string>
1362
+ * const result = await Effect.runPromise(decode.run(Option.some("-_8="), {}))
1363
+ * Option.map(result, Array.from) // => Option.some([251, 255])
1325
1364
  * ```
1326
1365
  *
1327
1366
  * @see {@link decodeBase64UrlString} to decode to `string` instead
1328
1367
  * @see {@link encodeBase64Url} for the inverse operation
1329
1368
  *
1330
- * @category Base64 getters
1369
+ * @category decoding
1331
1370
  * @since 4.0.0
1332
1371
  */
1333
1372
  export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
1334
1373
  return transformOrFail((input) =>
1335
1374
  Result.match(Encoding.decodeBase64Url(input), {
1336
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1375
+ onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64Url string" })),
1337
1376
  onSuccess: Effect.succeed
1338
1377
  })
1339
1378
  )
@@ -1348,23 +1387,23 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
1348
1387
  *
1349
1388
  * **Example** (Decoding Base64Url to string)
1350
1389
  *
1351
- * ```ts
1352
- * import { SchemaGetter } from "effect"
1390
+ * ```ts import.meta.vitest
1391
+ * import { Effect, Option, SchemaGetter } from "effect"
1353
1392
  *
1354
1393
  * const decode = SchemaGetter.decodeBase64UrlString<string>()
1355
- * // Getter<string, string>
1394
+ * await Effect.runPromise(decode.run(Option.some("aGVsbG8"), {})) // => Option.some("hello")
1356
1395
  * ```
1357
1396
  *
1358
1397
  * @see {@link decodeBase64Url} to decode to `Uint8Array` instead
1359
1398
  * @see {@link encodeBase64Url} for the inverse operation
1360
1399
  *
1361
- * @category Base64 getters
1400
+ * @category decoding
1362
1401
  * @since 4.0.0
1363
1402
  */
1364
1403
  export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
1365
1404
  return transformOrFail((input) =>
1366
1405
  Result.match(Encoding.decodeBase64UrlString(input), {
1367
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1406
+ onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64Url string" })),
1368
1407
  onSuccess: Effect.succeed
1369
1408
  })
1370
1409
  )
@@ -1379,23 +1418,27 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
1379
1418
  *
1380
1419
  * **Example** (Decoding hex to bytes)
1381
1420
  *
1382
- * ```ts
1383
- * import { SchemaGetter } from "effect"
1421
+ * ```ts import.meta.vitest
1422
+ * import { Effect, Option, SchemaGetter } from "effect"
1384
1423
  *
1385
1424
  * const decode = SchemaGetter.decodeHex<string>()
1386
- * // Getter<Uint8Array, string>
1425
+ * const result = await Effect.runPromise(decode.run(Option.some("010203"), {}))
1426
+ * Option.map(result, Array.from) // => Option.some([1, 2, 3])
1387
1427
  * ```
1388
1428
  *
1389
1429
  * @see {@link decodeHexString} to decode to `string` instead
1390
1430
  * @see {@link encodeHex} for the inverse operation
1391
1431
  *
1392
- * @category Hex getters
1432
+ * @category decoding
1393
1433
  * @since 4.0.0
1394
1434
  */
1395
1435
  export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
1396
1436
  return transformOrFail((input) =>
1397
1437
  Result.match(Encoding.decodeHex(input), {
1398
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1438
+ onFailure: () =>
1439
+ Effect.fail(
1440
+ new SchemaIssue.InvalidValue({ message: "Expected a valid hexadecimal string" })
1441
+ ),
1399
1442
  onSuccess: Effect.succeed
1400
1443
  })
1401
1444
  )
@@ -1410,23 +1453,26 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
1410
1453
  *
1411
1454
  * **Example** (Decoding hex to string)
1412
1455
  *
1413
- * ```ts
1414
- * import { SchemaGetter } from "effect"
1456
+ * ```ts import.meta.vitest
1457
+ * import { Effect, Option, SchemaGetter } from "effect"
1415
1458
  *
1416
1459
  * const decode = SchemaGetter.decodeHexString<string>()
1417
- * // Getter<string, string>
1460
+ * await Effect.runPromise(decode.run(Option.some("68656c6c6f"), {})) // => Option.some("hello")
1418
1461
  * ```
1419
1462
  *
1420
1463
  * @see {@link decodeHex} to decode to `Uint8Array` instead
1421
1464
  * @see {@link encodeHex} for the inverse operation
1422
1465
  *
1423
- * @category Hex getters
1466
+ * @category decoding
1424
1467
  * @since 4.0.0
1425
1468
  */
1426
1469
  export function decodeHexString<E extends string>(): Getter<string, E> {
1427
1470
  return transformOrFail((input) =>
1428
1471
  Result.match(Encoding.decodeHexString(input), {
1429
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1472
+ onFailure: () =>
1473
+ Effect.fail(
1474
+ new SchemaIssue.InvalidValue({ message: "Expected a valid hexadecimal string" })
1475
+ ),
1430
1476
  onSuccess: Effect.succeed
1431
1477
  })
1432
1478
  )
@@ -1443,15 +1489,16 @@ export function decodeHexString<E extends string>(): Getter<string, E> {
1443
1489
  *
1444
1490
  * **Example** (Encoding a URI component)
1445
1491
  *
1446
- * ```ts
1447
- * import { SchemaGetter } from "effect"
1492
+ * ```ts import.meta.vitest
1493
+ * import { Effect, Option, SchemaGetter } from "effect"
1448
1494
  *
1449
1495
  * const encode = SchemaGetter.encodeUriComponent<string>()
1496
+ * await Effect.runPromise(encode.run(Option.some("hello world"), {})) // => Option.some("hello%20world")
1450
1497
  * ```
1451
1498
  *
1452
1499
  * @see {@link decodeUriComponent} for the inverse operation
1453
1500
  *
1454
- * @category URI
1501
+ * @category encoding
1455
1502
  * @since 4.0.0
1456
1503
  */
1457
1504
  export function encodeUriComponent<E extends string>(): Getter<string, E> {
@@ -1467,26 +1514,26 @@ export function encodeUriComponent<E extends string>(): Getter<string, E> {
1467
1514
  *
1468
1515
  * **Example** (Decoding a URI component)
1469
1516
  *
1470
- * ```ts
1471
- * import { SchemaGetter } from "effect"
1517
+ * ```ts import.meta.vitest
1518
+ * import { Effect, Option, SchemaGetter } from "effect"
1472
1519
  *
1473
1520
  * const decode = SchemaGetter.decodeUriComponent<string>()
1474
- * // Getter<string, string>
1521
+ * await Effect.runPromise(decode.run(Option.some("hello%20world"), {})) // => Option.some("hello world")
1475
1522
  * ```
1476
1523
  *
1477
1524
  * @see {@link encodeUriComponent} for the inverse operation
1478
1525
  *
1479
- * @category URI
1526
+ * @category decoding
1480
1527
  * @since 4.0.0
1481
1528
  */
1482
1529
  export function decodeUriComponent<E extends string>(): Getter<string, E> {
1483
1530
  return transformOrFail((input) => {
1484
1531
  try {
1485
1532
  return Effect.succeed(globalThis.decodeURIComponent(input))
1486
- } catch (e) {
1533
+ } catch {
1487
1534
  return Effect.fail(
1488
- new SchemaIssue.InvalidValue(Option.some(input), {
1489
- message: e instanceof URIError ? e.message : "Invalid URI component"
1535
+ new SchemaIssue.InvalidValue({
1536
+ message: "Expected a valid URI component"
1490
1537
  })
1491
1538
  )
1492
1539
  }
@@ -1512,23 +1559,23 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
1512
1559
  *
1513
1560
  * **Example** (Parsing DateTime)
1514
1561
  *
1515
- * ```ts
1516
- * import { SchemaGetter } from "effect"
1562
+ * ```ts import.meta.vitest
1563
+ * import { DateTime, Effect, Option, SchemaGetter } from "effect"
1517
1564
  *
1518
1565
  * const parseDate = SchemaGetter.dateTimeUtcFromInput<string>()
1519
- * // Getter<DateTime.Utc, string>
1566
+ * const result = await Effect.runPromise(parseDate.run(Option.some("2024-01-01T00:00:00Z"), {}))
1567
+ * Option.map(result, DateTime.toEpochMillis) // => Option.some(1704067200000)
1520
1568
  * ```
1521
1569
  *
1522
1570
  * @see {@link Date} for a simpler coercion to `Date` (no validation)
1523
1571
  *
1524
- * @category DateTime
1572
+ * @category converting
1525
1573
  * @since 4.0.0
1526
1574
  */
1527
1575
  export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
1528
1576
  return transformOrFail((input) => {
1529
1577
  return Option.match(DateTime.make(input), {
1530
- onNone: () =>
1531
- Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: "Invalid DateTime input" })),
1578
+ onNone: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Invalid DateTime input" })),
1532
1579
  onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
1533
1580
  })
1534
1581
  })
@@ -1550,18 +1597,20 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
1550
1597
  *
1551
1598
  * **Example** (Decoding FormData)
1552
1599
  *
1553
- * ```ts
1554
- * import { SchemaGetter } from "effect"
1600
+ * ```ts import.meta.vitest
1601
+ * import { Effect, Option, SchemaGetter } from "effect"
1555
1602
  *
1556
1603
  * const decode = SchemaGetter.decodeFormData()
1557
- * // Getter<TreeObject<string | Blob>, FormData>
1604
+ * const formData = new FormData()
1605
+ * formData.append("user[name]", "Alice")
1606
+ * await Effect.runPromise(decode.run(Option.some(formData), {})) // => Option.some({ user: { name: "Alice" } })
1558
1607
  * ```
1559
1608
  *
1560
1609
  * @see {@link encodeFormData} for the corresponding encoder
1561
1610
  * @see {@link makeTreeRecord} for the underlying bracket-path parser
1562
1611
  * @see {@link decodeURLSearchParams} for the URLSearchParams variant
1563
1612
  *
1564
- * @category FormData
1613
+ * @category decoding
1565
1614
  * @since 4.0.0
1566
1615
  */
1567
1616
  export function decodeFormData(): Getter<Schema.TreeRecord<string | Blob>, FormData> {
@@ -1588,18 +1637,19 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
1588
1637
  *
1589
1638
  * **Example** (Encoding to FormData)
1590
1639
  *
1591
- * ```ts
1592
- * import { SchemaGetter } from "effect"
1640
+ * ```ts import.meta.vitest
1641
+ * import { Effect, Option, SchemaGetter } from "effect"
1593
1642
  *
1594
1643
  * const encode = SchemaGetter.encodeFormData()
1595
- * // Getter<FormData, unknown>
1644
+ * const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
1645
+ * Option.map(result, (formData) => formData.get("name")) // => Option.some("Alice")
1596
1646
  * ```
1597
1647
  *
1598
1648
  * @see {@link decodeFormData} for the corresponding decoder
1599
1649
  * @see {@link collectBracketPathEntries} for the underlying flattener
1600
1650
  * @see {@link encodeURLSearchParams} for the URLSearchParams variant
1601
1651
  *
1602
- * @category FormData
1652
+ * @category encoding
1603
1653
  * @since 4.0.0
1604
1654
  */
1605
1655
  export function encodeFormData(): Getter<FormData, unknown> {
@@ -1631,18 +1681,19 @@ export function encodeFormData(): Getter<FormData, unknown> {
1631
1681
  *
1632
1682
  * **Example** (Decoding URLSearchParams)
1633
1683
  *
1634
- * ```ts
1635
- * import { SchemaGetter } from "effect"
1684
+ * ```ts import.meta.vitest
1685
+ * import { Effect, Option, SchemaGetter } from "effect"
1636
1686
  *
1637
1687
  * const decode = SchemaGetter.decodeURLSearchParams()
1638
- * // Getter<TreeObject<string>, URLSearchParams>
1688
+ * const params = new URLSearchParams("user[name]=Alice")
1689
+ * await Effect.runPromise(decode.run(Option.some(params), {})) // => Option.some({ user: { name: "Alice" } })
1639
1690
  * ```
1640
1691
  *
1641
1692
  * @see {@link encodeURLSearchParams} for the corresponding encoder
1642
1693
  * @see {@link makeTreeRecord} for the underlying bracket-path parser
1643
1694
  * @see {@link decodeFormData} for the FormData variant
1644
1695
  *
1645
- * @category search params
1696
+ * @category decoding
1646
1697
  * @since 4.0.0
1647
1698
  */
1648
1699
  export function decodeURLSearchParams(): Getter<Schema.TreeRecord<string>, URLSearchParams> {
@@ -1666,18 +1717,19 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
1666
1717
  *
1667
1718
  * **Example** (Encoding to URLSearchParams)
1668
1719
  *
1669
- * ```ts
1670
- * import { SchemaGetter } from "effect"
1720
+ * ```ts import.meta.vitest
1721
+ * import { Effect, Option, SchemaGetter } from "effect"
1671
1722
  *
1672
1723
  * const encode = SchemaGetter.encodeURLSearchParams()
1673
- * // Getter<URLSearchParams, unknown>
1724
+ * const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
1725
+ * Option.map(result, (params) => params.toString()) // => Option.some("name=Alice")
1674
1726
  * ```
1675
1727
  *
1676
1728
  * @see {@link decodeURLSearchParams} for the corresponding decoder
1677
1729
  * @see {@link collectBracketPathEntries} for the underlying flattener
1678
1730
  * @see {@link encodeFormData} for the FormData variant
1679
1731
  *
1680
- * @category search params
1732
+ * @category encoding
1681
1733
  * @since 4.0.0
1682
1734
  */
1683
1735
  export function encodeURLSearchParams(): Getter<URLSearchParams, unknown> {
@@ -1736,22 +1788,21 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
1736
1788
  *
1737
1789
  * **Example** (Building a tree from bracket paths)
1738
1790
  *
1739
- * ```ts
1791
+ * ```ts import.meta.vitest
1740
1792
  * import { SchemaGetter } from "effect"
1741
1793
  *
1742
- * const tree = SchemaGetter.makeTreeRecord([
1794
+ * SchemaGetter.makeTreeRecord([
1743
1795
  * ["user[name]", "Alice"],
1744
1796
  * ["user[tags][]", "admin"],
1745
1797
  * ["user[tags][]", "editor"]
1746
- * ])
1747
- * // { user: { name: "Alice", tags: ["admin", "editor"] } }
1798
+ * ]) // => { user: { name: "Alice", tags: ["admin", "editor"] } }
1748
1799
  * ```
1749
1800
  *
1750
1801
  * @see {@link collectBracketPathEntries} for flattening trees into bracket-path entries
1751
1802
  * @see {@link decodeFormData} for a higher-level FormData decoder
1752
1803
  * @see {@link decodeURLSearchParams} for a higher-level URLSearchParams decoder
1753
1804
  *
1754
- * @category Tree
1805
+ * @category constructors
1755
1806
  * @since 4.0.0
1756
1807
  */
1757
1808
  export function makeTreeRecord<A>(
@@ -1833,19 +1884,20 @@ export function makeTreeRecord<A>(
1833
1884
  *
1834
1885
  * **Example** (Flattening an object to bracket paths)
1835
1886
  *
1836
- * ```ts
1887
+ * ```ts import.meta.vitest
1837
1888
  * import { Predicate, SchemaGetter } from "effect"
1838
1889
  *
1839
1890
  * const collectStrings = SchemaGetter.collectBracketPathEntries(Predicate.isString)
1840
1891
  * const entries = collectStrings({ user: { name: "Alice", tags: ["admin", "editor"] } })
1841
- * // [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
1892
+ *
1893
+ * entries // => [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
1842
1894
  * ```
1843
1895
  *
1844
1896
  * @see {@link makeTreeRecord} for building trees from bracket-path entries
1845
1897
  * @see {@link encodeFormData} for a higher-level FormData encoder
1846
1898
  * @see {@link encodeURLSearchParams} for a higher-level URLSearchParams encoder
1847
1899
  *
1848
- * @category Tree
1900
+ * @category converting
1849
1901
  * @since 4.0.0
1850
1902
  */
1851
1903
  export function collectBracketPathEntries<A>(isLeaf: (value: unknown) => value is A) {