effect 4.0.0-beta.66 → 4.0.0-beta.68

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 (1767) hide show
  1. package/dist/Array.d.ts +151 -106
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +50 -40
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +620 -553
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +298 -254
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +342 -274
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +168 -126
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +189 -156
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +85 -68
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +30 -5
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +19 -2
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +239 -135
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +135 -59
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +84 -73
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +51 -44
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +1568 -632
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +685 -315
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +119 -10
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +45 -6
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +574 -428
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +250 -191
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Clock.d.ts +16 -9
  42. package/dist/Clock.d.ts.map +1 -1
  43. package/dist/Clock.js +9 -5
  44. package/dist/Clock.js.map +1 -1
  45. package/dist/Combiner.d.ts +11 -5
  46. package/dist/Combiner.d.ts.map +1 -1
  47. package/dist/Combiner.js +10 -4
  48. package/dist/Combiner.js.map +1 -1
  49. package/dist/Config.d.ts +80 -68
  50. package/dist/Config.d.ts.map +1 -1
  51. package/dist/Config.js +53 -49
  52. package/dist/Config.js.map +1 -1
  53. package/dist/ConfigProvider.d.ts +33 -32
  54. package/dist/ConfigProvider.d.ts.map +1 -1
  55. package/dist/ConfigProvider.js +19 -18
  56. package/dist/ConfigProvider.js.map +1 -1
  57. package/dist/Console.d.ts +76 -50
  58. package/dist/Console.d.ts.map +1 -1
  59. package/dist/Console.js +69 -46
  60. package/dist/Console.js.map +1 -1
  61. package/dist/Context.d.ts +400 -189
  62. package/dist/Context.d.ts.map +1 -1
  63. package/dist/Context.js +143 -77
  64. package/dist/Context.js.map +1 -1
  65. package/dist/Cron.d.ts +67 -48
  66. package/dist/Cron.d.ts.map +1 -1
  67. package/dist/Cron.js +94 -36
  68. package/dist/Cron.js.map +1 -1
  69. package/dist/Crypto.d.ts +208 -0
  70. package/dist/Crypto.d.ts.map +1 -0
  71. package/dist/Crypto.js +157 -0
  72. package/dist/Crypto.js.map +1 -0
  73. package/dist/Data.d.ts +9 -3
  74. package/dist/Data.d.ts.map +1 -1
  75. package/dist/Data.js.map +1 -1
  76. package/dist/DateTime.d.ts +893 -464
  77. package/dist/DateTime.d.ts.map +1 -1
  78. package/dist/DateTime.js +387 -228
  79. package/dist/DateTime.js.map +1 -1
  80. package/dist/Deferred.d.ts +367 -175
  81. package/dist/Deferred.d.ts.map +1 -1
  82. package/dist/Deferred.js +146 -72
  83. package/dist/Deferred.js.map +1 -1
  84. package/dist/Differ.d.ts +44 -2
  85. package/dist/Differ.d.ts.map +1 -1
  86. package/dist/Differ.js +36 -0
  87. package/dist/Duration.d.ts +333 -186
  88. package/dist/Duration.d.ts.map +1 -1
  89. package/dist/Duration.js +178 -107
  90. package/dist/Duration.js.map +1 -1
  91. package/dist/Effect.d.ts +2181 -2275
  92. package/dist/Effect.d.ts.map +1 -1
  93. package/dist/Effect.js +935 -850
  94. package/dist/Effect.js.map +1 -1
  95. package/dist/Effectable.d.ts +38 -3
  96. package/dist/Effectable.d.ts.map +1 -1
  97. package/dist/Effectable.js +3 -3
  98. package/dist/Effectable.js.map +1 -1
  99. package/dist/Encoding.d.ts +78 -28
  100. package/dist/Encoding.d.ts.map +1 -1
  101. package/dist/Encoding.js +75 -27
  102. package/dist/Encoding.js.map +1 -1
  103. package/dist/Equal.d.ts +4 -3
  104. package/dist/Equal.d.ts.map +1 -1
  105. package/dist/Equal.js +4 -3
  106. package/dist/Equal.js.map +1 -1
  107. package/dist/Equivalence.d.ts +18 -24
  108. package/dist/Equivalence.d.ts.map +1 -1
  109. package/dist/Equivalence.js +16 -21
  110. package/dist/Equivalence.js.map +1 -1
  111. package/dist/ErrorReporter.d.ts +66 -82
  112. package/dist/ErrorReporter.d.ts.map +1 -1
  113. package/dist/ErrorReporter.js +38 -29
  114. package/dist/ErrorReporter.js.map +1 -1
  115. package/dist/ExecutionPlan.d.ts +106 -12
  116. package/dist/ExecutionPlan.d.ts.map +1 -1
  117. package/dist/ExecutionPlan.js +23 -6
  118. package/dist/ExecutionPlan.js.map +1 -1
  119. package/dist/Exit.d.ts +6 -5
  120. package/dist/Exit.d.ts.map +1 -1
  121. package/dist/Exit.js.map +1 -1
  122. package/dist/Fiber.d.ts +71 -40
  123. package/dist/Fiber.d.ts.map +1 -1
  124. package/dist/Fiber.js +39 -21
  125. package/dist/Fiber.js.map +1 -1
  126. package/dist/FiberHandle.d.ts +118 -57
  127. package/dist/FiberHandle.d.ts.map +1 -1
  128. package/dist/FiberHandle.js +121 -39
  129. package/dist/FiberHandle.js.map +1 -1
  130. package/dist/FiberMap.d.ts +287 -159
  131. package/dist/FiberMap.d.ts.map +1 -1
  132. package/dist/FiberMap.js +175 -73
  133. package/dist/FiberMap.js.map +1 -1
  134. package/dist/FiberSet.d.ts +93 -52
  135. package/dist/FiberSet.d.ts.map +1 -1
  136. package/dist/FiberSet.js +97 -34
  137. package/dist/FiberSet.js.map +1 -1
  138. package/dist/FileSystem.d.ts +102 -73
  139. package/dist/FileSystem.d.ts.map +1 -1
  140. package/dist/FileSystem.js +53 -39
  141. package/dist/FileSystem.js.map +1 -1
  142. package/dist/Filter.d.ts +166 -88
  143. package/dist/Filter.d.ts.map +1 -1
  144. package/dist/Filter.js +68 -42
  145. package/dist/Filter.js.map +1 -1
  146. package/dist/Formatter.d.ts +4 -2
  147. package/dist/Formatter.d.ts.map +1 -1
  148. package/dist/Formatter.js +3 -69
  149. package/dist/Formatter.js.map +1 -1
  150. package/dist/Function.d.ts +218 -151
  151. package/dist/Function.d.ts.map +1 -1
  152. package/dist/Function.js +94 -78
  153. package/dist/Function.js.map +1 -1
  154. package/dist/Graph.d.ts +714 -415
  155. package/dist/Graph.d.ts.map +1 -1
  156. package/dist/Graph.js +325 -182
  157. package/dist/Graph.js.map +1 -1
  158. package/dist/HKT.d.ts +29 -13
  159. package/dist/HKT.d.ts.map +1 -1
  160. package/dist/Hash.d.ts +35 -24
  161. package/dist/Hash.d.ts.map +1 -1
  162. package/dist/Hash.js +27 -17
  163. package/dist/Hash.js.map +1 -1
  164. package/dist/HashMap.d.ts +540 -388
  165. package/dist/HashMap.d.ts.map +1 -1
  166. package/dist/HashMap.js +262 -156
  167. package/dist/HashMap.js.map +1 -1
  168. package/dist/HashRing.d.ts +53 -34
  169. package/dist/HashRing.d.ts.map +1 -1
  170. package/dist/HashRing.js +83 -16
  171. package/dist/HashRing.js.map +1 -1
  172. package/dist/HashSet.d.ts +239 -153
  173. package/dist/HashSet.d.ts.map +1 -1
  174. package/dist/HashSet.js +110 -56
  175. package/dist/HashSet.js.map +1 -1
  176. package/dist/Inspectable.d.ts +26 -13
  177. package/dist/Inspectable.d.ts.map +1 -1
  178. package/dist/Inspectable.js +22 -10
  179. package/dist/Inspectable.js.map +1 -1
  180. package/dist/Iterable.d.ts +336 -222
  181. package/dist/Iterable.d.ts.map +1 -1
  182. package/dist/Iterable.js +146 -100
  183. package/dist/Iterable.js.map +1 -1
  184. package/dist/JsonPatch.d.ts +12 -9
  185. package/dist/JsonPatch.d.ts.map +1 -1
  186. package/dist/JsonPatch.js +9 -6
  187. package/dist/JsonPatch.js.map +1 -1
  188. package/dist/JsonPointer.d.ts +13 -11
  189. package/dist/JsonPointer.d.ts.map +1 -1
  190. package/dist/JsonPointer.js +13 -11
  191. package/dist/JsonPointer.js.map +1 -1
  192. package/dist/JsonSchema.d.ts +16 -0
  193. package/dist/JsonSchema.d.ts.map +1 -1
  194. package/dist/JsonSchema.js +10 -0
  195. package/dist/JsonSchema.js.map +1 -1
  196. package/dist/Latch.d.ts +97 -26
  197. package/dist/Latch.d.ts.map +1 -1
  198. package/dist/Latch.js +39 -20
  199. package/dist/Latch.js.map +1 -1
  200. package/dist/Layer.d.ts +472 -410
  201. package/dist/Layer.d.ts.map +1 -1
  202. package/dist/Layer.js +290 -226
  203. package/dist/Layer.js.map +1 -1
  204. package/dist/LayerMap.d.ts +99 -26
  205. package/dist/LayerMap.d.ts.map +1 -1
  206. package/dist/LayerMap.js +58 -14
  207. package/dist/LayerMap.js.map +1 -1
  208. package/dist/LogLevel.d.ts +92 -131
  209. package/dist/LogLevel.d.ts.map +1 -1
  210. package/dist/LogLevel.js +25 -15
  211. package/dist/LogLevel.js.map +1 -1
  212. package/dist/Logger.d.ts +159 -104
  213. package/dist/Logger.d.ts.map +1 -1
  214. package/dist/Logger.js +215 -189
  215. package/dist/Logger.js.map +1 -1
  216. package/dist/ManagedRuntime.d.ts +78 -19
  217. package/dist/ManagedRuntime.d.ts.map +1 -1
  218. package/dist/ManagedRuntime.js +24 -17
  219. package/dist/ManagedRuntime.js.map +1 -1
  220. package/dist/Match.d.ts +135 -161
  221. package/dist/Match.d.ts.map +1 -1
  222. package/dist/Match.js +86 -78
  223. package/dist/Match.js.map +1 -1
  224. package/dist/Metric.d.ts +330 -291
  225. package/dist/Metric.d.ts.map +1 -1
  226. package/dist/Metric.js +219 -214
  227. package/dist/Metric.js.map +1 -1
  228. package/dist/MutableHashMap.d.ts +146 -87
  229. package/dist/MutableHashMap.d.ts.map +1 -1
  230. package/dist/MutableHashMap.js +67 -43
  231. package/dist/MutableHashMap.js.map +1 -1
  232. package/dist/MutableHashSet.d.ts +52 -30
  233. package/dist/MutableHashSet.d.ts.map +1 -1
  234. package/dist/MutableHashSet.js +92 -38
  235. package/dist/MutableHashSet.js.map +1 -1
  236. package/dist/MutableList.d.ts +110 -68
  237. package/dist/MutableList.d.ts.map +1 -1
  238. package/dist/MutableList.js +135 -85
  239. package/dist/MutableList.js.map +1 -1
  240. package/dist/MutableRef.d.ts +99 -62
  241. package/dist/MutableRef.d.ts.map +1 -1
  242. package/dist/MutableRef.js +78 -60
  243. package/dist/MutableRef.js.map +1 -1
  244. package/dist/Newtype.d.ts +15 -2
  245. package/dist/Newtype.d.ts.map +1 -1
  246. package/dist/Newtype.js +8 -2
  247. package/dist/Newtype.js.map +1 -1
  248. package/dist/NonEmptyIterable.d.ts +38 -48
  249. package/dist/NonEmptyIterable.d.ts.map +1 -1
  250. package/dist/NonEmptyIterable.js +34 -25
  251. package/dist/NonEmptyIterable.js.map +1 -1
  252. package/dist/Number.d.ts +261 -205
  253. package/dist/Number.d.ts.map +1 -1
  254. package/dist/Number.js +119 -91
  255. package/dist/Number.js.map +1 -1
  256. package/dist/Optic.d.ts +6 -7
  257. package/dist/Optic.d.ts.map +1 -1
  258. package/dist/Optic.js +5 -6
  259. package/dist/Optic.js.map +1 -1
  260. package/dist/Option.d.ts +133 -156
  261. package/dist/Option.d.ts.map +1 -1
  262. package/dist/Option.js +64 -64
  263. package/dist/Option.js.map +1 -1
  264. package/dist/Order.d.ts +6 -6
  265. package/dist/Order.js +6 -6
  266. package/dist/Ordering.d.ts +56 -45
  267. package/dist/Ordering.d.ts.map +1 -1
  268. package/dist/Ordering.js +10 -8
  269. package/dist/Ordering.js.map +1 -1
  270. package/dist/PartitionedSemaphore.d.ts +225 -40
  271. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  272. package/dist/PartitionedSemaphore.js +113 -17
  273. package/dist/PartitionedSemaphore.js.map +1 -1
  274. package/dist/Path.d.ts +77 -13
  275. package/dist/Path.d.ts.map +1 -1
  276. package/dist/Path.js +49 -4
  277. package/dist/Path.js.map +1 -1
  278. package/dist/Pipeable.d.ts +77 -18
  279. package/dist/Pipeable.d.ts.map +1 -1
  280. package/dist/Pipeable.js +63 -14
  281. package/dist/Pipeable.js.map +1 -1
  282. package/dist/PlatformError.d.ts +74 -6
  283. package/dist/PlatformError.d.ts.map +1 -1
  284. package/dist/PlatformError.js +68 -5
  285. package/dist/PlatformError.js.map +1 -1
  286. package/dist/Pool.d.ts +66 -31
  287. package/dist/Pool.d.ts.map +1 -1
  288. package/dist/Pool.js +26 -24
  289. package/dist/Pool.js.map +1 -1
  290. package/dist/Predicate.d.ts +16 -23
  291. package/dist/Predicate.d.ts.map +1 -1
  292. package/dist/Predicate.js +12 -17
  293. package/dist/Predicate.js.map +1 -1
  294. package/dist/PrimaryKey.d.ts +11 -3
  295. package/dist/PrimaryKey.d.ts.map +1 -1
  296. package/dist/PrimaryKey.js +9 -2
  297. package/dist/PrimaryKey.js.map +1 -1
  298. package/dist/PubSub.d.ts +385 -309
  299. package/dist/PubSub.d.ts.map +1 -1
  300. package/dist/PubSub.js +260 -207
  301. package/dist/PubSub.js.map +1 -1
  302. package/dist/Pull.d.ts +94 -25
  303. package/dist/Pull.d.ts.map +1 -1
  304. package/dist/Pull.js +61 -13
  305. package/dist/Pull.js.map +1 -1
  306. package/dist/Queue.d.ts +303 -184
  307. package/dist/Queue.d.ts.map +1 -1
  308. package/dist/Queue.js +231 -134
  309. package/dist/Queue.js.map +1 -1
  310. package/dist/Random.d.ts +65 -57
  311. package/dist/Random.d.ts.map +1 -1
  312. package/dist/Random.js +41 -66
  313. package/dist/Random.js.map +1 -1
  314. package/dist/RcMap.d.ts +151 -141
  315. package/dist/RcMap.d.ts.map +1 -1
  316. package/dist/RcMap.js +66 -20
  317. package/dist/RcMap.js.map +1 -1
  318. package/dist/RcRef.d.ts +68 -32
  319. package/dist/RcRef.d.ts.map +1 -1
  320. package/dist/RcRef.js +33 -16
  321. package/dist/RcRef.js.map +1 -1
  322. package/dist/Record.d.ts +282 -137
  323. package/dist/Record.d.ts.map +1 -1
  324. package/dist/Record.js +124 -62
  325. package/dist/Record.js.map +1 -1
  326. package/dist/Redactable.d.ts +7 -5
  327. package/dist/Redactable.d.ts.map +1 -1
  328. package/dist/Redactable.js +5 -3
  329. package/dist/Redactable.js.map +1 -1
  330. package/dist/Redacted.d.ts +63 -34
  331. package/dist/Redacted.d.ts.map +1 -1
  332. package/dist/Redacted.js +31 -15
  333. package/dist/Redacted.js.map +1 -1
  334. package/dist/Reducer.d.ts +3 -1
  335. package/dist/Reducer.d.ts.map +1 -1
  336. package/dist/Reducer.js +2 -0
  337. package/dist/Reducer.js.map +1 -1
  338. package/dist/Ref.d.ts +85 -66
  339. package/dist/Ref.d.ts.map +1 -1
  340. package/dist/Ref.js +57 -45
  341. package/dist/Ref.js.map +1 -1
  342. package/dist/References.d.ts +73 -31
  343. package/dist/References.d.ts.map +1 -1
  344. package/dist/References.js +66 -30
  345. package/dist/References.js.map +1 -1
  346. package/dist/RegExp.d.ts +12 -6
  347. package/dist/RegExp.d.ts.map +1 -1
  348. package/dist/RegExp.js +12 -6
  349. package/dist/RegExp.js.map +1 -1
  350. package/dist/Request.d.ts +159 -34
  351. package/dist/Request.d.ts.map +1 -1
  352. package/dist/Request.js +68 -12
  353. package/dist/Request.js.map +1 -1
  354. package/dist/RequestResolver.d.ts +262 -118
  355. package/dist/RequestResolver.d.ts.map +1 -1
  356. package/dist/RequestResolver.js +78 -42
  357. package/dist/RequestResolver.js.map +1 -1
  358. package/dist/Resource.d.ts +13 -7
  359. package/dist/Resource.d.ts.map +1 -1
  360. package/dist/Resource.js +44 -6
  361. package/dist/Resource.js.map +1 -1
  362. package/dist/Result.d.ts +135 -151
  363. package/dist/Result.d.ts.map +1 -1
  364. package/dist/Result.js +56 -68
  365. package/dist/Result.js.map +1 -1
  366. package/dist/Runtime.d.ts +40 -20
  367. package/dist/Runtime.d.ts.map +1 -1
  368. package/dist/Runtime.js +34 -17
  369. package/dist/Runtime.js.map +1 -1
  370. package/dist/Schedule.d.ts +556 -590
  371. package/dist/Schedule.d.ts.map +1 -1
  372. package/dist/Schedule.js +265 -253
  373. package/dist/Schedule.js.map +1 -1
  374. package/dist/Scheduler.d.ts +44 -7
  375. package/dist/Scheduler.d.ts.map +1 -1
  376. package/dist/Scheduler.js +34 -5
  377. package/dist/Scheduler.js.map +1 -1
  378. package/dist/Schema.d.ts +1293 -602
  379. package/dist/Schema.d.ts.map +1 -1
  380. package/dist/Schema.js +501 -361
  381. package/dist/Schema.js.map +1 -1
  382. package/dist/SchemaAST.d.ts +122 -92
  383. package/dist/SchemaAST.d.ts.map +1 -1
  384. package/dist/SchemaAST.js +102 -77
  385. package/dist/SchemaAST.js.map +1 -1
  386. package/dist/SchemaGetter.d.ts +49 -36
  387. package/dist/SchemaGetter.d.ts.map +1 -1
  388. package/dist/SchemaGetter.js +42 -29
  389. package/dist/SchemaGetter.js.map +1 -1
  390. package/dist/SchemaIssue.d.ts +19 -24
  391. package/dist/SchemaIssue.d.ts.map +1 -1
  392. package/dist/SchemaIssue.js +16 -14
  393. package/dist/SchemaIssue.js.map +1 -1
  394. package/dist/SchemaParser.d.ts +231 -63
  395. package/dist/SchemaParser.d.ts.map +1 -1
  396. package/dist/SchemaParser.js +266 -75
  397. package/dist/SchemaParser.js.map +1 -1
  398. package/dist/SchemaRepresentation.d.ts +89 -77
  399. package/dist/SchemaRepresentation.d.ts.map +1 -1
  400. package/dist/SchemaRepresentation.js +47 -37
  401. package/dist/SchemaRepresentation.js.map +1 -1
  402. package/dist/SchemaTransformation.d.ts +97 -46
  403. package/dist/SchemaTransformation.d.ts.map +1 -1
  404. package/dist/SchemaTransformation.js +89 -38
  405. package/dist/SchemaTransformation.js.map +1 -1
  406. package/dist/SchemaUtils.d.ts +8 -1
  407. package/dist/SchemaUtils.d.ts.map +1 -1
  408. package/dist/SchemaUtils.js +24 -1
  409. package/dist/SchemaUtils.js.map +1 -1
  410. package/dist/Scope.d.ts +107 -65
  411. package/dist/Scope.d.ts.map +1 -1
  412. package/dist/Scope.js +61 -32
  413. package/dist/Scope.js.map +1 -1
  414. package/dist/ScopedCache.d.ts +141 -49
  415. package/dist/ScopedCache.d.ts.map +1 -1
  416. package/dist/ScopedCache.js +82 -21
  417. package/dist/ScopedCache.js.map +1 -1
  418. package/dist/ScopedRef.d.ts +28 -8
  419. package/dist/ScopedRef.d.ts.map +1 -1
  420. package/dist/ScopedRef.js +25 -5
  421. package/dist/ScopedRef.js.map +1 -1
  422. package/dist/Semaphore.d.ts +61 -37
  423. package/dist/Semaphore.d.ts.map +1 -1
  424. package/dist/Semaphore.js +18 -21
  425. package/dist/Semaphore.js.map +1 -1
  426. package/dist/Sink.d.ts +461 -206
  427. package/dist/Sink.d.ts.map +1 -1
  428. package/dist/Sink.js +241 -90
  429. package/dist/Sink.js.map +1 -1
  430. package/dist/Stdio.d.ts +43 -6
  431. package/dist/Stdio.d.ts.map +1 -1
  432. package/dist/Stdio.js +33 -4
  433. package/dist/Stdio.js.map +1 -1
  434. package/dist/Stream.d.ts +2117 -1541
  435. package/dist/Stream.d.ts.map +1 -1
  436. package/dist/Stream.js +951 -682
  437. package/dist/Stream.js.map +1 -1
  438. package/dist/String.d.ts +174 -97
  439. package/dist/String.d.ts.map +1 -1
  440. package/dist/String.js +128 -69
  441. package/dist/String.js.map +1 -1
  442. package/dist/Struct.d.ts +20 -18
  443. package/dist/Struct.d.ts.map +1 -1
  444. package/dist/Struct.js +10 -8
  445. package/dist/Struct.js.map +1 -1
  446. package/dist/SubscriptionRef.d.ts +309 -204
  447. package/dist/SubscriptionRef.d.ts.map +1 -1
  448. package/dist/SubscriptionRef.js +126 -77
  449. package/dist/SubscriptionRef.js.map +1 -1
  450. package/dist/Symbol.d.ts +13 -5
  451. package/dist/Symbol.d.ts.map +1 -1
  452. package/dist/Symbol.js +13 -5
  453. package/dist/Symbol.js.map +1 -1
  454. package/dist/SynchronizedRef.d.ts +278 -62
  455. package/dist/SynchronizedRef.d.ts.map +1 -1
  456. package/dist/SynchronizedRef.js +116 -23
  457. package/dist/SynchronizedRef.js.map +1 -1
  458. package/dist/Take.d.ts +26 -2
  459. package/dist/Take.d.ts.map +1 -1
  460. package/dist/Take.js +4 -1
  461. package/dist/Take.js.map +1 -1
  462. package/dist/Terminal.d.ts +39 -7
  463. package/dist/Terminal.d.ts.map +1 -1
  464. package/dist/Terminal.js +10 -4
  465. package/dist/Terminal.js.map +1 -1
  466. package/dist/Tracer.d.ts +233 -59
  467. package/dist/Tracer.d.ts.map +1 -1
  468. package/dist/Tracer.js +94 -18
  469. package/dist/Tracer.js.map +1 -1
  470. package/dist/Trie.d.ts +280 -245
  471. package/dist/Trie.d.ts.map +1 -1
  472. package/dist/Trie.js +116 -102
  473. package/dist/Trie.js.map +1 -1
  474. package/dist/Tuple.d.ts +34 -32
  475. package/dist/Tuple.d.ts.map +1 -1
  476. package/dist/Tuple.js +16 -14
  477. package/dist/Tuple.js.map +1 -1
  478. package/dist/TxChunk.d.ts +200 -155
  479. package/dist/TxChunk.d.ts.map +1 -1
  480. package/dist/TxChunk.js +83 -61
  481. package/dist/TxChunk.js.map +1 -1
  482. package/dist/TxDeferred.d.ts +43 -29
  483. package/dist/TxDeferred.d.ts.map +1 -1
  484. package/dist/TxDeferred.js +22 -15
  485. package/dist/TxDeferred.js.map +1 -1
  486. package/dist/TxHashMap.d.ts +362 -223
  487. package/dist/TxHashMap.d.ts.map +1 -1
  488. package/dist/TxHashMap.js +171 -98
  489. package/dist/TxHashMap.js.map +1 -1
  490. package/dist/TxHashSet.d.ts +181 -111
  491. package/dist/TxHashSet.d.ts.map +1 -1
  492. package/dist/TxHashSet.js +87 -49
  493. package/dist/TxHashSet.js.map +1 -1
  494. package/dist/TxPriorityQueue.d.ts +94 -63
  495. package/dist/TxPriorityQueue.d.ts.map +1 -1
  496. package/dist/TxPriorityQueue.js +55 -37
  497. package/dist/TxPriorityQueue.js.map +1 -1
  498. package/dist/TxPubSub.d.ts +77 -49
  499. package/dist/TxPubSub.d.ts.map +1 -1
  500. package/dist/TxPubSub.js +60 -37
  501. package/dist/TxPubSub.js.map +1 -1
  502. package/dist/TxQueue.d.ts +277 -242
  503. package/dist/TxQueue.d.ts.map +1 -1
  504. package/dist/TxQueue.js +147 -101
  505. package/dist/TxQueue.js.map +1 -1
  506. package/dist/TxReentrantLock.d.ts +69 -46
  507. package/dist/TxReentrantLock.d.ts.map +1 -1
  508. package/dist/TxReentrantLock.js +48 -32
  509. package/dist/TxReentrantLock.js.map +1 -1
  510. package/dist/TxRef.d.ts +69 -40
  511. package/dist/TxRef.d.ts.map +1 -1
  512. package/dist/TxRef.js +34 -19
  513. package/dist/TxRef.js.map +1 -1
  514. package/dist/TxSemaphore.d.ts +101 -115
  515. package/dist/TxSemaphore.d.ts.map +1 -1
  516. package/dist/TxSemaphore.js +76 -77
  517. package/dist/TxSemaphore.js.map +1 -1
  518. package/dist/TxSubscriptionRef.d.ts +74 -50
  519. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  520. package/dist/TxSubscriptionRef.js +34 -23
  521. package/dist/TxSubscriptionRef.js.map +1 -1
  522. package/dist/Types.d.ts +31 -34
  523. package/dist/Types.d.ts.map +1 -1
  524. package/dist/UndefinedOr.d.ts +62 -25
  525. package/dist/UndefinedOr.d.ts.map +1 -1
  526. package/dist/UndefinedOr.js +36 -25
  527. package/dist/UndefinedOr.js.map +1 -1
  528. package/dist/Unify.d.ts +72 -117
  529. package/dist/Unify.d.ts.map +1 -1
  530. package/dist/Unify.js +20 -6
  531. package/dist/Unify.js.map +1 -1
  532. package/dist/Utils.d.ts +5 -2
  533. package/dist/Utils.d.ts.map +1 -1
  534. package/dist/Utils.js +4 -0
  535. package/dist/Utils.js.map +1 -1
  536. package/dist/index.d.ts +1973 -418
  537. package/dist/index.d.ts.map +1 -1
  538. package/dist/index.js +1973 -418
  539. package/dist/index.js.map +1 -1
  540. package/dist/internal/schema/schema.js +1 -1
  541. package/dist/internal/schema/schema.js.map +1 -1
  542. package/dist/testing/FastCheck.d.ts +9 -6
  543. package/dist/testing/FastCheck.d.ts.map +1 -1
  544. package/dist/testing/FastCheck.js +9 -6
  545. package/dist/testing/FastCheck.js.map +1 -1
  546. package/dist/testing/TestClock.d.ts +39 -35
  547. package/dist/testing/TestClock.d.ts.map +1 -1
  548. package/dist/testing/TestClock.js +42 -12
  549. package/dist/testing/TestClock.js.map +1 -1
  550. package/dist/testing/TestConsole.d.ts +44 -36
  551. package/dist/testing/TestConsole.d.ts.map +1 -1
  552. package/dist/testing/TestConsole.js +30 -15
  553. package/dist/testing/TestConsole.js.map +1 -1
  554. package/dist/testing/TestSchema.d.ts +2 -0
  555. package/dist/testing/TestSchema.d.ts.map +1 -1
  556. package/dist/testing/TestSchema.js +9 -7
  557. package/dist/testing/TestSchema.js.map +1 -1
  558. package/dist/testing/index.d.ts +34 -0
  559. package/dist/testing/index.d.ts.map +1 -1
  560. package/dist/testing/index.js +34 -0
  561. package/dist/testing/index.js.map +1 -1
  562. package/dist/unstable/ai/AiError.d.ts +205 -147
  563. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  564. package/dist/unstable/ai/AiError.js +164 -109
  565. package/dist/unstable/ai/AiError.js.map +1 -1
  566. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  567. package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -2
  568. package/dist/unstable/ai/Chat.d.ts +64 -41
  569. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  570. package/dist/unstable/ai/Chat.js +51 -33
  571. package/dist/unstable/ai/Chat.js.map +1 -1
  572. package/dist/unstable/ai/EmbeddingModel.d.ts +12 -11
  573. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  574. package/dist/unstable/ai/EmbeddingModel.js +9 -8
  575. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  576. package/dist/unstable/ai/IdGenerator.d.ts +28 -18
  577. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  578. package/dist/unstable/ai/IdGenerator.js +18 -11
  579. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  580. package/dist/unstable/ai/LanguageModel.d.ts +31 -25
  581. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  582. package/dist/unstable/ai/LanguageModel.js +20 -14
  583. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  584. package/dist/unstable/ai/McpSchema.d.ts +342 -119
  585. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  586. package/dist/unstable/ai/McpSchema.js +266 -98
  587. package/dist/unstable/ai/McpSchema.js.map +1 -1
  588. package/dist/unstable/ai/McpServer.d.ts +56 -20
  589. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  590. package/dist/unstable/ai/McpServer.js +64 -16
  591. package/dist/unstable/ai/McpServer.js.map +1 -1
  592. package/dist/unstable/ai/Model.d.ts +10 -12
  593. package/dist/unstable/ai/Model.d.ts.map +1 -1
  594. package/dist/unstable/ai/Model.js +9 -7
  595. package/dist/unstable/ai/Model.js.map +1 -1
  596. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  597. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -2
  598. package/dist/unstable/ai/Prompt.d.ts +200 -176
  599. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  600. package/dist/unstable/ai/Prompt.js +77 -68
  601. package/dist/unstable/ai/Prompt.js.map +1 -1
  602. package/dist/unstable/ai/Response.d.ts +173 -160
  603. package/dist/unstable/ai/Response.d.ts.map +1 -1
  604. package/dist/unstable/ai/Response.js +43 -48
  605. package/dist/unstable/ai/Response.js.map +1 -1
  606. package/dist/unstable/ai/ResponseIdTracker.d.ts +43 -4
  607. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  608. package/dist/unstable/ai/ResponseIdTracker.js +27 -2
  609. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  610. package/dist/unstable/ai/Telemetry.d.ts +43 -33
  611. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  612. package/dist/unstable/ai/Telemetry.js +15 -11
  613. package/dist/unstable/ai/Telemetry.js.map +1 -1
  614. package/dist/unstable/ai/Tokenizer.d.ts +14 -9
  615. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  616. package/dist/unstable/ai/Tokenizer.js +10 -6
  617. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  618. package/dist/unstable/ai/Tool.d.ts +167 -96
  619. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  620. package/dist/unstable/ai/Tool.js +107 -53
  621. package/dist/unstable/ai/Tool.js.map +1 -1
  622. package/dist/unstable/ai/Toolkit.d.ts +32 -39
  623. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  624. package/dist/unstable/ai/Toolkit.js +7 -5
  625. package/dist/unstable/ai/Toolkit.js.map +1 -1
  626. package/dist/unstable/ai/index.d.ts +121 -29
  627. package/dist/unstable/ai/index.d.ts.map +1 -1
  628. package/dist/unstable/ai/index.js +121 -29
  629. package/dist/unstable/ai/index.js.map +1 -1
  630. package/dist/unstable/cli/Argument.d.ts +226 -134
  631. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  632. package/dist/unstable/cli/Argument.js +101 -65
  633. package/dist/unstable/cli/Argument.js.map +1 -1
  634. package/dist/unstable/cli/CliError.d.ts +72 -26
  635. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  636. package/dist/unstable/cli/CliError.js +86 -23
  637. package/dist/unstable/cli/CliError.js.map +1 -1
  638. package/dist/unstable/cli/CliOutput.d.ts +48 -19
  639. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  640. package/dist/unstable/cli/CliOutput.js +32 -9
  641. package/dist/unstable/cli/CliOutput.js.map +1 -1
  642. package/dist/unstable/cli/Command.d.ts +196 -115
  643. package/dist/unstable/cli/Command.d.ts.map +1 -1
  644. package/dist/unstable/cli/Command.js +45 -31
  645. package/dist/unstable/cli/Command.js.map +1 -1
  646. package/dist/unstable/cli/Completions.d.ts +7 -7
  647. package/dist/unstable/cli/Completions.js +1 -1
  648. package/dist/unstable/cli/Flag.d.ts +235 -142
  649. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  650. package/dist/unstable/cli/Flag.js +111 -71
  651. package/dist/unstable/cli/Flag.js.map +1 -1
  652. package/dist/unstable/cli/GlobalFlag.d.ts +41 -13
  653. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  654. package/dist/unstable/cli/GlobalFlag.js +30 -7
  655. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  656. package/dist/unstable/cli/HelpDoc.d.ts +39 -14
  657. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  658. package/dist/unstable/cli/HelpDoc.js +21 -0
  659. package/dist/unstable/cli/Param.d.ts +110 -32
  660. package/dist/unstable/cli/Param.d.ts.map +1 -1
  661. package/dist/unstable/cli/Param.js +196 -135
  662. package/dist/unstable/cli/Param.js.map +1 -1
  663. package/dist/unstable/cli/Primitive.d.ts +79 -42
  664. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  665. package/dist/unstable/cli/Primitive.js +66 -35
  666. package/dist/unstable/cli/Primitive.js.map +1 -1
  667. package/dist/unstable/cli/Prompt.d.ts +183 -59
  668. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  669. package/dist/unstable/cli/Prompt.js +105 -23
  670. package/dist/unstable/cli/Prompt.js.map +1 -1
  671. package/dist/unstable/cli/index.d.ts +182 -0
  672. package/dist/unstable/cli/index.d.ts.map +1 -1
  673. package/dist/unstable/cli/index.js +205 -6
  674. package/dist/unstable/cli/index.js.map +1 -1
  675. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  676. package/dist/unstable/cli/internal/ansi.js +13 -0
  677. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  678. package/dist/unstable/cli/internal/command.d.ts +5 -1
  679. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  680. package/dist/unstable/cli/internal/command.js +5 -1
  681. package/dist/unstable/cli/internal/command.js.map +1 -1
  682. package/dist/unstable/cli/internal/config.d.ts +3 -0
  683. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  684. package/dist/unstable/cli/internal/config.js.map +1 -1
  685. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  686. package/dist/unstable/cli/internal/parser.js +0 -1
  687. package/dist/unstable/cli/internal/parser.js.map +1 -1
  688. package/dist/unstable/cluster/ClusterCron.d.ts +35 -1
  689. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  690. package/dist/unstable/cluster/ClusterCron.js +35 -1
  691. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  692. package/dist/unstable/cluster/ClusterError.d.ts +56 -7
  693. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  694. package/dist/unstable/cluster/ClusterError.js +56 -7
  695. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  696. package/dist/unstable/cluster/ClusterMetrics.d.ts +39 -5
  697. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  698. package/dist/unstable/cluster/ClusterMetrics.js +39 -5
  699. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  700. package/dist/unstable/cluster/ClusterSchema.d.ts +61 -8
  701. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  702. package/dist/unstable/cluster/ClusterSchema.js +61 -8
  703. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  704. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +14 -2
  705. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  706. package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -2
  707. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  708. package/dist/unstable/cluster/DeliverAt.d.ts +39 -4
  709. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  710. package/dist/unstable/cluster/DeliverAt.js +11 -3
  711. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  712. package/dist/unstable/cluster/Entity.d.ts +74 -16
  713. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  714. package/dist/unstable/cluster/Entity.js +75 -10
  715. package/dist/unstable/cluster/Entity.js.map +1 -1
  716. package/dist/unstable/cluster/EntityAddress.d.ts +30 -2
  717. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  718. package/dist/unstable/cluster/EntityAddress.js +30 -2
  719. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  720. package/dist/unstable/cluster/EntityId.d.ts +18 -3
  721. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js +15 -2
  723. package/dist/unstable/cluster/EntityId.js.map +1 -1
  724. package/dist/unstable/cluster/EntityProxy.d.ts +42 -14
  725. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  726. package/dist/unstable/cluster/EntityProxy.js +30 -14
  727. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  728. package/dist/unstable/cluster/EntityProxyServer.d.ts +18 -2
  729. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  730. package/dist/unstable/cluster/EntityProxyServer.js +40 -8
  731. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  732. package/dist/unstable/cluster/EntityResource.d.ts +43 -6
  733. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  734. package/dist/unstable/cluster/EntityResource.js +11 -4
  735. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  736. package/dist/unstable/cluster/EntityType.d.ts +27 -3
  737. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  738. package/dist/unstable/cluster/EntityType.js +24 -2
  739. package/dist/unstable/cluster/EntityType.js.map +1 -1
  740. package/dist/unstable/cluster/Envelope.d.ts +105 -23
  741. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  742. package/dist/unstable/cluster/Envelope.js +88 -14
  743. package/dist/unstable/cluster/Envelope.js.map +1 -1
  744. package/dist/unstable/cluster/HttpRunner.d.ts +88 -13
  745. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  746. package/dist/unstable/cluster/HttpRunner.js +88 -13
  747. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  748. package/dist/unstable/cluster/K8sHttpClient.d.ts +49 -6
  749. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  750. package/dist/unstable/cluster/K8sHttpClient.js +31 -6
  751. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  752. package/dist/unstable/cluster/MachineId.d.ts +24 -3
  753. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  754. package/dist/unstable/cluster/MachineId.js +21 -2
  755. package/dist/unstable/cluster/MachineId.js.map +1 -1
  756. package/dist/unstable/cluster/Message.d.ts +102 -13
  757. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  758. package/dist/unstable/cluster/Message.js +86 -10
  759. package/dist/unstable/cluster/Message.js.map +1 -1
  760. package/dist/unstable/cluster/MessageStorage.d.ts +126 -21
  761. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  762. package/dist/unstable/cluster/MessageStorage.js +70 -10
  763. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  764. package/dist/unstable/cluster/Reply.d.ts +101 -12
  765. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  766. package/dist/unstable/cluster/Reply.js +64 -8
  767. package/dist/unstable/cluster/Reply.js.map +1 -1
  768. package/dist/unstable/cluster/Runner.d.ts +47 -17
  769. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  770. package/dist/unstable/cluster/Runner.js +47 -17
  771. package/dist/unstable/cluster/Runner.js.map +1 -1
  772. package/dist/unstable/cluster/RunnerAddress.d.ts +34 -2
  773. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  774. package/dist/unstable/cluster/RunnerAddress.js +34 -2
  775. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  776. package/dist/unstable/cluster/RunnerHealth.d.ts +40 -12
  777. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  778. package/dist/unstable/cluster/RunnerHealth.js +40 -12
  779. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  780. package/dist/unstable/cluster/RunnerServer.d.ts +7 -4
  781. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  782. package/dist/unstable/cluster/RunnerServer.js +31 -4
  783. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  784. package/dist/unstable/cluster/RunnerStorage.d.ts +42 -5
  785. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/RunnerStorage.js +38 -4
  787. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/Runners.d.ts +76 -13
  789. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  790. package/dist/unstable/cluster/Runners.js +73 -12
  791. package/dist/unstable/cluster/Runners.js.map +1 -1
  792. package/dist/unstable/cluster/ShardId.d.ts +53 -5
  793. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  794. package/dist/unstable/cluster/ShardId.js +49 -4
  795. package/dist/unstable/cluster/ShardId.js.map +1 -1
  796. package/dist/unstable/cluster/Sharding.d.ts +10 -2
  797. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  798. package/dist/unstable/cluster/Sharding.js +35 -4
  799. package/dist/unstable/cluster/Sharding.js.map +1 -1
  800. package/dist/unstable/cluster/ShardingConfig.d.ts +65 -9
  801. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  802. package/dist/unstable/cluster/ShardingConfig.js +66 -9
  803. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  804. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -6
  805. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  806. package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -4
  807. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  808. package/dist/unstable/cluster/SingleRunner.d.ts +23 -1
  809. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  810. package/dist/unstable/cluster/SingleRunner.js +23 -1
  811. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  812. package/dist/unstable/cluster/Singleton.d.ts +15 -1
  813. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  814. package/dist/unstable/cluster/Singleton.js +15 -1
  815. package/dist/unstable/cluster/Singleton.js.map +1 -1
  816. package/dist/unstable/cluster/SingletonAddress.d.ts +21 -1
  817. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  818. package/dist/unstable/cluster/SingletonAddress.js +21 -1
  819. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  820. package/dist/unstable/cluster/Snowflake.d.ts +90 -19
  821. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  822. package/dist/unstable/cluster/Snowflake.js +49 -13
  823. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  824. package/dist/unstable/cluster/SocketRunner.d.ts +8 -2
  825. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  826. package/dist/unstable/cluster/SocketRunner.js +29 -2
  827. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  828. package/dist/unstable/cluster/SqlMessageStorage.d.ts +11 -3
  829. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  830. package/dist/unstable/cluster/SqlMessageStorage.js +27 -3
  831. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  832. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +11 -3
  833. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  834. package/dist/unstable/cluster/SqlRunnerStorage.js +46 -7
  835. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  836. package/dist/unstable/cluster/TestRunner.d.ts +18 -1
  837. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  838. package/dist/unstable/cluster/TestRunner.js +18 -1
  839. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  840. package/dist/unstable/cluster/index.d.ts +790 -0
  841. package/dist/unstable/cluster/index.d.ts.map +1 -1
  842. package/dist/unstable/cluster/index.js +790 -0
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/hash.js +12 -0
  845. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  846. package/dist/unstable/devtools/DevTools.d.ts +26 -3
  847. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  848. package/dist/unstable/devtools/DevTools.js +26 -3
  849. package/dist/unstable/devtools/DevTools.js.map +1 -1
  850. package/dist/unstable/devtools/DevToolsClient.d.ts +20 -5
  851. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  852. package/dist/unstable/devtools/DevToolsClient.js +32 -5
  853. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  854. package/dist/unstable/devtools/DevToolsSchema.d.ts +184 -44
  855. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  856. package/dist/unstable/devtools/DevToolsSchema.js +102 -20
  857. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  858. package/dist/unstable/devtools/DevToolsServer.d.ts +27 -2
  859. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  860. package/dist/unstable/devtools/DevToolsServer.js +21 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.d.ts +58 -0
  863. package/dist/unstable/devtools/index.d.ts.map +1 -1
  864. package/dist/unstable/devtools/index.js +58 -0
  865. package/dist/unstable/devtools/index.js.map +1 -1
  866. package/dist/unstable/encoding/Msgpack.d.ts +81 -12
  867. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  868. package/dist/unstable/encoding/Msgpack.js +75 -9
  869. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  870. package/dist/unstable/encoding/Ndjson.d.ts +149 -21
  871. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  872. package/dist/unstable/encoding/Ndjson.js +97 -13
  873. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  874. package/dist/unstable/encoding/Sse.d.ts +109 -18
  875. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  876. package/dist/unstable/encoding/Sse.js +69 -13
  877. package/dist/unstable/encoding/Sse.js.map +1 -1
  878. package/dist/unstable/encoding/index.d.ts +49 -0
  879. package/dist/unstable/encoding/index.d.ts.map +1 -1
  880. package/dist/unstable/encoding/index.js +49 -0
  881. package/dist/unstable/encoding/index.js.map +1 -1
  882. package/dist/unstable/eventlog/Event.d.ts +115 -30
  883. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  884. package/dist/unstable/eventlog/Event.js +22 -2
  885. package/dist/unstable/eventlog/Event.js.map +1 -1
  886. package/dist/unstable/eventlog/EventGroup.d.ts +50 -17
  887. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventGroup.js +24 -6
  889. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  890. package/dist/unstable/eventlog/EventJournal.d.ts +104 -20
  891. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  892. package/dist/unstable/eventlog/EventJournal.js +108 -16
  893. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  894. package/dist/unstable/eventlog/EventLog.d.ts +150 -31
  895. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  896. package/dist/unstable/eventlog/EventLog.js +111 -20
  897. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  898. package/dist/unstable/eventlog/EventLogEncryption.d.ts +42 -6
  899. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  900. package/dist/unstable/eventlog/EventLogEncryption.js +38 -5
  901. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  902. package/dist/unstable/eventlog/EventLogMessage.d.ts +92 -18
  903. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  904. package/dist/unstable/eventlog/EventLogMessage.js +72 -16
  905. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  906. package/dist/unstable/eventlog/EventLogRemote.d.ts +35 -8
  907. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  908. package/dist/unstable/eventlog/EventLogRemote.js +54 -8
  909. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  910. package/dist/unstable/eventlog/EventLogServer.d.ts +17 -3
  911. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  912. package/dist/unstable/eventlog/EventLogServer.js +17 -3
  913. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  914. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +32 -6
  915. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  916. package/dist/unstable/eventlog/EventLogServerEncrypted.js +52 -6
  917. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  918. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +74 -16
  919. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  920. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +90 -16
  921. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  922. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +59 -15
  923. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  924. package/dist/unstable/eventlog/EventLogSessionAuth.js +73 -14
  925. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  926. package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -2
  927. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  928. package/dist/unstable/eventlog/SqlEventJournal.js +28 -2
  929. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  930. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +32 -3
  931. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  932. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +32 -3
  933. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  934. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +10 -2
  935. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  936. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +28 -2
  937. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  938. package/dist/unstable/eventlog/index.d.ts +240 -0
  939. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  940. package/dist/unstable/eventlog/index.js +240 -0
  941. package/dist/unstable/eventlog/index.js.map +1 -1
  942. package/dist/unstable/http/Cookies.d.ts +156 -77
  943. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  944. package/dist/unstable/http/Cookies.js +93 -39
  945. package/dist/unstable/http/Cookies.js.map +1 -1
  946. package/dist/unstable/http/Etag.d.ts +40 -7
  947. package/dist/unstable/http/Etag.d.ts.map +1 -1
  948. package/dist/unstable/http/Etag.js +27 -4
  949. package/dist/unstable/http/Etag.js.map +1 -1
  950. package/dist/unstable/http/FetchHttpClient.d.ts +29 -3
  951. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  952. package/dist/unstable/http/FetchHttpClient.js +33 -4
  953. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  954. package/dist/unstable/http/FindMyWay.d.ts +1 -1
  955. package/dist/unstable/http/FindMyWay.js +1 -1
  956. package/dist/unstable/http/Headers.d.ts +182 -36
  957. package/dist/unstable/http/Headers.d.ts.map +1 -1
  958. package/dist/unstable/http/Headers.js +86 -16
  959. package/dist/unstable/http/Headers.js.map +1 -1
  960. package/dist/unstable/http/HttpBody.d.ts +114 -26
  961. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpBody.js +98 -20
  963. package/dist/unstable/http/HttpBody.js.map +1 -1
  964. package/dist/unstable/http/HttpClient.d.ts +204 -96
  965. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  966. package/dist/unstable/http/HttpClient.js +85 -38
  967. package/dist/unstable/http/HttpClient.js.map +1 -1
  968. package/dist/unstable/http/HttpClientError.d.ts +68 -12
  969. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  970. package/dist/unstable/http/HttpClientError.js +71 -9
  971. package/dist/unstable/http/HttpClientError.js.map +1 -1
  972. package/dist/unstable/http/HttpClientRequest.d.ts +318 -100
  973. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  974. package/dist/unstable/http/HttpClientRequest.js +151 -45
  975. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  976. package/dist/unstable/http/HttpClientResponse.d.ts +59 -16
  977. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  978. package/dist/unstable/http/HttpClientResponse.js +44 -11
  979. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  980. package/dist/unstable/http/HttpEffect.d.ts +42 -16
  981. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  982. package/dist/unstable/http/HttpEffect.js +33 -13
  983. package/dist/unstable/http/HttpEffect.js.map +1 -1
  984. package/dist/unstable/http/HttpIncomingMessage.d.ts +48 -7
  985. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  986. package/dist/unstable/http/HttpIncomingMessage.js +45 -6
  987. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  988. package/dist/unstable/http/HttpMethod.d.ts +38 -6
  989. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  990. package/dist/unstable/http/HttpMethod.js +27 -2
  991. package/dist/unstable/http/HttpMethod.js.map +1 -1
  992. package/dist/unstable/http/HttpMiddleware.d.ts +38 -11
  993. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  994. package/dist/unstable/http/HttpMiddleware.js +52 -10
  995. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  996. package/dist/unstable/http/HttpPlatform.d.ts +34 -3
  997. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  998. package/dist/unstable/http/HttpPlatform.js +34 -3
  999. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1000. package/dist/unstable/http/HttpRouter.d.ts +209 -62
  1001. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1002. package/dist/unstable/http/HttpRouter.js +136 -41
  1003. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1004. package/dist/unstable/http/HttpServer.d.ts +151 -22
  1005. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  1006. package/dist/unstable/http/HttpServer.js +76 -11
  1007. package/dist/unstable/http/HttpServer.js.map +1 -1
  1008. package/dist/unstable/http/HttpServerError.d.ts +93 -10
  1009. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  1010. package/dist/unstable/http/HttpServerError.js +85 -8
  1011. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1012. package/dist/unstable/http/HttpServerRequest.d.ts +125 -21
  1013. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1014. package/dist/unstable/http/HttpServerRequest.js +101 -20
  1015. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1016. package/dist/unstable/http/HttpServerRespondable.d.ts +32 -6
  1017. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  1018. package/dist/unstable/http/HttpServerRespondable.js +43 -5
  1019. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1020. package/dist/unstable/http/HttpServerResponse.d.ts +391 -67
  1021. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1022. package/dist/unstable/http/HttpServerResponse.js +205 -33
  1023. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1024. package/dist/unstable/http/HttpStaticServer.d.ts +24 -8
  1025. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1026. package/dist/unstable/http/HttpStaticServer.js +24 -8
  1027. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1028. package/dist/unstable/http/HttpTraceContext.d.ts +53 -6
  1029. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  1030. package/dist/unstable/http/HttpTraceContext.js +47 -5
  1031. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1032. package/dist/unstable/http/Multipart.d.ts +179 -28
  1033. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1034. package/dist/unstable/http/Multipart.js +131 -19
  1035. package/dist/unstable/http/Multipart.js.map +1 -1
  1036. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +1 -1
  1037. package/dist/unstable/http/Multipasta/HeadersParser.js +1 -1
  1038. package/dist/unstable/http/Multipasta/Node.d.ts +1 -1
  1039. package/dist/unstable/http/Multipasta/Node.js +1 -1
  1040. package/dist/unstable/http/Multipasta/Search.d.ts +1 -1
  1041. package/dist/unstable/http/Multipasta/Search.js +1 -1
  1042. package/dist/unstable/http/Multipasta/Web.d.ts +1 -1
  1043. package/dist/unstable/http/Multipasta/Web.js +1 -1
  1044. package/dist/unstable/http/Multipasta.d.ts +1 -1
  1045. package/dist/unstable/http/Multipasta.js +1 -1
  1046. package/dist/unstable/http/Template.d.ts +53 -1
  1047. package/dist/unstable/http/Template.d.ts.map +1 -1
  1048. package/dist/unstable/http/Template.js +26 -0
  1049. package/dist/unstable/http/Template.js.map +1 -1
  1050. package/dist/unstable/http/Url.d.ts +70 -56
  1051. package/dist/unstable/http/Url.d.ts.map +1 -1
  1052. package/dist/unstable/http/Url.js +35 -21
  1053. package/dist/unstable/http/Url.js.map +1 -1
  1054. package/dist/unstable/http/UrlParams.d.ts +237 -51
  1055. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1056. package/dist/unstable/http/UrlParams.js +120 -25
  1057. package/dist/unstable/http/UrlParams.js.map +1 -1
  1058. package/dist/unstable/http/index.d.ts +452 -0
  1059. package/dist/unstable/http/index.d.ts.map +1 -1
  1060. package/dist/unstable/http/index.js +452 -0
  1061. package/dist/unstable/http/index.js.map +1 -1
  1062. package/dist/unstable/httpapi/HttpApi.d.ts +49 -14
  1063. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1064. package/dist/unstable/httpapi/HttpApi.js +14 -8
  1065. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1066. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +54 -16
  1067. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1068. package/dist/unstable/httpapi/HttpApiBuilder.js +44 -6
  1069. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1070. package/dist/unstable/httpapi/HttpApiClient.d.ts +57 -15
  1071. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1072. package/dist/unstable/httpapi/HttpApiClient.js +42 -6
  1073. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1074. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +214 -59
  1075. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1076. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -9
  1077. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1078. package/dist/unstable/httpapi/HttpApiError.d.ts +81 -1
  1079. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1080. package/dist/unstable/httpapi/HttpApiError.js +98 -1
  1081. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1082. package/dist/unstable/httpapi/HttpApiGroup.d.ts +87 -20
  1083. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  1084. package/dist/unstable/httpapi/HttpApiGroup.js +5 -2
  1085. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1086. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +113 -22
  1087. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1088. package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -5
  1089. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1090. package/dist/unstable/httpapi/HttpApiScalar.d.ts +19 -4
  1091. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1092. package/dist/unstable/httpapi/HttpApiScalar.js +32 -2
  1093. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1094. package/dist/unstable/httpapi/HttpApiSchema.d.ts +86 -38
  1095. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1096. package/dist/unstable/httpapi/HttpApiSchema.js +59 -35
  1097. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1098. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +73 -17
  1099. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  1100. package/dist/unstable/httpapi/HttpApiSecurity.js +38 -5
  1101. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1102. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +4 -3
  1103. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  1104. package/dist/unstable/httpapi/HttpApiSwagger.js +23 -3
  1105. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1106. package/dist/unstable/httpapi/HttpApiTest.d.ts +6 -1
  1107. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  1108. package/dist/unstable/httpapi/HttpApiTest.js +26 -1
  1109. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1110. package/dist/unstable/httpapi/OpenApi.d.ts +86 -15
  1111. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1112. package/dist/unstable/httpapi/OpenApi.js +73 -15
  1113. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1114. package/dist/unstable/httpapi/index.d.ts +310 -25
  1115. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  1116. package/dist/unstable/httpapi/index.js +310 -25
  1117. package/dist/unstable/httpapi/index.js.map +1 -1
  1118. package/dist/unstable/observability/Otlp.d.ts +33 -3
  1119. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  1120. package/dist/unstable/observability/Otlp.js +14 -3
  1121. package/dist/unstable/observability/Otlp.js.map +1 -1
  1122. package/dist/unstable/observability/OtlpExporter.d.ts +8 -1
  1123. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1124. package/dist/unstable/observability/OtlpExporter.js +32 -1
  1125. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1126. package/dist/unstable/observability/OtlpLogger.d.ts +15 -2
  1127. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1128. package/dist/unstable/observability/OtlpLogger.js +29 -2
  1129. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1130. package/dist/unstable/observability/OtlpMetrics.d.ts +17 -5
  1131. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1132. package/dist/unstable/observability/OtlpMetrics.js +32 -2
  1133. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1134. package/dist/unstable/observability/OtlpResource.d.ts +49 -12
  1135. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1136. package/dist/unstable/observability/OtlpResource.js +47 -5
  1137. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1138. package/dist/unstable/observability/OtlpSerialization.d.ts +28 -3
  1139. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  1140. package/dist/unstable/observability/OtlpSerialization.js +28 -3
  1141. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1142. package/dist/unstable/observability/OtlpTracer.d.ts +19 -2
  1143. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1144. package/dist/unstable/observability/OtlpTracer.js +32 -2
  1145. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1146. package/dist/unstable/observability/PrometheusMetrics.d.ts +36 -16
  1147. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1148. package/dist/unstable/observability/PrometheusMetrics.js +9 -7
  1149. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1150. package/dist/unstable/observability/index.d.ts +160 -3
  1151. package/dist/unstable/observability/index.d.ts.map +1 -1
  1152. package/dist/unstable/observability/index.js +160 -3
  1153. package/dist/unstable/observability/index.js.map +1 -1
  1154. package/dist/unstable/persistence/KeyValueStore.d.ts +93 -18
  1155. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1156. package/dist/unstable/persistence/KeyValueStore.js +81 -21
  1157. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1158. package/dist/unstable/persistence/Persistable.d.ts +76 -15
  1159. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1160. package/dist/unstable/persistence/Persistable.js +22 -5
  1161. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1162. package/dist/unstable/persistence/PersistedCache.d.ts +27 -2
  1163. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  1164. package/dist/unstable/persistence/PersistedCache.js +24 -1
  1165. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1166. package/dist/unstable/persistence/PersistedQueue.d.ts +73 -16
  1167. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1168. package/dist/unstable/persistence/PersistedQueue.js +60 -13
  1169. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1170. package/dist/unstable/persistence/Persistence.d.ts +98 -16
  1171. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1172. package/dist/unstable/persistence/Persistence.js +91 -14
  1173. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1174. package/dist/unstable/persistence/RateLimiter.d.ts +101 -21
  1175. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1176. package/dist/unstable/persistence/RateLimiter.js +85 -16
  1177. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1178. package/dist/unstable/persistence/Redis.d.ts +26 -5
  1179. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1180. package/dist/unstable/persistence/Redis.js +36 -4
  1181. package/dist/unstable/persistence/Redis.js.map +1 -1
  1182. package/dist/unstable/persistence/index.d.ts +147 -0
  1183. package/dist/unstable/persistence/index.d.ts.map +1 -1
  1184. package/dist/unstable/persistence/index.js +147 -0
  1185. package/dist/unstable/persistence/index.js.map +1 -1
  1186. package/dist/unstable/process/ChildProcess.d.ts +87 -64
  1187. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1188. package/dist/unstable/process/ChildProcess.js +25 -18
  1189. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1190. package/dist/unstable/process/ChildProcessSpawner.d.ts +23 -12
  1191. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1192. package/dist/unstable/process/ChildProcessSpawner.js +11 -6
  1193. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1194. package/dist/unstable/process/index.d.ts +2 -1
  1195. package/dist/unstable/process/index.d.ts.map +1 -1
  1196. package/dist/unstable/process/index.js +2 -1
  1197. package/dist/unstable/process/index.js.map +1 -1
  1198. package/dist/unstable/reactivity/AsyncResult.d.ts +198 -59
  1199. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1200. package/dist/unstable/reactivity/AsyncResult.js +121 -36
  1201. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1202. package/dist/unstable/reactivity/Atom.d.ts +544 -130
  1203. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1204. package/dist/unstable/reactivity/Atom.js +252 -58
  1205. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1206. package/dist/unstable/reactivity/AtomHttpApi.d.ts +41 -2
  1207. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1208. package/dist/unstable/reactivity/AtomHttpApi.js +35 -1
  1209. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1210. package/dist/unstable/reactivity/AtomRef.d.ts +51 -7
  1211. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1212. package/dist/unstable/reactivity/AtomRef.js +29 -3
  1213. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1214. package/dist/unstable/reactivity/AtomRegistry.d.ts +135 -21
  1215. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1216. package/dist/unstable/reactivity/AtomRegistry.js +69 -10
  1217. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1218. package/dist/unstable/reactivity/AtomRpc.d.ts +36 -2
  1219. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1220. package/dist/unstable/reactivity/AtomRpc.js +29 -1
  1221. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1222. package/dist/unstable/reactivity/Hydration.d.ts +28 -5
  1223. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1224. package/dist/unstable/reactivity/Hydration.js +35 -3
  1225. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1226. package/dist/unstable/reactivity/Reactivity.d.ts +94 -13
  1227. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1228. package/dist/unstable/reactivity/Reactivity.js +60 -7
  1229. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1230. package/dist/unstable/reactivity/index.d.ts +167 -0
  1231. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1232. package/dist/unstable/reactivity/index.js +167 -0
  1233. package/dist/unstable/reactivity/index.js.map +1 -1
  1234. package/dist/unstable/rpc/Rpc.d.ts +254 -56
  1235. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1236. package/dist/unstable/rpc/Rpc.js +44 -11
  1237. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1238. package/dist/unstable/rpc/RpcClient.d.ts +80 -19
  1239. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1240. package/dist/unstable/rpc/RpcClient.js +52 -12
  1241. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1242. package/dist/unstable/rpc/RpcClientError.d.ts +26 -2
  1243. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1244. package/dist/unstable/rpc/RpcClientError.js +26 -2
  1245. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1246. package/dist/unstable/rpc/RpcGroup.d.ts +51 -8
  1247. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1248. package/dist/unstable/rpc/RpcGroup.js +3 -1
  1249. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1250. package/dist/unstable/rpc/RpcMessage.d.ts +128 -32
  1251. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1252. package/dist/unstable/rpc/RpcMessage.js +23 -7
  1253. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1254. package/dist/unstable/rpc/RpcMiddleware.d.ts +100 -20
  1255. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1256. package/dist/unstable/rpc/RpcMiddleware.js +39 -3
  1257. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1258. package/dist/unstable/rpc/RpcSchema.d.ts +38 -4
  1259. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1260. package/dist/unstable/rpc/RpcSchema.js +34 -3
  1261. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1262. package/dist/unstable/rpc/RpcSerialization.d.ts +60 -13
  1263. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1264. package/dist/unstable/rpc/RpcSerialization.js +56 -12
  1265. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1266. package/dist/unstable/rpc/RpcServer.d.ts +73 -23
  1267. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1268. package/dist/unstable/rpc/RpcServer.js +69 -22
  1269. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1270. package/dist/unstable/rpc/RpcTest.d.ts +20 -1
  1271. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1272. package/dist/unstable/rpc/RpcTest.js +20 -1
  1273. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1274. package/dist/unstable/rpc/RpcWorker.d.ts +39 -6
  1275. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1276. package/dist/unstable/rpc/RpcWorker.js +16 -4
  1277. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1278. package/dist/unstable/rpc/Utils.d.ts +10 -0
  1279. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1280. package/dist/unstable/rpc/Utils.js +10 -0
  1281. package/dist/unstable/rpc/Utils.js.map +1 -1
  1282. package/dist/unstable/rpc/index.d.ts +272 -0
  1283. package/dist/unstable/rpc/index.d.ts.map +1 -1
  1284. package/dist/unstable/rpc/index.js +272 -0
  1285. package/dist/unstable/rpc/index.js.map +1 -1
  1286. package/dist/unstable/schema/Model.d.ts +192 -59
  1287. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1288. package/dist/unstable/schema/Model.js +122 -38
  1289. package/dist/unstable/schema/Model.js.map +1 -1
  1290. package/dist/unstable/schema/VariantSchema.d.ts +101 -24
  1291. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1292. package/dist/unstable/schema/VariantSchema.js +22 -6
  1293. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1294. package/dist/unstable/schema/index.d.ts +37 -0
  1295. package/dist/unstable/schema/index.d.ts.map +1 -1
  1296. package/dist/unstable/schema/index.js +37 -0
  1297. package/dist/unstable/schema/index.js.map +1 -1
  1298. package/dist/unstable/socket/Socket.d.ts +168 -34
  1299. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1300. package/dist/unstable/socket/Socket.js +124 -28
  1301. package/dist/unstable/socket/Socket.js.map +1 -1
  1302. package/dist/unstable/socket/SocketServer.d.ts +58 -10
  1303. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1304. package/dist/unstable/socket/SocketServer.js +43 -5
  1305. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1306. package/dist/unstable/socket/index.d.ts +44 -0
  1307. package/dist/unstable/socket/index.d.ts.map +1 -1
  1308. package/dist/unstable/socket/index.js +44 -0
  1309. package/dist/unstable/socket/index.js.map +1 -1
  1310. package/dist/unstable/sql/Migrator.d.ts +40 -9
  1311. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1312. package/dist/unstable/sql/Migrator.js +45 -5
  1313. package/dist/unstable/sql/Migrator.js.map +1 -1
  1314. package/dist/unstable/sql/SqlClient.d.ts +38 -2
  1315. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1316. package/dist/unstable/sql/SqlClient.js +40 -1
  1317. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1318. package/dist/unstable/sql/SqlConnection.d.ts +34 -3
  1319. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1320. package/dist/unstable/sql/SqlConnection.js +22 -0
  1321. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1322. package/dist/unstable/sql/SqlError.d.ts +117 -0
  1323. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1324. package/dist/unstable/sql/SqlError.js +131 -0
  1325. package/dist/unstable/sql/SqlError.js.map +1 -1
  1326. package/dist/unstable/sql/SqlModel.d.ts +25 -5
  1327. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1328. package/dist/unstable/sql/SqlModel.js +8 -4
  1329. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1330. package/dist/unstable/sql/SqlResolver.d.ts +56 -13
  1331. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1332. package/dist/unstable/sql/SqlResolver.js +44 -10
  1333. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1334. package/dist/unstable/sql/SqlSchema.d.ts +29 -8
  1335. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1336. package/dist/unstable/sql/SqlSchema.js +29 -8
  1337. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1338. package/dist/unstable/sql/SqlStream.d.ts +4 -0
  1339. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  1340. package/dist/unstable/sql/SqlStream.js +24 -0
  1341. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1342. package/dist/unstable/sql/Statement.d.ts +151 -24
  1343. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1344. package/dist/unstable/sql/Statement.js +91 -6
  1345. package/dist/unstable/sql/Statement.js.map +1 -1
  1346. package/dist/unstable/sql/index.d.ts +179 -1
  1347. package/dist/unstable/sql/index.d.ts.map +1 -1
  1348. package/dist/unstable/sql/index.js +179 -1
  1349. package/dist/unstable/sql/index.js.map +1 -1
  1350. package/dist/unstable/workers/Transferable.d.ts +72 -20
  1351. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1352. package/dist/unstable/workers/Transferable.js +57 -14
  1353. package/dist/unstable/workers/Transferable.js.map +1 -1
  1354. package/dist/unstable/workers/Worker.d.ts +61 -8
  1355. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1356. package/dist/unstable/workers/Worker.js +44 -4
  1357. package/dist/unstable/workers/Worker.js.map +1 -1
  1358. package/dist/unstable/workers/WorkerError.d.ts +31 -9
  1359. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1360. package/dist/unstable/workers/WorkerError.js +44 -7
  1361. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1362. package/dist/unstable/workers/WorkerRunner.d.ts +32 -3
  1363. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1364. package/dist/unstable/workers/WorkerRunner.js +24 -1
  1365. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1366. package/dist/unstable/workers/index.d.ts +81 -1
  1367. package/dist/unstable/workers/index.d.ts.map +1 -1
  1368. package/dist/unstable/workers/index.js +81 -1
  1369. package/dist/unstable/workers/index.js.map +1 -1
  1370. package/dist/unstable/workflow/Activity.d.ts +61 -10
  1371. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1372. package/dist/unstable/workflow/Activity.js +20 -5
  1373. package/dist/unstable/workflow/Activity.js.map +1 -1
  1374. package/dist/unstable/workflow/DurableClock.d.ts +12 -3
  1375. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1376. package/dist/unstable/workflow/DurableClock.js +22 -2
  1377. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1378. package/dist/unstable/workflow/DurableDeferred.d.ts +128 -31
  1379. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1380. package/dist/unstable/workflow/DurableDeferred.js +77 -13
  1381. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1382. package/dist/unstable/workflow/DurableQueue.d.ts +33 -8
  1383. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1384. package/dist/unstable/workflow/DurableQueue.js +26 -6
  1385. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1386. package/dist/unstable/workflow/Workflow.d.ts +102 -31
  1387. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1388. package/dist/unstable/workflow/Workflow.js +75 -19
  1389. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1390. package/dist/unstable/workflow/WorkflowEngine.d.ts +40 -5
  1391. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1392. package/dist/unstable/workflow/WorkflowEngine.js +16 -4
  1393. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1394. package/dist/unstable/workflow/WorkflowProxy.d.ts +40 -12
  1395. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1396. package/dist/unstable/workflow/WorkflowProxy.js +8 -12
  1397. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1398. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +37 -2
  1399. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1400. package/dist/unstable/workflow/WorkflowProxyServer.js +12 -6
  1401. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1402. package/dist/unstable/workflow/index.d.ts +160 -0
  1403. package/dist/unstable/workflow/index.d.ts.map +1 -1
  1404. package/dist/unstable/workflow/index.js +160 -0
  1405. package/dist/unstable/workflow/index.js.map +1 -1
  1406. package/package.json +11 -11
  1407. package/src/Array.ts +151 -106
  1408. package/src/BigDecimal.ts +620 -553
  1409. package/src/BigInt.ts +342 -274
  1410. package/src/Boolean.ts +189 -156
  1411. package/src/Brand.ts +30 -5
  1412. package/src/Cache.ts +334 -167
  1413. package/src/Cause.ts +84 -73
  1414. package/src/Channel.ts +1639 -667
  1415. package/src/ChannelSchema.ts +137 -12
  1416. package/src/Chunk.ts +575 -429
  1417. package/src/Clock.ts +16 -9
  1418. package/src/Combiner.ts +11 -5
  1419. package/src/Config.ts +80 -68
  1420. package/src/ConfigProvider.ts +33 -32
  1421. package/src/Console.ts +88 -58
  1422. package/src/Context.ts +401 -190
  1423. package/src/Cron.ts +109 -48
  1424. package/src/Crypto.ts +327 -0
  1425. package/src/Data.ts +9 -3
  1426. package/src/DateTime.ts +893 -464
  1427. package/src/Deferred.ts +367 -175
  1428. package/src/Differ.ts +44 -2
  1429. package/src/Duration.ts +333 -186
  1430. package/src/Effect.ts +2201 -2289
  1431. package/src/Effectable.ts +38 -3
  1432. package/src/Encoding.ts +78 -28
  1433. package/src/Equal.ts +4 -3
  1434. package/src/Equivalence.ts +18 -24
  1435. package/src/ErrorReporter.ts +66 -82
  1436. package/src/ExecutionPlan.ts +106 -12
  1437. package/src/Exit.ts +6 -5
  1438. package/src/Fiber.ts +71 -40
  1439. package/src/FiberHandle.ts +157 -57
  1440. package/src/FiberMap.ts +328 -163
  1441. package/src/FiberSet.ts +130 -52
  1442. package/src/FileSystem.ts +104 -74
  1443. package/src/Filter.ts +166 -88
  1444. package/src/Formatter.ts +4 -70
  1445. package/src/Function.ts +218 -151
  1446. package/src/Graph.ts +714 -415
  1447. package/src/HKT.ts +29 -13
  1448. package/src/Hash.ts +35 -24
  1449. package/src/HashMap.ts +540 -388
  1450. package/src/HashRing.ts +111 -34
  1451. package/src/HashSet.ts +239 -153
  1452. package/src/Inspectable.ts +30 -17
  1453. package/src/Iterable.ts +336 -222
  1454. package/src/JsonPatch.ts +13 -10
  1455. package/src/JsonPointer.ts +13 -11
  1456. package/src/JsonSchema.ts +16 -0
  1457. package/src/Latch.ts +97 -26
  1458. package/src/Layer.ts +547 -445
  1459. package/src/LayerMap.ts +99 -26
  1460. package/src/LogLevel.ts +92 -131
  1461. package/src/Logger.ts +365 -297
  1462. package/src/ManagedRuntime.ts +78 -19
  1463. package/src/Match.ts +135 -161
  1464. package/src/Metric.ts +362 -313
  1465. package/src/MutableHashMap.ts +202 -127
  1466. package/src/MutableHashSet.ts +120 -52
  1467. package/src/MutableList.ts +157 -100
  1468. package/src/MutableRef.ts +129 -90
  1469. package/src/Newtype.ts +15 -2
  1470. package/src/NonEmptyIterable.ts +38 -48
  1471. package/src/Number.ts +261 -205
  1472. package/src/Optic.ts +6 -7
  1473. package/src/Option.ts +133 -156
  1474. package/src/Order.ts +6 -6
  1475. package/src/Ordering.ts +56 -45
  1476. package/src/PartitionedSemaphore.ts +225 -40
  1477. package/src/Path.ts +77 -13
  1478. package/src/Pipeable.ts +82 -24
  1479. package/src/PlatformError.ts +74 -6
  1480. package/src/Pool.ts +94 -31
  1481. package/src/Predicate.ts +17 -24
  1482. package/src/PrimaryKey.ts +11 -3
  1483. package/src/PubSub.ts +385 -309
  1484. package/src/Pull.ts +94 -25
  1485. package/src/Queue.ts +303 -184
  1486. package/src/Random.ts +69 -93
  1487. package/src/RcMap.ts +151 -141
  1488. package/src/RcRef.ts +68 -32
  1489. package/src/Record.ts +282 -137
  1490. package/src/Redactable.ts +7 -5
  1491. package/src/Redacted.ts +63 -34
  1492. package/src/Reducer.ts +3 -1
  1493. package/src/Ref.ts +173 -134
  1494. package/src/References.ts +73 -31
  1495. package/src/RegExp.ts +12 -6
  1496. package/src/Request.ts +159 -34
  1497. package/src/RequestResolver.ts +278 -121
  1498. package/src/Resource.ts +45 -7
  1499. package/src/Result.ts +137 -153
  1500. package/src/Runtime.ts +42 -21
  1501. package/src/Schedule.ts +585 -613
  1502. package/src/Scheduler.ts +44 -7
  1503. package/src/Schema.ts +1309 -615
  1504. package/src/SchemaAST.ts +123 -93
  1505. package/src/SchemaGetter.ts +52 -37
  1506. package/src/SchemaIssue.ts +19 -24
  1507. package/src/SchemaParser.ts +306 -85
  1508. package/src/SchemaRepresentation.ts +89 -77
  1509. package/src/SchemaTransformation.ts +97 -46
  1510. package/src/SchemaUtils.ts +24 -1
  1511. package/src/Scope.ts +107 -65
  1512. package/src/ScopedCache.ts +195 -59
  1513. package/src/ScopedRef.ts +28 -8
  1514. package/src/Semaphore.ts +61 -37
  1515. package/src/Sink.ts +461 -206
  1516. package/src/Stdio.ts +43 -6
  1517. package/src/Stream.ts +2361 -1613
  1518. package/src/String.ts +174 -97
  1519. package/src/Struct.ts +20 -18
  1520. package/src/SubscriptionRef.ts +309 -204
  1521. package/src/Symbol.ts +13 -5
  1522. package/src/SynchronizedRef.ts +278 -62
  1523. package/src/Take.ts +26 -2
  1524. package/src/Terminal.ts +40 -7
  1525. package/src/Tracer.ts +233 -59
  1526. package/src/Trie.ts +280 -245
  1527. package/src/Tuple.ts +34 -32
  1528. package/src/TxChunk.ts +200 -155
  1529. package/src/TxDeferred.ts +43 -29
  1530. package/src/TxHashMap.ts +370 -231
  1531. package/src/TxHashSet.ts +253 -159
  1532. package/src/TxPriorityQueue.ts +97 -65
  1533. package/src/TxPubSub.ts +77 -49
  1534. package/src/TxQueue.ts +277 -242
  1535. package/src/TxReentrantLock.ts +70 -47
  1536. package/src/TxRef.ts +69 -40
  1537. package/src/TxSemaphore.ts +101 -115
  1538. package/src/TxSubscriptionRef.ts +74 -50
  1539. package/src/Types.ts +31 -34
  1540. package/src/UndefinedOr.ts +62 -25
  1541. package/src/Unify.ts +72 -117
  1542. package/src/Utils.ts +5 -2
  1543. package/src/index.ts +1976 -420
  1544. package/src/internal/schema/schema.ts +1 -1
  1545. package/src/testing/FastCheck.ts +9 -6
  1546. package/src/testing/TestClock.ts +63 -35
  1547. package/src/testing/TestConsole.ts +54 -36
  1548. package/src/testing/TestSchema.ts +10 -8
  1549. package/src/testing/index.ts +34 -0
  1550. package/src/unstable/ai/AiError.ts +195 -137
  1551. package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
  1552. package/src/unstable/ai/Chat.ts +68 -43
  1553. package/src/unstable/ai/EmbeddingModel.ts +12 -11
  1554. package/src/unstable/ai/IdGenerator.ts +28 -18
  1555. package/src/unstable/ai/LanguageModel.ts +35 -27
  1556. package/src/unstable/ai/McpSchema.ts +342 -119
  1557. package/src/unstable/ai/McpServer.ts +79 -20
  1558. package/src/unstable/ai/Model.ts +10 -12
  1559. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  1560. package/src/unstable/ai/Prompt.ts +216 -192
  1561. package/src/unstable/ai/Response.ts +179 -167
  1562. package/src/unstable/ai/ResponseIdTracker.ts +43 -4
  1563. package/src/unstable/ai/Telemetry.ts +43 -33
  1564. package/src/unstable/ai/Tokenizer.ts +14 -9
  1565. package/src/unstable/ai/Tool.ts +168 -97
  1566. package/src/unstable/ai/Toolkit.ts +51 -46
  1567. package/src/unstable/ai/index.ts +121 -29
  1568. package/src/unstable/cli/Argument.ts +226 -134
  1569. package/src/unstable/cli/CliError.ts +96 -26
  1570. package/src/unstable/cli/CliOutput.ts +48 -19
  1571. package/src/unstable/cli/Command.ts +196 -115
  1572. package/src/unstable/cli/Completions.ts +7 -7
  1573. package/src/unstable/cli/Flag.ts +235 -142
  1574. package/src/unstable/cli/GlobalFlag.ts +41 -13
  1575. package/src/unstable/cli/HelpDoc.ts +39 -14
  1576. package/src/unstable/cli/Param.ts +395 -260
  1577. package/src/unstable/cli/Primitive.ts +79 -42
  1578. package/src/unstable/cli/Prompt.ts +207 -59
  1579. package/src/unstable/cli/index.ts +205 -6
  1580. package/src/unstable/cli/internal/ansi.ts +13 -0
  1581. package/src/unstable/cli/internal/command.ts +5 -1
  1582. package/src/unstable/cli/internal/config.ts +3 -0
  1583. package/src/unstable/cli/internal/lexer.ts +11 -0
  1584. package/src/unstable/cli/internal/parser.ts +0 -1
  1585. package/src/unstable/cluster/ClusterCron.ts +35 -1
  1586. package/src/unstable/cluster/ClusterError.ts +56 -7
  1587. package/src/unstable/cluster/ClusterMetrics.ts +39 -5
  1588. package/src/unstable/cluster/ClusterSchema.ts +61 -8
  1589. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -2
  1590. package/src/unstable/cluster/DeliverAt.ts +39 -4
  1591. package/src/unstable/cluster/Entity.ts +106 -16
  1592. package/src/unstable/cluster/EntityAddress.ts +30 -2
  1593. package/src/unstable/cluster/EntityId.ts +18 -3
  1594. package/src/unstable/cluster/EntityProxy.ts +42 -14
  1595. package/src/unstable/cluster/EntityProxyServer.ts +45 -8
  1596. package/src/unstable/cluster/EntityResource.ts +43 -6
  1597. package/src/unstable/cluster/EntityType.ts +27 -3
  1598. package/src/unstable/cluster/Envelope.ts +128 -23
  1599. package/src/unstable/cluster/HttpRunner.ts +88 -13
  1600. package/src/unstable/cluster/K8sHttpClient.ts +49 -6
  1601. package/src/unstable/cluster/MachineId.ts +24 -3
  1602. package/src/unstable/cluster/Message.ts +102 -13
  1603. package/src/unstable/cluster/MessageStorage.ts +126 -21
  1604. package/src/unstable/cluster/Reply.ts +101 -12
  1605. package/src/unstable/cluster/Runner.ts +47 -17
  1606. package/src/unstable/cluster/RunnerAddress.ts +34 -2
  1607. package/src/unstable/cluster/RunnerHealth.ts +40 -12
  1608. package/src/unstable/cluster/RunnerServer.ts +31 -4
  1609. package/src/unstable/cluster/RunnerStorage.ts +42 -5
  1610. package/src/unstable/cluster/Runners.ts +76 -13
  1611. package/src/unstable/cluster/ShardId.ts +53 -5
  1612. package/src/unstable/cluster/Sharding.ts +35 -4
  1613. package/src/unstable/cluster/ShardingConfig.ts +75 -10
  1614. package/src/unstable/cluster/ShardingRegistrationEvent.ts +31 -7
  1615. package/src/unstable/cluster/SingleRunner.ts +23 -1
  1616. package/src/unstable/cluster/Singleton.ts +15 -1
  1617. package/src/unstable/cluster/SingletonAddress.ts +21 -1
  1618. package/src/unstable/cluster/Snowflake.ts +90 -19
  1619. package/src/unstable/cluster/SocketRunner.ts +29 -2
  1620. package/src/unstable/cluster/SqlMessageStorage.ts +27 -3
  1621. package/src/unstable/cluster/SqlRunnerStorage.ts +46 -7
  1622. package/src/unstable/cluster/TestRunner.ts +18 -1
  1623. package/src/unstable/cluster/index.ts +790 -0
  1624. package/src/unstable/cluster/internal/hash.ts +12 -0
  1625. package/src/unstable/devtools/DevTools.ts +26 -3
  1626. package/src/unstable/devtools/DevToolsClient.ts +32 -5
  1627. package/src/unstable/devtools/DevToolsSchema.ts +201 -44
  1628. package/src/unstable/devtools/DevToolsServer.ts +27 -2
  1629. package/src/unstable/devtools/index.ts +58 -0
  1630. package/src/unstable/encoding/Msgpack.ts +97 -12
  1631. package/src/unstable/encoding/Ndjson.ts +149 -21
  1632. package/src/unstable/encoding/Sse.ts +109 -18
  1633. package/src/unstable/encoding/index.ts +49 -0
  1634. package/src/unstable/eventlog/Event.ts +131 -30
  1635. package/src/unstable/eventlog/EventGroup.ts +50 -17
  1636. package/src/unstable/eventlog/EventJournal.ts +120 -20
  1637. package/src/unstable/eventlog/EventLog.ts +150 -31
  1638. package/src/unstable/eventlog/EventLogEncryption.ts +42 -6
  1639. package/src/unstable/eventlog/EventLogMessage.ts +92 -18
  1640. package/src/unstable/eventlog/EventLogRemote.ts +54 -8
  1641. package/src/unstable/eventlog/EventLogServer.ts +33 -3
  1642. package/src/unstable/eventlog/EventLogServerEncrypted.ts +52 -6
  1643. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +90 -16
  1644. package/src/unstable/eventlog/EventLogSessionAuth.ts +77 -15
  1645. package/src/unstable/eventlog/SqlEventJournal.ts +28 -2
  1646. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +32 -3
  1647. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +28 -2
  1648. package/src/unstable/eventlog/index.ts +240 -0
  1649. package/src/unstable/http/Cookies.ts +156 -77
  1650. package/src/unstable/http/Etag.ts +40 -7
  1651. package/src/unstable/http/FetchHttpClient.ts +33 -4
  1652. package/src/unstable/http/FindMyWay.ts +1 -1
  1653. package/src/unstable/http/Headers.ts +252 -50
  1654. package/src/unstable/http/HttpBody.ts +128 -26
  1655. package/src/unstable/http/HttpClient.ts +204 -96
  1656. package/src/unstable/http/HttpClientError.ts +80 -12
  1657. package/src/unstable/http/HttpClientRequest.ts +318 -100
  1658. package/src/unstable/http/HttpClientResponse.ts +59 -16
  1659. package/src/unstable/http/HttpEffect.ts +66 -18
  1660. package/src/unstable/http/HttpIncomingMessage.ts +48 -7
  1661. package/src/unstable/http/HttpMethod.ts +38 -6
  1662. package/src/unstable/http/HttpMiddleware.ts +60 -11
  1663. package/src/unstable/http/HttpPlatform.ts +34 -3
  1664. package/src/unstable/http/HttpRouter.ts +232 -69
  1665. package/src/unstable/http/HttpServer.ts +151 -22
  1666. package/src/unstable/http/HttpServerError.ts +93 -10
  1667. package/src/unstable/http/HttpServerRequest.ts +125 -21
  1668. package/src/unstable/http/HttpServerRespondable.ts +49 -6
  1669. package/src/unstable/http/HttpServerResponse.ts +391 -67
  1670. package/src/unstable/http/HttpStaticServer.ts +24 -8
  1671. package/src/unstable/http/HttpTraceContext.ts +53 -6
  1672. package/src/unstable/http/Multipart.ts +179 -28
  1673. package/src/unstable/http/Multipasta/HeadersParser.ts +1 -1
  1674. package/src/unstable/http/Multipasta/Node.ts +1 -1
  1675. package/src/unstable/http/Multipasta/Search.ts +1 -1
  1676. package/src/unstable/http/Multipasta/Web.ts +1 -1
  1677. package/src/unstable/http/Multipasta.ts +1 -1
  1678. package/src/unstable/http/Template.ts +53 -1
  1679. package/src/unstable/http/Url.ts +70 -56
  1680. package/src/unstable/http/UrlParams.ts +237 -51
  1681. package/src/unstable/http/index.ts +452 -0
  1682. package/src/unstable/httpapi/HttpApi.ts +49 -14
  1683. package/src/unstable/httpapi/HttpApiBuilder.ts +81 -16
  1684. package/src/unstable/httpapi/HttpApiClient.ts +78 -15
  1685. package/src/unstable/httpapi/HttpApiEndpoint.ts +238 -59
  1686. package/src/unstable/httpapi/HttpApiError.ts +100 -1
  1687. package/src/unstable/httpapi/HttpApiGroup.ts +87 -20
  1688. package/src/unstable/httpapi/HttpApiMiddleware.ts +113 -22
  1689. package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
  1690. package/src/unstable/httpapi/HttpApiSchema.ts +86 -38
  1691. package/src/unstable/httpapi/HttpApiSecurity.ts +73 -17
  1692. package/src/unstable/httpapi/HttpApiSwagger.ts +23 -3
  1693. package/src/unstable/httpapi/HttpApiTest.ts +26 -1
  1694. package/src/unstable/httpapi/OpenApi.ts +115 -15
  1695. package/src/unstable/httpapi/index.ts +310 -25
  1696. package/src/unstable/observability/Otlp.ts +33 -3
  1697. package/src/unstable/observability/OtlpExporter.ts +32 -1
  1698. package/src/unstable/observability/OtlpLogger.ts +32 -2
  1699. package/src/unstable/observability/OtlpMetrics.ts +39 -5
  1700. package/src/unstable/observability/OtlpResource.ts +68 -12
  1701. package/src/unstable/observability/OtlpSerialization.ts +28 -3
  1702. package/src/unstable/observability/OtlpTracer.ts +41 -2
  1703. package/src/unstable/observability/PrometheusMetrics.ts +36 -16
  1704. package/src/unstable/observability/index.ts +160 -3
  1705. package/src/unstable/persistence/KeyValueStore.ts +108 -28
  1706. package/src/unstable/persistence/Persistable.ts +76 -15
  1707. package/src/unstable/persistence/PersistedCache.ts +27 -2
  1708. package/src/unstable/persistence/PersistedQueue.ts +98 -16
  1709. package/src/unstable/persistence/Persistence.ts +98 -16
  1710. package/src/unstable/persistence/RateLimiter.ts +101 -21
  1711. package/src/unstable/persistence/Redis.ts +42 -5
  1712. package/src/unstable/persistence/index.ts +147 -0
  1713. package/src/unstable/process/ChildProcess.ts +90 -66
  1714. package/src/unstable/process/ChildProcessSpawner.ts +23 -12
  1715. package/src/unstable/process/index.ts +2 -1
  1716. package/src/unstable/reactivity/AsyncResult.ts +204 -61
  1717. package/src/unstable/reactivity/Atom.ts +598 -139
  1718. package/src/unstable/reactivity/AtomHttpApi.ts +41 -2
  1719. package/src/unstable/reactivity/AtomRef.ts +51 -7
  1720. package/src/unstable/reactivity/AtomRegistry.ts +141 -22
  1721. package/src/unstable/reactivity/AtomRpc.ts +36 -2
  1722. package/src/unstable/reactivity/Hydration.ts +45 -5
  1723. package/src/unstable/reactivity/Reactivity.ts +94 -13
  1724. package/src/unstable/reactivity/index.ts +167 -0
  1725. package/src/unstable/rpc/Rpc.ts +254 -56
  1726. package/src/unstable/rpc/RpcClient.ts +106 -19
  1727. package/src/unstable/rpc/RpcClientError.ts +26 -2
  1728. package/src/unstable/rpc/RpcGroup.ts +51 -8
  1729. package/src/unstable/rpc/RpcMessage.ts +128 -32
  1730. package/src/unstable/rpc/RpcMiddleware.ts +100 -20
  1731. package/src/unstable/rpc/RpcSchema.ts +38 -4
  1732. package/src/unstable/rpc/RpcSerialization.ts +60 -13
  1733. package/src/unstable/rpc/RpcServer.ts +107 -23
  1734. package/src/unstable/rpc/RpcTest.ts +20 -1
  1735. package/src/unstable/rpc/RpcWorker.ts +39 -6
  1736. package/src/unstable/rpc/Utils.ts +33 -0
  1737. package/src/unstable/rpc/index.ts +272 -0
  1738. package/src/unstable/schema/Model.ts +245 -61
  1739. package/src/unstable/schema/VariantSchema.ts +101 -24
  1740. package/src/unstable/schema/index.ts +37 -0
  1741. package/src/unstable/socket/Socket.ts +168 -34
  1742. package/src/unstable/socket/SocketServer.ts +58 -10
  1743. package/src/unstable/socket/index.ts +44 -0
  1744. package/src/unstable/sql/Migrator.ts +61 -9
  1745. package/src/unstable/sql/SqlClient.ts +59 -2
  1746. package/src/unstable/sql/SqlConnection.ts +34 -3
  1747. package/src/unstable/sql/SqlError.ts +135 -0
  1748. package/src/unstable/sql/SqlModel.ts +25 -5
  1749. package/src/unstable/sql/SqlResolver.ts +56 -13
  1750. package/src/unstable/sql/SqlSchema.ts +29 -8
  1751. package/src/unstable/sql/SqlStream.ts +24 -0
  1752. package/src/unstable/sql/Statement.ts +168 -24
  1753. package/src/unstable/sql/index.ts +179 -1
  1754. package/src/unstable/workers/Transferable.ts +72 -20
  1755. package/src/unstable/workers/Worker.ts +61 -8
  1756. package/src/unstable/workers/WorkerError.ts +50 -9
  1757. package/src/unstable/workers/WorkerRunner.ts +32 -3
  1758. package/src/unstable/workers/index.ts +81 -1
  1759. package/src/unstable/workflow/Activity.ts +61 -10
  1760. package/src/unstable/workflow/DurableClock.ts +26 -3
  1761. package/src/unstable/workflow/DurableDeferred.ts +148 -31
  1762. package/src/unstable/workflow/DurableQueue.ts +33 -8
  1763. package/src/unstable/workflow/Workflow.ts +123 -31
  1764. package/src/unstable/workflow/WorkflowEngine.ts +40 -5
  1765. package/src/unstable/workflow/WorkflowProxy.ts +40 -12
  1766. package/src/unstable/workflow/WorkflowProxyServer.ts +41 -6
  1767. package/src/unstable/workflow/index.ts +160 -0
