effect 3.8.4 → 3.9.0

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 (757) hide show
  1. package/dist/cjs/Array.js +24 -3
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/BigDecimal.js +5 -3
  4. package/dist/cjs/BigDecimal.js.map +1 -1
  5. package/dist/cjs/BigInt.js.map +1 -1
  6. package/dist/cjs/Boolean.js.map +1 -1
  7. package/dist/cjs/Cause.js.map +1 -1
  8. package/dist/cjs/Channel.js.map +1 -1
  9. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  10. package/dist/cjs/Chunk.js +3 -0
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/Config.js.map +1 -1
  13. package/dist/cjs/ConfigError.js.map +1 -1
  14. package/dist/cjs/ConfigProvider.js.map +1 -1
  15. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
  16. package/dist/cjs/Console.js.map +1 -1
  17. package/dist/cjs/Context.js.map +1 -1
  18. package/dist/cjs/Cron.js +3 -0
  19. package/dist/cjs/Cron.js.map +1 -1
  20. package/dist/cjs/Data.js.map +1 -1
  21. package/dist/cjs/DateTime.js +6 -0
  22. package/dist/cjs/DateTime.js.map +1 -1
  23. package/dist/cjs/Deferred.js.map +1 -1
  24. package/dist/cjs/Differ.js.map +1 -1
  25. package/dist/cjs/Duration.js +3 -0
  26. package/dist/cjs/Duration.js.map +1 -1
  27. package/dist/cjs/Effect.js +122 -35
  28. package/dist/cjs/Effect.js.map +1 -1
  29. package/dist/cjs/Either.js.map +1 -1
  30. package/dist/cjs/Equivalence.js.map +1 -1
  31. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  32. package/dist/cjs/Exit.js.map +1 -1
  33. package/dist/cjs/Fiber.js.map +1 -1
  34. package/dist/cjs/FiberHandle.js +3 -0
  35. package/dist/cjs/FiberHandle.js.map +1 -1
  36. package/dist/cjs/FiberId.js.map +1 -1
  37. package/dist/cjs/FiberMap.js +3 -0
  38. package/dist/cjs/FiberMap.js.map +1 -1
  39. package/dist/cjs/FiberRef.js.map +1 -1
  40. package/dist/cjs/FiberRefs.js.map +1 -1
  41. package/dist/cjs/FiberRefsPatch.js.map +1 -1
  42. package/dist/cjs/FiberSet.js +3 -0
  43. package/dist/cjs/FiberSet.js.map +1 -1
  44. package/dist/cjs/Function.js.map +1 -1
  45. package/dist/cjs/GroupBy.js.map +1 -1
  46. package/dist/cjs/Hash.js.map +1 -1
  47. package/dist/cjs/HashMap.js.map +1 -1
  48. package/dist/cjs/HashSet.js.map +1 -1
  49. package/dist/cjs/Inspectable.js +15 -1
  50. package/dist/cjs/Inspectable.js.map +1 -1
  51. package/dist/cjs/Iterable.js.map +1 -1
  52. package/dist/cjs/KeyedPool.js.map +1 -1
  53. package/dist/cjs/Layer.js.map +1 -1
  54. package/dist/cjs/List.js +6 -0
  55. package/dist/cjs/List.js.map +1 -1
  56. package/dist/cjs/LogLevel.js.map +1 -1
  57. package/dist/cjs/Logger.js.map +1 -1
  58. package/dist/cjs/Mailbox.js.map +1 -1
  59. package/dist/cjs/ManagedRuntime.js +16 -1
  60. package/dist/cjs/ManagedRuntime.js.map +1 -1
  61. package/dist/cjs/MergeDecision.js.map +1 -1
  62. package/dist/cjs/MergeState.js.map +1 -1
  63. package/dist/cjs/MergeStrategy.js.map +1 -1
  64. package/dist/cjs/Metric.js.map +1 -1
  65. package/dist/cjs/MetricHook.js.map +1 -1
  66. package/dist/cjs/MetricKey.js.map +1 -1
  67. package/dist/cjs/MetricPolling.js.map +1 -1
  68. package/dist/cjs/MetricState.js.map +1 -1
  69. package/dist/cjs/Micro.js +6 -0
  70. package/dist/cjs/Micro.js.map +1 -1
  71. package/dist/cjs/MutableHashMap.js +3 -0
  72. package/dist/cjs/MutableHashMap.js.map +1 -1
  73. package/dist/cjs/MutableHashSet.js +3 -0
  74. package/dist/cjs/MutableHashSet.js.map +1 -1
  75. package/dist/cjs/MutableList.js +3 -0
  76. package/dist/cjs/MutableList.js.map +1 -1
  77. package/dist/cjs/MutableQueue.js +3 -0
  78. package/dist/cjs/MutableQueue.js.map +1 -1
  79. package/dist/cjs/MutableRef.js +3 -0
  80. package/dist/cjs/MutableRef.js.map +1 -1
  81. package/dist/cjs/Number.js.map +1 -1
  82. package/dist/cjs/Option.js.map +1 -1
  83. package/dist/cjs/Order.js.map +1 -1
  84. package/dist/cjs/Ordering.js.map +1 -1
  85. package/dist/cjs/Pipeable.js.map +1 -1
  86. package/dist/cjs/Pool.js.map +1 -1
  87. package/dist/cjs/Predicate.js +18 -2
  88. package/dist/cjs/Predicate.js.map +1 -1
  89. package/dist/cjs/PubSub.js.map +1 -1
  90. package/dist/cjs/Queue.js.map +1 -1
  91. package/dist/cjs/RcMap.js.map +1 -1
  92. package/dist/cjs/Readable.js.map +1 -1
  93. package/dist/cjs/Record.js.map +1 -1
  94. package/dist/cjs/RedBlackTree.js.map +1 -1
  95. package/dist/cjs/Ref.js.map +1 -1
  96. package/dist/cjs/RegExp.js +20 -1
  97. package/dist/cjs/RegExp.js.map +1 -1
  98. package/dist/cjs/Request.js.map +1 -1
  99. package/dist/cjs/RequestResolver.js.map +1 -1
  100. package/dist/cjs/Resource.js.map +1 -1
  101. package/dist/cjs/Runtime.js.map +1 -1
  102. package/dist/cjs/RuntimeFlags.js.map +1 -1
  103. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
  104. package/dist/cjs/STM.js.map +1 -1
  105. package/dist/cjs/Schedule.js.map +1 -1
  106. package/dist/cjs/ScheduleInterval.js.map +1 -1
  107. package/dist/cjs/ScheduleIntervals.js.map +1 -1
  108. package/dist/cjs/Scheduler.js.map +1 -1
  109. package/dist/cjs/Scope.js.map +1 -1
  110. package/dist/cjs/ScopedRef.js.map +1 -1
  111. package/dist/cjs/Sink.js.map +1 -1
  112. package/dist/cjs/SortedMap.js +3 -0
  113. package/dist/cjs/SortedMap.js.map +1 -1
  114. package/dist/cjs/SortedSet.js +3 -0
  115. package/dist/cjs/SortedSet.js.map +1 -1
  116. package/dist/cjs/Stream.js +17 -3
  117. package/dist/cjs/Stream.js.map +1 -1
  118. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  119. package/dist/cjs/String.js.map +1 -1
  120. package/dist/cjs/Struct.js.map +1 -1
  121. package/dist/cjs/Subscribable.js.map +1 -1
  122. package/dist/cjs/SubscriptionRef.js.map +1 -1
  123. package/dist/cjs/SynchronizedRef.js.map +1 -1
  124. package/dist/cjs/TArray.js.map +1 -1
  125. package/dist/cjs/TDeferred.js.map +1 -1
  126. package/dist/cjs/TMap.js.map +1 -1
  127. package/dist/cjs/TPriorityQueue.js.map +1 -1
  128. package/dist/cjs/TPubSub.js.map +1 -1
  129. package/dist/cjs/TQueue.js.map +1 -1
  130. package/dist/cjs/TReentrantLock.js.map +1 -1
  131. package/dist/cjs/TRef.js.map +1 -1
  132. package/dist/cjs/TSemaphore.js.map +1 -1
  133. package/dist/cjs/TSet.js.map +1 -1
  134. package/dist/cjs/Take.js.map +1 -1
  135. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  136. package/dist/cjs/TestClock.js.map +1 -1
  137. package/dist/cjs/TestServices.js.map +1 -1
  138. package/dist/cjs/Trie.js.map +1 -1
  139. package/dist/cjs/Tuple.js +21 -2
  140. package/dist/cjs/Tuple.js.map +1 -1
  141. package/dist/cjs/Unify.js.map +1 -1
  142. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  143. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  144. package/dist/cjs/Utils.js +1 -14
  145. package/dist/cjs/Utils.js.map +1 -1
  146. package/dist/cjs/internal/cause.js +3 -0
  147. package/dist/cjs/internal/cause.js.map +1 -1
  148. package/dist/cjs/internal/context.js +6 -1
  149. package/dist/cjs/internal/context.js.map +1 -1
  150. package/dist/cjs/internal/core-effect.js.map +1 -1
  151. package/dist/cjs/internal/core.js +16 -3
  152. package/dist/cjs/internal/core.js.map +1 -1
  153. package/dist/cjs/internal/effect/circular.js +5 -1
  154. package/dist/cjs/internal/effect/circular.js.map +1 -1
  155. package/dist/cjs/internal/fiberId.js +9 -0
  156. package/dist/cjs/internal/fiberId.js.map +1 -1
  157. package/dist/cjs/internal/hashMap.js +3 -0
  158. package/dist/cjs/internal/hashMap.js.map +1 -1
  159. package/dist/cjs/internal/hashSet.js +3 -0
  160. package/dist/cjs/internal/hashSet.js.map +1 -1
  161. package/dist/cjs/internal/layer.js +33 -19
  162. package/dist/cjs/internal/layer.js.map +1 -1
  163. package/dist/cjs/internal/mailbox.js +3 -0
  164. package/dist/cjs/internal/mailbox.js.map +1 -1
  165. package/dist/cjs/internal/managedRuntime/circular.js +10 -0
  166. package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
  167. package/dist/cjs/internal/managedRuntime.js +23 -9
  168. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  169. package/dist/cjs/internal/option.js +3 -0
  170. package/dist/cjs/internal/option.js.map +1 -1
  171. package/dist/cjs/internal/pool.js +6 -1
  172. package/dist/cjs/internal/pool.js.map +1 -1
  173. package/dist/cjs/internal/redBlackTree.js +3 -0
  174. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  175. package/dist/cjs/internal/resource.js +15 -5
  176. package/dist/cjs/internal/resource.js.map +1 -1
  177. package/dist/cjs/internal/runtime.js +4 -1
  178. package/dist/cjs/internal/runtime.js.map +1 -1
  179. package/dist/cjs/internal/scopedRef.js +11 -8
  180. package/dist/cjs/internal/scopedRef.js.map +1 -1
  181. package/dist/cjs/internal/stm/core.js +1 -2
  182. package/dist/cjs/internal/stm/core.js.map +1 -1
  183. package/dist/cjs/internal/stream.js +12 -3
  184. package/dist/cjs/internal/stream.js.map +1 -1
  185. package/dist/cjs/internal/trie.js +3 -0
  186. package/dist/cjs/internal/trie.js.map +1 -1
  187. package/dist/cjs/internal/version.js +1 -1
  188. package/dist/dts/Array.d.ts +2735 -2
  189. package/dist/dts/Array.d.ts.map +1 -1
  190. package/dist/dts/BigDecimal.d.ts +558 -1
  191. package/dist/dts/BigDecimal.d.ts.map +1 -1
  192. package/dist/dts/BigInt.d.ts +490 -0
  193. package/dist/dts/BigInt.d.ts.map +1 -1
  194. package/dist/dts/Boolean.d.ts +228 -0
  195. package/dist/dts/Boolean.d.ts.map +1 -1
  196. package/dist/dts/Cause.d.ts +172 -0
  197. package/dist/dts/Cause.d.ts.map +1 -1
  198. package/dist/dts/Channel.d.ts +750 -0
  199. package/dist/dts/Channel.d.ts.map +1 -1
  200. package/dist/dts/ChildExecutorDecision.d.ts +12 -0
  201. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  202. package/dist/dts/Chunk.d.ts +791 -0
  203. package/dist/dts/Chunk.d.ts.map +1 -1
  204. package/dist/dts/Config.d.ts +174 -0
  205. package/dist/dts/Config.d.ts.map +1 -1
  206. package/dist/dts/ConfigError.d.ts +16 -0
  207. package/dist/dts/ConfigError.d.ts.map +1 -1
  208. package/dist/dts/ConfigProvider.d.ts +84 -0
  209. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  210. package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
  211. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  212. package/dist/dts/Console.d.ts +24 -0
  213. package/dist/dts/Console.d.ts.map +1 -1
  214. package/dist/dts/Context.d.ts +234 -3
  215. package/dist/dts/Context.d.ts.map +1 -1
  216. package/dist/dts/Cron.d.ts +12 -0
  217. package/dist/dts/Cron.d.ts.map +1 -1
  218. package/dist/dts/Data.d.ts +165 -0
  219. package/dist/dts/Data.d.ts.map +1 -1
  220. package/dist/dts/DateTime.d.ts +878 -0
  221. package/dist/dts/DateTime.d.ts.map +1 -1
  222. package/dist/dts/Deferred.d.ts +171 -1
  223. package/dist/dts/Deferred.d.ts.map +1 -1
  224. package/dist/dts/Differ.d.ts +78 -0
  225. package/dist/dts/Differ.d.ts.map +1 -1
  226. package/dist/dts/Duration.d.ts +130 -0
  227. package/dist/dts/Duration.d.ts.map +1 -1
  228. package/dist/dts/Effect.d.ts +4350 -13
  229. package/dist/dts/Effect.d.ts.map +1 -1
  230. package/dist/dts/Either.d.ts +620 -0
  231. package/dist/dts/Either.d.ts.map +1 -1
  232. package/dist/dts/Equivalence.d.ts +24 -0
  233. package/dist/dts/Equivalence.d.ts.map +1 -1
  234. package/dist/dts/ExecutionStrategy.d.ts +14 -0
  235. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  236. package/dist/dts/Exit.d.ts +252 -0
  237. package/dist/dts/Exit.d.ts.map +1 -1
  238. package/dist/dts/Fiber.d.ts +182 -0
  239. package/dist/dts/Fiber.d.ts.map +1 -1
  240. package/dist/dts/FiberHandle.d.ts +42 -0
  241. package/dist/dts/FiberHandle.d.ts.map +1 -1
  242. package/dist/dts/FiberId.d.ts +24 -0
  243. package/dist/dts/FiberId.d.ts.map +1 -1
  244. package/dist/dts/FiberMap.d.ts +102 -0
  245. package/dist/dts/FiberMap.d.ts.map +1 -1
  246. package/dist/dts/FiberRef.d.ts +80 -0
  247. package/dist/dts/FiberRef.d.ts.map +1 -1
  248. package/dist/dts/FiberRefs.d.ts +84 -0
  249. package/dist/dts/FiberRefs.d.ts.map +1 -1
  250. package/dist/dts/FiberRefsPatch.d.ts +30 -0
  251. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  252. package/dist/dts/FiberSet.d.ts +38 -0
  253. package/dist/dts/FiberSet.d.ts.map +1 -1
  254. package/dist/dts/Function.d.ts +144 -28
  255. package/dist/dts/Function.d.ts.map +1 -1
  256. package/dist/dts/GroupBy.d.ts +38 -0
  257. package/dist/dts/GroupBy.d.ts.map +1 -1
  258. package/dist/dts/Hash.d.ts +8 -0
  259. package/dist/dts/Hash.d.ts.map +1 -1
  260. package/dist/dts/HashMap.d.ts +315 -0
  261. package/dist/dts/HashMap.d.ts.map +1 -1
  262. package/dist/dts/HashSet.d.ts +284 -0
  263. package/dist/dts/HashSet.d.ts.map +1 -1
  264. package/dist/dts/Inspectable.d.ts +15 -0
  265. package/dist/dts/Inspectable.d.ts.map +1 -1
  266. package/dist/dts/Iterable.d.ts +454 -0
  267. package/dist/dts/Iterable.d.ts.map +1 -1
  268. package/dist/dts/KeyedPool.d.ts +34 -0
  269. package/dist/dts/KeyedPool.d.ts.map +1 -1
  270. package/dist/dts/Layer.d.ts +460 -5
  271. package/dist/dts/Layer.d.ts.map +1 -1
  272. package/dist/dts/List.d.ts +430 -0
  273. package/dist/dts/List.d.ts.map +1 -1
  274. package/dist/dts/LogLevel.d.ts +46 -0
  275. package/dist/dts/LogLevel.d.ts.map +1 -1
  276. package/dist/dts/Logger.d.ts +194 -0
  277. package/dist/dts/Logger.d.ts.map +1 -1
  278. package/dist/dts/Mailbox.d.ts +16 -0
  279. package/dist/dts/Mailbox.d.ts.map +1 -1
  280. package/dist/dts/ManagedRuntime.d.ts +41 -2
  281. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  282. package/dist/dts/MergeDecision.d.ts +8 -0
  283. package/dist/dts/MergeDecision.d.ts.map +1 -1
  284. package/dist/dts/MergeState.d.ts +8 -0
  285. package/dist/dts/MergeState.d.ts.map +1 -1
  286. package/dist/dts/MergeStrategy.d.ts +12 -0
  287. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  288. package/dist/dts/Metric.d.ts +410 -0
  289. package/dist/dts/Metric.d.ts.map +1 -1
  290. package/dist/dts/MetricHook.d.ts +24 -0
  291. package/dist/dts/MetricHook.d.ts.map +1 -1
  292. package/dist/dts/MetricKey.d.ts +48 -0
  293. package/dist/dts/MetricKey.d.ts.map +1 -1
  294. package/dist/dts/MetricPolling.d.ts +40 -0
  295. package/dist/dts/MetricPolling.d.ts.map +1 -1
  296. package/dist/dts/MetricState.d.ts +16 -0
  297. package/dist/dts/MetricState.d.ts.map +1 -1
  298. package/dist/dts/Micro.d.ts +1110 -0
  299. package/dist/dts/Micro.d.ts.map +1 -1
  300. package/dist/dts/MutableHashMap.d.ts +50 -0
  301. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  302. package/dist/dts/MutableHashSet.d.ts +24 -0
  303. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  304. package/dist/dts/MutableList.d.ts +36 -0
  305. package/dist/dts/MutableList.d.ts.map +1 -1
  306. package/dist/dts/MutableQueue.d.ts +62 -0
  307. package/dist/dts/MutableQueue.d.ts.map +1 -1
  308. package/dist/dts/MutableRef.d.ts +56 -0
  309. package/dist/dts/MutableRef.d.ts.map +1 -1
  310. package/dist/dts/Number.d.ts +474 -0
  311. package/dist/dts/Number.d.ts.map +1 -1
  312. package/dist/dts/Option.d.ts +1019 -0
  313. package/dist/dts/Option.d.ts.map +1 -1
  314. package/dist/dts/Order.d.ts +24 -0
  315. package/dist/dts/Order.d.ts.map +1 -1
  316. package/dist/dts/Ordering.d.ts +66 -0
  317. package/dist/dts/Ordering.d.ts.map +1 -1
  318. package/dist/dts/Pipeable.d.ts +21 -21
  319. package/dist/dts/Pipeable.d.ts.map +1 -1
  320. package/dist/dts/Pool.d.ts +37 -1
  321. package/dist/dts/Pool.d.ts.map +1 -1
  322. package/dist/dts/Predicate.d.ts +513 -0
  323. package/dist/dts/Predicate.d.ts.map +1 -1
  324. package/dist/dts/PubSub.d.ts +28 -0
  325. package/dist/dts/PubSub.d.ts.map +1 -1
  326. package/dist/dts/Queue.d.ts +106 -2
  327. package/dist/dts/Queue.d.ts.map +1 -1
  328. package/dist/dts/RcMap.d.ts +70 -0
  329. package/dist/dts/RcMap.d.ts.map +1 -1
  330. package/dist/dts/Readable.d.ts +16 -0
  331. package/dist/dts/Readable.d.ts.map +1 -1
  332. package/dist/dts/Record.d.ts +800 -0
  333. package/dist/dts/Record.d.ts.map +1 -1
  334. package/dist/dts/RedBlackTree.d.ts +300 -0
  335. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  336. package/dist/dts/Ref.d.ts +88 -0
  337. package/dist/dts/Ref.d.ts.map +1 -1
  338. package/dist/dts/RegExp.d.ts +12 -2
  339. package/dist/dts/RegExp.d.ts.map +1 -1
  340. package/dist/dts/Request.d.ts +76 -0
  341. package/dist/dts/Request.d.ts.map +1 -1
  342. package/dist/dts/RequestResolver.d.ts +144 -0
  343. package/dist/dts/RequestResolver.d.ts.map +1 -1
  344. package/dist/dts/Resource.d.ts +21 -1
  345. package/dist/dts/Resource.d.ts.map +1 -1
  346. package/dist/dts/Runtime.d.ts +126 -0
  347. package/dist/dts/Runtime.d.ts.map +1 -1
  348. package/dist/dts/RuntimeFlags.d.ts +100 -0
  349. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  350. package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
  351. package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
  352. package/dist/dts/STM.d.ts +1090 -0
  353. package/dist/dts/STM.d.ts.map +1 -1
  354. package/dist/dts/Schedule.d.ts +704 -0
  355. package/dist/dts/Schedule.d.ts.map +1 -1
  356. package/dist/dts/ScheduleInterval.d.ts +68 -0
  357. package/dist/dts/ScheduleInterval.d.ts.map +1 -1
  358. package/dist/dts/ScheduleIntervals.d.ts +50 -0
  359. package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
  360. package/dist/dts/Scope.d.ts +36 -0
  361. package/dist/dts/Scope.d.ts.map +1 -1
  362. package/dist/dts/ScopedRef.d.ts +43 -1
  363. package/dist/dts/ScopedRef.d.ts.map +1 -1
  364. package/dist/dts/Sink.d.ts +464 -0
  365. package/dist/dts/Sink.d.ts.map +1 -1
  366. package/dist/dts/SortedMap.d.ts +76 -0
  367. package/dist/dts/SortedMap.d.ts.map +1 -1
  368. package/dist/dts/SortedSet.d.ts +142 -0
  369. package/dist/dts/SortedSet.d.ts.map +1 -1
  370. package/dist/dts/Stream.d.ts +4998 -1
  371. package/dist/dts/Stream.d.ts.map +1 -1
  372. package/dist/dts/StreamHaltStrategy.d.ts +12 -0
  373. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  374. package/dist/dts/String.d.ts +200 -0
  375. package/dist/dts/String.d.ts.map +1 -1
  376. package/dist/dts/Struct.d.ts +84 -0
  377. package/dist/dts/Struct.d.ts.map +1 -1
  378. package/dist/dts/Subscribable.d.ts +16 -0
  379. package/dist/dts/Subscribable.d.ts.map +1 -1
  380. package/dist/dts/SubscriptionRef.d.ts +152 -0
  381. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  382. package/dist/dts/SynchronizedRef.d.ts +152 -0
  383. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  384. package/dist/dts/TArray.d.ts +426 -0
  385. package/dist/dts/TArray.d.ts.map +1 -1
  386. package/dist/dts/TDeferred.d.ts +24 -0
  387. package/dist/dts/TDeferred.d.ts.map +1 -1
  388. package/dist/dts/TMap.d.ts +366 -0
  389. package/dist/dts/TMap.d.ts.map +1 -1
  390. package/dist/dts/TPriorityQueue.d.ts +60 -0
  391. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  392. package/dist/dts/TPubSub.d.ts +28 -0
  393. package/dist/dts/TPubSub.d.ts.map +1 -1
  394. package/dist/dts/TQueue.d.ts +108 -0
  395. package/dist/dts/TQueue.d.ts.map +1 -1
  396. package/dist/dts/TReentrantLock.d.ts +36 -0
  397. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  398. package/dist/dts/TRef.d.ts +88 -0
  399. package/dist/dts/TRef.d.ts.map +1 -1
  400. package/dist/dts/TSemaphore.d.ts +40 -0
  401. package/dist/dts/TSemaphore.d.ts.map +1 -1
  402. package/dist/dts/TSet.d.ts +254 -0
  403. package/dist/dts/TSet.d.ts.map +1 -1
  404. package/dist/dts/Take.d.ts +56 -0
  405. package/dist/dts/Take.d.ts.map +1 -1
  406. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  407. package/dist/dts/TestClock.d.ts.map +1 -1
  408. package/dist/dts/TestServices.d.ts.map +1 -1
  409. package/dist/dts/Trie.d.ts +906 -0
  410. package/dist/dts/Trie.d.ts.map +1 -1
  411. package/dist/dts/Tuple.d.ts +203 -0
  412. package/dist/dts/Tuple.d.ts.map +1 -1
  413. package/dist/dts/Types.d.ts +39 -0
  414. package/dist/dts/Types.d.ts.map +1 -1
  415. package/dist/dts/Unify.d.ts +26 -13
  416. package/dist/dts/Unify.d.ts.map +1 -1
  417. package/dist/dts/UpstreamPullRequest.d.ts +12 -0
  418. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  419. package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
  420. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  421. package/dist/dts/Utils.d.ts.map +1 -1
  422. package/dist/dts/internal/core.d.ts.map +1 -1
  423. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  424. package/dist/dts/internal/layer.d.ts.map +1 -1
  425. package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
  426. package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
  427. package/dist/dts/internal/stream.d.ts.map +1 -1
  428. package/dist/esm/Array.js +21 -0
  429. package/dist/esm/Array.js.map +1 -1
  430. package/dist/esm/BigDecimal.js +6 -3
  431. package/dist/esm/BigDecimal.js.map +1 -1
  432. package/dist/esm/BigInt.js.map +1 -1
  433. package/dist/esm/Boolean.js.map +1 -1
  434. package/dist/esm/Cause.js.map +1 -1
  435. package/dist/esm/Channel.js.map +1 -1
  436. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  437. package/dist/esm/Chunk.js +4 -1
  438. package/dist/esm/Chunk.js.map +1 -1
  439. package/dist/esm/Config.js.map +1 -1
  440. package/dist/esm/ConfigError.js.map +1 -1
  441. package/dist/esm/ConfigProvider.js.map +1 -1
  442. package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
  443. package/dist/esm/Console.js.map +1 -1
  444. package/dist/esm/Context.js.map +1 -1
  445. package/dist/esm/Cron.js +4 -1
  446. package/dist/esm/Cron.js.map +1 -1
  447. package/dist/esm/Data.js.map +1 -1
  448. package/dist/esm/DateTime.js +6 -0
  449. package/dist/esm/DateTime.js.map +1 -1
  450. package/dist/esm/Deferred.js.map +1 -1
  451. package/dist/esm/Differ.js.map +1 -1
  452. package/dist/esm/Duration.js +4 -1
  453. package/dist/esm/Duration.js.map +1 -1
  454. package/dist/esm/Effect.js +116 -30
  455. package/dist/esm/Effect.js.map +1 -1
  456. package/dist/esm/Either.js.map +1 -1
  457. package/dist/esm/Equivalence.js.map +1 -1
  458. package/dist/esm/ExecutionStrategy.js.map +1 -1
  459. package/dist/esm/Exit.js.map +1 -1
  460. package/dist/esm/Fiber.js.map +1 -1
  461. package/dist/esm/FiberHandle.js +3 -0
  462. package/dist/esm/FiberHandle.js.map +1 -1
  463. package/dist/esm/FiberId.js.map +1 -1
  464. package/dist/esm/FiberMap.js +3 -0
  465. package/dist/esm/FiberMap.js.map +1 -1
  466. package/dist/esm/FiberRef.js.map +1 -1
  467. package/dist/esm/FiberRefs.js.map +1 -1
  468. package/dist/esm/FiberRefsPatch.js.map +1 -1
  469. package/dist/esm/FiberSet.js +3 -0
  470. package/dist/esm/FiberSet.js.map +1 -1
  471. package/dist/esm/Function.js.map +1 -1
  472. package/dist/esm/GroupBy.js.map +1 -1
  473. package/dist/esm/Hash.js.map +1 -1
  474. package/dist/esm/HashMap.js.map +1 -1
  475. package/dist/esm/HashSet.js.map +1 -1
  476. package/dist/esm/Inspectable.js +14 -0
  477. package/dist/esm/Inspectable.js.map +1 -1
  478. package/dist/esm/Iterable.js.map +1 -1
  479. package/dist/esm/KeyedPool.js.map +1 -1
  480. package/dist/esm/Layer.js.map +1 -1
  481. package/dist/esm/List.js +7 -1
  482. package/dist/esm/List.js.map +1 -1
  483. package/dist/esm/LogLevel.js.map +1 -1
  484. package/dist/esm/Logger.js.map +1 -1
  485. package/dist/esm/Mailbox.js.map +1 -1
  486. package/dist/esm/ManagedRuntime.js +15 -0
  487. package/dist/esm/ManagedRuntime.js.map +1 -1
  488. package/dist/esm/MergeDecision.js.map +1 -1
  489. package/dist/esm/MergeState.js.map +1 -1
  490. package/dist/esm/MergeStrategy.js.map +1 -1
  491. package/dist/esm/Metric.js.map +1 -1
  492. package/dist/esm/MetricHook.js.map +1 -1
  493. package/dist/esm/MetricKey.js.map +1 -1
  494. package/dist/esm/MetricPolling.js.map +1 -1
  495. package/dist/esm/MetricState.js.map +1 -1
  496. package/dist/esm/Micro.js +7 -1
  497. package/dist/esm/Micro.js.map +1 -1
  498. package/dist/esm/MutableHashMap.js +4 -1
  499. package/dist/esm/MutableHashMap.js.map +1 -1
  500. package/dist/esm/MutableHashSet.js +4 -1
  501. package/dist/esm/MutableHashSet.js.map +1 -1
  502. package/dist/esm/MutableList.js +4 -1
  503. package/dist/esm/MutableList.js.map +1 -1
  504. package/dist/esm/MutableQueue.js +4 -1
  505. package/dist/esm/MutableQueue.js.map +1 -1
  506. package/dist/esm/MutableRef.js +4 -1
  507. package/dist/esm/MutableRef.js.map +1 -1
  508. package/dist/esm/Number.js.map +1 -1
  509. package/dist/esm/Option.js.map +1 -1
  510. package/dist/esm/Order.js.map +1 -1
  511. package/dist/esm/Ordering.js.map +1 -1
  512. package/dist/esm/Pipeable.js.map +1 -1
  513. package/dist/esm/Pool.js.map +1 -1
  514. package/dist/esm/Predicate.js +15 -0
  515. package/dist/esm/Predicate.js.map +1 -1
  516. package/dist/esm/PubSub.js.map +1 -1
  517. package/dist/esm/Queue.js.map +1 -1
  518. package/dist/esm/RcMap.js.map +1 -1
  519. package/dist/esm/Readable.js.map +1 -1
  520. package/dist/esm/Record.js.map +1 -1
  521. package/dist/esm/RedBlackTree.js.map +1 -1
  522. package/dist/esm/Ref.js.map +1 -1
  523. package/dist/esm/RegExp.js +16 -0
  524. package/dist/esm/RegExp.js.map +1 -1
  525. package/dist/esm/Request.js.map +1 -1
  526. package/dist/esm/RequestResolver.js.map +1 -1
  527. package/dist/esm/Resource.js.map +1 -1
  528. package/dist/esm/Runtime.js.map +1 -1
  529. package/dist/esm/RuntimeFlags.js.map +1 -1
  530. package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
  531. package/dist/esm/STM.js.map +1 -1
  532. package/dist/esm/Schedule.js.map +1 -1
  533. package/dist/esm/ScheduleInterval.js.map +1 -1
  534. package/dist/esm/ScheduleIntervals.js.map +1 -1
  535. package/dist/esm/Scheduler.js.map +1 -1
  536. package/dist/esm/Scope.js.map +1 -1
  537. package/dist/esm/ScopedRef.js.map +1 -1
  538. package/dist/esm/Sink.js.map +1 -1
  539. package/dist/esm/SortedMap.js +4 -1
  540. package/dist/esm/SortedMap.js.map +1 -1
  541. package/dist/esm/SortedSet.js +4 -1
  542. package/dist/esm/SortedSet.js.map +1 -1
  543. package/dist/esm/Stream.js +14 -0
  544. package/dist/esm/Stream.js.map +1 -1
  545. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  546. package/dist/esm/String.js.map +1 -1
  547. package/dist/esm/Struct.js.map +1 -1
  548. package/dist/esm/Subscribable.js.map +1 -1
  549. package/dist/esm/SubscriptionRef.js.map +1 -1
  550. package/dist/esm/SynchronizedRef.js.map +1 -1
  551. package/dist/esm/TArray.js.map +1 -1
  552. package/dist/esm/TDeferred.js.map +1 -1
  553. package/dist/esm/TMap.js.map +1 -1
  554. package/dist/esm/TPriorityQueue.js.map +1 -1
  555. package/dist/esm/TPubSub.js.map +1 -1
  556. package/dist/esm/TQueue.js.map +1 -1
  557. package/dist/esm/TReentrantLock.js.map +1 -1
  558. package/dist/esm/TRef.js.map +1 -1
  559. package/dist/esm/TSemaphore.js.map +1 -1
  560. package/dist/esm/TSet.js.map +1 -1
  561. package/dist/esm/Take.js.map +1 -1
  562. package/dist/esm/TestAnnotationMap.js.map +1 -1
  563. package/dist/esm/TestClock.js.map +1 -1
  564. package/dist/esm/TestServices.js.map +1 -1
  565. package/dist/esm/Trie.js.map +1 -1
  566. package/dist/esm/Tuple.js +19 -0
  567. package/dist/esm/Tuple.js.map +1 -1
  568. package/dist/esm/Unify.js.map +1 -1
  569. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  570. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  571. package/dist/esm/Utils.js +1 -14
  572. package/dist/esm/Utils.js.map +1 -1
  573. package/dist/esm/internal/cause.js +4 -1
  574. package/dist/esm/internal/cause.js.map +1 -1
  575. package/dist/esm/internal/context.js +7 -2
  576. package/dist/esm/internal/context.js.map +1 -1
  577. package/dist/esm/internal/core-effect.js.map +1 -1
  578. package/dist/esm/internal/core.js +14 -2
  579. package/dist/esm/internal/core.js.map +1 -1
  580. package/dist/esm/internal/effect/circular.js +5 -1
  581. package/dist/esm/internal/effect/circular.js.map +1 -1
  582. package/dist/esm/internal/fiberId.js +10 -1
  583. package/dist/esm/internal/fiberId.js.map +1 -1
  584. package/dist/esm/internal/hashMap.js +4 -1
  585. package/dist/esm/internal/hashMap.js.map +1 -1
  586. package/dist/esm/internal/hashSet.js +4 -1
  587. package/dist/esm/internal/hashSet.js.map +1 -1
  588. package/dist/esm/internal/layer.js +32 -18
  589. package/dist/esm/internal/layer.js.map +1 -1
  590. package/dist/esm/internal/mailbox.js +3 -0
  591. package/dist/esm/internal/mailbox.js.map +1 -1
  592. package/dist/esm/internal/managedRuntime/circular.js +4 -0
  593. package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
  594. package/dist/esm/internal/managedRuntime.js +21 -8
  595. package/dist/esm/internal/managedRuntime.js.map +1 -1
  596. package/dist/esm/internal/option.js +4 -1
  597. package/dist/esm/internal/option.js.map +1 -1
  598. package/dist/esm/internal/pool.js +6 -1
  599. package/dist/esm/internal/pool.js.map +1 -1
  600. package/dist/esm/internal/redBlackTree.js +4 -1
  601. package/dist/esm/internal/redBlackTree.js.map +1 -1
  602. package/dist/esm/internal/resource.js +15 -5
  603. package/dist/esm/internal/resource.js.map +1 -1
  604. package/dist/esm/internal/runtime.js +4 -1
  605. package/dist/esm/internal/runtime.js.map +1 -1
  606. package/dist/esm/internal/scopedRef.js +11 -8
  607. package/dist/esm/internal/scopedRef.js.map +1 -1
  608. package/dist/esm/internal/stm/core.js +1 -2
  609. package/dist/esm/internal/stm/core.js.map +1 -1
  610. package/dist/esm/internal/stream.js +9 -0
  611. package/dist/esm/internal/stream.js.map +1 -1
  612. package/dist/esm/internal/trie.js +4 -1
  613. package/dist/esm/internal/trie.js.map +1 -1
  614. package/dist/esm/internal/version.js +1 -1
  615. package/package.json +1 -1
  616. package/src/Array.ts +2791 -40
  617. package/src/BigDecimal.ts +589 -19
  618. package/src/BigInt.ts +516 -16
  619. package/src/Boolean.ts +241 -8
  620. package/src/Cause.ts +177 -1
  621. package/src/Channel.ts +766 -49
  622. package/src/ChildExecutorDecision.ts +12 -0
  623. package/src/Chunk.ts +822 -5
  624. package/src/Config.ts +187 -8
  625. package/src/ConfigError.ts +16 -0
  626. package/src/ConfigProvider.ts +89 -1
  627. package/src/ConfigProviderPathPatch.ts +32 -0
  628. package/src/Console.ts +37 -8
  629. package/src/Context.ts +234 -3
  630. package/src/Cron.ts +16 -1
  631. package/src/Data.ts +165 -0
  632. package/src/DateTime.ts +1012 -50
  633. package/src/Deferred.ts +171 -1
  634. package/src/Differ.ts +89 -27
  635. package/src/Duration.ts +160 -17
  636. package/src/Effect.ts +4717 -164
  637. package/src/Either.ts +650 -34
  638. package/src/Equivalence.ts +24 -0
  639. package/src/ExecutionStrategy.ts +29 -10
  640. package/src/Exit.ts +252 -0
  641. package/src/Fiber.ts +182 -0
  642. package/src/FiberHandle.ts +45 -0
  643. package/src/FiberId.ts +24 -0
  644. package/src/FiberMap.ts +147 -21
  645. package/src/FiberRef.ts +80 -0
  646. package/src/FiberRefs.ts +84 -0
  647. package/src/FiberRefsPatch.ts +35 -1
  648. package/src/FiberSet.ts +41 -0
  649. package/src/Function.ts +416 -31
  650. package/src/GroupBy.ts +38 -0
  651. package/src/Hash.ts +8 -0
  652. package/src/HashMap.ts +316 -0
  653. package/src/HashSet.ts +284 -0
  654. package/src/Inspectable.ts +22 -0
  655. package/src/Iterable.ts +456 -6
  656. package/src/KeyedPool.ts +34 -0
  657. package/src/Layer.ts +475 -38
  658. package/src/List.ts +483 -4
  659. package/src/LogLevel.ts +46 -0
  660. package/src/Logger.ts +195 -4
  661. package/src/Mailbox.ts +16 -0
  662. package/src/ManagedRuntime.ts +46 -2
  663. package/src/MergeDecision.ts +8 -0
  664. package/src/MergeState.ts +8 -0
  665. package/src/MergeStrategy.ts +25 -8
  666. package/src/Metric.ts +426 -15
  667. package/src/MetricHook.ts +24 -0
  668. package/src/MetricKey.ts +62 -8
  669. package/src/MetricPolling.ts +42 -6
  670. package/src/MetricState.ts +16 -0
  671. package/src/Micro.ts +1223 -61
  672. package/src/MutableHashMap.ts +109 -2
  673. package/src/MutableHashSet.ts +28 -1
  674. package/src/MutableList.ts +40 -1
  675. package/src/MutableQueue.ts +66 -1
  676. package/src/MutableRef.ts +60 -1
  677. package/src/Number.ts +500 -16
  678. package/src/Option.ts +1042 -16
  679. package/src/Order.ts +24 -0
  680. package/src/Ordering.ts +66 -0
  681. package/src/Pipeable.ts +224 -21
  682. package/src/Pool.ts +42 -1
  683. package/src/Predicate.ts +514 -0
  684. package/src/PubSub.ts +28 -0
  685. package/src/Queue.ts +106 -2
  686. package/src/RcMap.ts +70 -0
  687. package/src/Readable.ts +18 -7
  688. package/src/Record.ts +814 -40
  689. package/src/RedBlackTree.ts +305 -1
  690. package/src/Ref.ts +88 -0
  691. package/src/RegExp.ts +17 -0
  692. package/src/Request.ts +76 -0
  693. package/src/RequestResolver.ts +145 -4
  694. package/src/Resource.ts +22 -1
  695. package/src/Runtime.ts +134 -2
  696. package/src/RuntimeFlags.ts +100 -0
  697. package/src/RuntimeFlagsPatch.ts +112 -0
  698. package/src/STM.ts +1107 -11
  699. package/src/Schedule.ts +704 -0
  700. package/src/ScheduleInterval.ts +68 -0
  701. package/src/ScheduleIntervals.ts +50 -0
  702. package/src/Scheduler.ts +2 -0
  703. package/src/Scope.ts +36 -0
  704. package/src/ScopedRef.ts +44 -1
  705. package/src/Sink.ts +464 -0
  706. package/src/SortedMap.ts +80 -1
  707. package/src/SortedSet.ts +147 -4
  708. package/src/Stream.ts +5041 -54
  709. package/src/StreamHaltStrategy.ts +29 -12
  710. package/src/String.ts +200 -0
  711. package/src/Struct.ts +86 -7
  712. package/src/Subscribable.ts +16 -0
  713. package/src/SubscriptionRef.ts +159 -11
  714. package/src/SynchronizedRef.ts +169 -8
  715. package/src/TArray.ts +431 -1
  716. package/src/TDeferred.ts +24 -0
  717. package/src/TMap.ts +381 -12
  718. package/src/TPriorityQueue.ts +60 -0
  719. package/src/TPubSub.ts +28 -0
  720. package/src/TQueue.ts +108 -0
  721. package/src/TReentrantLock.ts +36 -0
  722. package/src/TRef.ts +88 -0
  723. package/src/TSemaphore.ts +40 -0
  724. package/src/TSet.ts +280 -12
  725. package/src/Take.ts +56 -0
  726. package/src/TestAnnotationMap.ts +45 -1
  727. package/src/TestClock.ts +6 -0
  728. package/src/TestServices.ts +66 -0
  729. package/src/Trie.ts +906 -0
  730. package/src/Tuple.ts +223 -8
  731. package/src/Types.ts +41 -0
  732. package/src/Unify.ts +28 -17
  733. package/src/UpstreamPullRequest.ts +12 -0
  734. package/src/UpstreamPullStrategy.ts +12 -0
  735. package/src/Utils.ts +1 -15
  736. package/src/internal/cause.ts +4 -1
  737. package/src/internal/context.ts +7 -2
  738. package/src/internal/core-effect.ts +7 -7
  739. package/src/internal/core.ts +14 -2
  740. package/src/internal/effect/circular.ts +8 -2
  741. package/src/internal/fiberId.ts +10 -1
  742. package/src/internal/hashMap.ts +4 -1
  743. package/src/internal/hashSet.ts +4 -1
  744. package/src/internal/layer.ts +105 -38
  745. package/src/internal/mailbox.ts +3 -0
  746. package/src/internal/managedRuntime/circular.ts +6 -0
  747. package/src/internal/managedRuntime.ts +36 -22
  748. package/src/internal/option.ts +4 -1
  749. package/src/internal/pool.ts +7 -1
  750. package/src/internal/redBlackTree.ts +4 -1
  751. package/src/internal/resource.ts +16 -5
  752. package/src/internal/runtime.ts +4 -1
  753. package/src/internal/scopedRef.ts +12 -8
  754. package/src/internal/stm/core.ts +2 -3
  755. package/src/internal/stream.ts +27 -0
  756. package/src/internal/trie.ts +4 -1
  757. package/src/internal/version.ts +1 -1