package/src/DateTime.ts CHANGED
@@ -1,4 +1,53 @@
1
1
  /**
2
+ * The `DateTime` module provides immutable data types and utilities for working
3
+ * with instants, UTC date-times, zoned date-times, and time zones. A
4
+ * `DateTime` is always an absolute point in time, represented internally by
5
+ * epoch milliseconds, and may also carry a `TimeZone` for zone-aware calendar
6
+ * parts and formatting.
7
+ *
8
+ * **Mental model**
9
+ *
10
+ * - `DateTime` is a discriminated union: `Utc | Zoned`
11
+ * - `Utc` stores an absolute instant without an associated time zone
12
+ * - `Zoned` stores the same kind of absolute instant plus a `TimeZone`
13
+ * - Time zones can be fixed offsets or named IANA zones such as `"Europe/Rome"`
14
+ * - Comparison and ordering use the instant, so two values in different zones
15
+ * can still be equivalent
16
+ * - Calendar parts and formatted output depend on whether you ask for UTC parts
17
+ * or zone-adjusted parts
18
+ *
19
+ * **Common tasks**
20
+ *
21
+ * - Construct values: {@link make}, {@link makeUnsafe}, {@link makeZoned}, {@link makeZonedUnsafe}
22
+ * - Get the current instant: {@link now}, {@link nowInCurrentZone}
23
+ * - Create time zones: {@link zoneMakeOffset}, {@link zoneMakeNamed}, {@link zoneFromString}
24
+ * - Attach or change zones: {@link setZone}, {@link setZoneNamed}, {@link setZoneCurrent}, {@link toUtc}
25
+ * - Convert to platform values or parts: {@link toDate}, {@link toDateUtc}, {@link toEpochMillis}, {@link toParts}, {@link toPartsUtc}
26
+ * - Compare and bound values: {@link Equivalence}, {@link Order}, {@link distance}, {@link min}, {@link max}, {@link clamp}, {@link between}
27
+ * - Transform values: {@link add}, {@link subtract}, {@link startOf}, {@link endOf}, {@link nearest}, {@link setParts}, {@link mutate}
28
+ * - Format values: {@link format}, {@link formatUtc}, {@link formatLocal}, {@link formatIntl}, {@link formatIso}, {@link formatIsoZoned}
29
+ * - Provide an application time zone: {@link CurrentTimeZone}, {@link withCurrentZone}, {@link layerCurrentZone}
30
+ *
31
+ * **Gotchas**
32
+ *
33
+ * - `make` and `makeZoned` return `Option`; unsafe constructors throw on invalid
34
+ * input
35
+ * - `DateTime` equality is instant-based, not display-time-based
36
+ * - `setZone` changes the zone used for local parts and formatting without
37
+ * changing the represented instant
38
+ * - Use `adjustForTimeZone` with {@link makeZoned} when input parts should be
39
+ * interpreted as wall-clock time in the target zone
40
+ * - Daylight-saving gaps and repeated local times are resolved with
41
+ * `Disambiguation`
42
+ * - Prefer the Clock-backed {@link now} and `CurrentTimeZone` services in
43
+ * Effect workflows; unsafe helpers read from the host environment directly
44
+ *
45
+ * **See also**
46
+ *
47
+ * - {@link DateTime} for the UTC/zoned data model
48
+ * - {@link TimeZone} for offset and named time-zone values
49
+ * - {@link Disambiguation} for daylight-saving ambiguity handling
50
+ *
2
51
  * @since 3.6.0
3
52
  */