@@ -215,10 +215,16 @@ export declare const Order: order.Order<DateTime>;
215
215
  * @since 3.6.0
216
216
  */
217
217
  export declare const clamp: {
218
+ /**
219
+ * @since 3.6.0
220
+ */
218
221
  (options: {
219
222
  minimum: DateTime;
220
223
  maximum: DateTime;
221
224
  }): (self: DateTime) => DateTime;
225
+ /**
226
+ * @since 3.6.0
227
+ */
222
228
  (self: DateTime, options: {
223
229
  minimum: DateTime;
224
230
  maximum: DateTime;
@@ -365,9 +371,41 @@ export declare const unsafeNow: LazyArg<Utc>;
365
371
  * })
366
372
  */
367
373
  export declare const setZone: {
374
+ /**
375
+ * Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
376
+ *
377
+ * @since 3.6.0
378
+ * @category time zones
379
+ * @example
380
+ * import { DateTime, Effect } from "effect"
381
+ *
382
+ * Effect.gen(function* () {
383
+ * const now = yield* DateTime.now
384
+ * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
385
+ *
386
+ * // set the time zone
387
+ * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
388
+ * })
389
+ */
368
390
  (zone: TimeZone, options?: {
369
391
  readonly adjustForTimeZone?: boolean | undefined;
370
392
  }): (self: DateTime) => Zoned;
393
+ /**
394
+ * Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
395
+ *
396
+ * @since 3.6.0
397
+ * @category time zones
398
+ * @example
399
+ * import { DateTime, Effect } from "effect"
400
+ *
401
+ * Effect.gen(function* () {
402
+ * const now = yield* DateTime.now
403
+ * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
404
+ *
405
+ * // set the time zone
406
+ * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
407
+ * })
408
+ */
371
409
  (self: DateTime, zone: TimeZone, options?: {
372
410
  readonly adjustForTimeZone?: boolean | undefined;
373
411
  }): Zoned;
@@ -390,9 +428,43 @@ export declare const setZone: {
390
428
  * })
391
429
  */
392
430
  export declare const setZoneOffset: {
431
+ /**
432
+ * Add a fixed offset time zone to a `DateTime`.
433
+ *
434
+ * The offset is in milliseconds.
435
+ *
436
+ * @since 3.6.0
437
+ * @category time zones
438
+ * @example
439
+ * import { DateTime, Effect } from "effect"
440
+ *
441
+ * Effect.gen(function* () {
442
+ * const now = yield* DateTime.now
443
+ *
444
+ * // set the offset time zone in milliseconds
445
+ * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
446
+ * })
447
+ */
393
448
  (offset: number, options?: {
394
449
  readonly adjustForTimeZone?: boolean | undefined;
395
450
  }): (self: DateTime) => Zoned;
451
+ /**
452
+ * Add a fixed offset time zone to a `DateTime`.
453
+ *
454
+ * The offset is in milliseconds.
455
+ *
456
+ * @since 3.6.0
457
+ * @category time zones
458
+ * @example
459
+ * import { DateTime, Effect } from "effect"
460
+ *
461
+ * Effect.gen(function* () {
462
+ * const now = yield* DateTime.now
463
+ *
464
+ * // set the offset time zone in milliseconds
465
+ * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
466
+ * })
467
+ */
396
468
  (self: DateTime, offset: number, options?: {
397
469
  readonly adjustForTimeZone?: boolean | undefined;
398
470
  }): Zoned;
@@ -474,9 +546,39 @@ export declare const zoneToString: (self: TimeZone) => string;
474
546
  * })
475
547
  */
476
548
  export declare const setZoneNamed: {
549
+ /**
550
+ * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
551
+ * time zone is invalid, `None` will be returned.
552
+ *
553
+ * @since 3.6.0
554
+ * @category time zones
555
+ * @example
556
+ * import { DateTime, Effect } from "effect"
557
+ *
558
+ * Effect.gen(function* () {
559
+ * const now = yield* DateTime.now
560
+ * // set the time zone, returns an Option
561
+ * DateTime.setZoneNamed(now, "Europe/London")
562
+ * })
563
+ */
477
564
  (zoneId: string, options?: {
478
565
  readonly adjustForTimeZone?: boolean | undefined;
479
566
  }): (self: DateTime) => Option.Option<Zoned>;
567
+ /**
568
+ * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
569
+ * time zone is invalid, `None` will be returned.
570
+ *
571
+ * @since 3.6.0
572
+ * @category time zones
573
+ * @example
574
+ * import { DateTime, Effect } from "effect"
575
+ *
576
+ * Effect.gen(function* () {
577
+ * const now = yield* DateTime.now
578
+ * // set the time zone, returns an Option
579
+ * DateTime.setZoneNamed(now, "Europe/London")
580
+ * })
581
+ */
480
582
  (self: DateTime, zoneId: string, options?: {
481
583
  readonly adjustForTimeZone?: boolean | undefined;
482
584
  }): Option.Option<Zoned>;
@@ -497,9 +599,39 @@ export declare const setZoneNamed: {
497
599
  * })