4
53
  import type { IllegalArgumentError } from "./Cause.ts"
@@ -22,14 +71,19 @@ const TimeZoneTypeId = Internal.TimeZoneTypeId
22
71
  * A `DateTime` represents a point in time. It can optionally have a time zone
23
72
  * associated with it.
24
73
  *
25
- * @since 3.6.0
26
74
  * @category models
75
+ * @since 3.6.0
27
76
  */
28
77
  export type DateTime = Utc | Zoned
29
78
 
30
79
  /**
31
- * @since 3.6.0
80
+ * Represents a `DateTime` stored as an absolute UTC instant with no associated
81
+ * time zone.
82
+ *
83
+ * Use `DateTime.isUtc` to narrow a `DateTime` to this variant.
84
+ *
32
85
  * @category models
86
+ * @since 3.6.0
33
87
  */
34
88
  export interface Utc extends DateTime.Proto {
35
89
  readonly _tag: "Utc"
@@ -38,8 +92,14 @@ export interface Utc extends DateTime.Proto {
38
92
  }
39
93
 
40
94
  /**
41
- * @since 3.6.0
95
+ * Represents a `DateTime` with an associated `TimeZone`.
96
+ *
97
+ * A zoned value still represents an absolute instant through
98
+ * `epochMilliseconds`, while the time zone is used for wall-clock parts,
99
+ * formatting, and zone-aware transformations.
100
+ *
42
101
  * @category models
102
+ * @since 3.6.0
43
103
  */
44
104
  export interface Zoned extends DateTime.Proto {
45
105
  readonly _tag: "Zoned"
@@ -51,31 +111,54 @@ export interface Zoned extends DateTime.Proto {
51
111
  }
52
112
 
53
113
  /**
114
+ * Companion namespace containing the public helper types used by `DateTime`
115
+ * constructors, parts APIs, formatting, and date/time arithmetic.
116
+ *
54
117
  * @since 3.6.0
55
- * @category models
56
118
  */
57
119
  export declare namespace DateTime {
58
120
  /**
59
- * @since 3.6.0
121
+ * Input accepted by `DateTime.make`, `DateTime.makeUnsafe`, and the zoned
122
+ * constructors.
123
+ *
124
+ * Includes existing `DateTime` values, partial date parts, epoch-millisecond
125
+ * objects, epoch milliseconds, JavaScript `Date` instances, and parseable date
126
+ * strings.
127
+ *
60
128
  * @category models
129
+ * @since 3.6.0
61
130
  */
62
131
  export type Input = DateTime | Partial<Parts> | Instant | InstantWithZone | Date | number | string
63
132
 
64
133
  /**
65
- * @since 3.6.0
134
+ * Type-level helper used by constructors to preserve a zoned input.
135
+ *
136
+ * When the input type is `DateTime.Zoned`, the result type is
137
+ * `DateTime.Zoned`; otherwise the result type is `DateTime.Utc`.
138
+ *
66
139
  * @category models
140
+ * @since 3.6.0
67
141
  */
68
142
  export type PreserveZone<A extends DateTime.Input> = A extends Zoned ? Zoned : Utc
69
143
 
70
144
  /**
71
- * @since 3.6.0
145
+ * Date and time unit name accepted by `DateTime` rounding and arithmetic
146
+ * APIs.
147
+ *
148
+ * Includes both singular units, such as `"day"`, and plural units, such as
149
+ * `"days"`.
150
+ *
72
151
  * @category models
152
+ * @since 3.6.0
73
153
  */
74
154
  export type Unit = UnitSingular | UnitPlural
75
155
 
76
156
  /**
77
- * @since 3.6.0
157
+ * Singular date and time unit names used by rounding APIs such as
158
+ * `DateTime.startOf`, `DateTime.endOf`, and `DateTime.nearest`.
159
+ *
78
160
  * @category models
161
+ * @since 3.6.0
79
162
  */
80
163
  export type UnitSingular =
81
164
  | "millisecond"
@@ -88,8 +171,11 @@ export declare namespace DateTime {
88
171
  | "year"
89
172
 
90
173
  /**
91
- * @since 3.6.0
174
+ * Plural date and time unit names used by `DateTime.PartsForMath` for
175
+ * amount-based arithmetic.
176
+ *
92
177
  * @category models
178
+ * @since 3.6.0
93
179
  */
94
180
  export type UnitPlural =
95
181
  | "milliseconds"
@@ -102,8 +188,14 @@ export declare namespace DateTime {
102
188
  | "years"
103
189
 
104
190
  /**
105
- * @since 3.6.0
191
+ * Calendar and time components of a `DateTime`, including the weekday.
192
+ *
193
+ * `month` is one-based (`1` for January through `12` for December), and
194
+ * `weekDay` follows JavaScript `Date#getUTCDay` numbering (`0` for Sunday
195
+ * through `6` for Saturday).
196
+ *
106
197
  * @category models
198
+ * @since 3.6.0
107
199
  */
108
200
  export interface PartsWithWeekday {
109
201
  readonly millisecond: number
@@ -117,8 +209,12 @@ export declare namespace DateTime {
117
209
  }
118
210
 
119
211
  /**
120
- * @since 3.6.0
212
+ * Calendar and time components of a `DateTime`, without weekday information.
213
+ *
214
+ * `month` is one-based (`1` for January through `12` for December).
215
+ *
121
216
  * @category models
217
+ * @since 3.6.0
122
218
  */
123
219
  export interface Parts {
124
220
  readonly millisecond: number
@@ -131,8 +227,12 @@ export declare namespace DateTime {
131
227
  }
132
228
 
133
229
  /**
134
- * @since 3.6.0
230
+ * Plural amount fields accepted by `DateTime.add` and `DateTime.subtract`.
231
+ *
232
+ * Each field represents the number of units to add or subtract for that part.
233
+ *
135
234
  * @category models
235
+ * @since 3.6.0
136
236
  */
137
237
  export interface PartsForMath {
138
238
  readonly milliseconds: number
@@ -146,16 +246,24 @@ export declare namespace DateTime {
146
246
  }
147
247
 
148
248
  /**
149
- * @since 4.0.0
249
+ * Object input representing an absolute instant as milliseconds since the Unix
250
+ * epoch.
251
+ *
150
252
  * @category models
253
+ * @since 4.0.0
151
254
  */
152
255
  export interface Instant {
153
256
  readonly epochMilliseconds: number
154
257
  }
155
258
 
156
259
  /**
157
- * @since 4.0.0
260
+ * Object input representing an absolute instant plus a time zone identifier.
261
+ *
262
+ * `DateTime.makeZoned` and `DateTime.makeZonedUnsafe` use `timeZoneId` when
263
+ * no explicit `timeZone` option is supplied.
264
+ *
158
265
  * @category models
266
+ * @since 4.0.0
159
267
  */
160
268
  export interface InstantWithZone {
161
269
  readonly timeZoneId: string
@@ -163,8 +271,13 @@ export declare namespace DateTime {
163
271
  }
164
272
 
165
273
  /**
166
- * @since 3.6.0
274
+ * Shared protocol implemented by all `DateTime` values.
275
+ *
276
+ * Provides the `DateTime` type identifier along with pipe and inspection
277
+ * support.
278
+ *
167
279
  * @category models
280
+ * @since 3.6.0
168
281
  */
169
282
  export interface Proto extends Pipeable, Inspectable {
170
283
  readonly [TypeId]: typeof TypeId
@@ -172,27 +285,42 @@ export declare namespace DateTime {
172
285
  }
173
286
 
174
287
  /**
175
- * @since 3.6.0
288
+ * Represents a time zone used by `DateTime.Zoned`.
289
+ *
290
+ * A `TimeZone` is either a fixed offset from UTC or a named IANA time zone.
291
+ *
176
292
  * @category models
293
+ * @since 3.6.0
177
294
  */
178
295
  export type TimeZone = TimeZone.Offset | TimeZone.Named
179
296
 
180
297
  /**
298
+ * Companion namespace containing the public variant and protocol types for
299
+ * `TimeZone`.
300
+ *
181
301
  * @since 3.6.0
182
- * @category models
183
302
  */
184
303
  export declare namespace TimeZone {
185
304
  /**
186
- * @since 3.6.0
305
+ * Shared protocol implemented by all `TimeZone` values.
306
+ *
307
+ * Provides the `TimeZone` type identifier and inspection support.
308
+ *
187
309
  * @category models
310
+ * @since 3.6.0
188
311
  */
189
312
  export interface Proto extends Inspectable {
190
313
  readonly [TimeZoneTypeId]: typeof TimeZoneTypeId
191
314
  }
192
315
 
193
316
  /**
194
- * @since 3.6.0
317
+ * Fixed-offset time zone.
318
+ *
319
+ * The `offset` is measured in milliseconds from UTC. Positive offsets are
320
+ * ahead of UTC, and negative offsets are behind UTC.
321
+ *
195
322
  * @category models
323
+ * @since 3.6.0
196
324
  */
197
325
  export interface Offset extends Proto {
198
326
  readonly _tag: "Offset"
@@ -200,8 +328,13 @@ export declare namespace TimeZone {
200
328
  }
201
329
 
202
330
  /**
203
- * @since 3.6.0
331
+ * Named IANA time zone.
332
+ *
333
+ * The `id` field contains the resolved time zone identifier, such as
334
+ * `"Europe/London"` or `"America/New_York"`.
335
+ *
204
336
  * @category models
337
+ * @since 3.6.0
205
338
  */
206
339
  export interface Named extends Proto {
207
340
  readonly _tag: "Named"
@@ -228,7 +361,8 @@ export declare namespace TimeZone {
228
361
  *
229
362
  * - `"reject"`: Throw an `RangeError` when encountering ambiguous or non-existent times.
230
363
  *
231
- * @example
364
+ * **Example** (Resolving ambiguous local times)
365
+ *
232
366
  * ```ts
233
367
  * import { DateTime } from "effect"
234
368
  *
@@ -268,8 +402,8 @@ export declare namespace TimeZone {
268
402
  * // Time after gap: 2025-03-09T07:30:00.000Z (03:30 EDT)
269
403
  * ```
270
404
  *
271
- * @since 3.18.0
272
405
  * @category models
406
+ * @since 3.18.0
273
407
  */
274
408
  export type Disambiguation = "compatible" | "earlier" | "later" | "reject"
275
409
 
@@ -278,48 +412,50 @@ export type Disambiguation = "compatible" | "earlier" | "later" | "reject"
278
412
  // =============================================================================
279
413
 
280
414
  /**
281
- * @since 3.6.0
415
+ * Checks whether a value is a `DateTime`.
416
+ *
282
417
  * @category guards
418
+ * @since 3.6.0
283
419
  */
284
420
  export const isDateTime: (u: unknown) => u is DateTime = Internal.isDateTime
285
421
 
286
422
  /**
287
423
  * Checks if a value is a `TimeZone`.
288
424
  *
289
- * @since 3.6.0
290
425
  * @category guards
426
+ * @since 3.6.0
291
427
  */
292
428
  export const isTimeZone: (u: unknown) => u is TimeZone = Internal.isTimeZone
293
429
 
294
430
  /**
295
431
  * Checks if a value is an offset-based `TimeZone`.
296
432
  *
297
- * @since 3.6.0
298
433
  * @category guards
434
+ * @since 3.6.0
299
435
  */
300
436
  export const isTimeZoneOffset: (u: unknown) => u is TimeZone.Offset = Internal.isTimeZoneOffset
301
437
 
302
438
  /**
303
439
  * Checks if a value is a named `TimeZone` (IANA time zone).
304
440
  *
305
- * @since 3.6.0
306
441
  * @category guards
442
+ * @since 3.6.0
307
443
  */
308
444
  export const isTimeZoneNamed: (u: unknown) => u is TimeZone.Named = Internal.isTimeZoneNamed
309
445
 
310
446
  /**
311
447
  * Checks if a `DateTime` is a UTC `DateTime` (no time zone information).
312
448
  *
313
- * @since 3.6.0
314
449
  * @category guards
450
+ * @since 3.6.0
315
451
  */
316
452
  export const isUtc: (self: DateTime) => self is Utc = Internal.isUtc
317
453
 
318
454
  /**
319
455
  * Checks if a `DateTime` is a zoned `DateTime` (has time zone information).
320
456
  *
321
- * @since 3.6.0
322
457
  * @category guards
458
+ * @since 3.6.0
323
459
  */
324
460
  export const isZoned: (self: DateTime) => self is Zoned = Internal.isZoned
325
461
 
@@ -333,7 +469,8 @@ export const isZoned: (self: DateTime) => self is Zoned = Internal.isZoned
333
469
  * Two `DateTime` values are considered equivalent if they represent the same
334
470
  * point in time, regardless of their time zone.
335
471
  *
336
- * @example
472
+ * **Example** (Comparing DateTime values for equivalence)
473
+ *
337
474
  * ```ts
338
475
  * import { DateTime } from "effect"
339
476
  *
@@ -356,7 +493,8 @@ export const Equivalence: Equ.Equivalence<DateTime> = Internal.Equivalence
356
493
  * `DateTime` values are ordered by their epoch milliseconds, so earlier times
357
494
  * come before later times regardless of time zone.
358
495
  *
359
- * @example
496
+ * **Example** (Sorting DateTime values chronologically)
497
+ *
360
498
  * ```ts
361
499
  * import { Array, DateTime } from "effect"
362
500
  *
@@ -382,7 +520,8 @@ export const Order: order.Order<DateTime> = Internal.Order
382
520
  * If the `DateTime` is after the maximum, the maximum is returned.
383
521
  * Otherwise, the original `DateTime` is returned.
384
522
  *
385
- * @example
523
+ * **Example** (Clamping DateTime values)
524
+ *
386
525
  * ```ts
387
526
  * import { DateTime } from "effect"
388
527
  *
@@ -405,7 +544,8 @@ export const clamp: {
405
544
  * If the `DateTime` is after the maximum, the maximum is returned.
406
545
  * Otherwise, the original `DateTime` is returned.
407
546
  *
408
- * @example
547
+ * **Example** (Clamping DateTime values)
548
+ *
409
549
  * ```ts
410
550
  * import { DateTime } from "effect"
411
551
  *
@@ -428,7 +568,8 @@ export const clamp: {
428
568
  * If the `DateTime` is after the maximum, the maximum is returned.
429
569
  * Otherwise, the original `DateTime` is returned.
430
570
  *
431
- * @example
571
+ * **Example** (Clamping DateTime values)
572
+ *
432
573
  * ```ts
433
574
  * import { DateTime } from "effect"
434
575
  *
@@ -455,7 +596,8 @@ export const clamp: {
455
596
  *
456
597
  * If the `Date` is invalid, an `IllegalArgumentError` will be thrown.
457
598
  *
458
- * @example
599
+ * **Example** (Creating DateTime values from Dates)
600
+ *
459
601
  * ```ts
460
602
  * import { DateTime } from "effect"
461
603
  *
@@ -466,7 +608,7 @@ export const clamp: {
466
608
  * ```
467
609
  *
468
610
  * @category constructors
469
- * @since 3.6.0
611
+ * @since 4.0.0
470
612
  */
471
613
  export const fromDateUnsafe: (date: Date) => Utc = Internal.fromDateUnsafe
472
614
 
@@ -479,21 +621,26 @@ export const fromDateUnsafe: (date: Date) => Utc = Internal.fromDateUnsafe
479
621
  * - An object with the parts of a date
480
622
  * - A `string` that can be parsed by `Date.parse`
481
623
  *
482
- * @since 3.6.0
483
- * @category constructors
484
- * @example
624
+ * **Example** (Creating DateTime values unsafely)
625
+ *
485
626
  * ```ts
486
627
  * import { DateTime } from "effect"
487
628
  *
488
629
  * // from Date
489
- * DateTime.makeUnsafe(new Date())
630
+ * const fromDate = DateTime.makeUnsafe(new Date("2024-01-01T12:00:00Z"))
631
+ * console.log(DateTime.formatIso(fromDate)) // "2024-01-01T12:00:00.000Z"
490
632
  *
491
633
  * // from parts
492
- * DateTime.makeUnsafe({ year: 2024 })
634
+ * const fromParts = DateTime.makeUnsafe({ year: 2024 })
635
+ * console.log(DateTime.formatIso(fromParts)) // "2024-01-01T00:00:00.000Z"
493
636
  *
494
637
  * // from string
495
- * DateTime.makeUnsafe("2024-01-01")
638
+ * const fromString = DateTime.makeUnsafe("2024-01-01")
639
+ * console.log(DateTime.formatIso(fromString)) // "2024-01-01T00:00:00.000Z"
496
640
  * ```
641
+ *
642
+ * @category constructors
643
+ * @since 4.0.0
497
644
  */
498
645
  export const makeUnsafe: <A extends DateTime.Input>(input: A) => DateTime.PreserveZone<A> = Internal.makeUnsafe
499
646
 
@@ -511,14 +658,20 @@ export const makeUnsafe: <A extends DateTime.Input>(input: A) => DateTime.Preser
511
658
  * - `later`: Always choose the later of two possible times
512
659
  * - `reject`: Throw an error when ambiguous times are encountered
513
660
  *
514
- * @since 3.6.0
515
- * @category constructors
516
- * @example
661
+ * **Example** (Creating zoned DateTime values unsafely)
662
+ *
517
663
  * ```ts
518
664
  * import { DateTime } from "effect"
519
665
  *
520
- * DateTime.makeZonedUnsafe(new Date(), { timeZone: "Europe/London" })
666
+ * const zoned = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
667
+ * timeZone: "Europe/London"
668
+ * })
669
+ *
670
+ * console.log(DateTime.formatIsoZoned(zoned)) // "2024-06-15T15:30:00.000+01:00[Europe/London]"
521
671
  * ```
672
+ *
673
+ * @category constructors
674
+ * @since 4.0.0
522
675
  */
523
676
  export const makeZonedUnsafe: (input: DateTime.Input, options?: {
524
677
  readonly timeZone?: number | string | TimeZone | undefined
@@ -527,29 +680,41 @@ export const makeZonedUnsafe: (input: DateTime.Input, options?: {
527
680
  }) => Zoned = Internal.makeZonedUnsafe
528
681
 
529
682
  /**
530
- * Create a `DateTime.Zoned` using `DateTime.make` and a time zone.
683
+ * Creates a `DateTime.Zoned` from an input and a time zone.
531
684
  *
532
- * The input is treated as UTC and then the time zone is attached, unless
533
- * `adjustForTimeZone` is set to `true`. In that case, the input is treated as
534
- * already in the time zone.
685
+ * By default, the input is interpreted as a UTC instant and the time zone is
686
+ * attached without changing that instant. When `adjustForTimeZone` is `true`,
687
+ * the input is interpreted as wall-clock time in the target zone.
535
688
  *
536
- * When `adjustForTimeZone` is true and ambiguous times occur during DST transitions,
537
- * the `disambiguation` option controls how to resolve the ambiguity:
538
- * - `compatible` (default): Choose earlier time for repeated times, later for gaps
539
- * - `earlier`: Always choose the earlier of two possible times
540
- * - `later`: Always choose the later of two possible times
541
- * - `reject`: Throw an error when ambiguous times are encountered
689
+ * When `adjustForTimeZone` is `true`, `disambiguation` controls
690
+ * daylight-saving gaps and repeated times:
542
691
  *
543
- * If the date time input or time zone is invalid, `None` will be returned.
692
+ * - `"compatible"` (default): chooses the earlier occurrence for repeated
693
+ * times and the later interpretation for gaps
694
+ * - `"earlier"`: chooses the earlier possible instant
695
+ * - `"later"`: chooses the later possible instant
696
+ * - `"reject"`: rejects ambiguous or nonexistent wall-clock times
697
+ *
698
+ * Returns `Some` when construction succeeds, or `None` when the input, time
699
+ * zone, or disambiguation cannot be resolved.
700
+ *
701
+ * **Example** (Creating optional zoned DateTime values)
544
702
  *
545
- * @since 3.6.0
546
- * @category constructors
547
- * @example
548
703
  * ```ts
549
704
  * import { DateTime } from "effect"
550
705
  *
551
- * DateTime.makeZoned(new Date(), { timeZone: "Europe/London" })
706
+ * const result = DateTime.makeZoned("2024-06-15T14:30:00Z", {
707
+ * timeZone: "Europe/London"
708
+ * })
709
+ *
710
+ * console.log(result._tag) // "Some"
711
+ * if (result._tag === "Some") {
712
+ * console.log(DateTime.formatIsoZoned(result.value)) // "2024-06-15T15:30:00.000+01:00[Europe/London]"
713
+ * }
552
714
  * ```
715
+ *
716
+ * @category constructors
717
+ * @since 3.6.0
553
718
  */
554
719
  export const makeZoned: (
555
720
  input: DateTime.Input,
@@ -561,40 +726,54 @@ export const makeZoned: (
561
726
  ) => Option.Option<Zoned> = Internal.makeZoned
562
727
 
563
728
  /**
564
- * Create a `DateTime` from one of the following:
729
+ * Creates a `DateTime` from one of the following:
565
730
  *
566
731
  * - A `DateTime`
567
- * - A `Date` instance (invalid dates will throw an `IllegalArgumentError`)
568
- * - The `number` of milliseconds since the Unix epoch
569
- * - An object with the parts of a date
570
- * - A `string` that can be parsed by `Date.parse`
732
+ * - A JavaScript `Date`
733
+ * - The number of milliseconds since the Unix epoch
734
+ * - An object with date and time parts
735
+ * - A string that can be parsed as a date
571
736
  *
572
- * If the input is invalid, `None` will be returned.
737
+ * Returns `Some` with the constructed `DateTime` when the input is valid, or
738
+ * `None` when construction would fail, including invalid `Date` instances or
739
+ * unparseable strings.
740
+ *
741
+ * **Example** (Creating optional DateTime values)
573
742
  *
574
- * @since 3.6.0
575
- * @category constructors
576
- * @example
577
743
  * ```ts
578
744
  * import { DateTime } from "effect"
579
745
  *
580
746
  * // from Date
581
- * DateTime.make(new Date())
747
+ * const fromDate = DateTime.make(new Date("2024-01-01T12:00:00Z"))
748
+ * console.log(fromDate._tag) // "Some"
582
749
  *
583
750
  * // from parts
584
- * DateTime.make({ year: 2024 })
751
+ * const fromParts = DateTime.make({ year: 2024 })
752
+ * console.log(fromParts._tag) // "Some"
585
753
  *
586
754
  * // from string
587
- * DateTime.make("2024-01-01")
755
+ * const fromString = DateTime.make("2024-01-01")
756
+ * console.log(fromString._tag) // "Some"
757
+ *
758
+ * const invalid = DateTime.make("not a date")
759
+ * console.log(invalid._tag) // "None"
588
760
  * ```
761
+ *
762
+ * @category constructors
763
+ * @since 3.6.0
589
764
  */
590
765
  export const make: <A extends DateTime.Input>(input: A) => Option.Option<DateTime.PreserveZone<A>> = Internal.make
591
766
 
592
767
  /**
593
- * Create a `DateTime.Zoned` from a string.
768
+ * Parses an ISO zoned date-time string into a `DateTime.Zoned`.
594
769
  *
595
- * It uses the format: `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]`.
770
+ * Accepts named-zone strings such as
771
+ * `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]` and offset-only strings such as
772
+ * `YYYY-MM-DDTHH:mm:ss.sss+HH:MM`. Returns `None` when the input cannot be
773
+ * parsed.
774
+ *
775
+ * **Example** (Parsing zoned DateTime strings)
596
776
  *
597
- * @example
598
777
  * ```ts
599
778
  * import { DateTime } from "effect"
600
779
  *
@@ -610,33 +789,36 @@ export const make: <A extends DateTime.Input>(input: A) => Option.Option<DateTim
610
789
  * console.log(invalid._tag === "None") // true
611
790
  * ```
612
791
  *
613
- * @since 3.6.0
614
792
  * @category constructors
793
+ * @since 3.6.0
615
794
  */
616
795
  export const makeZonedFromString: (input: string) => Option.Option<Zoned> = Internal.makeZonedFromString
617
796
 
618
797
  /**
619
798
  * Get the current time using the `Clock` service and convert it to a `DateTime`.
620
799
  *
621
- * @since 3.6.0
622
- * @category constructors
623
- * @example
800
+ * **Example** (Getting the current DateTime)
801
+ *
624
802
  * ```ts
625
803
  * import { DateTime, Effect } from "effect"
626
804
  *
627
805
  * Effect.gen(function*() {
628
- * const now = yield* DateTime.now
806
+ * const now = yield* DateTime.nowAsDate
807
+ * console.log(now instanceof Date) // true
629
808
  * })
630
809
  * ```
810
+ *
811
+ * @category constructors
812
+ * @since 3.6.0
631
813
  */
632
814
  export const now: Effect.Effect<Utc> = Internal.now
633
815
 
634
816
  /**
635
- * Get the current time using the `Clock` service and convert it to a `DateTime`.
817
+ * Gets the current time from the `Clock` service and returns it as a
818
+ * JavaScript `Date`.
819
+ *
820
+ * **Example** (Getting the current Date)
636
821
  *
637
- * @since 3.6.0
638
- * @category constructors
639
- * @example
640
822
  * ```ts
641
823
  * import { DateTime, Effect } from "effect"
642
824
  *
@@ -644,6 +826,9 @@ export const now: Effect.Effect<Utc> = Internal.now
644
826
  * const now = yield* DateTime.now
645
827
  * })
646
828
  * ```
829
+ *
830
+ * @category constructors
831
+ * @since 3.14.0
647
832
  */
648
833
  export const nowAsDate: Effect.Effect<Date> = Internal.nowAsDate
649
834
 
@@ -653,7 +838,8 @@ export const nowAsDate: Effect.Effect<Date> = Internal.nowAsDate
653
838
  * This is a synchronous version of `now` that directly uses `Date.now()`
654
839
  * instead of the Effect `Clock` service.
655
840
  *
656
- * @example
841
+ * **Example** (Getting the current DateTime unsafely)
842
+ *
657
843
  * ```ts
658
844
  * import { DateTime } from "effect"
659
845
  *
@@ -662,7 +848,7 @@ export const nowAsDate: Effect.Effect<Date> = Internal.nowAsDate
662
848
  * ```
663
849
  *
664
850
  * @category constructors
665
- * @since 3.6.0
851
+ * @since 4.0.0
666
852
  */
667
853
  export const nowUnsafe: LazyArg<Utc> = Internal.nowUnsafe
668
854
 
@@ -673,9 +859,8 @@ export const nowUnsafe: LazyArg<Utc> = Internal.nowUnsafe
673
859
  /**
674
860
  * For a `DateTime` returns a new `DateTime.Utc`.
675
861
  *
676
- * @since 3.13.0
677
- * @category time zones
678
- * @example
862
+ * **Example** (Converting DateTime values to UTC)
863
+ *
679
864
  * ```ts
680
865
  * import { DateTime } from "effect"
681
866
  *
@@ -686,15 +871,17 @@ export const nowUnsafe: LazyArg<Utc> = Internal.nowUnsafe
686
871
  * // set as UTC
687
872
  * const utc: DateTime.Utc = DateTime.toUtc(now)
688
873
  * ```
874
+ *
875
+ * @category time zones
876
+ * @since 3.13.0
689
877
  */
690
878
  export const toUtc: (self: DateTime) => Utc = Internal.toUtc
691
879
 
692
880
  /**
693
881
  * Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
694
882
  *
695
- * @since 3.6.0
696
- * @category time zones
697
- * @example
883
+ * **Example** (Setting time zones)
884
+ *
698
885
  * ```ts
699
886
  * import { DateTime, Effect } from "effect"
700
887
  *
@@ -706,14 +893,16 @@ export const toUtc: (self: DateTime) => Utc = Internal.toUtc
706
893
  * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
707
894
  * })
708
895
  * ```
896
+ *
897
+ * @category time zones
898
+ * @since 3.6.0
709
899
  */
710
900
  export const setZone: {
711
901
  /**
712
902
  * Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
713
903
  *
714
- * @since 3.6.0
715
- * @category time zones
716
- * @example
904
+ * **Example** (Setting time zones)
905
+ *
717
906
  * ```ts
718
907
  * import { DateTime, Effect } from "effect"
719
908
  *
@@ -725,6 +914,9 @@ export const setZone: {
725
914
  * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
726
915
  * })
727
916
  * ```
917
+ *
918
+ * @category time zones
919
+ * @since 3.6.0
728
920
  */
729
921
  (
730
922
  zone: TimeZone,
@@ -736,9 +928,8 @@ export const setZone: {
736
928
  /**
737
929
  * Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
738
930
  *
739
- * @since 3.6.0
740
- * @category time zones
741
- * @example
931
+ * **Example** (Setting time zones)
932
+ *
742
933
  * ```ts
743
934
  * import { DateTime, Effect } from "effect"
744
935
  *
@@ -750,6 +941,9 @@ export const setZone: {
750
941
  * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
751
942
  * })
752
943
  * ```
944
+ *
945
+ * @category time zones
946
+ * @since 3.6.0
753
947
  */
754
948
  (
755
949
  self: DateTime,
@@ -766,9 +960,8 @@ export const setZone: {
766
960
  *
767
961
  * The offset is in milliseconds.
768
962
  *
769
- * @since 3.6.0
770
- * @category time zones
771
- * @example
963
+ * **Example** (Setting fixed-offset time zones)
964
+ *
772
965
  * ```ts
773
966
  * import { DateTime, Effect } from "effect"
774
967
  *
@@ -779,6 +972,9 @@ export const setZone: {
779
972
  * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
780
973
  * })
781
974
  * ```
975
+ *
976
+ * @category time zones
977
+ * @since 3.6.0
782
978
  */
783
979
  export const setZoneOffset: {
784
980
  /**
@@ -786,9 +982,8 @@ export const setZoneOffset: {
786
982
  *
787
983
  * The offset is in milliseconds.
788
984
  *
789
- * @since 3.6.0
790
- * @category time zones
791
- * @example
985
+ * **Example** (Setting fixed-offset time zones)
986
+ *
792
987
  * ```ts
793
988
  * import { DateTime, Effect } from "effect"
794
989
  *
@@ -799,6 +994,9 @@ export const setZoneOffset: {
799
994
  * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
800
995
  * })
801
996
  * ```
997
+ *
998
+ * @category time zones
999
+ * @since 3.6.0
802
1000
  */
803
1001
  (
804
1002
  offset: number,
@@ -812,9 +1010,8 @@ export const setZoneOffset: {
812
1010
  *
813
1011
  * The offset is in milliseconds.
814
1012
  *
815
- * @since 3.6.0
816
- * @category time zones
817
- * @example
1013
+ * **Example** (Setting fixed-offset time zones)
1014
+ *
818
1015
  * ```ts
819
1016
  * import { DateTime, Effect } from "effect"
820
1017
  *
@@ -825,6 +1022,9 @@ export const setZoneOffset: {
825
1022
  * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
826
1023
  * })
827
1024
  * ```
1025
+ *
1026
+ * @category time zones
1027
+ * @since 3.6.0
828
1028
  */
829
1029
  (
830
1030
  self: DateTime,
@@ -841,7 +1041,8 @@ export const setZoneOffset: {
841
1041
  *
842
1042
  * If the time zone is invalid, an `IllegalArgumentError` will be thrown.
843
1043
  *
844
- * @example
1044
+ * **Example** (Creating named time zones unsafely)
1045
+ *
845
1046
  * ```ts
846
1047
  * import { DateTime } from "effect"
847
1048
  *
@@ -855,8 +1056,8 @@ export const setZoneOffset: {
855
1056
  * // DateTime.zoneMakeNamedUnsafe("Invalid/Zone")
856
1057
  * ```
857
1058
  *
858
- * @since 3.6.0
859
1059
  * @category time zones
1060
+ * @since 4.0.0
860
1061
  */
861
1062
  export const zoneMakeNamedUnsafe: (zoneId: string) => TimeZone.Named = Internal.zoneMakeNamedUnsafe
862
1063
 
@@ -866,7 +1067,8 @@ export const zoneMakeNamedUnsafe: (zoneId: string) => TimeZone.Named = Internal.
866
1067
  * The offset is specified in milliseconds from UTC. Positive values are
867
1068
  * ahead of UTC, negative values are behind UTC.
868
1069
  *
869
- * @example
1070
+ * **Example** (Creating fixed-offset time zones)
1071
+ *
870
1072
  * ```ts
871
1073
  * import { DateTime } from "effect"
872
1074
  *
@@ -888,7 +1090,8 @@ export const zoneMakeOffset: (offset: number) => TimeZone.Offset = Internal.zone
888
1090
  *
889
1091
  * If the time zone is invalid, `None` will be returned.
890
1092
  *
891
- * @example
1093
+ * **Example** (Creating optional named time zones)
1094
+ *
892
1095
  * ```ts
893
1096
  * import { DateTime } from "effect"
894
1097
  *
@@ -909,7 +1112,8 @@ export const zoneMakeNamed: (zoneId: string) => Option.Option<TimeZone.Named> =
909
1112
  *
910
1113
  * If the time zone is invalid, it will fail with an `IllegalArgumentError`.
911
1114
  *
912
- * @example
1115
+ * **Example** (Creating named time zones effectfully)
1116
+ *
913
1117
  * ```ts
914
1118
  * import { DateTime, Effect } from "effect"
915
1119
  *
@@ -932,15 +1136,13 @@ export const zoneMakeNamedEffect: (zoneId: string) => Effect.Effect<TimeZone.Nam
932
1136
  * This uses the system's configured time zone, which may vary depending
933
1137
  * on the runtime environment.
934
1138
  *
935
- * @example
1139
+ * **Example** (Creating local time zones)
1140
+ *
936
1141
  * ```ts
937
1142
  * import { DateTime } from "effect"
938
1143
  *
939
1144
  * const localZone = DateTime.zoneMakeLocal()
940
- * const now = DateTime.nowUnsafe()
941
- * const localTime = DateTime.setZone(now, localZone)
942
- *
943
- * console.log(DateTime.formatIsoZoned(localTime))
1145
+ * console.log(DateTime.zoneToString(localZone)) // Output depends on system time zone
944
1146
  * ```
945
1147
  *
946
1148
  * @category time zones
@@ -953,7 +1155,8 @@ export const zoneMakeLocal: () => TimeZone.Named = Internal.zoneMakeLocal
953
1155
  *
954
1156
  * Supports both IANA time zone identifiers and offset formats like "+03:00".
955
1157
  *
956
- * @example
1158
+ * **Example** (Parsing time zones)
1159
+ *
957
1160
  * ```ts
958
1161
  * import { DateTime } from "effect"
959
1162
  *
@@ -974,9 +1177,8 @@ export const zoneFromString: (zone: string) => Option.Option<TimeZone> = Interna
974
1177
  /**
975
1178
  * Format a `TimeZone` as a string.
976
1179
  *
977
- * @since 3.6.0
978
- * @category time zones
979
- * @example
1180
+ * **Example** (Formatting time zones)
1181
+ *
980
1182
  * ```ts
981
1183
  * import { DateTime } from "effect"
982
1184
  *
@@ -986,6 +1188,9 @@ export const zoneFromString: (zone: string) => Option.Option<TimeZone> = Interna
986
1188
  * // Outputs "Europe/London"
987
1189
  * DateTime.zoneToString(DateTime.zoneMakeNamedUnsafe("Europe/London"))
988
1190
  * ```
1191
+ *
1192
+ * @category time zones
1193
+ * @since 3.6.0
989
1194
  */
990
1195
  export const zoneToString: (self: TimeZone) => string = Internal.zoneToString
991
1196
 
@@ -993,9 +1198,8 @@ export const zoneToString: (self: TimeZone) => string = Internal.zoneToString
993
1198
  * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
994
1199
  * time zone is invalid, `None` will be returned.
995
1200
  *
996
- * @since 3.6.0
997
- * @category time zones
998
- * @example
1201
+ * **Example** (Setting named time zones safely)
1202
+ *
999
1203
  * ```ts
1000
1204
  * import { DateTime, Effect } from "effect"
1001
1205
  *
@@ -1005,15 +1209,17 @@ export const zoneToString: (self: TimeZone) => string = Internal.zoneToString
1005
1209
  * DateTime.setZoneNamed(now, "Europe/London")
1006
1210
  * })
1007
1211
  * ```
1212
+ *
1213
+ * @category time zones
1214
+ * @since 3.6.0
1008
1215
  */
1009
1216
  export const setZoneNamed: {
1010
1217
  /**
1011
1218
  * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
1012
1219
  * time zone is invalid, `None` will be returned.
1013
1220
  *
1014
- * @since 3.6.0
1015
- * @category time zones
1016
- * @example
1221
+ * **Example** (Setting named time zones safely)
1222
+ *
1017
1223
  * ```ts
1018
1224
  * import { DateTime, Effect } from "effect"
1019
1225
  *
@@ -1023,6 +1229,9 @@ export const setZoneNamed: {
1023
1229
  * DateTime.setZoneNamed(now, "Europe/London")
1024
1230
  * })
1025
1231
  * ```
1232
+ *
1233
+ * @category time zones
1234
+ * @since 3.6.0
1026
1235
  */
1027
1236
  (
1028
1237
  zoneId: string,
@@ -1035,9 +1244,8 @@ export const setZoneNamed: {
1035
1244
  * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
1036
1245
  * time zone is invalid, `None` will be returned.
1037
1246
  *
1038
- * @since 3.6.0
1039
- * @category time zones
1040
- * @example
1247
+ * **Example** (Setting named time zones safely)
1248
+ *
1041
1249
  * ```ts
1042
1250
  * import { DateTime, Effect } from "effect"
1043
1251
  *
@@ -1047,6 +1255,9 @@ export const setZoneNamed: {
1047
1255
  * DateTime.setZoneNamed(now, "Europe/London")
1048
1256
  * })