498
600
  */
499
601
  export declare const unsafeSetZoneNamed: {
602
+ /**
603
+ * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
604
+ * time zone is invalid, an `IllegalArgumentException` will be thrown.
605
+ *
606
+ * @since 3.6.0
607
+ * @category time zones
608
+ * @example
609
+ * import { DateTime, Effect } from "effect"
610
+ *
611
+ * Effect.gen(function* () {
612
+ * const now = yield* DateTime.now
613
+ * // set the time zone
614
+ * DateTime.unsafeSetZoneNamed(now, "Europe/London")
615
+ * })
616
+ */
500
617
  (zoneId: string, options?: {
501
618
  readonly adjustForTimeZone?: boolean | undefined;
502
619
  }): (self: DateTime) => Zoned;
620
+ /**
621
+ * Set the time zone of a `DateTime` from an IANA time zone identifier. If the
622
+ * time zone is invalid, an `IllegalArgumentException` will be thrown.
623
+ *
624
+ * @since 3.6.0
625
+ * @category time zones
626
+ * @example
627
+ * import { DateTime, Effect } from "effect"
628
+ *
629
+ * Effect.gen(function* () {
630
+ * const now = yield* DateTime.now
631
+ * // set the time zone
632
+ * DateTime.unsafeSetZoneNamed(now, "Europe/London")
633
+ * })
634
+ */
503
635
  (self: DateTime, zoneId: string, options?: {
504
636
  readonly adjustForTimeZone?: boolean | undefined;
505
637
  }): Zoned;
@@ -524,7 +656,45 @@ export declare const unsafeSetZoneNamed: {
524
656
  * })
525
657
  */
526
658
  export declare const distance: {
659
+ /**
660
+ * Calulate the difference between two `DateTime` values, returning the number
661
+ * of milliseconds the `other` DateTime is from `self`.
662
+ *
663
+ * If `other` is *after* `self`, the result will be a positive number.
664
+ *
665
+ * @since 3.6.0
666
+ * @category comparisons
667
+ * @example
668
+ * import { DateTime, Effect } from "effect"
669
+ *
670
+ * Effect.gen(function* () {
671
+ * const now = yield* DateTime.now
672
+ * const other = DateTime.add(now, { minutes: 1 })
673
+ *
674
+ * // returns 60000
675
+ * DateTime.distance(now, other)
676
+ * })
677
+ */
527
678
  (other: DateTime): (self: DateTime) => number;
679
+ /**
680
+ * Calulate the difference between two `DateTime` values, returning the number
681
+ * of milliseconds the `other` DateTime is from `self`.
682
+ *
683
+ * If `other` is *after* `self`, the result will be a positive number.
684
+ *
685
+ * @since 3.6.0
686
+ * @category comparisons
687
+ * @example
688
+ * import { DateTime, Effect } from "effect"
689
+ *
690
+ * Effect.gen(function* () {
691
+ * const now = yield* DateTime.now
692
+ * const other = DateTime.add(now, { minutes: 1 })
693
+ *
694
+ * // returns 60000
695
+ * DateTime.distance(now, other)
696
+ * })
697
+ */
528
698
  (self: DateTime, other: DateTime): number;
529
699
  };
530
700
  /**
@@ -553,7 +723,57 @@ export declare const distance: {
553
723
  * })
554
724
  */
555
725
  export declare const distanceDurationEither: {
726
+ /**
727
+ * Calulate the difference between two `DateTime` values.
728
+ *
729
+ * If the `other` DateTime is before `self`, the result will be a negative
730
+ * `Duration`, returned as a `Left`.
731
+ *
732
+ * If the `other` DateTime is after `self`, the result will be a positive
733
+ * `Duration`, returned as a `Right`.
734
+ *
735
+ * @since 3.6.0
736
+ * @category comparisons
737
+ * @example
738
+ * import { DateTime, Effect } from "effect"
739
+ *
740
+ * Effect.gen(function* () {
741
+ * const now = yield* DateTime.now
742
+ * const other = DateTime.add(now, { minutes: 1 })
743
+ *
744
+ * // returns Either.right(Duration.minutes(1))
745
+ * DateTime.distanceDurationEither(now, other)
746
+ *
747
+ * // returns Either.left(Duration.minutes(1))
748
+ * DateTime.distanceDurationEither(other, now)
749
+ * })
750
+ */
556
751
  (other: DateTime): (self: DateTime) => Either.Either<Duration.Duration, Duration.Duration>;
752
+ /**
753
+ * Calulate the difference between two `DateTime` values.
754
+ *
755
+ * If the `other` DateTime is before `self`, the result will be a negative
756
+ * `Duration`, returned as a `Left`.
757
+ *
758
+ * If the `other` DateTime is after `self`, the result will be a positive
759
+ * `Duration`, returned as a `Right`.
760
+ *
761
+ * @since 3.6.0
762
+ * @category comparisons
763
+ * @example
764
+ * import { DateTime, Effect } from "effect"
765
+ *
766
+ * Effect.gen(function* () {
767
+ * const now = yield* DateTime.now
768
+ * const other = DateTime.add(now, { minutes: 1 })
769
+ *
770
+ * // returns Either.right(Duration.minutes(1))
771
+ * DateTime.distanceDurationEither(now, other)
772
+ *
773
+ * // returns Either.left(Duration.minutes(1))
774
+ * DateTime.distanceDurationEither(other, now)
775
+ * })
776
+ */
557
777
  (self: DateTime, other: DateTime): Either.Either<Duration.Duration, Duration.Duration>;
558
778
  };
559
779
  /**
@@ -573,7 +793,39 @@ export declare const distanceDurationEither: {
573
793
  * })
574
794
  */