1049
1257
  * ```
1258
+ *
1259
+ * @category time zones
1260
+ * @since 3.6.0
1050
1261
  */
1051
1262
  (
1052
1263
  self: DateTime,
@@ -1062,9 +1273,8 @@ export const setZoneNamed: {
1062
1273
  * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
1063
1274
  * time zone is invalid, an `IllegalArgumentError` will be thrown.
1064
1275
  *
1065
- * @since 3.6.0
1066
- * @category time zones
1067
- * @example
1276
+ * **Example** (Setting named time zones unsafely)
1277
+ *
1068
1278
  * ```ts
1069
1279
  * import { DateTime, Effect } from "effect"
1070
1280
  *
@@ -1074,15 +1284,17 @@ export const setZoneNamed: {
1074
1284
  * DateTime.setZoneNamedUnsafe(now, "Europe/London")
1075
1285
  * })
1076
1286
  * ```
1287
+ *
1288
+ * @category time zones
1289
+ * @since 4.0.0
1077
1290
  */
1078
1291
  export const setZoneNamedUnsafe: {
1079
1292
  /**
1080
1293
  * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
1081
1294
  * time zone is invalid, an `IllegalArgumentError` will be thrown.
1082
1295
  *
1083
- * @since 3.6.0
1084
- * @category time zones
1085
- * @example
1296
+ * **Example** (Setting named time zones unsafely)
1297
+ *
1086
1298
  * ```ts