575
795
  export declare const distanceDuration: {
796
+ /**
797
+ * Calulate the distance between two `DateTime` values.
798
+ *
799
+ * @since 3.6.0
800
+ * @category comparisons
801
+ * @example
802
+ * import { DateTime, Effect } from "effect"
803
+ *
804
+ * Effect.gen(function* () {
805
+ * const now = yield* DateTime.now
806
+ * const other = DateTime.add(now, { minutes: 1 })
807
+ *
808
+ * // returns Duration.minutes(1)
809
+ * DateTime.distanceDuration(now, other)
810
+ * })
811
+ */
576
812
  (other: DateTime): (self: DateTime) => Duration.Duration;
813
+ /**
814
+ * Calulate the distance between two `DateTime` values.
815
+ *
816
+ * @since 3.6.0
817
+ * @category comparisons
818
+ * @example
819
+ * import { DateTime, Effect } from "effect"
820
+ *
821
+ * Effect.gen(function* () {
822
+ * const now = yield* DateTime.now
823
+ * const other = DateTime.add(now, { minutes: 1 })
824
+ *
825
+ * // returns Duration.minutes(1)
826
+ * DateTime.distanceDuration(now, other)
827
+ * })
828
+ */
577
829
  (self: DateTime, other: DateTime): Duration.Duration;
578
830
  };
579
831
  /**
@@ -581,7 +833,15 @@ export declare const distanceDuration: {
581
833
  * @category comparisons
582
834
  */
583
835
  export declare const min: {
836
+ /**
837
+ * @since 3.6.0
838
+ * @category comparisons
839
+ */
584
840
  (that: DateTime): (self: DateTime) => DateTime;
841
+ /**
842
+ * @since 3.6.0
843
+ * @category comparisons
844
+ */
585
845
  (self: DateTime, that: DateTime): DateTime;
586
846
  };
587
847
  /**
@@ -589,7 +849,15 @@ export declare const min: {
589
849
  * @category comparisons
590
850
  */
591
851
  export declare const max: {
852
+ /**
853
+ * @since 3.6.0
854
+ * @category comparisons
855
+ */
592
856
  (that: DateTime): (self: DateTime) => DateTime;
857
+ /**
858
+ * @since 3.6.0
859
+ * @category comparisons
860
+ */
593
861
  (self: DateTime, that: DateTime): DateTime;
594
862
  };
595
863
  /**
@@ -597,7 +865,15 @@ export declare const max: {
597
865
  * @category comparisons
598
866
  */
599
867
  export declare const greaterThan: {
868
+ /**
869
+ * @since 3.6.0
870
+ * @category comparisons
871
+ */
600
872
  (that: DateTime): (self: DateTime) => boolean;
873
+ /**
874
+ * @since 3.6.0
875
+ * @category comparisons
876
+ */
601
877
  (self: DateTime, that: DateTime): boolean;
602
878
  };
603
879
  /**
@@ -605,7 +881,15 @@ export declare const greaterThan: {
605
881
  * @category comparisons
606
882
  */
607
883
  export declare const greaterThanOrEqualTo: {
884
+ /**
885
+ * @since 3.6.0
886
+ * @category comparisons
887
+ */
608
888
  (that: DateTime): (self: DateTime) => boolean;
889
+ /**
890
+ * @since 3.6.0
891
+ * @category comparisons
892
+ */
609
893
  (self: DateTime, that: DateTime): boolean;
610
894
  };
611
895
  /**
@@ -613,7 +897,15 @@ export declare const greaterThanOrEqualTo: {
613
897
  * @category comparisons
614
898
  */
615
899
  export declare const lessThan: {
900
+ /**
901
+ * @since 3.6.0
902
+ * @category comparisons
903
+ */
616
904
  (that: DateTime): (self: DateTime) => boolean;
905
+ /**
906
+ * @since 3.6.0
907
+ * @category comparisons
908
+ */
617
909
  (self: DateTime, that: DateTime): boolean;
618
910
  };
619
911
  /**
@@ -621,7 +913,15 @@ export declare const lessThan: {
621
913
  * @category comparisons
622
914
  */
623
915
  export declare const lessThanOrEqualTo: {
916
+ /**
917
+ * @since 3.6.0
918
+ * @category comparisons
919
+ */
624
920
  (that: DateTime): (self: DateTime) => boolean;
921
+ /**
922
+ * @since 3.6.0
923
+ * @category comparisons
924
+ */
625
925
  (self: DateTime, that: DateTime): boolean;
626
926
  };
627
927
  /**
@@ -629,10 +929,18 @@ export declare const lessThanOrEqualTo: {
629
929
  * @category comparisons
630
930
  */
631
931
  export declare const between: {
932
+ /**
933
+ * @since 3.6.0
934
+ * @category comparisons
935
+ */
632
936
  (options: {
633
937
  minimum: DateTime;
634
938
  maximum: DateTime;
635
939
  }): (self: DateTime) => boolean;
940
+ /**
941
+ * @since 3.6.0
942
+ * @category comparisons
943
+ */
636
944
  (self: DateTime, options: {
637
945
  minimum: DateTime;
638
946
  maximum: DateTime;
@@ -747,7 +1055,35 @@ export declare const toPartsUtc: (self: DateTime) => DateTime.PartsWithWeekday;
747
1055
  * assert.strictEqual(year, 2024)
748
1056
  */
749
1057
  export declare const getPartUtc: {
1058
+ /**
1059
+ * Get a part of a `DateTime` as a number.
1060
+ *
1061
+ * The part will be in the UTC time zone.
1062
+ *
1063
+ * @since 3.6.0
1064
+ * @category parts
1065
+ * @example
1066
+ * import { DateTime } from "effect"
1067
+ *
1068
+ * const now = DateTime.unsafeMake({ year: 2024 })
1069
+ * const year = DateTime.getPartUtc(now, "year")
1070
+ * assert.strictEqual(year, 2024)
1071
+ */
750
1072
  (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number;
1073
+ /**
1074
+ * Get a part of a `DateTime` as a number.
1075
+ *
1076
+ * The part will be in the UTC time zone.
1077
+ *
1078
+ * @since 3.6.0
1079
+ * @category parts
1080
+ * @example
1081
+ * import { DateTime } from "effect"
1082
+ *
1083
+ * const now = DateTime.unsafeMake({ year: 2024 })
1084
+ * const year = DateTime.getPartUtc(now, "year")
1085
+ * assert.strictEqual(year, 2024)
1086
+ */
751
1087
  (self: DateTime, part: keyof DateTime.PartsWithWeekday): number;
752
1088
  };
753
1089
  /**
@@ -765,7 +1101,35 @@ export declare const getPartUtc: {
765
1101
  * assert.strictEqual(year, 2024)
766
1102
  */
767
1103
  export declare const getPart: {
1104
+ /**
1105
+ * Get a part of a `DateTime` as a number.
1106
+ *
1107
+ * The part will be time zone adjusted.
1108
+ *
1109
+ * @since 3.6.0
1110
+ * @category parts
1111
+ * @example
1112
+ * import { DateTime } from "effect"
1113
+ *
1114
+ * const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
1115
+ * const year = DateTime.getPart(now, "year")
1116
+ * assert.strictEqual(year, 2024)
1117
+ */
768
1118
  (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number;
1119
+ /**
1120
+ * Get a part of a `DateTime` as a number.
1121
+ *
1122
+ * The part will be time zone adjusted.
1123
+ *
1124
+ * @since 3.6.0
1125
+ * @category parts
1126
+ * @example
1127
+ * import { DateTime } from "effect"
1128
+ *
1129
+ * const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
1130
+ * const year = DateTime.getPart(now, "year")
1131
+ * assert.strictEqual(year, 2024)
1132
+ */
769
1133
  (self: DateTime, part: keyof DateTime.PartsWithWeekday): number;
770
1134
  };
771
1135
  /**
@@ -777,7 +1141,23 @@ export declare const getPart: {
777
1141
  * @category parts
778
1142
  */
779
1143
  export declare const setParts: {
1144
+ /**
1145
+ * Set the different parts of a `DateTime` as an object.
1146
+ *
1147
+ * The Date will be time zone adjusted.
1148
+ *
1149
+ * @since 3.6.0
1150
+ * @category parts
1151
+ */
780
1152
  (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1153
+ /**
1154
+ * Set the different parts of a `DateTime` as an object.
1155
+ *
1156
+ * The Date will be time zone adjusted.
1157
+ *
1158
+ * @since 3.6.0
1159
+ * @category parts
1160
+ */
781
1161
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>;
782
1162
  };
783
1163
  /**
@@ -787,7 +1167,19 @@ export declare const setParts: {
787
1167
  * @category parts
788
1168
  */
789
1169
  export declare const setPartsUtc: {
1170
+ /**
1171
+ * Set the different parts of a `DateTime` as an object.
1172
+ *
1173
+ * @since 3.6.0
1174
+ * @category parts
1175
+ */
790
1176
  (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1177
+ /**
1178
+ * Set the different parts of a `DateTime` as an object.
1179
+ *
1180
+ * @since 3.6.0
1181
+ * @category parts
1182
+ */
791
1183
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>;
792
1184
  };
793
1185
  declare const CurrentTimeZone_base: Context.TagClass<CurrentTimeZone, "effect/DateTime/CurrentTimeZone", TimeZone>;
@@ -829,7 +1221,35 @@ export declare const setZoneCurrent: (self: DateTime) => Effect.Effect<Zoned, ne
829
1221
  * }).pipe(DateTime.withCurrentZone(zone))
830
1222
  */
831
1223
  export declare const withCurrentZone: {
1224
+ /**
1225
+ * Provide the `CurrentTimeZone` to an effect.
1226
+ *
1227
+ * @since 3.6.0
1228
+ * @category current time zone
1229
+ * @example
1230
+ * import { DateTime, Effect } from "effect"
1231
+ *
1232
+ * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
1233
+ *
1234
+ * Effect.gen(function* () {
1235
+ * const now = yield* DateTime.nowInCurrentZone
1236
+ * }).pipe(DateTime.withCurrentZone(zone))
1237
+ */
832
1238
  (zone: TimeZone): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1239
+ /**
1240
+ * Provide the `CurrentTimeZone` to an effect.
1241
+ *
1242
+ * @since 3.6.0
1243
+ * @category current time zone
1244
+ * @example
1245
+ * import { DateTime, Effect } from "effect"
1246
+ *
1247
+ * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
1248
+ *
1249
+ * Effect.gen(function* () {
1250
+ * const now = yield* DateTime.nowInCurrentZone
1251
+ * }).pipe(DateTime.withCurrentZone(zone))
1252
+ */
833
1253
  <A, E, R>(effect: Effect.Effect<A, E, R>, zone: TimeZone): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
834
1254
  };
835
1255
  /**
@@ -861,7 +1281,33 @@ export declare const withCurrentZoneLocal: <A, E, R>(effect: Effect.Effect<A, E,
861
1281
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
862
1282
  */
863
1283
  export declare const withCurrentZoneOffset: {
1284
+ /**
1285
+ * Provide the `CurrentTimeZone` to an effect, using a offset.
1286
+ *
1287
+ * @since 3.6.0
1288
+ * @category current time zone
1289
+ * @example
1290
+ * import { DateTime, Effect } from "effect"
1291
+ *
1292
+ * Effect.gen(function* () {
1293
+ * // will use the system's local time zone
1294
+ * const now = yield* DateTime.nowInCurrentZone
1295
+ * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
1296
+ */
864
1297
  (offset: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1298
+ /**
1299
+ * Provide the `CurrentTimeZone` to an effect, using a offset.
1300
+ *
1301
+ * @since 3.6.0
1302
+ * @category current time zone
1303
+ * @example
1304
+ * import { DateTime, Effect } from "effect"
1305
+ *
1306
+ * Effect.gen(function* () {
1307
+ * // will use the system's local time zone
1308
+ * const now = yield* DateTime.nowInCurrentZone
1309
+ * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
1310
+ */
865
1311
  <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
866
1312
  };
867
1313
  /**
@@ -881,7 +1327,39 @@ export declare const withCurrentZoneOffset: {
881
1327
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
882
1328
  */
883
1329
  export declare const withCurrentZoneNamed: {
1330
+ /**
1331
+ * Provide the `CurrentTimeZone` to an effect using an IANA time zone
1332
+ * identifier.
1333
+ *
1334
+ * If the time zone is invalid, it will fail with an `IllegalArgumentException`.
1335
+ *
1336
+ * @since 3.6.0
1337
+ * @category current time zone
1338
+ * @example
1339
+ * import { DateTime, Effect } from "effect"
1340
+ *
1341
+ * Effect.gen(function* () {
1342
+ * // will use the "Europe/London" time zone
1343
+ * const now = yield* DateTime.nowInCurrentZone
1344
+ * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1345
+ */
884
1346
  (zone: string): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | IllegalArgumentException, Exclude<R, CurrentTimeZone>>;
1347
+ /**
1348
+ * Provide the `CurrentTimeZone` to an effect using an IANA time zone
1349
+ * identifier.
1350
+ *
1351
+ * If the time zone is invalid, it will fail with an `IllegalArgumentException`.
1352
+ *
1353
+ * @since 3.6.0
1354
+ * @category current time zone
1355
+ * @example
1356
+ * import { DateTime, Effect } from "effect"
1357
+ *
1358
+ * Effect.gen(function* () {
1359
+ * // will use the "Europe/London" time zone
1360
+ * const now = yield* DateTime.nowInCurrentZone
1361
+ * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1362
+ */
885
1363
  <A, E, R>(effect: Effect.Effect<A, E, R>, zone: string): Effect.Effect<A, E | IllegalArgumentException, Exclude<R, CurrentTimeZone>>;
886
1364
  };
887
1365
  /**
@@ -936,7 +1414,25 @@ export declare const layerCurrentZoneLocal: Layer.Layer<CurrentTimeZone>;
936
1414
  * @category mapping
937
1415
  */
938
1416
  export declare const mutate: {
1417
+ /**
1418
+ * Modify a `DateTime` by applying a function to a cloned `Date` instance.
1419
+ *
1420
+ * The `Date` will first have the time zone applied if possible, and then be
1421
+ * converted back to a `DateTime` within the same time zone.
1422
+ *
1423
+ * @since 3.6.0
1424
+ * @category mapping
1425
+ */
939
1426
  (f: (date: Date) => void): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1427
+ /**
1428
+ * Modify a `DateTime` by applying a function to a cloned `Date` instance.
1429
+ *
1430
+ * The `Date` will first have the time zone applied if possible, and then be
1431
+ * converted back to a `DateTime` within the same time zone.
1432
+ *
1433
+ * @since 3.6.0
1434
+ * @category mapping
1435
+ */
940
1436
  <A extends DateTime>(self: A, f: (date: Date) => void): DateTime.PreserveZone<A>;
941
1437
  };
942
1438
  /**
@@ -946,7 +1442,19 @@ export declare const mutate: {
946
1442
  * @category mapping
947
1443
  */
948
1444
  export declare const mutateUtc: {
1445
+ /**
1446
+ * Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
1447
+ *
1448
+ * @since 3.6.0
1449
+ * @category mapping
1450
+ */
949
1451
  (f: (date: Date) => void): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1452
+ /**
1453
+ * Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
1454
+ *
1455
+ * @since 3.6.0
1456
+ * @category mapping
1457
+ */
950
1458
  <A extends DateTime>(self: A, f: (date: Date) => void): DateTime.PreserveZone<A>;
951
1459
  };
952
1460
  /**
@@ -964,7 +1472,35 @@ export declare const mutateUtc: {
964
1472
  * )
965
1473
  */
966
1474
  export declare const mapEpochMillis: {
1475
+ /**
1476
+ * Transform a `DateTime` by applying a function to the number of milliseconds
1477
+ * since the Unix epoch.
1478
+ *
1479
+ * @since 3.6.0
1480
+ * @category mapping
1481
+ * @example
1482
+ * import { DateTime } from "effect"
1483
+ *
1484
+ * // add 10 milliseconds
1485
+ * DateTime.unsafeMake(0).pipe(
1486
+ * DateTime.mapEpochMillis((millis) => millis + 10)
1487
+ * )
1488
+ */
967
1489
  (f: (millis: number) => number): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1490
+ /**
1491
+ * Transform a `DateTime` by applying a function to the number of milliseconds
1492
+ * since the Unix epoch.
1493
+ *
1494
+ * @since 3.6.0
1495
+ * @category mapping
1496
+ * @example
1497
+ * import { DateTime } from "effect"
1498
+ *
1499
+ * // add 10 milliseconds
1500
+ * DateTime.unsafeMake(0).pipe(
1501
+ * DateTime.mapEpochMillis((millis) => millis + 10)
1502
+ * )
1503
+ */
968
1504
  <A extends DateTime>(self: A, f: (millis: number) => number): DateTime.PreserveZone<A>;
969
1505
  };
970
1506
  /**
@@ -982,7 +1518,35 @@ export declare const mapEpochMillis: {
982
1518
  * )
983
1519
  */
984
1520
  export declare const withDate: {
1521
+ /**
1522
+ * Using the time zone adjusted `Date`, apply a function to the `Date` and
1523
+ * return the result.
1524
+ *
1525
+ * @since 3.6.0
1526
+ * @category mapping
1527
+ * @example
1528
+ * import { DateTime } from "effect"
1529
+ *
1530
+ * // get the time zone adjusted date in milliseconds
1531
+ * DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
1532
+ * DateTime.withDate((date) => date.getTime())
1533
+ * )
1534
+ */
985
1535
  <A>(f: (date: Date) => A): (self: DateTime) => A;
1536
+ /**
1537
+ * Using the time zone adjusted `Date`, apply a function to the `Date` and
1538
+ * return the result.
1539
+ *
1540
+ * @since 3.6.0
1541
+ * @category mapping
1542
+ * @example
1543
+ * import { DateTime } from "effect"
1544
+ *
1545
+ * // get the time zone adjusted date in milliseconds
1546
+ * DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
1547
+ * DateTime.withDate((date) => date.getTime())
1548
+ * )
1549
+ */
986
1550
  <A>(self: DateTime, f: (date: Date) => A): A;
987
1551
  };
988
1552
  /**
@@ -1000,7 +1564,35 @@ export declare const withDate: {
1000
1564
  * )
1001
1565
  */
1002
1566
  export declare const withDateUtc: {
1567
+ /**
1568
+ * Using the time zone adjusted `Date`, apply a function to the `Date` and
1569
+ * return the result.
1570
+ *
1571
+ * @since 3.6.0
1572
+ * @category mapping
1573
+ * @example
1574
+ * import { DateTime } from "effect"
1575
+ *
1576
+ * // get the date in milliseconds
1577
+ * DateTime.unsafeMake(0).pipe(
1578
+ * DateTime.withDateUtc((date) => date.getTime())
1579
+ * )
1580
+ */
1003
1581
  <A>(f: (date: Date) => A): (self: DateTime) => A;
1582
+ /**
1583
+ * Using the time zone adjusted `Date`, apply a function to the `Date` and
1584
+ * return the result.
1585
+ *
1586
+ * @since 3.6.0
1587
+ * @category mapping
1588
+ * @example
1589
+ * import { DateTime } from "effect"
1590
+ *
1591
+ * // get the date in milliseconds
1592
+ * DateTime.unsafeMake(0).pipe(
1593
+ * DateTime.withDateUtc((date) => date.getTime())
1594
+ * )
1595
+ */
1004
1596
  <A>(self: DateTime, f: (date: Date) => A): A;
1005
1597
  };
1006
1598
  /**
@@ -1008,10 +1600,18 @@ export declare const withDateUtc: {
1008
1600
  * @category mapping
1009
1601
  */
1010
1602
  export declare const match: {
1603
+ /**
1604
+ * @since 3.6.0
1605
+ * @category mapping
1606
+ */
1011
1607
  <A, B>(options: {
1012
1608
  readonly onUtc: (_: Utc) => A;
1013
1609
  readonly onZoned: (_: Zoned) => B;
1014
1610
  }): (self: DateTime) => A | B;
1611
+ /**
1612
+ * @since 3.6.0
1613
+ * @category mapping
1614
+ */
1015
1615
  <A, B>(self: DateTime, options: {
1016
1616
  readonly onUtc: (_: Utc) => A;
1017
1617
  readonly onZoned: (_: Zoned) => B;
@@ -1031,7 +1631,33 @@ export declare const match: {
1031
1631
  * )
1032
1632
  */
1033
1633
  export declare const addDuration: {
1634
+ /**
1635
+ * Add the given `Duration` to a `DateTime`.
1636
+ *
1637
+ * @since 3.6.0
1638
+ * @category math
1639
+ * @example
1640
+ * import { DateTime } from "effect"
1641
+ *
1642
+ * // add 5 minutes
1643
+ * DateTime.unsafeMake(0).pipe(
1644
+ * DateTime.addDuration("5 minutes")
1645
+ * )
1646
+ */
1034
1647
  (duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1648
+ /**
1649
+ * Add the given `Duration` to a `DateTime`.
1650
+ *
1651
+ * @since 3.6.0
1652
+ * @category math
1653
+ * @example
1654
+ * import { DateTime } from "effect"
1655
+ *
1656
+ * // add 5 minutes
1657
+ * DateTime.unsafeMake(0).pipe(
1658
+ * DateTime.addDuration("5 minutes")
1659
+ * )
1660
+ */
1035
1661
  <A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>;
1036
1662
  };
1037
1663
  /**
@@ -1048,7 +1674,33 @@ export declare const addDuration: {
1048
1674
  * )
1049
1675
  */
1050
1676
  export declare const subtractDuration: {
1677
+ /**
1678
+ * Subtract the given `Duration` from a `DateTime`.
1679
+ *
1680
+ * @since 3.6.0
1681
+ * @category math
1682
+ * @example
1683
+ * import { DateTime } from "effect"
1684
+ *
1685
+ * // subtract 5 minutes
1686
+ * DateTime.unsafeMake(0).pipe(
1687
+ * DateTime.subtractDuration("5 minutes")
1688
+ * )
1689
+ */
1051
1690
  (duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1691
+ /**
1692
+ * Subtract the given `Duration` from a `DateTime`.
1693
+ *
1694
+ * @since 3.6.0
1695
+ * @category math
1696
+ * @example
1697
+ * import { DateTime } from "effect"
1698
+ *
1699
+ * // subtract 5 minutes
1700
+ * DateTime.unsafeMake(0).pipe(
1701
+ * DateTime.subtractDuration("5 minutes")
1702
+ * )
1703
+ */
1052
1704
  <A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>;
1053
1705
  };
1054
1706
  /**
@@ -1068,7 +1720,39 @@ export declare const subtractDuration: {
1068
1720
  * )
1069
1721
  */
1070
1722
  export declare const add: {
1723
+ /**
1724
+ * Add the given `amount` of `unit`'s to a `DateTime`.
1725
+ *
1726
+ * The time zone is taken into account when adding days, weeks, months, and
1727
+ * years.
1728
+ *
1729
+ * @since 3.6.0
1730
+ * @category math
1731
+ * @example
1732
+ * import { DateTime } from "effect"
1733
+ *
1734
+ * // add 5 minutes
1735
+ * DateTime.unsafeMake(0).pipe(
1736
+ * DateTime.add({ minutes: 5 })
1737
+ * )
1738
+ */
1071
1739
  (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1740
+ /**
1741
+ * Add the given `amount` of `unit`'s to a `DateTime`.
1742
+ *
1743
+ * The time zone is taken into account when adding days, weeks, months, and
1744
+ * years.
1745
+ *
1746
+ * @since 3.6.0
1747
+ * @category math
1748
+ * @example
1749
+ * import { DateTime } from "effect"
1750
+ *
1751
+ * // add 5 minutes
1752
+ * DateTime.unsafeMake(0).pipe(
1753
+ * DateTime.add({ minutes: 5 })
1754
+ * )
1755
+ */
1072
1756
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>;
1073
1757
  };
1074
1758
  /**
@@ -1085,7 +1769,33 @@ export declare const add: {
1085
1769
  * )
1086
1770
  */
1087
1771
  export declare const subtract: {
1772
+ /**
1773
+ * Subtract the given `amount` of `unit`'s from a `DateTime`.
1774
+ *
1775
+ * @since 3.6.0
1776
+ * @category math
1777
+ * @example
1778
+ * import { DateTime } from "effect"
1779
+ *
1780
+ * // subtract 5 minutes
1781
+ * DateTime.unsafeMake(0).pipe(
1782
+ * DateTime.subtract({ minutes: 5 })
1783
+ * )
1784
+ */
1088
1785
  (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1786
+ /**
1787
+ * Subtract the given `amount` of `unit`'s from a `DateTime`.
1788
+ *
1789
+ * @since 3.6.0
1790
+ * @category math
1791
+ * @example
1792
+ * import { DateTime } from "effect"
1793
+ *
1794
+ * // subtract 5 minutes
1795
+ * DateTime.unsafeMake(0).pipe(
1796
+ * DateTime.subtract({ minutes: 5 })
1797
+ * )
1798
+ */
1089
1799
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>;
1090
1800
  };
1091
1801
  /**
@@ -1106,9 +1816,43 @@ export declare const subtract: {
1106
1816
  * )
1107
1817
  */
1108
1818
  export declare const startOf: {
1819
+ /**
1820
+ * Converts a `DateTime` to the start of the given `part`.
1821
+ *
1822
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
1823
+ * day of the week that the week starts on. The default is 0 (Sunday).
1824
+ *
1825
+ * @since 3.6.0
1826
+ * @category math
1827
+ * @example
1828
+ * import { DateTime } from "effect"
1829
+ *
1830
+ * // returns "2024-01-01T00:00:00Z"
1831
+ * DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
1832
+ * DateTime.startOf("day"),
1833
+ * DateTime.formatIso
1834
+ * )
1835
+ */
1109
1836
  (part: DateTime.UnitSingular, options?: {
1110
1837
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
1111
1838
  }): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1839
+ /**
1840
+ * Converts a `DateTime` to the start of the given `part`.
1841
+ *
1842
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
1843
+ * day of the week that the week starts on. The default is 0 (Sunday).
1844
+ *
1845
+ * @since 3.6.0
1846
+ * @category math
1847
+ * @example
1848
+ * import { DateTime } from "effect"
1849
+ *
1850
+ * // returns "2024-01-01T00:00:00Z"
1851
+ * DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
1852
+ * DateTime.startOf("day"),
1853
+ * DateTime.formatIso
1854
+ * )
1855
+ */
1112
1856
  <A extends DateTime>(self: A, part: DateTime.UnitSingular, options?: {
1113
1857
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
1114
1858
  }): DateTime.PreserveZone<A>;
@@ -1131,9 +1875,43 @@ export declare const startOf: {
1131
1875
  * )
1132
1876
  */
1133
1877
  export declare const endOf: {
1878
+ /**
1879
+ * Converts a `DateTime` to the end of the given `part`.
1880
+ *
1881
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
1882
+ * day of the week that the week starts on. The default is 0 (Sunday).
1883
+ *
1884
+ * @since 3.6.0
1885
+ * @category math
1886
+ * @example
1887
+ * import { DateTime } from "effect"
1888
+ *
1889
+ * // returns "2024-01-01T23:59:59.999Z"
1890
+ * DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
1891
+ * DateTime.endOf("day"),
1892
+ * DateTime.formatIso
1893
+ * )
1894
+ */
1134
1895
  (part: DateTime.UnitSingular, options?: {
1135
1896
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
1136
1897
  }): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1898
+ /**
1899
+ * Converts a `DateTime` to the end of the given `part`.
1900
+ *
1901
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
1902
+ * day of the week that the week starts on. The default is 0 (Sunday).
1903
+ *
1904
+ * @since 3.6.0
1905
+ * @category math
1906
+ * @example
1907
+ * import { DateTime } from "effect"
1908
+ *
1909
+ * // returns "2024-01-01T23:59:59.999Z"
1910
+ * DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
1911
+ * DateTime.endOf("day"),
1912
+ * DateTime.formatIso
1913
+ * )
1914
+ */
1137
1915
  <A extends DateTime>(self: A, part: DateTime.UnitSingular, options?: {
1138
1916
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
1139
1917
  }): DateTime.PreserveZone<A>;
@@ -1156,9 +1934,43 @@ export declare const endOf: {
1156
1934
  * )
1157
1935
  */
1158
1936
  export declare const nearest: {
1937
+ /**
1938
+ * Converts a `DateTime` to the nearest given `part`.
1939
+ *
1940
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
1941
+ * day of the week that the week starts on. The default is 0 (Sunday).
1942
+ *
1943
+ * @since 3.6.0
1944
+ * @category math
1945
+ * @example
1946
+ * import { DateTime } from "effect"
1947
+ *
1948
+ * // returns "2024-01-02T00:00:00Z"
1949
+ * DateTime.unsafeMake("2024-01-01T12:01:00Z").pipe(
1950
+ * DateTime.nearest("day"),
1951
+ * DateTime.formatIso
1952
+ * )
1953
+ */
1159
1954
  (part: DateTime.UnitSingular, options?: {
1160
1955
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
1161
1956
  }): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1957
+ /**
1958
+ * Converts a `DateTime` to the nearest given `part`.
1959
+ *
1960
+ * If the part is `week`, the `weekStartsOn` option can be used to specify the
1961
+ * day of the week that the week starts on. The default is 0 (Sunday).
1962
+ *
1963
+ * @since 3.6.0
1964
+ * @category math
1965
+ * @example
1966
+ * import { DateTime } from "effect"
1967
+ *
1968
+ * // returns "2024-01-02T00:00:00Z"
1969
+ * DateTime.unsafeMake("2024-01-01T12:01:00Z").pipe(
1970
+ * DateTime.nearest("day"),
1971
+ * DateTime.formatIso
1972
+ * )
1973
+ */
1162
1974
  <A extends DateTime>(self: A, part: DateTime.UnitSingular, options?: {
1163
1975
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
1164
1976
  }): DateTime.PreserveZone<A>;
@@ -1175,9 +1987,31 @@ export declare const nearest: {
1175
1987
  * @category formatting
1176
1988
  */
1177
1989
  export declare const format: {
1990
+ /**
1991
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
1992
+ *
1993
+ * The `timeZone` option is set to the offset of the time zone.
1994
+ *
1995
+ * Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
1996
+ * "UTC" and use the adjusted `Date`.
1997
+ *
1998
+ * @since 3.6.0
1999
+ * @category formatting
2000
+ */
1178
2001
  (options?: Intl.DateTimeFormatOptions & {
1179
2002
  readonly locale?: string | undefined;
1180
2003
  } | undefined): (self: DateTime) => string;
2004
+ /**
2005
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2006
+ *
2007
+ * The `timeZone` option is set to the offset of the time zone.
2008
+ *
2009
+ * Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
2010
+ * "UTC" and use the adjusted `Date`.
2011
+ *
2012
+ * @since 3.6.0
2013
+ * @category formatting
2014
+ */
1181
2015
  (self: DateTime, options?: Intl.DateTimeFormatOptions & {
1182
2016
  readonly locale?: string | undefined;
1183
2017
  } | undefined): string;
@@ -1191,9 +2025,25 @@ export declare const format: {
1191
2025
  * @category formatting
1192
2026
  */
1193
2027
  export declare const formatLocal: {
2028
+ /**
2029
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2030
+ *
2031
+ * It will use the system's local time zone & locale.
2032
+ *
2033
+ * @since 3.6.0
2034
+ * @category formatting
2035
+ */
1194
2036
  (options?: Intl.DateTimeFormatOptions & {
1195
2037
  readonly locale?: string | undefined;
1196
2038
  } | undefined): (self: DateTime) => string;
2039
+ /**
2040
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2041
+ *
2042
+ * It will use the system's local time zone & locale.
2043
+ *
2044
+ * @since 3.6.0
2045
+ * @category formatting
2046
+ */
1197
2047
  (self: DateTime, options?: Intl.DateTimeFormatOptions & {
1198
2048
  readonly locale?: string | undefined;
1199
2049
  } | undefined): string;
@@ -1207,9 +2057,25 @@ export declare const formatLocal: {
1207
2057
  * @category formatting
1208
2058
  */
1209
2059
  export declare const formatUtc: {
2060
+ /**
2061
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2062
+ *
2063
+ * This forces the time zone to be UTC.
2064
+ *
2065
+ * @since 3.6.0
2066
+ * @category formatting
2067
+ */
1210
2068
  (options?: Intl.DateTimeFormatOptions & {
1211
2069
  readonly locale?: string | undefined;
1212
2070
  } | undefined): (self: DateTime) => string;
2071
+ /**
2072
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2073
+ *
2074
+ * This forces the time zone to be UTC.
2075
+ *
2076
+ * @since 3.6.0
2077
+ * @category formatting
2078
+ */
1213
2079
  (self: DateTime, options?: Intl.DateTimeFormatOptions & {
1214
2080
  readonly locale?: string | undefined;
1215
2081
  } | undefined): string;
@@ -1221,7 +2087,19 @@ export declare const formatUtc: {
1221
2087
  * @category formatting
1222
2088
  */
1223
2089
  export declare const formatIntl: {
2090
+ /**
2091
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2092
+ *
2093
+ * @since 3.6.0
2094
+ * @category formatting
2095
+ */
1224
2096
  (format: Intl.DateTimeFormat): (self: DateTime) => string;
2097
+ /**
2098
+ * Format a `DateTime` as a string using the `DateTimeFormat` API.
2099
+ *
2100
+ * @since 3.6.0
2101
+ * @category formatting
2102
+ */
1225
2103
  (self: DateTime, format: Intl.DateTimeFormat): string;
1226
2104
  };
1227
2105
  /**