1087
1299
  * import { DateTime, Effect } from "effect"
1088
1300
  *
@@ -1092,6 +1304,9 @@ export const setZoneNamedUnsafe: {
1092
1304
  * DateTime.setZoneNamedUnsafe(now, "Europe/London")
1093
1305
  * })
1094
1306
  * ```
1307
+ *
1308
+ * @category time zones
1309
+ * @since 4.0.0
1095
1310
  */
1096
1311
  (
1097
1312
  zoneId: string,
@@ -1104,9 +1319,8 @@ export const setZoneNamedUnsafe: {
1104
1319
  * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
1105
1320
  * time zone is invalid, an `IllegalArgumentError` will be thrown.
1106
1321
  *
1107
- * @since 3.6.0
1108
- * @category time zones
1109
- * @example
1322
+ * **Example** (Setting named time zones unsafely)
1323
+ *
1110
1324
  * ```ts
1111
1325
  * import { DateTime, Effect } from "effect"
1112
1326
  *
@@ -1116,6 +1330,9 @@ export const setZoneNamedUnsafe: {
1116
1330
  * DateTime.setZoneNamedUnsafe(now, "Europe/London")
1117
1331
  * })
1118
1332
  * ```
1333
+ *
1334
+ * @category time zones
1335
+ * @since 4.0.0
1119
1336
  */
1120
1337
  (
1121
1338
  self: DateTime,
@@ -1139,9 +1356,8 @@ export const setZoneNamedUnsafe: {
1139
1356
  * `other` is *before* `self`, the result will be a negative `Duration`. If they
1140
1357
  * are equal, the result will be a `Duration` of zero.
1141
1358
  *
1142
- * @since 3.6.0
1143
- * @category comparisons
1144
- * @example
1359
+ * **Example** (Measuring distance between DateTime values)
1360
+ *
1145
1361
  * ```ts
1146
1362
  * import { DateTime, Effect } from "effect"
1147
1363
  *
@@ -1153,6 +1369,9 @@ export const setZoneNamedUnsafe: {
1153
1369
  * DateTime.distance(now, other)
1154
1370
  * })
1155
1371
  * ```
1372
+ *
1373
+ * @category comparisons
1374
+ * @since 3.6.0
1156
1375
  */
1157
1376
  export const distance: {
1158
1377
  // =============================================================================
@@ -1167,9 +1386,8 @@ export const distance: {
1167
1386
  * `other` is *before* `self`, the result will be a negative `Duration`. If they
1168
1387
  * are equal, the result will be a `Duration` of zero.
1169
1388
  *
1170
- * @since 3.6.0
1171
- * @category comparisons
1172
- * @example
1389
+ * **Example** (Measuring distance between DateTime values)
1390
+ *
1173
1391
  * ```ts
1174
1392
  * import { DateTime, Effect } from "effect"
1175
1393
  *
@@ -1181,6 +1399,9 @@ export const distance: {
1181
1399
  * DateTime.distance(now, other)
1182
1400
  * })
1183
1401
  * ```
1402
+ *
1403
+ * @category comparisons
1404
+ * @since 3.6.0
1184
1405
  */
1185
1406
  (other: DateTime): (self: DateTime) => Duration.Duration
1186
1407
  // =============================================================================
@@ -1195,9 +1416,8 @@ export const distance: {
1195
1416
  * `other` is *before* `self`, the result will be a negative `Duration`. If they
1196
1417
  * are equal, the result will be a `Duration` of zero.
1197
1418
  *
1198
- * @since 3.6.0
1199
- * @category comparisons
1200
- * @example
1419
+ * **Example** (Measuring distance between DateTime values)
1420
+ *
1201
1421
  * ```ts
1202
1422
  * import { DateTime, Effect } from "effect"
1203
1423
  *
@@ -1209,6 +1429,9 @@ export const distance: {
1209
1429
  * DateTime.distance(now, other)
1210
1430
  * })
1211
1431
  * ```
1432
+ *
1433
+ * @category comparisons
1434
+ * @since 3.6.0
1212
1435
  */
1213
1436
  (self: DateTime, other: DateTime): Duration.Duration
1214
1437
  } = Internal.distance
@@ -1216,7 +1439,8 @@ export const distance: {
1216
1439
  /**
1217
1440
  * Returns the earlier of two `DateTime` values.
1218
1441
  *
1219
- * @example
1442
+ * **Example** (Selecting the earlier DateTime)
1443
+ *
1220
1444
  * ```ts
1221
1445
  * import { DateTime } from "effect"
1222
1446
  *
@@ -1234,7 +1458,8 @@ export const min: {
1234
1458
  /**
1235
1459
  * Returns the earlier of two `DateTime` values.
1236
1460
  *
1237
- * @example
1461
+ * **Example** (Selecting the earlier DateTime)
1462
+ *
1238
1463
  * ```ts
1239
1464
  * import { DateTime } from "effect"
1240
1465
  *
@@ -1252,7 +1477,8 @@ export const min: {
1252
1477
  /**
1253
1478
  * Returns the earlier of two `DateTime` values.
1254
1479
  *
1255
- * @example
1480
+ * **Example** (Selecting the earlier DateTime)
1481
+ *
1256
1482
  * ```ts
1257
1483
  * import { DateTime } from "effect"
1258
1484
  *
@@ -1272,7 +1498,8 @@ export const min: {
1272
1498
  /**
1273
1499
  * Returns the later of two `DateTime` values.
1274
1500
  *
1275
- * @example
1501
+ * **Example** (Selecting the later DateTime)
1502
+ *
1276
1503
  * ```ts
1277
1504
  * import { DateTime } from "effect"
1278
1505
  *
@@ -1290,7 +1517,8 @@ export const max: {
1290
1517
  /**
1291
1518
  * Returns the later of two `DateTime` values.
1292
1519
  *
1293
- * @example
1520
+ * **Example** (Selecting the later DateTime)
1521
+ *
1294
1522
  * ```ts
1295
1523
  * import { DateTime } from "effect"
1296
1524
  *
@@ -1308,7 +1536,8 @@ export const max: {
1308
1536
  /**
1309
1537
  * Returns the later of two `DateTime` values.
1310
1538
  *
1311
- * @example
1539
+ * **Example** (Selecting the later DateTime)
1540
+ *
1312
1541
  * ```ts
1313
1542
  * import { DateTime } from "effect"
1314
1543
  *
@@ -1328,7 +1557,8 @@ export const max: {
1328
1557
  /**
1329
1558
  * Checks if the first `DateTime` is after the second `DateTime`.
1330
1559
  *
1331
- * @example
1560
+ * **Example** (Checking whether a DateTime is later)
1561
+ *
1332
1562
  * ```ts
1333
1563
  * import { DateTime } from "effect"
1334
1564
  *
@@ -1340,13 +1570,14 @@ export const max: {
1340
1570
  * ```
1341
1571
  *
1342
1572
  * @category comparisons
1343
- * @since 3.6.0
1573
+ * @since 4.0.0
1344
1574
  */
1345
1575
  export const isGreaterThan: {
1346
1576
  /**
1347
1577
  * Checks if the first `DateTime` is after the second `DateTime`.
1348
1578
  *
1349
- * @example
1579
+ * **Example** (Checking whether a DateTime is later)
1580
+ *
1350
1581
  * ```ts
1351
1582
  * import { DateTime } from "effect"
1352
1583
  *
@@ -1358,13 +1589,14 @@ export const isGreaterThan: {
1358
1589
  * ```
1359
1590
  *
1360
1591
  * @category comparisons
1361
- * @since 3.6.0
1592
+ * @since 4.0.0
1362
1593
  */
1363
1594
  (that: DateTime): (self: DateTime) => boolean
1364
1595
  /**
1365
1596
  * Checks if the first `DateTime` is after the second `DateTime`.
1366
1597
  *
1367
- * @example
1598
+ * **Example** (Checking whether a DateTime is later)
1599
+ *
1368
1600
  * ```ts
1369
1601
  * import { DateTime } from "effect"
1370
1602
  *
@@ -1376,7 +1608,7 @@ export const isGreaterThan: {
1376
1608
  * ```
1377
1609
  *
1378
1610
  * @category comparisons
1379
- * @since 3.6.0
1611
+ * @since 4.0.0
1380
1612
  */
1381
1613
  (self: DateTime, that: DateTime): boolean
1382
1614
  } = Internal.isGreaterThan
@@ -1384,7 +1616,8 @@ export const isGreaterThan: {
1384
1616
  /**
1385
1617
  * Checks if the first `DateTime` is after or equal to the second `DateTime`.
1386
1618
  *
1387
- * @example
1619
+ * **Example** (Checking whether a DateTime is later or equal)
1620
+ *
1388
1621
  * ```ts
1389
1622
  * import { DateTime } from "effect"
1390
1623
  *
@@ -1398,13 +1631,14 @@ export const isGreaterThan: {
1398
1631
  * ```
1399
1632
  *
1400
1633
  * @category comparisons
1401
- * @since 3.6.0
1634
+ * @since 4.0.0
1402
1635
  */
1403
1636
  export const isGreaterThanOrEqualTo: {
1404
1637
  /**
1405
1638
  * Checks if the first `DateTime` is after or equal to the second `DateTime`.
1406
1639
  *
1407
- * @example
1640
+ * **Example** (Checking whether a DateTime is later or equal)
1641
+ *
1408
1642
  * ```ts
1409
1643
  * import { DateTime } from "effect"
1410
1644
  *
@@ -1418,13 +1652,14 @@ export const isGreaterThanOrEqualTo: {
1418
1652
  * ```
1419
1653
  *
1420
1654
  * @category comparisons
1421
- * @since 3.6.0
1655
+ * @since 4.0.0
1422
1656
  */
1423
1657
  (that: DateTime): (self: DateTime) => boolean
1424
1658
  /**
1425
1659
  * Checks if the first `DateTime` is after or equal to the second `DateTime`.
1426
1660
  *
1427
- * @example
1661
+ * **Example** (Checking whether a DateTime is later or equal)
1662
+ *
1428
1663
  * ```ts
1429
1664
  * import { DateTime } from "effect"
1430
1665
  *
@@ -1438,7 +1673,7 @@ export const isGreaterThanOrEqualTo: {
1438
1673
  * ```
1439
1674
  *
1440
1675
  * @category comparisons
1441
- * @since 3.6.0
1676
+ * @since 4.0.0
1442
1677
  */
1443
1678
  (self: DateTime, that: DateTime): boolean
1444
1679
  } = Internal.isGreaterThanOrEqualTo
@@ -1446,7 +1681,8 @@ export const isGreaterThanOrEqualTo: {
1446
1681
  /**
1447
1682
  * Checks if the first `DateTime` is before the second `DateTime`.
1448
1683
  *
1449
- * @example
1684
+ * **Example** (Checking whether a DateTime is earlier)
1685
+ *
1450
1686
  * ```ts
1451
1687
  * import { DateTime } from "effect"
1452
1688
  *
@@ -1458,13 +1694,14 @@ export const isGreaterThanOrEqualTo: {
1458
1694
  * ```
1459
1695
  *
1460
1696
  * @category comparisons
1461
- * @since 3.6.0
1697
+ * @since 4.0.0
1462
1698
  */
1463
1699
  export const isLessThan: {
1464
1700
  /**
1465
1701
  * Checks if the first `DateTime` is before the second `DateTime`.
1466
1702
  *
1467
- * @example
1703
+ * **Example** (Checking whether a DateTime is earlier)
1704
+ *
1468
1705
  * ```ts
1469
1706
  * import { DateTime } from "effect"
1470
1707
  *
@@ -1476,13 +1713,14 @@ export const isLessThan: {
1476
1713
  * ```
1477
1714
  *
1478
1715
  * @category comparisons
1479
- * @since 3.6.0
1716
+ * @since 4.0.0
1480
1717
  */
1481
1718
  (that: DateTime): (self: DateTime) => boolean
1482
1719
  /**
1483
1720
  * Checks if the first `DateTime` is before the second `DateTime`.
1484
1721
  *
1485
- * @example
1722
+ * **Example** (Checking whether a DateTime is earlier)
1723
+ *
1486
1724
  * ```ts
1487
1725
  * import { DateTime } from "effect"
1488
1726
  *
@@ -1494,7 +1732,7 @@ export const isLessThan: {
1494
1732
  * ```
1495
1733
  *
1496
1734
  * @category comparisons
1497
- * @since 3.6.0
1735
+ * @since 4.0.0
1498
1736
  */
1499
1737
  (self: DateTime, that: DateTime): boolean
1500
1738
  } = Internal.isLessThan
@@ -1502,7 +1740,8 @@ export const isLessThan: {
1502
1740
  /**
1503
1741
  * Checks if the first `DateTime` is before or equal to the second `DateTime`.
1504
1742
  *
1505
- * @example
1743
+ * **Example** (Checking whether a DateTime is earlier or equal)
1744
+ *
1506
1745
  * ```ts
1507
1746
  * import { DateTime } from "effect"
1508
1747
  *
@@ -1516,13 +1755,14 @@ export const isLessThan: {
1516
1755
  * ```
1517
1756
  *
1518
1757
  * @category comparisons
1519
- * @since 3.6.0
1758
+ * @since 4.0.0
1520
1759
  */
1521
1760
  export const isLessThanOrEqualTo: {
1522
1761
  /**
1523
1762
  * Checks if the first `DateTime` is before or equal to the second `DateTime`.
1524
1763
  *
1525
- * @example
1764
+ * **Example** (Checking whether a DateTime is earlier or equal)
1765
+ *
1526
1766
  * ```ts
1527
1767
  * import { DateTime } from "effect"
1528
1768
  *
@@ -1536,13 +1776,14 @@ export const isLessThanOrEqualTo: {
1536
1776
  * ```
1537
1777
  *
1538
1778
  * @category comparisons
1539
- * @since 3.6.0
1779
+ * @since 4.0.0
1540
1780
  */
1541
1781
  (that: DateTime): (self: DateTime) => boolean
1542
1782
  /**
1543
1783
  * Checks if the first `DateTime` is before or equal to the second `DateTime`.
1544
1784
  *
1545
- * @example
1785
+ * **Example** (Checking whether a DateTime is earlier or equal)
1786
+ *
1546
1787
  * ```ts
1547
1788
  * import { DateTime } from "effect"
1548
1789
  *
@@ -1556,7 +1797,7 @@ export const isLessThanOrEqualTo: {
1556
1797
  * ```
1557
1798
  *
1558
1799
  * @category comparisons
1559
- * @since 3.6.0
1800
+ * @since 4.0.0
1560
1801
  */
1561
1802
  (self: DateTime, that: DateTime): boolean
1562
1803
  } = Internal.isLessThanOrEqualTo
@@ -1564,7 +1805,8 @@ export const isLessThanOrEqualTo: {
1564
1805
  /**
1565
1806
  * Checks if a `DateTime` is between two other `DateTime` values (inclusive).
1566
1807
  *
1567
- * @example
1808
+ * **Example** (Checking whether a DateTime is within bounds)
1809
+ *
1568
1810
  * ```ts
1569
1811
  * import { DateTime } from "effect"
1570
1812
  *
@@ -1582,7 +1824,8 @@ export const between: {
1582
1824
  /**
1583
1825
  * Checks if a `DateTime` is between two other `DateTime` values (inclusive).
1584
1826
  *
1585
- * @example
1827
+ * **Example** (Checking whether a DateTime is within bounds)
1828
+ *
1586
1829
  * ```ts
1587
1830
  * import { DateTime } from "effect"
1588
1831
  *
@@ -1600,7 +1843,8 @@ export const between: {
1600
1843
  /**
1601
1844
  * Checks if a `DateTime` is between two other `DateTime` values (inclusive).
1602
1845
  *
1603
- * @example
1846
+ * **Example** (Checking whether a DateTime is within bounds)
1847
+ *
1604
1848
  * ```ts
1605
1849
  * import { DateTime } from "effect"
1606
1850
  *
@@ -1622,7 +1866,8 @@ export const between: {
1622
1866
  *
1623
1867
  * This is an effectful operation that uses the current time from the `Clock` service.
1624
1868
  *
1625
- * @example
1869
+ * **Example** (Checking future DateTime values effectfully)
1870
+ *
1626
1871
  * ```ts
1627
1872
  * import { DateTime, Effect } from "effect"
1628
1873
  *
@@ -1643,7 +1888,8 @@ export const isFuture: (self: DateTime) => Effect.Effect<boolean> = Internal.isF
1643
1888
  *
1644
1889
  * This is a synchronous version that uses `Date.now()` directly.
1645
1890
  *
1646
- * @example
1891
+ * **Example** (Checking future DateTime values unsafely)
1892
+ *
1647
1893
  * ```ts
1648
1894
  * import { DateTime } from "effect"
1649
1895
  *
@@ -1655,7 +1901,7 @@ export const isFuture: (self: DateTime) => Effect.Effect<boolean> = Internal.isF
1655
1901
  * ```
1656
1902
  *
1657
1903
  * @category comparisons
1658
- * @since 3.6.0
1904
+ * @since 4.0.0
1659
1905
  */
1660
1906
  export const isFutureUnsafe: (self: DateTime) => boolean = Internal.isFutureUnsafe
1661
1907
 
@@ -1664,7 +1910,8 @@ export const isFutureUnsafe: (self: DateTime) => boolean = Internal.isFutureUnsa
1664
1910
  *
1665
1911
  * This is an effectful operation that uses the current time from the `Clock` service.
1666
1912
  *
1667
- * @example
1913
+ * **Example** (Checking past DateTime values effectfully)
1914
+ *
1668
1915
  * ```ts
1669
1916
  * import { DateTime, Effect } from "effect"
1670
1917
  *
@@ -1685,7 +1932,8 @@ export const isPast: (self: DateTime) => Effect.Effect<boolean> = Internal.isPas
1685
1932
  *
1686
1933
  * This is a synchronous version that uses `Date.now()` directly.
1687
1934
  *
1688
- * @example
1935
+ * **Example** (Checking past DateTime values unsafely)
1936
+ *
1689
1937
  * ```ts
1690
1938
  * import { DateTime } from "effect"
1691
1939
  *
@@ -1697,7 +1945,7 @@ export const isPast: (self: DateTime) => Effect.Effect<boolean> = Internal.isPas
1697
1945
  * ```
1698
1946
  *
1699
1947
  * @category comparisons
1700
- * @since 3.6.0
1948
+ * @since 4.0.0
1701
1949
  */
1702
1950
  export const isPastUnsafe: (self: DateTime) => boolean = Internal.isPastUnsafe
1703
1951
 
@@ -1710,7 +1958,8 @@ export const isPastUnsafe: (self: DateTime) => boolean = Internal.isPastUnsafe
1710
1958
  *
1711
1959
  * This always returns the UTC representation, ignoring any time zone information.
1712
1960
  *
1713
- * @example
1961
+ * **Example** (Converting DateTime values to UTC Dates)
1962
+ *
1714
1963
  * ```ts
1715
1964
  * import { DateTime } from "effect"
1716
1965
  *
@@ -1722,7 +1971,7 @@ export const isPastUnsafe: (self: DateTime) => boolean = Internal.isPastUnsafe
1722
1971
  * console.log(utcDate.toISOString()) // "2024-01-01T12:00:00.000Z"
1723
1972
  * ```
1724
1973
  *
1725
- * @category conversions
1974
+ * @category converting
1726
1975
  * @since 3.6.0
1727
1976
  */
1728
1977
  export const toDateUtc: (self: DateTime) => Date = Internal.toDateUtc
@@ -1733,7 +1982,8 @@ export const toDateUtc: (self: DateTime) => Date = Internal.toDateUtc
1733
1982
  * For `DateTime.Zoned`, this adjusts for the time zone before converting.
1734
1983
  * For `DateTime.Utc`, this is equivalent to `toDateUtc`.
1735
1984
  *
1736
- * @example
1985
+ * **Example** (Converting DateTime values to Dates)
1986
+ *
1737
1987
  * ```ts
1738
1988
  * import { DateTime } from "effect"
1739
1989
  *
@@ -1746,7 +1996,7 @@ export const toDateUtc: (self: DateTime) => Date = Internal.toDateUtc
1746
1996
  * console.log(DateTime.toDate(zoned).toISOString())
1747
1997
  * ```
1748
1998
  *
1749
- * @category conversions
1999
+ * @category converting
1750
2000
  * @since 3.6.0
1751
2001
  */
1752
2002
  export const toDate: (self: DateTime) => Date = Internal.toDate
@@ -1757,7 +2007,8 @@ export const toDate: (self: DateTime) => Date = Internal.toDate
1757
2007
  * Returns the offset from UTC in milliseconds. Positive values indicate
1758
2008
  * time zones ahead of UTC, negative values indicate time zones behind UTC.
1759
2009
  *
1760
- * @example
2010
+ * **Example** (Reading zoned offsets)
2011
+ *
1761
2012
  * ```ts
1762
2013
  * import { DateTime } from "effect"
1763
2014
  *
@@ -1769,7 +2020,7 @@ export const toDate: (self: DateTime) => Date = Internal.toDate
1769
2020
  * console.log(offset) // 0 (London is UTC+0 in winter)
1770
2021
  * ```
1771
2022
  *
1772
- * @category conversions
2023
+ * @category converting
1773
2024
  * @since 3.6.0
1774
2025
  */
1775
2026
  export const zonedOffset: (self: Zoned) => number = Internal.zonedOffset
@@ -1779,7 +2030,8 @@ export const zonedOffset: (self: Zoned) => number = Internal.zonedOffset
1779
2030
  *
1780
2031
  * The offset is formatted as "±HH:MM".
1781
2032
  *
1782
- * @example
2033
+ * **Example** (Formatting zoned offsets)
2034
+ *
1783
2035
  * ```ts
1784
2036
  * import { DateTime } from "effect"
1785
2037
  *
@@ -1791,7 +2043,7 @@ export const zonedOffset: (self: Zoned) => number = Internal.zonedOffset
1791
2043
  * console.log(offsetString) // "+03:00"
1792
2044
  * ```
1793
2045
  *
1794
- * @category conversions
2046
+ * @category converting
1795
2047
  * @since 3.6.0
1796
2048
  */
1797
2049
  export const zonedOffsetIso: (self: Zoned) => string = Internal.zonedOffsetIso
@@ -1801,7 +2053,8 @@ export const zonedOffsetIso: (self: Zoned) => string = Internal.zonedOffsetIso
1801
2053
  *
1802
2054
  * This returns the UTC timestamp regardless of any time zone information.
1803
2055
  *
1804
- * @example
2056
+ * **Example** (Reading epoch milliseconds)
2057
+ *
1805
2058
  * ```ts
1806
2059
  * import { DateTime } from "effect"
1807
2060
  *
@@ -1809,10 +2062,9 @@ export const zonedOffsetIso: (self: Zoned) => string = Internal.zonedOffsetIso
1809
2062
  * const epochMillis = DateTime.toEpochMillis(dt)
1810
2063
  *
1811
2064
  * console.log(epochMillis) // 1704067200000
1812
- * console.log(new Date(epochMillis).toISOString()) // "2024-01-01T00:00:00.000Z"
1813
2065
  * ```
1814
2066
  *
1815
- * @category conversions
2067
+ * @category converting
1816
2068
  * @since 3.6.0
1817
2069
  */
1818
2070
  export const toEpochMillis: (self: DateTime) => number = Internal.toEpochMillis
@@ -1821,9 +2073,8 @@ export const toEpochMillis: (self: DateTime) => number = Internal.toEpochMillis
1821
2073
  * Remove the time aspect of a `DateTime`, first adjusting for the time
1822
2074
  * zone. It will return a `DateTime.Utc` only containing the date.
1823
2075
  *
1824
- * @since 3.6.0
1825
- * @category conversions
1826
- * @example
2076
+ * **Example** (Removing time components)
2077
+ *
1827
2078
  * ```ts
1828
2079
  * import { DateTime } from "effect"
1829
2080
  *
@@ -1836,6 +2087,9 @@ export const toEpochMillis: (self: DateTime) => number = Internal.toEpochMillis
1836
2087
  * DateTime.formatIso
1837
2088
  * )
1838
2089
  * ```
2090
+ *
2091
+ * @category converting
2092
+ * @since 3.6.0
1839
2093
  */
1840
2094
  export const removeTime: (self: DateTime) => Utc = Internal.removeTime
1841
2095
 
@@ -1848,7 +2102,8 @@ export const removeTime: (self: DateTime) => Utc = Internal.removeTime
1848
2102
  *
1849
2103
  * The parts will be time zone adjusted if the `DateTime` is zoned.
1850
2104
  *
1851
- * @example
2105
+ * **Example** (Reading DateTime parts)
2106
+ *
1852
2107
  * ```ts
1853
2108
  * import { DateTime } from "effect"
1854
2109
  *
@@ -1878,7 +2133,8 @@ export const toParts: (self: DateTime) => DateTime.PartsWithWeekday = Internal.t
1878
2133
  *
1879
2134
  * The parts will always be in UTC, ignoring any time zone information.
1880
2135
  *
1881
- * @example
2136
+ * **Example** (Reading UTC DateTime parts)
2137
+ *
1882
2138
  * ```ts
1883
2139
  * import { DateTime } from "effect"
1884
2140
  *
@@ -1901,17 +2157,18 @@ export const toPartsUtc: (self: DateTime) => DateTime.PartsWithWeekday = Interna
1901
2157
  *
1902
2158
  * The part will be in the UTC time zone.
1903
2159
  *
1904
- * @since 3.6.0
1905
- * @category parts
1906
- * @example
2160
+ * **Example** (Reading UTC DateTime parts by key)
2161
+ *
1907
2162
  * ```ts
1908
2163
  * import { DateTime } from "effect"
1909
- * import * as assert from "node:assert"
1910
2164
  *
1911
- * const now = DateTime.makeUnsafe({ year: 2024 })
1912
- * const year = DateTime.getPartUtc(now, "year")
1913
- * assert.strictEqual(year, 2024)
2165
+ * const dateTime = DateTime.makeUnsafe({ year: 2024 })
2166
+ * const year = DateTime.getPartUtc(dateTime, "year")
2167
+ * console.log(year) // 2024
1914
2168
  * ```
2169
+ *
2170
+ * @category parts
2171
+ * @since 3.6.0
1915
2172
  */
1916
2173
  export const getPartUtc: {
1917
2174
  /**
@@ -1919,17 +2176,18 @@ export const getPartUtc: {
1919
2176
  *
1920
2177
  * The part will be in the UTC time zone.
1921
2178
  *
1922
- * @since 3.6.0
1923
- * @category parts
1924
- * @example
2179
+ * **Example** (Reading UTC DateTime parts by key)
2180
+ *
1925
2181
  * ```ts
1926
2182
  * import { DateTime } from "effect"
1927
- * import * as assert from "node:assert"
1928
2183
  *
1929
- * const now = DateTime.makeUnsafe({ year: 2024 })
1930
- * const year = DateTime.getPartUtc(now, "year")
1931
- * assert.strictEqual(year, 2024)
2184
+ * const dateTime = DateTime.makeUnsafe({ year: 2024 })
2185
+ * const year = DateTime.getPartUtc(dateTime, "year")
2186
+ * console.log(year) // 2024
1932
2187
  * ```
2188
+ *
2189
+ * @category parts
2190
+ * @since 3.6.0
1933
2191
  */
1934
2192
  (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
1935
2193
  /**
@@ -1937,17 +2195,18 @@ export const getPartUtc: {
1937
2195
  *
1938
2196
  * The part will be in the UTC time zone.
1939
2197
  *
1940
- * @since 3.6.0
1941
- * @category parts
1942
- * @example
2198
+ * **Example** (Reading UTC DateTime parts by key)
2199
+ *
1943
2200
  * ```ts
1944
2201
  * import { DateTime } from "effect"
1945
- * import * as assert from "node:assert"
1946
2202
  *
1947
- * const now = DateTime.makeUnsafe({ year: 2024 })
1948
- * const year = DateTime.getPartUtc(now, "year")
1949
- * assert.strictEqual(year, 2024)
2203
+ * const dateTime = DateTime.makeUnsafe({ year: 2024 })
2204
+ * const year = DateTime.getPartUtc(dateTime, "year")
2205
+ * console.log(year) // 2024
1950
2206
  * ```
2207
+ *
2208
+ * @category parts
2209
+ * @since 3.6.0
1951
2210
  */
1952
2211
  (self: DateTime, part: keyof DateTime.PartsWithWeekday): number
1953
2212
  } = Internal.getPartUtc
@@ -1957,19 +2216,20 @@ export const getPartUtc: {
1957
2216
  *
1958
2217
  * The part will be time zone adjusted.
1959
2218
  *
1960
- * @since 3.6.0
1961
- * @category parts
1962
- * @example
2219
+ * **Example** (Reading DateTime parts by key)
2220
+ *
1963
2221
  * ```ts
1964
2222
  * import { DateTime } from "effect"
1965
- * import * as assert from "node:assert"
1966
2223
  *
1967
- * const now = DateTime.makeZonedUnsafe({ year: 2024 }, {
2224
+ * const dateTime = DateTime.makeZonedUnsafe({ year: 2024 }, {
1968
2225
  * timeZone: "Europe/London"
1969
2226
  * })
1970
- * const year = DateTime.getPart(now, "year")
1971
- * assert.strictEqual(year, 2024)
2227
+ * const year = DateTime.getPart(dateTime, "year")
2228
+ * console.log(year) // 2024
1972
2229
  * ```
2230
+ *
2231
+ * @category parts
2232
+ * @since 3.6.0
1973
2233
  */
1974
2234
  export const getPart: {
1975
2235
  /**
@@ -1977,19 +2237,20 @@ export const getPart: {
1977
2237
  *
1978
2238
  * The part will be time zone adjusted.
1979
2239
  *
1980
- * @since 3.6.0
1981
- * @category parts
1982
- * @example
2240
+ * **Example** (Reading DateTime parts by key)
2241
+ *
1983
2242
  * ```ts
1984
2243
  * import { DateTime } from "effect"
1985
- * import * as assert from "node:assert"
1986
2244
  *
1987
- * const now = DateTime.makeZonedUnsafe({ year: 2024 }, {
2245
+ * const dateTime = DateTime.makeZonedUnsafe({ year: 2024 }, {
1988
2246
  * timeZone: "Europe/London"
1989
2247
  * })
1990
- * const year = DateTime.getPart(now, "year")
1991
- * assert.strictEqual(year, 2024)
2248
+ * const year = DateTime.getPart(dateTime, "year")
2249
+ * console.log(year) // 2024
1992
2250
  * ```
2251
+ *
2252
+ * @category parts
2253
+ * @since 3.6.0
1993
2254
  */
1994
2255
  (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
1995
2256
  /**
@@ -1997,19 +2258,20 @@ export const getPart: {
1997
2258
  *
1998
2259
  * The part will be time zone adjusted.
1999
2260
  *
2000
- * @since 3.6.0
2001
- * @category parts
2002
- * @example
2261
+ * **Example** (Reading DateTime parts by key)
2262
+ *
2003
2263
  * ```ts
2004
2264
  * import { DateTime } from "effect"
2005
- * import * as assert from "node:assert"
2006
2265
  *
2007
- * const now = DateTime.makeZonedUnsafe({ year: 2024 }, {
2266
+ * const dateTime = DateTime.makeZonedUnsafe({ year: 2024 }, {
2008
2267
  * timeZone: "Europe/London"
2009
2268
  * })
2010
- * const year = DateTime.getPart(now, "year")
2011
- * assert.strictEqual(year, 2024)
2269
+ * const year = DateTime.getPart(dateTime, "year")
2270
+ * console.log(year) // 2024
2012
2271
  * ```
2272
+ *
2273
+ * @category parts
2274
+ * @since 3.6.0
2013
2275
  */
2014
2276
  (self: DateTime, part: keyof DateTime.PartsWithWeekday): number
2015
2277
  } = Internal.getPart
@@ -2019,7 +2281,8 @@ export const getPart: {
2019
2281
  *
2020
2282
  * The date will be time zone adjusted for `DateTime.Zoned`.
2021
2283
  *
2022
- * @example
2284
+ * **Example** (Updating DateTime parts)
2285
+ *
2023
2286
  * ```ts
2024
2287
  * import { DateTime } from "effect"
2025
2288
  *
@@ -2042,7 +2305,8 @@ export const setParts: {
2042
2305
  *
2043
2306
  * The date will be time zone adjusted for `DateTime.Zoned`.
2044
2307
  *
2045
- * @example
2308
+ * **Example** (Updating DateTime parts)
2309
+ *
2046
2310
  * ```ts
2047
2311
  * import { DateTime } from "effect"
2048
2312
  *
@@ -2065,7 +2329,8 @@ export const setParts: {
2065
2329
  *
2066
2330
  * The date will be time zone adjusted for `DateTime.Zoned`.
2067
2331
  *
2068
- * @example
2332
+ * **Example** (Updating DateTime parts)
2333
+ *
2069
2334
  * ```ts
2070
2335
  * import { DateTime } from "effect"
2071
2336
  *
@@ -2090,7 +2355,8 @@ export const setParts: {
2090
2355
  *
2091
2356
  * The parts are always interpreted as UTC, ignoring any time zone information.
2092
2357
  *
2093
- * @example
2358
+ * **Example** (Updating UTC DateTime parts)
2359
+ *
2094
2360
  * ```ts
2095
2361
  * import { DateTime } from "effect"
2096
2362
  *
@@ -2112,7 +2378,8 @@ export const setPartsUtc: {
2112
2378
  *
2113
2379
  * The parts are always interpreted as UTC, ignoring any time zone information.
2114
2380
  *
2115
- * @example
2381
+ * **Example** (Updating UTC DateTime parts)
2382
+ *
2116
2383
  * ```ts
2117
2384
  * import { DateTime } from "effect"
2118
2385
  *
@@ -2134,7 +2401,8 @@ export const setPartsUtc: {
2134
2401
  *
2135
2402
  * The parts are always interpreted as UTC, ignoring any time zone information.
2136
2403
  *
2137
- * @example
2404
+ * **Example** (Updating UTC DateTime parts)
2405
+ *
2138
2406
  * ```ts
2139
2407
  * import { DateTime } from "effect"
2140
2408
  *
@@ -2158,7 +2426,15 @@ export const setPartsUtc: {
2158
2426
  // =============================================================================
2159
2427
 
2160
2428
  /**
2161
- * @example
2429
+ * Context service that supplies the ambient `TimeZone` for APIs that work in
2430
+ * the current zone, such as `DateTime.setZoneCurrent` and
2431
+ * `DateTime.nowInCurrentZone`.
2432
+ *
2433
+ * Provide it with `DateTime.withCurrentZone`, one of the `withCurrentZone*`
2434
+ * helpers, or one of the `layerCurrentZone*` layers.
2435
+ *
2436
+ * **Example** (Accessing the current time zone service)
2437
+ *
2162
2438
  * ```ts
2163
2439
  * import { DateTime, Effect } from "effect"
2164
2440
  *
@@ -2173,8 +2449,8 @@ export const setPartsUtc: {
2173
2449
  * Effect.provide(program, layer)
2174
2450
  * ```
2175
2451
  *
2176
- * @since 3.11.0
2177
2452
  * @category current time zone
2453
+ * @since 3.11.0
2178
2454
  */
2179
2455
  export class CurrentTimeZone extends Context.Service<CurrentTimeZone, TimeZone>()(
2180
2456
  "effect/DateTime/CurrentTimeZone"
@@ -2184,9 +2460,8 @@ export class CurrentTimeZone extends Context.Service<CurrentTimeZone, TimeZone>(
2184
2460
  * Set the time zone of a `DateTime` to the current time zone, which is
2185
2461
  * determined by the `CurrentTimeZone` service.
2186
2462
  *
2187
- * @since 3.6.0
2188
- * @category current time zone
2189
- * @example
2463
+ * **Example** (Setting the current time zone)
2464
+ *
2190
2465
  * ```ts
2191
2466
  * import { DateTime, Effect } from "effect"
2192
2467
  *
@@ -2197,6 +2472,9 @@ export class CurrentTimeZone extends Context.Service<CurrentTimeZone, TimeZone>(
2197
2472
  * const zoned = yield* DateTime.setZoneCurrent(now)
2198
2473
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2199
2474
  * ```
2475
+ *
2476
+ * @category current time zone
2477
+ * @since 3.6.0
2200
2478
  */
2201
2479
  export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, CurrentTimeZone> =>
2202
2480
  Effect.map(CurrentTimeZone, (zone) => setZone(self, zone))
@@ -2204,9 +2482,8 @@ export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, Curr
2204
2482
  /**
2205
2483
  * Provide the `CurrentTimeZone` to an effect.
2206
2484
  *
2207
- * @since 3.6.0
2208
- * @category current time zone
2209
- * @example
2485
+ * **Example** (Providing the current time zone)
2486
+ *
2210
2487
  * ```ts
2211
2488
  * import { DateTime, Effect } from "effect"
2212
2489
  *
@@ -2216,14 +2493,16 @@ export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, Curr
2216
2493
  * const now = yield* DateTime.nowInCurrentZone
2217
2494
  * }).pipe(DateTime.withCurrentZone(zone))
2218
2495
  * ```
2496
+ *
2497
+ * @category current time zone
2498
+ * @since 3.6.0
2219
2499
  */
2220
2500
  export const withCurrentZone: {
2221
2501
  /**
2222
2502
  * Provide the `CurrentTimeZone` to an effect.
2223
2503
  *
2224
- * @since 3.6.0
2225
- * @category current time zone
2226
- * @example
2504
+ * **Example** (Providing the current time zone)
2505
+ *
2227
2506
  * ```ts
2228
2507
  * import { DateTime, Effect } from "effect"
2229
2508
  *
@@ -2233,14 +2512,16 @@ export const withCurrentZone: {
2233
2512
  * const now = yield* DateTime.nowInCurrentZone
2234
2513
  * }).pipe(DateTime.withCurrentZone(zone))
2235
2514
  * ```
2515
+ *
2516
+ * @category current time zone
2517
+ * @since 3.6.0
2236
2518
  */
2237
2519
  (value: TimeZone): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
2238
2520
  /**
2239
2521
  * Provide the `CurrentTimeZone` to an effect.
2240
2522
  *
2241
- * @since 3.6.0
2242
- * @category current time zone
2243
- * @example
2523
+ * **Example** (Providing the current time zone)
2524
+ *
2244
2525
  * ```ts
2245
2526
  * import { DateTime, Effect } from "effect"
2246
2527
  *
@@ -2250,6 +2531,9 @@ export const withCurrentZone: {
2250
2531
  * const now = yield* DateTime.nowInCurrentZone
2251
2532
  * }).pipe(DateTime.withCurrentZone(zone))
2252
2533
  * ```
2534
+ *
2535
+ * @category current time zone
2536
+ * @since 3.6.0
2253
2537
  */
2254
2538
  <A, E, R>(self: Effect.Effect<A, E, R>, value: TimeZone): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
2255
2539
  } = provideService(CurrentTimeZone)
@@ -2258,9 +2542,8 @@ export const withCurrentZone: {
2258
2542
  * Provide the `CurrentTimeZone` to an effect, using the system's local time
2259
2543
  * zone.
2260
2544
  *
2261
- * @since 3.6.0
2262
- * @category current time zone
2263
- * @example
2545
+ * **Example** (Providing the local time zone)
2546
+ *
2264
2547
  * ```ts
2265
2548
  * import { DateTime, Effect } from "effect"
2266
2549
  *
@@ -2269,6 +2552,9 @@ export const withCurrentZone: {
2269
2552
  * const now = yield* DateTime.nowInCurrentZone
2270
2553
  * }).pipe(DateTime.withCurrentZoneLocal)
2271
2554
  * ```
2555
+ *
2556
+ * @category current time zone
2557
+ * @since 3.6.0
2272
2558
  */
2273
2559
  export const withCurrentZoneLocal = <A, E, R>(
2274
2560
  effect: Effect.Effect<A, E, R>
@@ -2278,33 +2564,37 @@ export const withCurrentZoneLocal = <A, E, R>(
2278
2564
  /**
2279
2565
  * Provide the `CurrentTimeZone` to an effect, using a offset.
2280
2566
  *
2281
- * @since 3.6.0
2282
- * @category current time zone
2283
- * @example
2567
+ * **Example** (Providing a fixed-offset time zone)
2568
+ *
2284
2569
  * ```ts
2285
2570
  * import { DateTime, Effect } from "effect"
2286
2571
  *
2287
2572
  * Effect.gen(function*() {
2288
- * // will use the system's local time zone
2289
- * const now = yield* DateTime.nowInCurrentZone
2573
+ * const zone = yield* DateTime.CurrentTimeZone
2574
+ * console.log(DateTime.zoneToString(zone)) // "+03:00"
2290
2575
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
2291
2576
  * ```
2577
+ *
2578
+ * @category current time zone
2579
+ * @since 3.6.0
2292
2580
  */
2293
2581
  export const withCurrentZoneOffset: {
2294
2582
  /**
2295
2583
  * Provide the `CurrentTimeZone` to an effect, using a offset.
2296
2584
  *
2297
- * @since 3.6.0
2298
- * @category current time zone
2299
- * @example
2585
+ * **Example** (Providing a fixed-offset time zone)
2586
+ *
2300
2587
  * ```ts
2301
2588
  * import { DateTime, Effect } from "effect"
2302
2589
  *
2303
2590
  * Effect.gen(function*() {
2304
- * // will use the system's local time zone
2305
- * const now = yield* DateTime.nowInCurrentZone
2591
+ * const zone = yield* DateTime.CurrentTimeZone
2592
+ * console.log(DateTime.zoneToString(zone)) // "+03:00"
2306
2593
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
2307
2594
  * ```
2595
+ *
2596
+ * @category current time zone
2597
+ * @since 3.6.0
2308
2598
  */
2309
2599
  (offset: number): <A, E, R>(
2310
2600
  effect: Effect.Effect<A, E, R>
@@ -2312,17 +2602,19 @@ export const withCurrentZoneOffset: {
2312
2602
  /**
2313
2603
  * Provide the `CurrentTimeZone` to an effect, using a offset.
2314
2604
  *
2315
- * @since 3.6.0
2316
- * @category current time zone
2317
- * @example
2605
+ * **Example** (Providing a fixed-offset time zone)
2606
+ *
2318
2607
  * ```ts
2319
2608
  * import { DateTime, Effect } from "effect"
2320
2609
  *
2321
2610
  * Effect.gen(function*() {
2322
- * // will use the system's local time zone
2323
- * const now = yield* DateTime.nowInCurrentZone
2611
+ * const zone = yield* DateTime.CurrentTimeZone
2612
+ * console.log(DateTime.zoneToString(zone)) // "+03:00"
2324
2613
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
2325
2614
  * ```
2615
+ *
2616
+ * @category current time zone
2617
+ * @since 3.6.0
2326
2618
  */
2327
2619
  <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
2328
2620
  } = dual(
@@ -2337,9 +2629,8 @@ export const withCurrentZoneOffset: {
2337
2629
  *
2338
2630
  * If the time zone is invalid, it will fail with an `IllegalArgumentError`.
2339
2631
  *
2340
- * @since 3.6.0
2341
- * @category current time zone
2342
- * @example
2632
+ * **Example** (Providing a named time zone)
2633
+ *
2343
2634
  * ```ts
2344
2635
  * import { DateTime, Effect } from "effect"
2345
2636
  *
@@ -2348,6 +2639,9 @@ export const withCurrentZoneOffset: {
2348
2639
  * const now = yield* DateTime.nowInCurrentZone
2349
2640
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2350
2641
  * ```
2642
+ *
2643
+ * @category current time zone
2644
+ * @since 3.6.0
2351
2645
  */
2352
2646
  export const withCurrentZoneNamed: {
2353
2647
  /**
@@ -2356,9 +2650,8 @@ export const withCurrentZoneNamed: {
2356
2650
  *
2357
2651
  * If the time zone is invalid, it will fail with an `IllegalArgumentError`.
2358
2652
  *
2359
- * @since 3.6.0
2360
- * @category current time zone
2361
- * @example
2653
+ * **Example** (Providing a named time zone)
2654
+ *
2362
2655
  * ```ts
2363
2656
  * import { DateTime, Effect } from "effect"
2364
2657
  *
@@ -2367,6 +2660,9 @@ export const withCurrentZoneNamed: {
2367
2660
  * const now = yield* DateTime.nowInCurrentZone
2368
2661
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2369
2662
  * ```
2663
+ *
2664
+ * @category current time zone
2665
+ * @since 3.6.0
2370
2666
  */
2371
2667
  (zone: string): <A, E, R>(
2372
2668
  effect: Effect.Effect<A, E, R>
@@ -2377,9 +2673,8 @@ export const withCurrentZoneNamed: {
2377
2673
  *
2378
2674
  * If the time zone is invalid, it will fail with an `IllegalArgumentError`.
2379
2675
  *
2380
- * @since 3.6.0
2381
- * @category current time zone
2382
- * @example
2676
+ * **Example** (Providing a named time zone)
2677
+ *
2383
2678
  * ```ts
2384
2679
  * import { DateTime, Effect } from "effect"
2385
2680
  *
@@ -2388,6 +2683,9 @@ export const withCurrentZoneNamed: {
2388
2683
  * const now = yield* DateTime.nowInCurrentZone
2389
2684
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2390
2685
  * ```
2686
+ *
2687
+ * @category current time zone
2688
+ * @since 3.6.0
2391
2689
  */
2392
2690
  <A, E, R>(effect: Effect.Effect<A, E, R>, zone: string): Effect.Effect<A, E | IllegalArgumentError, Exclude<R, CurrentTimeZone>>
2393
2691
  } = dual(
@@ -2402,9 +2700,8 @@ export const withCurrentZoneNamed: {
2402
2700
  /**
2403
2701
  * Get the current time as a `DateTime.Zoned`, using the `CurrentTimeZone`.
2404
2702
  *
2405
- * @since 3.6.0
2406
- * @category current time zone
2407
- * @example
2703
+ * **Example** (Getting the current time in the current zone)
2704
+ *
2408
2705
  * ```ts
2409
2706
  * import { DateTime, Effect } from "effect"
2410
2707
  *
@@ -2413,6 +2710,9 @@ export const withCurrentZoneNamed: {
2413
2710
  * const now = yield* DateTime.nowInCurrentZone
2414
2711
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
2415
2712
  * ```
2713
+ *
2714
+ * @category current time zone
2715
+ * @since 3.6.0
2416
2716
  */
2417
2717
  export const nowInCurrentZone: Effect.Effect<Zoned, never, CurrentTimeZone> = Effect.flatMap(now, setZoneCurrent)
2418
2718
 
@@ -2428,7 +2728,8 @@ export const nowInCurrentZone: Effect.Effect<Zoned, never, CurrentTimeZone> = Ef
2428
2728
  *
2429
2729
  * Supports `disambiguation` when the new wall clock time is ambiguous.
2430
2730
  *
2431
- * @example
2731
+ * **Example** (Mutating DateTime values with Dates)
2732
+ *
2432
2733
  * ```ts
2433
2734
  * import { DateTime } from "effect"
2434
2735
  *
@@ -2442,8 +2743,8 @@ export const nowInCurrentZone: Effect.Effect<Zoned, never, CurrentTimeZone> = Ef
2442
2743
  * console.log(DateTime.formatIso(modified)) // "2024-01-01T15:30:00.000Z"
2443
2744
  * ```
2444
2745
  *
2445
- * @since 3.6.0
2446
2746
  * @category mapping
2747
+ * @since 3.6.0
2447
2748
  */
2448
2749
  export const mutate: {
2449
2750
  // =============================================================================
@@ -2458,7 +2759,8 @@ export const mutate: {
2458
2759
  *
2459
2760
  * Supports `disambiguation` when the new wall clock time is ambiguous.
2460
2761
  *
2461
- * @example
2762
+ * **Example** (Mutating DateTime values with Dates)
2763
+ *
2462
2764
  * ```ts
2463
2765
  * import { DateTime } from "effect"
2464
2766
  *
@@ -2472,8 +2774,8 @@ export const mutate: {
2472
2774
  * console.log(DateTime.formatIso(modified)) // "2024-01-01T15:30:00.000Z"
2473
2775
  * ```
2474
2776
  *
2475
- * @since 3.6.0
2476
2777
  * @category mapping
2778
+ * @since 3.6.0
2477
2779
  */
2478
2780
  (
2479
2781
  f: (date: Date) => void,
@@ -2493,7 +2795,8 @@ export const mutate: {
2493
2795
  *
2494
2796
  * Supports `disambiguation` when the new wall clock time is ambiguous.
2495
2797
  *
2496
- * @example
2798
+ * **Example** (Mutating DateTime values with Dates)
2799
+ *
2497
2800
  * ```ts
2498
2801
  * import { DateTime } from "effect"
2499
2802
  *
@@ -2507,8 +2810,8 @@ export const mutate: {
2507
2810
  * console.log(DateTime.formatIso(modified)) // "2024-01-01T15:30:00.000Z"
2508
2811
  * ```
2509
2812
  *
2510
- * @since 3.6.0
2511
2813
  * @category mapping
2814
+ * @since 3.6.0
2512
2815
  */
2513
2816
  <A extends DateTime>(
2514
2817
  self: A,
@@ -2522,7 +2825,8 @@ export const mutate: {
2522
2825
  /**
2523
2826
  * Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
2524
2827
  *
2525
- * @example
2828
+ * **Example** (Mutating DateTime values with UTC Dates)
2829
+ *
2526
2830
  * ```ts
2527
2831
  * import { DateTime } from "effect"
2528
2832
  *
@@ -2537,14 +2841,15 @@ export const mutate: {
2537
2841
  * console.log(DateTime.formatIso(modified)) // "2024-01-01T18:00:00.000Z"
2538
2842
  * ```
2539
2843
  *
2540
- * @since 3.6.0
2541
2844
  * @category mapping
2845
+ * @since 3.6.0
2542
2846
  */
2543
2847
  export const mutateUtc: {
2544
2848
  /**
2545
2849
  * Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
2546
2850
  *
2547
- * @example
2851
+ * **Example** (Mutating DateTime values with UTC Dates)
2852
+ *
2548
2853
  * ```ts
2549
2854
  * import { DateTime } from "effect"
2550
2855
  *
@@ -2559,14 +2864,15 @@ export const mutateUtc: {
2559
2864
  * console.log(DateTime.formatIso(modified)) // "2024-01-01T18:00:00.000Z"
2560
2865
  * ```
2561
2866
  *
2562
- * @since 3.6.0
2563
2867
  * @category mapping
2868
+ * @since 3.6.0
2564
2869
  */
2565
2870
  (f: (date: Date) => void): <A extends DateTime>(self: A) => A
2566
2871
  /**
2567
2872
  * Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
2568
2873
  *
2569
- * @example
2874
+ * **Example** (Mutating DateTime values with UTC Dates)
2875
+ *
2570
2876
  * ```ts
2571
2877
  * import { DateTime } from "effect"
2572
2878
  *
@@ -2581,8 +2887,8 @@ export const mutateUtc: {
2581
2887
  * console.log(DateTime.formatIso(modified)) // "2024-01-01T18:00:00.000Z"
2582
2888
  * ```
2583
2889
  *
2584
- * @since 3.6.0
2585
2890
  * @category mapping
2891
+ * @since 3.6.0
2586
2892
  */
2587
2893
  <A extends DateTime>(self: A, f: (date: Date) => void): A
2588
2894
  } = Internal.mutateUtc
@@ -2591,9 +2897,8 @@ export const mutateUtc: {
2591
2897
  * Transform a `DateTime` by applying a function to the number of milliseconds
2592
2898
  * since the Unix epoch.
2593
2899
  *
2594
- * @since 3.6.0
2595
- * @category mapping
2596
- * @example
2900
+ * **Example** (Mapping epoch milliseconds)
2901
+ *
2597
2902
  * ```ts
2598
2903
  * import { DateTime } from "effect"
2599
2904
  *
@@ -2602,15 +2907,17 @@ export const mutateUtc: {
2602
2907
  * DateTime.mapEpochMillis((millis) => millis + 10)
2603
2908
  * )
2604
2909
  * ```
2910
+ *
2911
+ * @category mapping
2912
+ * @since 3.6.0
2605
2913
  */
2606
2914
  export const mapEpochMillis: {
2607
2915
  /**
2608
2916
  * Transform a `DateTime` by applying a function to the number of milliseconds
2609
2917
  * since the Unix epoch.
2610
2918
  *
2611
- * @since 3.6.0
2612
- * @category mapping
2613
- * @example
2919
+ * **Example** (Mapping epoch milliseconds)
2920
+ *
2614
2921
  * ```ts
2615
2922
  * import { DateTime } from "effect"
2616
2923
  *
@@ -2619,15 +2926,17 @@ export const mapEpochMillis: {
2619
2926
  * DateTime.mapEpochMillis((millis) => millis + 10)
2620
2927
  * )
2621
2928
  * ```
2929
+ *
2930
+ * @category mapping
2931
+ * @since 3.6.0
2622
2932
  */
2623
2933
  (f: (millis: number) => number): <A extends DateTime>(self: A) => A
2624
2934
  /**
2625
2935
  * Transform a `DateTime` by applying a function to the number of milliseconds
2626
2936
  * since the Unix epoch.
2627
2937
  *
2628
- * @since 3.6.0
2629
- * @category mapping
2630
- * @example
2938
+ * **Example** (Mapping epoch milliseconds)
2939
+ *
2631
2940
  * ```ts
2632
2941
  * import { DateTime } from "effect"
2633
2942
  *
@@ -2636,17 +2945,22 @@ export const mapEpochMillis: {
2636
2945
  * DateTime.mapEpochMillis((millis) => millis + 10)
2637
2946
  * )
2638
2947
  * ```
2948
+ *
2949
+ * @category mapping
2950
+ * @since 3.6.0
2639
2951
  */
2640
2952
  <A extends DateTime>(self: A, f: (millis: number) => number): A
2641
2953
  } = Internal.mapEpochMillis
2642
2954
 
2643
2955
  /**
2644
- * Using the time zone adjusted `Date`, apply a function to the `Date` and
2645
- * return the result.
2956
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
2957
+ * instant and returns the function's result.
2958
+ *
2959
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
2960
+ * callback should receive the time-zone-adjusted wall-clock date.
2961
+ *
2962
+ * **Example** (Using time zone adjusted Dates)
2646
2963
  *
2647
- * @since 3.6.0
2648
- * @category mapping
2649
- * @example
2650
2964
  * ```ts
2651
2965
  * import { DateTime } from "effect"
2652
2966
  *
@@ -2655,15 +2969,20 @@ export const mapEpochMillis: {
2655
2969
  * DateTime.withDate((date) => date.getTime())
2656
2970
  * )
2657
2971
  * ```
2972
+ *
2973
+ * @category mapping
2974
+ * @since 3.6.0
2658
2975
  */
2659
2976
  export const withDate: {
2660
2977
  /**
2661
- * Using the time zone adjusted `Date`, apply a function to the `Date` and
2662
- * return the result.
2978
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
2979
+ * instant and returns the function's result.
2980
+ *
2981
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
2982
+ * callback should receive the time-zone-adjusted wall-clock date.
2983
+ *
2984
+ * **Example** (Using time zone adjusted Dates)
2663
2985
  *
2664
- * @since 3.6.0
2665
- * @category mapping
2666
- * @example
2667
2986
  * ```ts
2668
2987
  * import { DateTime } from "effect"
2669
2988
  *
@@ -2672,15 +2991,20 @@ export const withDate: {
2672
2991
  * DateTime.withDate((date) => date.getTime())
2673
2992
  * )
2674
2993
  * ```
2994
+ *
2995
+ * @category mapping
2996
+ * @since 3.6.0
2675
2997
  */
2676
2998
  <A>(f: (date: Date) => A): (self: DateTime) => A
2677
2999
  /**
2678
- * Using the time zone adjusted `Date`, apply a function to the `Date` and
2679
- * return the result.
3000
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
3001
+ * instant and returns the function's result.
3002
+ *
3003
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
3004
+ * callback should receive the time-zone-adjusted wall-clock date.
3005
+ *
3006
+ * **Example** (Using time zone adjusted Dates)
2680
3007
  *
2681
- * @since 3.6.0
2682
- * @category mapping
2683
- * @example
2684
3008
  * ```ts
2685
3009
  * import { DateTime } from "effect"
2686
3010
  *
@@ -2689,17 +3013,22 @@ export const withDate: {
2689
3013
  * DateTime.withDate((date) => date.getTime())
2690
3014
  * )
2691
3015
  * ```
3016
+ *
3017
+ * @category mapping
3018
+ * @since 3.6.0
2692
3019
  */
2693
3020
  <A>(self: DateTime, f: (date: Date) => A): A
2694
3021
  } = Internal.withDate
2695
3022
 
2696
3023
  /**
2697
- * Using the time zone adjusted `Date`, apply a function to the `Date` and
2698
- * return the result.
3024
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
3025
+ * instant and returns the function's result.
3026
+ *
3027
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
3028
+ * callback should receive the time-zone-adjusted wall-clock date.
3029
+ *
3030
+ * **Example** (Using UTC Dates)
2699
3031
  *
2700
- * @since 3.6.0
2701
- * @category mapping
2702
- * @example
2703
3032
  * ```ts
2704
3033
  * import { DateTime } from "effect"
2705
3034
  *
@@ -2708,15 +3037,20 @@ export const withDate: {
2708
3037
  * DateTime.withDateUtc((date) => date.getTime())
2709
3038
  * )
2710
3039
  * ```
3040
+ *
3041
+ * @category mapping
3042
+ * @since 3.6.0
2711
3043
  */
2712
3044
  export const withDateUtc: {
2713
3045
  /**
2714
- * Using the time zone adjusted `Date`, apply a function to the `Date` and
2715
- * return the result.
3046
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
3047
+ * instant and returns the function's result.
3048
+ *
3049
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
3050
+ * callback should receive the time-zone-adjusted wall-clock date.
3051
+ *
3052
+ * **Example** (Using UTC Dates)
2716
3053
  *
2717
- * @since 3.6.0
2718
- * @category mapping
2719
- * @example
2720
3054
  * ```ts
2721
3055
  * import { DateTime } from "effect"
2722
3056
  *
@@ -2725,15 +3059,20 @@ export const withDateUtc: {
2725
3059
  * DateTime.withDateUtc((date) => date.getTime())
2726
3060
  * )
2727
3061
  * ```
3062
+ *
3063
+ * @category mapping
3064
+ * @since 3.6.0
2728
3065
  */
2729
3066
  <A>(f: (date: Date) => A): (self: DateTime) => A
2730
3067
  /**
2731
- * Using the time zone adjusted `Date`, apply a function to the `Date` and
2732
- * return the result.
3068
+ * Applies a function to a JavaScript `Date` representing the `DateTime`'s UTC
3069
+ * instant and returns the function's result.
3070
+ *
3071
+ * This ignores any associated time zone. Use `DateTime.withDate` when the
3072
+ * callback should receive the time-zone-adjusted wall-clock date.
3073
+ *
3074
+ * **Example** (Using UTC Dates)
2733
3075
  *
2734
- * @since 3.6.0
2735
- * @category mapping
2736
- * @example
2737
3076
  * ```ts
2738
3077
  * import { DateTime } from "effect"
2739
3078
  *
@@ -2742,6 +3081,9 @@ export const withDateUtc: {
2742
3081
  * DateTime.withDateUtc((date) => date.getTime())
2743
3082
  * )
2744
3083
  * ```
3084
+ *
3085
+ * @category mapping
3086
+ * @since 3.6.0
2745
3087
  */
2746
3088
  <A>(self: DateTime, f: (date: Date) => A): A
2747
3089
  } = Internal.withDateUtc
@@ -2749,12 +3091,15 @@ export const withDateUtc: {
2749
3091
  /**
2750
3092
  * Pattern match on a `DateTime` to handle `Utc` and `Zoned` cases differently.
2751
3093
  *
2752
- * @example
3094
+ * **Example** (Pattern matching DateTime variants)
3095
+ *
2753
3096
  * ```ts
2754
3097
  * import { DateTime } from "effect"
2755
3098
  *
2756
- * const dt1 = DateTime.nowUnsafe() // Utc
2757
- * const dt2 = DateTime.makeZonedUnsafe(new Date(), { timeZone: "Europe/London" }) // Zoned
3099
+ * const dt1 = DateTime.makeUnsafe("2024-01-01T12:00:00Z") // Utc
3100
+ * const dt2 = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
3101
+ * timeZone: "Europe/London"
3102
+ * }) // Zoned
2758
3103
  *
2759
3104
  * const result1 = DateTime.match(dt1, {
2760
3105
  * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
@@ -2765,6 +3110,9 @@ export const withDateUtc: {
2765
3110
  * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
2766
3111
  * onZoned: (zoned) => `Zoned: ${DateTime.formatIsoZoned(zoned)}`
2767
3112
  * })
3113
+ *
3114
+ * console.log(result1) // "UTC: 2024-01-01T12:00:00.000Z"
3115
+ * console.log(result2) // "Zoned: 2024-06-15T15:30:00.000+01:00[Europe/London]"
2768
3116
  * ```
2769
3117
  *
2770
3118
  * @category mapping
@@ -2774,12 +3122,15 @@ export const match: {
2774
3122
  /**
2775
3123
  * Pattern match on a `DateTime` to handle `Utc` and `Zoned` cases differently.
2776
3124
  *
2777
- * @example
3125
+ * **Example** (Pattern matching DateTime variants)
3126
+ *
2778
3127
  * ```ts
2779
3128
  * import { DateTime } from "effect"
2780
3129
  *
2781
- * const dt1 = DateTime.nowUnsafe() // Utc
2782
- * const dt2 = DateTime.makeZonedUnsafe(new Date(), { timeZone: "Europe/London" }) // Zoned
3130
+ * const dt1 = DateTime.makeUnsafe("2024-01-01T12:00:00Z") // Utc
3131
+ * const dt2 = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
3132
+ * timeZone: "Europe/London"
3133
+ * }) // Zoned
2783
3134
  *
2784
3135
  * const result1 = DateTime.match(dt1, {
2785
3136
  * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
@@ -2790,6 +3141,9 @@ export const match: {
2790
3141
  * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
2791
3142
  * onZoned: (zoned) => `Zoned: ${DateTime.formatIsoZoned(zoned)}`
2792
3143
  * })
3144
+ *
3145
+ * console.log(result1) // "UTC: 2024-01-01T12:00:00.000Z"
3146
+ * console.log(result2) // "Zoned: 2024-06-15T15:30:00.000+01:00[Europe/London]"
2793
3147
  * ```
2794
3148
  *
2795
3149
  * @category mapping
@@ -2804,12 +3158,15 @@ export const match: {
2804
3158
  /**
2805
3159
  * Pattern match on a `DateTime` to handle `Utc` and `Zoned` cases differently.
2806
3160
  *
2807
- * @example
3161
+ * **Example** (Pattern matching DateTime variants)
3162
+ *
2808
3163
  * ```ts
2809
3164
  * import { DateTime } from "effect"
2810
3165
  *
2811
- * const dt1 = DateTime.nowUnsafe() // Utc
2812
- * const dt2 = DateTime.makeZonedUnsafe(new Date(), { timeZone: "Europe/London" }) // Zoned
3166
+ * const dt1 = DateTime.makeUnsafe("2024-01-01T12:00:00Z") // Utc
3167
+ * const dt2 = DateTime.makeZonedUnsafe("2024-06-15T14:30:00Z", {
3168
+ * timeZone: "Europe/London"
3169
+ * }) // Zoned
2813
3170
  *
2814
3171
  * const result1 = DateTime.match(dt1, {
2815
3172
  * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
@@ -2820,6 +3177,9 @@ export const match: {
2820
3177
  * onUtc: (utc) => `UTC: ${DateTime.formatIso(utc)}`,
2821
3178
  * onZoned: (zoned) => `Zoned: ${DateTime.formatIsoZoned(zoned)}`
2822
3179
  * })
3180
+ *
3181
+ * console.log(result1) // "UTC: 2024-01-01T12:00:00.000Z"
3182
+ * console.log(result2) // "Zoned: 2024-06-15T15:30:00.000+01:00[Europe/London]"
2823
3183
  * ```
2824
3184
  *
2825
3185
  * @category mapping
@@ -2841,9 +3201,8 @@ export const match: {
2841
3201
  /**
2842
3202
  * Add the given `Duration` to a `DateTime`.
2843
3203
  *
2844
- * @since 3.6.0
2845
- * @category math
2846
- * @example
3204
+ * **Example** (Adding durations)
3205
+ *
2847
3206
  * ```ts
2848
3207
  * import { DateTime } from "effect"
2849
3208
  *
@@ -2852,6 +3211,9 @@ export const match: {
2852
3211
  * DateTime.addDuration("5 minutes")
2853
3212
  * )
2854
3213
  * ```
3214
+ *
3215
+ * @category math
3216
+ * @since 3.6.0
2855
3217
  */
2856
3218
  export const addDuration: {
2857
3219
  // =============================================================================
@@ -2861,9 +3223,8 @@ export const addDuration: {
2861
3223
  /**
2862
3224
  * Add the given `Duration` to a `DateTime`.
2863
3225
  *
2864
- * @since 3.6.0
2865
- * @category math
2866
- * @example
3226
+ * **Example** (Adding durations)
3227
+ *
2867
3228
  * ```ts
2868
3229
  * import { DateTime } from "effect"
2869
3230
  *
@@ -2872,6 +3233,9 @@ export const addDuration: {
2872
3233
  * DateTime.addDuration("5 minutes")
2873
3234
  * )
2874
3235
  * ```
3236
+ *
3237
+ * @category math
3238
+ * @since 3.6.0
2875
3239
  */
2876
3240
  (duration: Duration.Input): <A extends DateTime>(self: A) => A
2877
3241
  // =============================================================================
@@ -2881,9 +3245,8 @@ export const addDuration: {
2881
3245
  /**
2882
3246
  * Add the given `Duration` to a `DateTime`.
2883
3247
  *
2884
- * @since 3.6.0
2885
- * @category math
2886
- * @example
3248
+ * **Example** (Adding durations)
3249
+ *
2887
3250
  * ```ts
2888
3251
  * import { DateTime } from "effect"
2889
3252
  *
@@ -2892,6 +3255,9 @@ export const addDuration: {
2892
3255
  * DateTime.addDuration("5 minutes")
2893
3256
  * )
2894
3257
  * ```
3258
+ *
3259
+ * @category math
3260
+ * @since 3.6.0
2895
3261
  */
2896
3262
  <A extends DateTime>(self: A, duration: Duration.Input): A
2897
3263
  } = Internal.addDuration
@@ -2899,9 +3265,8 @@ export const addDuration: {
2899
3265
  /**
2900
3266
  * Subtract the given `Duration` from a `DateTime`.
2901
3267
  *
2902
- * @since 3.6.0
2903
- * @category math
2904
- * @example
3268
+ * **Example** (Subtracting durations)
3269
+ *
2905
3270
  * ```ts
2906
3271
  * import { DateTime } from "effect"
2907
3272
  *
@@ -2910,14 +3275,16 @@ export const addDuration: {
2910
3275
  * DateTime.subtractDuration("5 minutes")
2911
3276
  * )
2912
3277
  * ```
3278
+ *
3279
+ * @category math
3280
+ * @since 3.6.0
2913
3281
  */
2914
3282
  export const subtractDuration: {
2915
3283
  /**
2916
3284
  * Subtract the given `Duration` from a `DateTime`.
2917
3285
  *
2918
- * @since 3.6.0
2919
- * @category math
2920
- * @example
3286
+ * **Example** (Subtracting durations)
3287
+ *
2921
3288
  * ```ts
2922
3289
  * import { DateTime } from "effect"
2923
3290
  *
@@ -2926,14 +3293,16 @@ export const subtractDuration: {
2926
3293
  * DateTime.subtractDuration("5 minutes")
2927
3294
  * )
2928
3295
  * ```
3296
+ *
3297
+ * @category math
3298
+ * @since 3.6.0
2929
3299
  */
2930
3300
  (duration: Duration.Input): <A extends DateTime>(self: A) => A
2931
3301
  /**
2932
3302
  * Subtract the given `Duration` from a `DateTime`.
2933
3303
  *
2934
- * @since 3.6.0
2935
- * @category math
2936
- * @example
3304
+ * **Example** (Subtracting durations)
3305
+ *
2937
3306
  * ```ts
2938
3307
  * import { DateTime } from "effect"
2939
3308
  *
@@ -2942,6 +3311,9 @@ export const subtractDuration: {
2942
3311
  * DateTime.subtractDuration("5 minutes")
2943
3312
  * )
2944
3313
  * ```
3314
+ *
3315
+ * @category math
3316
+ * @since 3.6.0
2945
3317
  */
2946
3318
  <A extends DateTime>(self: A, duration: Duration.Input): A
2947
3319
  } = Internal.subtractDuration
@@ -2952,9 +3324,8 @@ export const subtractDuration: {
2952
3324
  * The time zone is taken into account when adding days, weeks, months, and
2953
3325
  * years.
2954
3326
  *
2955
- * @since 3.6.0
2956
- * @category math
2957
- * @example
3327
+ * **Example** (Adding date and time parts)
3328
+ *
2958
3329
  * ```ts
2959
3330
  * import { DateTime } from "effect"
2960
3331
  *
@@ -2963,6 +3334,9 @@ export const subtractDuration: {
2963
3334
  * DateTime.add({ minutes: 5 })
2964
3335
  * )
2965
3336
  * ```
3337
+ *
3338
+ * @category math
3339
+ * @since 3.6.0
2966
3340
  */
2967
3341
  export const add: {
2968
3342
  /**
@@ -2971,9 +3345,8 @@ export const add: {
2971
3345
  * The time zone is taken into account when adding days, weeks, months, and
2972
3346
  * years.
2973
3347
  *
2974
- * @since 3.6.0
2975
- * @category math
2976
- * @example
3348
+ * **Example** (Adding date and time parts)
3349
+ *
2977
3350
  * ```ts
2978
3351
  * import { DateTime } from "effect"
2979
3352
  *
@@ -2982,6 +3355,9 @@ export const add: {
2982
3355
  * DateTime.add({ minutes: 5 })
2983
3356
  * )
2984
3357
  * ```
3358
+ *
3359
+ * @category math
3360
+ * @since 3.6.0
2985
3361
  */
2986
3362
  (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => A
2987
3363
  /**
@@ -2990,9 +3366,8 @@ export const add: {
2990
3366
  * The time zone is taken into account when adding days, weeks, months, and
2991
3367
  * years.
2992
3368
  *
2993
- * @since 3.6.0
2994
- * @category math
2995
- * @example
3369
+ * **Example** (Adding date and time parts)
3370
+ *
2996
3371
  * ```ts
2997
3372
  * import { DateTime } from "effect"
2998
3373
  *
@@ -3001,6 +3376,9 @@ export const add: {
3001
3376
  * DateTime.add({ minutes: 5 })
3002
3377
  * )
3003
3378
  * ```
3379
+ *
3380
+ * @category math
3381
+ * @since 3.6.0
3004
3382
  */
3005
3383
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): A
3006
3384
  } = Internal.add
@@ -3008,9 +3386,8 @@ export const add: {
3008
3386
  /**
3009
3387
  * Subtract the given `amount` of `unit`'s from a `DateTime`.
3010
3388
  *
3011
- * @since 3.6.0
3012
- * @category math
3013
- * @example
3389
+ * **Example** (Subtracting date and time parts)
3390
+ *
3014
3391
  * ```ts
3015
3392
  * import { DateTime } from "effect"
3016
3393
  *
@@ -3019,14 +3396,16 @@ export const add: {
3019
3396
  * DateTime.subtract({ minutes: 5 })
3020
3397
  * )
3021
3398
  * ```
3399
+ *
3400
+ * @category math
3401
+ * @since 3.6.0
3022
3402
  */
3023
3403
  export const subtract: {
3024
3404
  /**
3025
3405
  * Subtract the given `amount` of `unit`'s from a `DateTime`.
3026
3406
  *
3027
- * @since 3.6.0
3028
- * @category math
3029
- * @example
3407
+ * **Example** (Subtracting date and time parts)
3408
+ *
3030
3409
  * ```ts
3031
3410
  * import { DateTime } from "effect"
3032
3411
  *
@@ -3035,14 +3414,16 @@ export const subtract: {
3035
3414
  * DateTime.subtract({ minutes: 5 })
3036
3415
  * )
3037
3416
  * ```
3417
+ *
3418
+ * @category math
3419
+ * @since 3.6.0
3038
3420
  */
3039
3421
  (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => A
3040
3422
  /**
3041
3423
  * Subtract the given `amount` of `unit`'s from a `DateTime`.
3042
3424
  *
3043
- * @since 3.6.0
3044
- * @category math
3045
- * @example
3425
+ * **Example** (Subtracting date and time parts)
3426
+ *
3046
3427
  * ```ts
3047
3428
  * import { DateTime } from "effect"
3048
3429
  *
@@ -3051,6 +3432,9 @@ export const subtract: {
3051
3432
  * DateTime.subtract({ minutes: 5 })
3052
3433
  * )
3053
3434
  * ```
3435
+ *
3436
+ * @category math
3437
+ * @since 3.6.0
3054
3438
  */
3055
3439
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): A
3056
3440
  } = Internal.subtract
@@ -3061,9 +3445,8 @@ export const subtract: {
3061
3445
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3062
3446
  * day of the week that the week starts on. The default is 0 (Sunday).
3063
3447
  *
3064
- * @since 3.6.0
3065
- * @category math
3066
- * @example
3448
+ * **Example** (Rounding down DateTime values)
3449
+ *
3067
3450
  * ```ts
3068
3451
  * import { DateTime } from "effect"
3069
3452
  *
@@ -3073,6 +3456,9 @@ export const subtract: {
3073
3456
  * DateTime.formatIso
3074
3457
  * )
3075
3458
  * ```
3459
+ *
3460
+ * @category math
3461
+ * @since 3.6.0
3076
3462
  */
3077
3463
  export const startOf: {
3078
3464
  /**
@@ -3081,9 +3467,8 @@ export const startOf: {
3081
3467
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3082
3468
  * day of the week that the week starts on. The default is 0 (Sunday).
3083
3469
  *
3084
- * @since 3.6.0
3085
- * @category math
3086
- * @example
3470
+ * **Example** (Rounding down DateTime values)
3471
+ *
3087
3472
  * ```ts
3088
3473
  * import { DateTime } from "effect"
3089
3474
  *
@@ -3093,6 +3478,9 @@ export const startOf: {
3093
3478
  * DateTime.formatIso
3094
3479
  * )
3095
3480
  * ```
3481
+ *
3482
+ * @category math
3483
+ * @since 3.6.0
3096
3484
  */
3097
3485
  (
3098
3486
  part: DateTime.UnitSingular,
@@ -3104,9 +3492,8 @@ export const startOf: {
3104
3492
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3105
3493
  * day of the week that the week starts on. The default is 0 (Sunday).
3106
3494
  *
3107
- * @since 3.6.0
3108
- * @category math
3109
- * @example
3495
+ * **Example** (Rounding down DateTime values)
3496
+ *
3110
3497
  * ```ts
3111
3498
  * import { DateTime } from "effect"
3112
3499
  *
@@ -3116,6 +3503,9 @@ export const startOf: {
3116
3503
  * DateTime.formatIso
3117
3504
  * )
3118
3505
  * ```
3506
+ *
3507
+ * @category math
3508
+ * @since 3.6.0
3119
3509
  */
3120
3510
  <A extends DateTime>(
3121
3511
  self: A,
@@ -3130,9 +3520,8 @@ export const startOf: {
3130
3520
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3131
3521
  * day of the week that the week starts on. The default is 0 (Sunday).
3132
3522
  *
3133
- * @since 3.6.0
3134
- * @category math
3135
- * @example
3523
+ * **Example** (Rounding up DateTime values)
3524
+ *
3136
3525
  * ```ts
3137
3526
  * import { DateTime } from "effect"
3138
3527
  *
@@ -3142,6 +3531,9 @@ export const startOf: {
3142
3531
  * DateTime.formatIso
3143
3532
  * )
3144
3533
  * ```
3534
+ *
3535
+ * @category math
3536
+ * @since 3.6.0
3145
3537
  */
3146
3538
  export const endOf: {
3147
3539
  /**
@@ -3150,9 +3542,8 @@ export const endOf: {
3150
3542
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3151
3543
  * day of the week that the week starts on. The default is 0 (Sunday).
3152
3544
  *
3153
- * @since 3.6.0
3154
- * @category math
3155
- * @example
3545
+ * **Example** (Rounding up DateTime values)
3546
+ *
3156
3547
  * ```ts
3157
3548
  * import { DateTime } from "effect"
3158
3549
  *
@@ -3162,6 +3553,9 @@ export const endOf: {
3162
3553
  * DateTime.formatIso
3163
3554
  * )
3164
3555
  * ```
3556
+ *
3557
+ * @category math
3558
+ * @since 3.6.0
3165
3559
  */
3166
3560
  (
3167
3561
  part: DateTime.UnitSingular,
@@ -3173,9 +3567,8 @@ export const endOf: {
3173
3567
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3174
3568
  * day of the week that the week starts on. The default is 0 (Sunday).
3175
3569
  *
3176
- * @since 3.6.0
3177
- * @category math
3178
- * @example
3570
+ * **Example** (Rounding up DateTime values)
3571
+ *
3179
3572
  * ```ts
3180
3573
  * import { DateTime } from "effect"
3181
3574
  *
@@ -3185,6 +3578,9 @@ export const endOf: {
3185
3578
  * DateTime.formatIso
3186
3579
  * )
3187
3580
  * ```
3581
+ *
3582
+ * @category math
3583
+ * @since 3.6.0
3188
3584
  */
3189
3585
  <A extends DateTime>(
3190
3586
  self: A,
@@ -3199,9 +3595,8 @@ export const endOf: {
3199
3595
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3200
3596
  * day of the week that the week starts on. The default is 0 (Sunday).
3201
3597
  *
3202
- * @since 3.6.0
3203
- * @category math
3204
- * @example
3598
+ * **Example** (Rounding DateTime values to nearest units)
3599
+ *
3205
3600
  * ```ts
3206
3601
  * import { DateTime } from "effect"
3207
3602
  *
@@ -3211,6 +3606,9 @@ export const endOf: {
3211
3606
  * DateTime.formatIso
3212
3607
  * )
3213
3608
  * ```
3609
+ *
3610
+ * @category math
3611
+ * @since 3.6.0
3214
3612
  */
3215
3613
  export const nearest: {
3216
3614
  /**
@@ -3219,9 +3617,8 @@ export const nearest: {
3219
3617
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3220
3618
  * day of the week that the week starts on. The default is 0 (Sunday).
3221
3619
  *
3222
- * @since 3.6.0
3223
- * @category math
3224
- * @example
3620
+ * **Example** (Rounding DateTime values to nearest units)
3621
+ *
3225
3622
  * ```ts
3226
3623
  * import { DateTime } from "effect"
3227
3624
  *
@@ -3231,6 +3628,9 @@ export const nearest: {
3231
3628
  * DateTime.formatIso
3232
3629
  * )
3233
3630
  * ```
3631
+ *
3632
+ * @category math
3633
+ * @since 3.6.0
3234
3634
  */
3235
3635
  (
3236
3636
  part: DateTime.UnitSingular,
@@ -3242,9 +3642,8 @@ export const nearest: {
3242
3642
  * If the part is `week`, the `weekStartsOn` option can be used to specify the
3243
3643
  * day of the week that the week starts on. The default is 0 (Sunday).
3244
3644
  *
3245
- * @since 3.6.0
3246
- * @category math
3247
- * @example
3645
+ * **Example** (Rounding DateTime values to nearest units)
3646
+ *
3248
3647
  * ```ts
3249
3648
  * import { DateTime } from "effect"
3250
3649
  *
@@ -3254,6 +3653,9 @@ export const nearest: {
3254
3653
  * DateTime.formatIso
3255
3654
  * )
3256
3655
  * ```
3656
+ *
3657
+ * @category math
3658
+ * @since 3.6.0
3257
3659
  */
3258
3660
  <A extends DateTime>(
3259
3661
  self: A,
@@ -3267,14 +3669,17 @@ export const nearest: {
3267
3669
  // =============================================================================
3268
3670
 
3269
3671
  /**
3270
- * Format a `DateTime` as a string using the `DateTimeFormat` API.
3672
+ * Formats a `DateTime` with `Intl.DateTimeFormat`.
3673
+ *
3674
+ * Unless a `timeZone` option is supplied, UTC values are formatted in UTC and
3675
+ * zoned values are formatted in their named zone or fixed-offset zone.
3271
3676
  *
3272
- * The `timeZone` option is set to the offset of the time zone.
3677
+ * Fixed-offset zones depend on runtime support for offset `timeZone`
3678
+ * identifiers. When unsupported, formatting falls back to UTC with the
3679
+ * `DateTime` adjusted to the offset.
3273
3680
  *
3274
- * Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
3275
- * "UTC" and use the adjusted `Date`.
3681
+ * **Example** (Formatting DateTime values with Intl options)
3276
3682
  *
3277
- * @example
3278
3683
  * ```ts
3279
3684
  * import { DateTime } from "effect"
3280
3685
  *
@@ -3291,8 +3696,8 @@ export const nearest: {
3291
3696
  * console.log(formatted) // "Saturday, June 15, 2024 at 3:30 PM"
3292
3697
  * ```
3293
3698
  *
3294
- * @since 3.6.0
3295
3699
  * @category formatting
3700
+ * @since 3.6.0
3296
3701
  */
3297
3702
  export const format: {
3298
3703
  // =============================================================================
@@ -3300,14 +3705,17 @@ export const format: {
3300
3705
  // =============================================================================
3301
3706
 
3302
3707
  /**
3303
- * Format a `DateTime` as a string using the `DateTimeFormat` API.
3708
+ * Formats a `DateTime` with `Intl.DateTimeFormat`.
3709
+ *
3710
+ * Unless a `timeZone` option is supplied, UTC values are formatted in UTC and
3711
+ * zoned values are formatted in their named zone or fixed-offset zone.
3304
3712
  *
3305
- * The `timeZone` option is set to the offset of the time zone.
3713
+ * Fixed-offset zones depend on runtime support for offset `timeZone`
3714
+ * identifiers. When unsupported, formatting falls back to UTC with the
3715
+ * `DateTime` adjusted to the offset.
3306
3716
  *
3307
- * Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
3308
- * "UTC" and use the adjusted `Date`.
3717
+ * **Example** (Formatting DateTime values with Intl options)
3309
3718
  *
3310
- * @example
3311
3719
  * ```ts
3312
3720
  * import { DateTime } from "effect"
3313
3721
  *
@@ -3324,8 +3732,8 @@ export const format: {
3324
3732
  * console.log(formatted) // "Saturday, June 15, 2024 at 3:30 PM"
3325
3733
  * ```
3326
3734
  *
3327
- * @since 3.6.0
3328
3735
  * @category formatting
3736
+ * @since 3.6.0
3329
3737
  */
3330
3738
  (
3331
3739
  options?:
@@ -3339,14 +3747,17 @@ export const format: {
3339
3747
  // =============================================================================
3340
3748
 
3341
3749
  /**
3342
- * Format a `DateTime` as a string using the `DateTimeFormat` API.
3750
+ * Formats a `DateTime` with `Intl.DateTimeFormat`.
3751
+ *
3752
+ * Unless a `timeZone` option is supplied, UTC values are formatted in UTC and
3753
+ * zoned values are formatted in their named zone or fixed-offset zone.
3343
3754
  *
3344
- * The `timeZone` option is set to the offset of the time zone.
3755
+ * Fixed-offset zones depend on runtime support for offset `timeZone`
3756
+ * identifiers. When unsupported, formatting falls back to UTC with the
3757
+ * `DateTime` adjusted to the offset.
3345
3758
  *
3346
- * Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
3347
- * "UTC" and use the adjusted `Date`.
3759
+ * **Example** (Formatting DateTime values with Intl options)
3348
3760
  *
3349
- * @example
3350
3761
  * ```ts
3351
3762
  * import { DateTime } from "effect"
3352
3763
  *
@@ -3363,8 +3774,8 @@ export const format: {
3363
3774
  * console.log(formatted) // "Saturday, June 15, 2024 at 3:30 PM"
3364
3775
  * ```
3365
3776
  *
3366
- * @since 3.6.0
3367
3777
  * @category formatting
3778
+ * @since 3.6.0
3368
3779
  */
3369
3780
  (
3370
3781
  self: DateTime,
@@ -3381,7 +3792,8 @@ export const format: {
3381
3792
  *
3382
3793
  * It will use the system's local time zone & locale.
3383
3794
  *
3384
- * @example
3795
+ * **Example** (Formatting DateTime values locally)
3796
+ *
3385
3797
  * ```ts
3386
3798
  * import { DateTime } from "effect"
3387
3799
  *
@@ -3399,8 +3811,8 @@ export const format: {
3399
3811
  * console.log(local) // Output depends on system locale/timezone
3400
3812
  * ```
3401
3813
  *
3402
- * @since 3.6.0
3403
3814
  * @category formatting
3815
+ * @since 3.6.0
3404
3816
  */
3405
3817
  export const formatLocal: {
3406
3818
  /**
@@ -3408,7 +3820,8 @@ export const formatLocal: {
3408
3820
  *
3409
3821
  * It will use the system's local time zone & locale.
3410
3822
  *
3411
- * @example
3823
+ * **Example** (Formatting DateTime values locally)
3824
+ *
3412
3825
  * ```ts
3413
3826
  * import { DateTime } from "effect"
3414
3827
  *
@@ -3426,8 +3839,8 @@ export const formatLocal: {
3426
3839
  * console.log(local) // Output depends on system locale/timezone
3427
3840
  * ```
3428
3841
  *
3429
- * @since 3.6.0
3430
3842
  * @category formatting
3843
+ * @since 3.6.0
3431
3844
  */
3432
3845
  (
3433
3846
  options?:
@@ -3441,7 +3854,8 @@ export const formatLocal: {
3441
3854
  *
3442
3855
  * It will use the system's local time zone & locale.
3443
3856
  *
3444
- * @example
3857
+ * **Example** (Formatting DateTime values locally)
3858
+ *
3445
3859
  * ```ts
3446
3860
  * import { DateTime } from "effect"
3447
3861
  *
@@ -3459,8 +3873,8 @@ export const formatLocal: {
3459
3873
  * console.log(local) // Output depends on system locale/timezone
3460
3874
  * ```
3461
3875
  *
3462
- * @since 3.6.0
3463
3876
  * @category formatting
3877
+ * @since 3.6.0
3464
3878
  */
3465
3879
  (
3466
3880
  self: DateTime,
@@ -3477,7 +3891,8 @@ export const formatLocal: {
3477
3891
  *
3478
3892
  * This forces the time zone to be UTC.
3479
3893
  *
3480
- * @example
3894
+ * **Example** (Formatting DateTime values in UTC)
3895
+ *
3481
3896
  * ```ts
3482
3897
  * import { DateTime } from "effect"
3483
3898
  *
@@ -3498,8 +3913,8 @@ export const formatLocal: {
3498
3913
  * console.log(utcFormatted) // "06/15/2024, 02:30 PM UTC"
3499
3914
  * ```
3500
3915
  *
3501
- * @since 3.6.0
3502
3916
  * @category formatting
3917
+ * @since 3.6.0
3503
3918
  */
3504
3919
  export const formatUtc: {
3505
3920
  /**
@@ -3507,7 +3922,8 @@ export const formatUtc: {
3507
3922
  *
3508
3923
  * This forces the time zone to be UTC.
3509
3924
  *
3510
- * @example
3925
+ * **Example** (Formatting DateTime values in UTC)
3926
+ *
3511
3927
  * ```ts
3512
3928
  * import { DateTime } from "effect"
3513
3929
  *
@@ -3528,8 +3944,8 @@ export const formatUtc: {
3528
3944
  * console.log(utcFormatted) // "06/15/2024, 02:30 PM UTC"
3529
3945
  * ```
3530
3946
  *
3531
- * @since 3.6.0
3532
3947
  * @category formatting
3948
+ * @since 3.6.0
3533
3949
  */
3534
3950
  (
3535
3951
  options?:
@@ -3543,7 +3959,8 @@ export const formatUtc: {
3543
3959
  *
3544
3960
  * This forces the time zone to be UTC.
3545
3961
  *
3546
- * @example
3962
+ * **Example** (Formatting DateTime values in UTC)
3963
+ *
3547
3964
  * ```ts
3548
3965
  * import { DateTime } from "effect"
3549
3966
  *
@@ -3564,8 +3981,8 @@ export const formatUtc: {
3564
3981
  * console.log(utcFormatted) // "06/15/2024, 02:30 PM UTC"
3565
3982
  * ```
3566
3983
  *
3567
- * @since 3.6.0
3568
3984
  * @category formatting
3985
+ * @since 3.6.0
3569
3986
  */
3570
3987
  (
3571
3988
  self: DateTime,
@@ -3580,7 +3997,8 @@ export const formatUtc: {
3580
3997
  /**
3581
3998
  * Format a `DateTime` as a string using the `DateTimeFormat` API.
3582
3999
  *
3583
- * @example
4000
+ * **Example** (Formatting DateTime values with custom formatters)
4001
+ *
3584
4002
  * ```ts
3585
4003
  * import { DateTime } from "effect"
3586
4004
  *
@@ -3600,14 +4018,15 @@ export const formatUtc: {
3600
4018
  * console.log(formatted) // "15. Juni 2024, 16:30"
3601
4019
  * ```
3602
4020
  *
3603
- * @since 3.6.0
3604
4021
  * @category formatting
4022
+ * @since 3.6.0
3605
4023
  */
3606
4024
  export const formatIntl: {
3607
4025
  /**
3608
4026
  * Format a `DateTime` as a string using the `DateTimeFormat` API.
3609
4027
  *
3610
- * @example
4028
+ * **Example** (Formatting DateTime values with custom formatters)
4029
+ *
3611
4030
  * ```ts
3612
4031
  * import { DateTime } from "effect"
3613
4032
  *
@@ -3627,14 +4046,15 @@ export const formatIntl: {
3627
4046
  * console.log(formatted) // "15. Juni 2024, 16:30"
3628
4047
  * ```
3629
4048
  *
3630
- * @since 3.6.0
3631
4049
  * @category formatting
4050
+ * @since 3.6.0
3632
4051
  */
3633
4052
  (format: Intl.DateTimeFormat): (self: DateTime) => string
3634
4053
  /**
3635
4054
  * Format a `DateTime` as a string using the `DateTimeFormat` API.
3636
4055
  *
3637
- * @example
4056
+ * **Example** (Formatting DateTime values with custom formatters)
4057
+ *
3638
4058
  * ```ts
3639
4059
  * import { DateTime } from "effect"
3640
4060
  *
@@ -3654,8 +4074,8 @@ export const formatIntl: {
3654
4074
  * console.log(formatted) // "15. Juni 2024, 16:30"
3655
4075
  * ```
3656
4076
  *
3657
- * @since 3.6.0
3658
4077
  * @category formatting
4078
+ * @since 3.6.0
3659
4079
  */
3660
4080
  (self: DateTime, format: Intl.DateTimeFormat): string
3661
4081
  } = Internal.formatIntl
@@ -3665,7 +4085,8 @@ export const formatIntl: {
3665
4085
  *
3666
4086
  * Always returns the UTC representation in ISO 8601 format, ignoring any time zone.
3667
4087
  *
3668
- * @example
4088
+ * **Example** (Formatting DateTime values as ISO strings)
4089
+ *
3669
4090
  * ```ts
3670
4091
  * import { DateTime } from "effect"
3671
4092
  *
@@ -3688,7 +4109,8 @@ export const formatIso: (self: DateTime) => string = Internal.formatIso
3688
4109
  *
3689
4110
  * Returns only the date part (YYYY-MM-DD) after applying time zone adjustments.
3690
4111
  *
3691
- * @example
4112
+ * **Example** (Formatting DateTime values as ISO dates)
4113
+ *
3692
4114
  * ```ts
3693
4115
  * import { DateTime } from "effect"
3694
4116
  *
@@ -3711,7 +4133,8 @@ export const formatIsoDate: (self: DateTime) => string = Internal.formatIsoDate
3711
4133
  *
3712
4134
  * Returns only the date part (YYYY-MM-DD) in UTC, ignoring any time zone.
3713
4135
  *
3714
- * @example
4136
+ * **Example** (Formatting DateTime values as UTC ISO dates)
4137
+ *
3715
4138
  * ```ts
3716
4139
  * import { DateTime } from "effect"
3717
4140
  *
@@ -3735,7 +4158,8 @@ export const formatIsoDateUtc: (self: DateTime) => string = Internal.formatIsoDa
3735
4158
  * For `DateTime.Utc`, returns the same as `formatIso`. For `DateTime.Zoned`,
3736
4159
  * includes the time zone offset in the format.
3737
4160
  *
3738
- * @example
4161
+ * **Example** (Formatting DateTime values with offsets)
4162
+ *
3739
4163
  * ```ts
3740
4164
  * import { DateTime } from "effect"
3741
4165
  *
@@ -3758,7 +4182,8 @@ export const formatIsoOffset: (self: DateTime) => string = Internal.formatIsoOff
3758
4182
  *
3759
4183
  * It uses the format: `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]`.
3760
4184
  *
3761
- * @example
4185
+ * **Example** (Formatting zoned DateTime values)
4186
+ *
3762
4187
  * ```ts
3763
4188
  * import { DateTime } from "effect"
3764
4189
  *
@@ -3777,8 +4202,8 @@ export const formatIsoOffset: (self: DateTime) => string = Internal.formatIsoOff
3777
4202
  * console.log(offsetFormatted) // "2024-06-15T17:30:45.123+03:00"
3778
4203
  * ```
3779
4204
  *
3780
- * @since 3.6.0
3781
4205
  * @category formatting
4206
+ * @since 3.6.0
3782
4207
  */
3783
4208
  export const formatIsoZoned: (self: Zoned) => string = Internal.formatIsoZoned
3784
4209
 
@@ -3787,7 +4212,8 @@ export const formatIsoZoned: (self: Zoned) => string = Internal.formatIsoZoned
3787
4212
  *
3788
4213
  * This layer provides the `CurrentTimeZone` service with the specified time zone.
3789
4214
  *
3790
- * @example
4215
+ * **Example** (Providing current time zone layers)
4216
+ *
3791
4217
  * ```ts
3792
4218
  * import { DateTime, Effect } from "effect"
3793
4219
  *
@@ -3815,7 +4241,8 @@ export const layerCurrentZone: (resource: NoInfer<TimeZone>) => Layer.Layer<Curr
3815
4241
  *
3816
4242
  * This layer provides the `CurrentTimeZone` service with a fixed offset time zone.
3817
4243
  *
3818
- * @example
4244
+ * **Example** (Providing fixed-offset time zone layers)
4245
+ *
3819
4246
  * ```ts
3820
4247
  * import { DateTime, Effect } from "effect"
3821
4248
  *
@@ -3842,7 +4269,8 @@ export const layerCurrentZoneOffset = (offset: number): Layer.Layer<CurrentTimeZ
3842
4269
  * This layer provides the `CurrentTimeZone` service with a named time zone.
3843
4270
  * If the time zone identifier is invalid, the layer will fail.
3844
4271
  *
3845
- * @example
4272
+ * **Example** (Providing named time zone layers)
4273
+ *
3846
4274
  * ```ts
3847
4275
  * import { DateTime, Effect } from "effect"
3848
4276
  *
@@ -3870,7 +4298,8 @@ export const layerCurrentZoneNamed: (zoneId: string) => Layer.Layer<
3870
4298
  * This layer provides the `CurrentTimeZone` service using the system's
3871
4299
  * configured local time zone.
3872
4300
  *
3873
- * @example
4301
+ * **Example** (Providing local time zone layers)
4302
+ *
3874
4303
  * ```ts
3875
4304
  * import { DateTime, Effect } from "effect"
3876
4305
  *