effect 3.10.18 → 3.11.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 (448) hide show
  1. package/dist/cjs/Array.js +206 -0
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/BigDecimal.js +181 -24
  4. package/dist/cjs/BigDecimal.js.map +1 -1
  5. package/dist/cjs/BigInt.js +54 -0
  6. package/dist/cjs/BigInt.js.map +1 -1
  7. package/dist/cjs/Boolean.js +24 -0
  8. package/dist/cjs/Boolean.js.map +1 -1
  9. package/dist/cjs/Brand.js +4 -0
  10. package/dist/cjs/Brand.js.map +1 -1
  11. package/dist/cjs/Channel.js +44 -4
  12. package/dist/cjs/Channel.js.map +1 -1
  13. package/dist/cjs/Chunk.js +8 -0
  14. package/dist/cjs/Chunk.js.map +1 -1
  15. package/dist/cjs/Config.js +10 -1
  16. package/dist/cjs/Config.js.map +1 -1
  17. package/dist/cjs/Context.js +50 -1
  18. package/dist/cjs/Context.js.map +1 -1
  19. package/dist/cjs/Cron.js +81 -67
  20. package/dist/cjs/Cron.js.map +1 -1
  21. package/dist/cjs/Data.js +14 -0
  22. package/dist/cjs/Data.js.map +1 -1
  23. package/dist/cjs/DateTime.js +178 -664
  24. package/dist/cjs/DateTime.js.map +1 -1
  25. package/dist/cjs/Duration.js +2 -0
  26. package/dist/cjs/Duration.js.map +1 -1
  27. package/dist/cjs/Effect.js +296 -4
  28. package/dist/cjs/Effect.js.map +1 -1
  29. package/dist/cjs/Either.js +38 -2
  30. package/dist/cjs/Either.js.map +1 -1
  31. package/dist/cjs/FiberHandle.js +6 -0
  32. package/dist/cjs/FiberHandle.js.map +1 -1
  33. package/dist/cjs/FiberMap.js +6 -0
  34. package/dist/cjs/FiberMap.js.map +1 -1
  35. package/dist/cjs/FiberSet.js +6 -0
  36. package/dist/cjs/FiberSet.js.map +1 -1
  37. package/dist/cjs/Function.js +34 -0
  38. package/dist/cjs/Function.js.map +1 -1
  39. package/dist/cjs/GlobalValue.js +2 -0
  40. package/dist/cjs/GlobalValue.js.map +1 -1
  41. package/dist/cjs/HashMap.js.map +1 -1
  42. package/dist/cjs/Inspectable.js +8 -4
  43. package/dist/cjs/Inspectable.js.map +1 -1
  44. package/dist/cjs/Iterable.js +18 -0
  45. package/dist/cjs/Iterable.js.map +1 -1
  46. package/dist/cjs/JSONSchema.js.map +1 -1
  47. package/dist/cjs/List.js +4 -0
  48. package/dist/cjs/List.js.map +1 -1
  49. package/dist/cjs/Logger.js +26 -0
  50. package/dist/cjs/Logger.js.map +1 -1
  51. package/dist/cjs/Mailbox.js +2 -0
  52. package/dist/cjs/Mailbox.js.map +1 -1
  53. package/dist/cjs/ManagedRuntime.js +2 -0
  54. package/dist/cjs/ManagedRuntime.js.map +1 -1
  55. package/dist/cjs/Metric.js +10 -0
  56. package/dist/cjs/Metric.js.map +1 -1
  57. package/dist/cjs/Micro.js +1104 -1069
  58. package/dist/cjs/Micro.js.map +1 -1
  59. package/dist/cjs/Number.js +44 -0
  60. package/dist/cjs/Number.js.map +1 -1
  61. package/dist/cjs/Option.js +70 -0
  62. package/dist/cjs/Option.js.map +1 -1
  63. package/dist/cjs/Order.js +2 -0
  64. package/dist/cjs/Order.js.map +1 -1
  65. package/dist/cjs/Ordering.js +4 -0
  66. package/dist/cjs/Ordering.js.map +1 -1
  67. package/dist/cjs/Predicate.js +68 -0
  68. package/dist/cjs/Predicate.js.map +1 -1
  69. package/dist/cjs/Random.js +4 -0
  70. package/dist/cjs/Random.js.map +1 -1
  71. package/dist/cjs/RateLimiter.js +4 -0
  72. package/dist/cjs/RateLimiter.js.map +1 -1
  73. package/dist/cjs/RcMap.js +2 -0
  74. package/dist/cjs/RcMap.js.map +1 -1
  75. package/dist/cjs/RcRef.js +2 -0
  76. package/dist/cjs/RcRef.js.map +1 -1
  77. package/dist/cjs/Record.js +56 -0
  78. package/dist/cjs/Record.js.map +1 -1
  79. package/dist/cjs/Redacted.js +8 -0
  80. package/dist/cjs/Redacted.js.map +1 -1
  81. package/dist/cjs/RegExp.js +4 -0
  82. package/dist/cjs/RegExp.js.map +1 -1
  83. package/dist/cjs/Request.js +4 -0
  84. package/dist/cjs/Request.js.map +1 -1
  85. package/dist/cjs/RequestResolver.js +2 -0
  86. package/dist/cjs/RequestResolver.js.map +1 -1
  87. package/dist/cjs/Runtime.js +6 -0
  88. package/dist/cjs/Runtime.js.map +1 -1
  89. package/dist/cjs/STM.js.map +1 -1
  90. package/dist/cjs/Schema.js +91 -8
  91. package/dist/cjs/Schema.js.map +1 -1
  92. package/dist/cjs/Sink.js +9 -1
  93. package/dist/cjs/Sink.js.map +1 -1
  94. package/dist/cjs/Stream.js +179 -7
  95. package/dist/cjs/Stream.js.map +1 -1
  96. package/dist/cjs/String.js +62 -0
  97. package/dist/cjs/String.js.map +1 -1
  98. package/dist/cjs/Struct.js +12 -0
  99. package/dist/cjs/Struct.js.map +1 -1
  100. package/dist/cjs/Symbol.js +2 -0
  101. package/dist/cjs/Symbol.js.map +1 -1
  102. package/dist/cjs/Trie.js +56 -0
  103. package/dist/cjs/Trie.js.map +1 -1
  104. package/dist/cjs/Tuple.js +18 -0
  105. package/dist/cjs/Tuple.js.map +1 -1
  106. package/dist/cjs/Utils.js +7 -1
  107. package/dist/cjs/Utils.js.map +1 -1
  108. package/dist/cjs/internal/channel/channelExecutor.js +5 -9
  109. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  110. package/dist/cjs/internal/channel.js +156 -130
  111. package/dist/cjs/internal/channel.js.map +1 -1
  112. package/dist/cjs/internal/config.js +13 -4
  113. package/dist/cjs/internal/config.js.map +1 -1
  114. package/dist/cjs/internal/context.js +46 -3
  115. package/dist/cjs/internal/context.js.map +1 -1
  116. package/dist/cjs/internal/dateTime.js +747 -0
  117. package/dist/cjs/internal/dateTime.js.map +1 -0
  118. package/dist/cjs/internal/fiberRuntime.js +34 -11
  119. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  120. package/dist/cjs/internal/groupBy.js +9 -3
  121. package/dist/cjs/internal/groupBy.js.map +1 -1
  122. package/dist/cjs/internal/layer.js +1 -1
  123. package/dist/cjs/internal/layer.js.map +1 -1
  124. package/dist/cjs/internal/mailbox.js +1 -1
  125. package/dist/cjs/internal/mailbox.js.map +1 -1
  126. package/dist/cjs/internal/sink.js +25 -21
  127. package/dist/cjs/internal/sink.js.map +1 -1
  128. package/dist/cjs/internal/stream.js +70 -71
  129. package/dist/cjs/internal/stream.js.map +1 -1
  130. package/dist/cjs/internal/version.js +1 -1
  131. package/dist/cjs/internal/version.js.map +1 -1
  132. package/dist/dts/Array.d.ts +534 -0
  133. package/dist/dts/Array.d.ts.map +1 -1
  134. package/dist/dts/BigDecimal.d.ts +172 -1
  135. package/dist/dts/BigDecimal.d.ts.map +1 -1
  136. package/dist/dts/BigInt.d.ts +114 -0
  137. package/dist/dts/BigInt.d.ts.map +1 -1
  138. package/dist/dts/Boolean.d.ts +56 -0
  139. package/dist/dts/Boolean.d.ts.map +1 -1
  140. package/dist/dts/Brand.d.ts +6 -0
  141. package/dist/dts/Brand.d.ts.map +1 -1
  142. package/dist/dts/Channel.d.ts +66 -5
  143. package/dist/dts/Channel.d.ts.map +1 -1
  144. package/dist/dts/Chunk.d.ts +30 -0
  145. package/dist/dts/Chunk.d.ts.map +1 -1
  146. package/dist/dts/Config.d.ts +25 -1
  147. package/dist/dts/Config.d.ts.map +1 -1
  148. package/dist/dts/Context.d.ts +155 -0
  149. package/dist/dts/Context.d.ts.map +1 -1
  150. package/dist/dts/Cron.d.ts +21 -6
  151. package/dist/dts/Cron.d.ts.map +1 -1
  152. package/dist/dts/Data.d.ts +26 -0
  153. package/dist/dts/Data.d.ts.map +1 -1
  154. package/dist/dts/DateTime.d.ts +192 -49
  155. package/dist/dts/DateTime.d.ts.map +1 -1
  156. package/dist/dts/Duration.d.ts +2 -0
  157. package/dist/dts/Duration.d.ts.map +1 -1
  158. package/dist/dts/Effect.d.ts +658 -1
  159. package/dist/dts/Effect.d.ts.map +1 -1
  160. package/dist/dts/Either.d.ts +84 -2
  161. package/dist/dts/Either.d.ts.map +1 -1
  162. package/dist/dts/FiberHandle.d.ts +6 -0
  163. package/dist/dts/FiberHandle.d.ts.map +1 -1
  164. package/dist/dts/FiberMap.d.ts +6 -0
  165. package/dist/dts/FiberMap.d.ts.map +1 -1
  166. package/dist/dts/FiberSet.d.ts +6 -0
  167. package/dist/dts/FiberSet.d.ts.map +1 -1
  168. package/dist/dts/Function.d.ts +50 -0
  169. package/dist/dts/Function.d.ts.map +1 -1
  170. package/dist/dts/GlobalValue.d.ts +2 -0
  171. package/dist/dts/GlobalValue.d.ts.map +1 -1
  172. package/dist/dts/HashMap.d.ts +6 -0
  173. package/dist/dts/HashMap.d.ts.map +1 -1
  174. package/dist/dts/Inspectable.d.ts.map +1 -1
  175. package/dist/dts/Iterable.d.ts +26 -0
  176. package/dist/dts/Iterable.d.ts.map +1 -1
  177. package/dist/dts/JSONSchema.d.ts +1 -0
  178. package/dist/dts/JSONSchema.d.ts.map +1 -1
  179. package/dist/dts/List.d.ts +20 -0
  180. package/dist/dts/List.d.ts.map +1 -1
  181. package/dist/dts/Logger.d.ts +34 -0
  182. package/dist/dts/Logger.d.ts.map +1 -1
  183. package/dist/dts/Mailbox.d.ts +2 -0
  184. package/dist/dts/Mailbox.d.ts.map +1 -1
  185. package/dist/dts/ManagedRuntime.d.ts +2 -0
  186. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  187. package/dist/dts/Metric.d.ts +18 -0
  188. package/dist/dts/Metric.d.ts.map +1 -1
  189. package/dist/dts/Micro.d.ts +880 -863
  190. package/dist/dts/Micro.d.ts.map +1 -1
  191. package/dist/dts/Number.d.ts +104 -0
  192. package/dist/dts/Number.d.ts.map +1 -1
  193. package/dist/dts/Option.d.ts +142 -0
  194. package/dist/dts/Option.d.ts.map +1 -1
  195. package/dist/dts/Order.d.ts +2 -0
  196. package/dist/dts/Order.d.ts.map +1 -1
  197. package/dist/dts/Ordering.d.ts +8 -0
  198. package/dist/dts/Ordering.d.ts.map +1 -1
  199. package/dist/dts/Predicate.d.ts +104 -0
  200. package/dist/dts/Predicate.d.ts.map +1 -1
  201. package/dist/dts/Random.d.ts +4 -0
  202. package/dist/dts/Random.d.ts.map +1 -1
  203. package/dist/dts/RateLimiter.d.ts +4 -0
  204. package/dist/dts/RateLimiter.d.ts.map +1 -1
  205. package/dist/dts/RcMap.d.ts +6 -0
  206. package/dist/dts/RcMap.d.ts.map +1 -1
  207. package/dist/dts/RcRef.d.ts +2 -0
  208. package/dist/dts/RcRef.d.ts.map +1 -1
  209. package/dist/dts/Record.d.ts +136 -0
  210. package/dist/dts/Record.d.ts.map +1 -1
  211. package/dist/dts/Redacted.d.ts +8 -0
  212. package/dist/dts/Redacted.d.ts.map +1 -1
  213. package/dist/dts/RegExp.d.ts +4 -0
  214. package/dist/dts/RegExp.d.ts.map +1 -1
  215. package/dist/dts/Request.d.ts +4 -0
  216. package/dist/dts/Request.d.ts.map +1 -1
  217. package/dist/dts/RequestResolver.d.ts +6 -0
  218. package/dist/dts/RequestResolver.d.ts.map +1 -1
  219. package/dist/dts/Runtime.d.ts +18 -0
  220. package/dist/dts/Runtime.d.ts.map +1 -1
  221. package/dist/dts/STM.d.ts +2 -0
  222. package/dist/dts/STM.d.ts.map +1 -1
  223. package/dist/dts/Schema.d.ts +90 -0
  224. package/dist/dts/Schema.d.ts.map +1 -1
  225. package/dist/dts/Sink.d.ts +8 -0
  226. package/dist/dts/Sink.d.ts.map +1 -1
  227. package/dist/dts/Stream.d.ts +394 -32
  228. package/dist/dts/Stream.d.ts.map +1 -1
  229. package/dist/dts/String.d.ts +94 -0
  230. package/dist/dts/String.d.ts.map +1 -1
  231. package/dist/dts/Struct.d.ts +24 -0
  232. package/dist/dts/Struct.d.ts.map +1 -1
  233. package/dist/dts/Symbol.d.ts +2 -0
  234. package/dist/dts/Symbol.d.ts.map +1 -1
  235. package/dist/dts/Trie.d.ts +132 -0
  236. package/dist/dts/Trie.d.ts.map +1 -1
  237. package/dist/dts/Tuple.d.ts +42 -0
  238. package/dist/dts/Tuple.d.ts.map +1 -1
  239. package/dist/dts/Types.d.ts +24 -0
  240. package/dist/dts/Types.d.ts.map +1 -1
  241. package/dist/dts/Utils.d.ts +4 -0
  242. package/dist/dts/Utils.d.ts.map +1 -1
  243. package/dist/dts/internal/context.d.ts +1 -1
  244. package/dist/dts/internal/context.d.ts.map +1 -1
  245. package/dist/dts/internal/dateTime.d.ts +2 -0
  246. package/dist/dts/internal/dateTime.d.ts.map +1 -0
  247. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  248. package/dist/dts/internal/stream.d.ts.map +1 -1
  249. package/dist/esm/Array.js +208 -0
  250. package/dist/esm/Array.js.map +1 -1
  251. package/dist/esm/BigDecimal.js +175 -20
  252. package/dist/esm/BigDecimal.js.map +1 -1
  253. package/dist/esm/BigInt.js +54 -0
  254. package/dist/esm/BigInt.js.map +1 -1
  255. package/dist/esm/Boolean.js +24 -0
  256. package/dist/esm/Boolean.js.map +1 -1
  257. package/dist/esm/Brand.js +4 -0
  258. package/dist/esm/Brand.js.map +1 -1
  259. package/dist/esm/Channel.js +42 -2
  260. package/dist/esm/Channel.js.map +1 -1
  261. package/dist/esm/Chunk.js +8 -0
  262. package/dist/esm/Chunk.js.map +1 -1
  263. package/dist/esm/Config.js +9 -0
  264. package/dist/esm/Config.js.map +1 -1
  265. package/dist/esm/Context.js +49 -0
  266. package/dist/esm/Context.js.map +1 -1
  267. package/dist/esm/Cron.js +81 -67
  268. package/dist/esm/Cron.js.map +1 -1
  269. package/dist/esm/Data.js +16 -0
  270. package/dist/esm/Data.js.map +1 -1
  271. package/dist/esm/DateTime.js +176 -627
  272. package/dist/esm/DateTime.js.map +1 -1
  273. package/dist/esm/Duration.js +2 -0
  274. package/dist/esm/Duration.js.map +1 -1
  275. package/dist/esm/Effect.js +297 -0
  276. package/dist/esm/Effect.js.map +1 -1
  277. package/dist/esm/Either.js +40 -2
  278. package/dist/esm/Either.js.map +1 -1
  279. package/dist/esm/FiberHandle.js +6 -0
  280. package/dist/esm/FiberHandle.js.map +1 -1
  281. package/dist/esm/FiberMap.js +6 -0
  282. package/dist/esm/FiberMap.js.map +1 -1
  283. package/dist/esm/FiberSet.js +6 -0
  284. package/dist/esm/FiberSet.js.map +1 -1
  285. package/dist/esm/Function.js +34 -0
  286. package/dist/esm/Function.js.map +1 -1
  287. package/dist/esm/GlobalValue.js +2 -0
  288. package/dist/esm/GlobalValue.js.map +1 -1
  289. package/dist/esm/HashMap.js.map +1 -1
  290. package/dist/esm/Inspectable.js +8 -4
  291. package/dist/esm/Inspectable.js.map +1 -1
  292. package/dist/esm/Iterable.js +18 -0
  293. package/dist/esm/Iterable.js.map +1 -1
  294. package/dist/esm/JSONSchema.js.map +1 -1
  295. package/dist/esm/List.js +4 -0
  296. package/dist/esm/List.js.map +1 -1
  297. package/dist/esm/Logger.js +26 -0
  298. package/dist/esm/Logger.js.map +1 -1
  299. package/dist/esm/Mailbox.js +2 -0
  300. package/dist/esm/Mailbox.js.map +1 -1
  301. package/dist/esm/ManagedRuntime.js +2 -0
  302. package/dist/esm/ManagedRuntime.js.map +1 -1
  303. package/dist/esm/Metric.js +10 -0
  304. package/dist/esm/Metric.js.map +1 -1
  305. package/dist/esm/Micro.js +1077 -1037
  306. package/dist/esm/Micro.js.map +1 -1
  307. package/dist/esm/Number.js +44 -0
  308. package/dist/esm/Number.js.map +1 -1
  309. package/dist/esm/Option.js +72 -0
  310. package/dist/esm/Option.js.map +1 -1
  311. package/dist/esm/Order.js +2 -0
  312. package/dist/esm/Order.js.map +1 -1
  313. package/dist/esm/Ordering.js +4 -0
  314. package/dist/esm/Ordering.js.map +1 -1
  315. package/dist/esm/Predicate.js +68 -0
  316. package/dist/esm/Predicate.js.map +1 -1
  317. package/dist/esm/Random.js +4 -0
  318. package/dist/esm/Random.js.map +1 -1
  319. package/dist/esm/RateLimiter.js +4 -0
  320. package/dist/esm/RateLimiter.js.map +1 -1
  321. package/dist/esm/RcMap.js +2 -0
  322. package/dist/esm/RcMap.js.map +1 -1
  323. package/dist/esm/RcRef.js +2 -0
  324. package/dist/esm/RcRef.js.map +1 -1
  325. package/dist/esm/Record.js +56 -0
  326. package/dist/esm/Record.js.map +1 -1
  327. package/dist/esm/Redacted.js +8 -0
  328. package/dist/esm/Redacted.js.map +1 -1
  329. package/dist/esm/RegExp.js +4 -0
  330. package/dist/esm/RegExp.js.map +1 -1
  331. package/dist/esm/Request.js +4 -0
  332. package/dist/esm/Request.js.map +1 -1
  333. package/dist/esm/RequestResolver.js +2 -0
  334. package/dist/esm/RequestResolver.js.map +1 -1
  335. package/dist/esm/Runtime.js +6 -0
  336. package/dist/esm/Runtime.js.map +1 -1
  337. package/dist/esm/STM.js.map +1 -1
  338. package/dist/esm/Schema.js +88 -0
  339. package/dist/esm/Schema.js.map +1 -1
  340. package/dist/esm/Sink.js +8 -0
  341. package/dist/esm/Sink.js.map +1 -1
  342. package/dist/esm/Stream.js +183 -5
  343. package/dist/esm/Stream.js.map +1 -1
  344. package/dist/esm/String.js +62 -0
  345. package/dist/esm/String.js.map +1 -1
  346. package/dist/esm/Struct.js +12 -0
  347. package/dist/esm/Struct.js.map +1 -1
  348. package/dist/esm/Symbol.js +2 -0
  349. package/dist/esm/Symbol.js.map +1 -1
  350. package/dist/esm/Trie.js +56 -0
  351. package/dist/esm/Trie.js.map +1 -1
  352. package/dist/esm/Tuple.js +22 -0
  353. package/dist/esm/Tuple.js.map +1 -1
  354. package/dist/esm/Utils.js +5 -0
  355. package/dist/esm/Utils.js.map +1 -1
  356. package/dist/esm/internal/channel/channelExecutor.js +5 -7
  357. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  358. package/dist/esm/internal/channel.js +152 -129
  359. package/dist/esm/internal/channel.js.map +1 -1
  360. package/dist/esm/internal/config.js +11 -3
  361. package/dist/esm/internal/config.js.map +1 -1
  362. package/dist/esm/internal/context.js +42 -2
  363. package/dist/esm/internal/context.js.map +1 -1
  364. package/dist/esm/internal/dateTime.js +704 -0
  365. package/dist/esm/internal/dateTime.js.map +1 -0
  366. package/dist/esm/internal/fiberRuntime.js +31 -9
  367. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  368. package/dist/esm/internal/groupBy.js +9 -3
  369. package/dist/esm/internal/groupBy.js.map +1 -1
  370. package/dist/esm/internal/layer.js +1 -1
  371. package/dist/esm/internal/layer.js.map +1 -1
  372. package/dist/esm/internal/mailbox.js +1 -1
  373. package/dist/esm/internal/mailbox.js.map +1 -1
  374. package/dist/esm/internal/sink.js +23 -20
  375. package/dist/esm/internal/sink.js.map +1 -1
  376. package/dist/esm/internal/stream.js +66 -69
  377. package/dist/esm/internal/stream.js.map +1 -1
  378. package/dist/esm/internal/version.js +1 -1
  379. package/dist/esm/internal/version.js.map +1 -1
  380. package/package.json +1 -1
  381. package/src/Array.ts +534 -0
  382. package/src/BigDecimal.ts +247 -21
  383. package/src/BigInt.ts +114 -0
  384. package/src/Boolean.ts +56 -0
  385. package/src/Brand.ts +6 -0
  386. package/src/Channel.ts +81 -5
  387. package/src/Chunk.ts +32 -0
  388. package/src/Config.ts +26 -1
  389. package/src/Context.ts +163 -0
  390. package/src/Cron.ts +91 -68
  391. package/src/Data.ts +26 -0
  392. package/src/DateTime.ts +307 -757
  393. package/src/Duration.ts +2 -0
  394. package/src/Effect.ts +910 -1
  395. package/src/Either.ts +84 -2
  396. package/src/FiberHandle.ts +6 -0
  397. package/src/FiberMap.ts +6 -0
  398. package/src/FiberSet.ts +6 -0
  399. package/src/Function.ts +50 -0
  400. package/src/GlobalValue.ts +2 -0
  401. package/src/HashMap.ts +6 -0
  402. package/src/Inspectable.ts +11 -7
  403. package/src/Iterable.ts +26 -0
  404. package/src/JSONSchema.ts +1 -0
  405. package/src/List.ts +24 -0
  406. package/src/Logger.ts +34 -0
  407. package/src/Mailbox.ts +2 -0
  408. package/src/ManagedRuntime.ts +2 -0
  409. package/src/Metric.ts +18 -0
  410. package/src/Micro.ts +2007 -1745
  411. package/src/Number.ts +104 -0
  412. package/src/Option.ts +142 -0
  413. package/src/Order.ts +2 -0
  414. package/src/Ordering.ts +8 -0
  415. package/src/Predicate.ts +104 -0
  416. package/src/Random.ts +4 -0
  417. package/src/RateLimiter.ts +4 -0
  418. package/src/RcMap.ts +6 -0
  419. package/src/RcRef.ts +2 -0
  420. package/src/Record.ts +136 -0
  421. package/src/Redacted.ts +8 -0
  422. package/src/RegExp.ts +4 -0
  423. package/src/Request.ts +4 -0
  424. package/src/RequestResolver.ts +6 -0
  425. package/src/Runtime.ts +18 -0
  426. package/src/STM.ts +2 -0
  427. package/src/Schema.ts +124 -0
  428. package/src/Sink.ts +11 -0
  429. package/src/Stream.ts +399 -44
  430. package/src/String.ts +94 -0
  431. package/src/Struct.ts +24 -0
  432. package/src/Symbol.ts +2 -0
  433. package/src/Trie.ts +132 -0
  434. package/src/Tuple.ts +42 -0
  435. package/src/Types.ts +24 -0
  436. package/src/Utils.ts +8 -0
  437. package/src/internal/channel/channelExecutor.ts +37 -33
  438. package/src/internal/channel.ts +504 -467
  439. package/src/internal/config.ts +18 -6
  440. package/src/internal/context.ts +56 -4
  441. package/src/internal/dateTime.ts +1126 -0
  442. package/src/internal/fiberRuntime.ts +35 -16
  443. package/src/internal/groupBy.ts +13 -22
  444. package/src/internal/layer.ts +5 -8
  445. package/src/internal/mailbox.ts +6 -4
  446. package/src/internal/sink.ts +55 -35
  447. package/src/internal/stream.ts +299 -299
  448. package/src/internal/version.ts +1 -1
@@ -1,18 +1,17 @@
1
1
  /**
2
2
  * @since 3.6.0
3
3
  */
4
- import { IllegalArgumentException } from "./Cause.js";
5
- import * as Context from "./Context.js";
6
- import * as Duration from "./Duration.js";
4
+ import type { IllegalArgumentException } from "./Cause.js";
5
+ import type * as Duration from "./Duration.js";
7
6
  import * as Effect from "./Effect.js";
8
- import * as Either from "./Either.js";
9
- import * as Equivalence_ from "./Equivalence.js";
10
- import type { LazyArg } from "./Function.js";
11
- import * as Inspectable from "./Inspectable.js";
7
+ import type * as Either from "./Either.js";
8
+ import type * as equivalence from "./Equivalence.js";
9
+ import { type LazyArg } from "./Function.js";
10
+ import type { Inspectable } from "./Inspectable.js";
12
11
  import * as Layer from "./Layer.js";
13
- import * as Option from "./Option.js";
14
- import * as order from "./Order.js";
15
- import { type Pipeable } from "./Pipeable.js";
12
+ import type * as Option from "./Option.js";
13
+ import type * as order from "./Order.js";
14
+ import type { Pipeable } from "./Pipeable.js";
16
15
  /**
17
16
  * @since 3.6.0
18
17
  * @category type ids
@@ -123,7 +122,7 @@ export declare namespace DateTime {
123
122
  * @since 3.6.0
124
123
  * @category models
125
124
  */
126
- interface Proto extends Pipeable, Inspectable.Inspectable {
125
+ interface Proto extends Pipeable, Inspectable {
127
126
  readonly [TypeId]: TypeId;
128
127
  }
129
128
  }
@@ -151,7 +150,7 @@ export declare namespace TimeZone {
151
150
  * @since 3.6.0
152
151
  * @category models
153
152
  */
154
- interface Proto extends Inspectable.Inspectable {
153
+ interface Proto extends Inspectable {
155
154
  readonly [TimeZoneTypeId]: TimeZoneTypeId;
156
155
  }
157
156
  /**
@@ -205,7 +204,7 @@ export declare const isZoned: (self: DateTime) => self is Zoned;
205
204
  * @since 3.6.0
206
205
  * @category instances
207
206
  */
208
- export declare const Equivalence: Equivalence_.Equivalence<DateTime>;
207
+ export declare const Equivalence: equivalence.Equivalence<DateTime>;
209
208
  /**
210
209
  * @since 3.6.0
211
210
  * @category instances
@@ -251,6 +250,7 @@ export declare const unsafeFromDate: (date: Date) => Utc;
251
250
  * @since 3.6.0
252
251
  * @category constructors
253
252
  * @example
253
+ * ```ts
254
254
  * import { DateTime } from "effect"
255
255
  *
256
256
  * // from Date
@@ -261,6 +261,7 @@ export declare const unsafeFromDate: (date: Date) => Utc;
261
261
  *
262
262
  * // from string
263
263
  * DateTime.unsafeMake("2024-01-01")
264
+ * ```
264
265
  */
265
266
  export declare const unsafeMake: <A extends DateTime.Input>(input: A) => DateTime.PreserveZone<A>;
266
267
  /**
@@ -273,9 +274,11 @@ export declare const unsafeMake: <A extends DateTime.Input>(input: A) => DateTim
273
274
  * @since 3.6.0
274
275
  * @category constructors
275
276
  * @example
277
+ * ```ts
276
278
  * import { DateTime } from "effect"
277
279
  *
278
280
  * DateTime.unsafeMakeZoned(new Date(), { timeZone: "Europe/London" })
281
+ * ```
279
282
  */
280
283
  export declare const unsafeMakeZoned: (input: DateTime.Input, options?: {
281
284
  readonly timeZone?: number | string | TimeZone | undefined;
@@ -291,9 +294,11 @@ export declare const unsafeMakeZoned: (input: DateTime.Input, options?: {
291
294
  * @since 3.6.0
292
295
  * @category constructors
293
296
  * @example
297
+ * ```ts
294
298
  * import { DateTime } from "effect"
295
299
  *
296
300
  * DateTime.makeZoned(new Date(), { timeZone: "Europe/London" })
301
+ * ```
297
302
  */
298
303
  export declare const makeZoned: (input: DateTime.Input, options?: {
299
304
  readonly timeZone?: number | string | TimeZone | undefined;
@@ -313,6 +318,7 @@ export declare const makeZoned: (input: DateTime.Input, options?: {
313
318
  * @since 3.6.0
314
319
  * @category constructors
315
320
  * @example
321
+ * ```ts
316
322
  * import { DateTime } from "effect"
317
323
  *
318
324
  * // from Date
@@ -323,6 +329,7 @@ export declare const makeZoned: (input: DateTime.Input, options?: {
323
329
  *
324
330
  * // from string
325
331
  * DateTime.make("2024-01-01")
332
+ * ```
326
333
  */
327
334
  export declare const make: <A extends DateTime.Input>(input: A) => Option.Option<DateTime.PreserveZone<A>>;
328
335
  /**
@@ -340,11 +347,13 @@ export declare const makeZonedFromString: (input: string) => Option.Option<Zoned
340
347
  * @since 3.6.0
341
348
  * @category constructors
342
349
  * @example
350
+ * ```ts
343
351
  * import { DateTime, Effect } from "effect"
344
352
  *
345
353
  * Effect.gen(function* () {
346
354
  * const now = yield* DateTime.now
347
355
  * })
356
+ * ```
348
357
  */
349
358
  export declare const now: Effect.Effect<Utc>;
350
359
  /**
@@ -360,6 +369,7 @@ export declare const unsafeNow: LazyArg<Utc>;
360
369
  * @since 3.6.0
361
370
  * @category time zones
362
371
  * @example
372
+ * ```ts
363
373
  * import { DateTime, Effect } from "effect"
364
374
  *
365
375
  * Effect.gen(function* () {
@@ -369,6 +379,7 @@ export declare const unsafeNow: LazyArg<Utc>;
369
379
  * // set the time zone
370
380
  * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
371
381
  * })
382
+ * ```
372
383
  */
373
384
  export declare const setZone: {
374
385
  /**
@@ -377,6 +388,7 @@ export declare const setZone: {
377
388
  * @since 3.6.0
378
389
  * @category time zones
379
390
  * @example
391
+ * ```ts
380
392
  * import { DateTime, Effect } from "effect"
381
393
  *
382
394
  * Effect.gen(function* () {
@@ -386,6 +398,7 @@ export declare const setZone: {
386
398
  * // set the time zone
387
399
  * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
388
400
  * })
401
+ * ```
389
402
  */
390
403
  (zone: TimeZone, options?: {
391
404
  readonly adjustForTimeZone?: boolean | undefined;
@@ -396,6 +409,7 @@ export declare const setZone: {
396
409
  * @since 3.6.0
397
410
  * @category time zones
398
411
  * @example
412
+ * ```ts
399
413
  * import { DateTime, Effect } from "effect"
400
414
  *
401
415
  * Effect.gen(function* () {
@@ -405,6 +419,7 @@ export declare const setZone: {
405
419
  * // set the time zone
406
420
  * const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
407
421
  * })
422
+ * ```
408
423
  */
409
424
  (self: DateTime, zone: TimeZone, options?: {
410
425
  readonly adjustForTimeZone?: boolean | undefined;
@@ -418,6 +433,7 @@ export declare const setZone: {
418
433
  * @since 3.6.0
419
434
  * @category time zones
420
435
  * @example
436
+ * ```ts
421
437
  * import { DateTime, Effect } from "effect"
422
438
  *
423
439
  * Effect.gen(function* () {
@@ -426,6 +442,7 @@ export declare const setZone: {
426
442
  * // set the offset time zone in milliseconds
427
443
  * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
428
444
  * })
445
+ * ```
429
446
  */
430
447
  export declare const setZoneOffset: {
431
448
  /**
@@ -436,6 +453,7 @@ export declare const setZoneOffset: {
436
453
  * @since 3.6.0
437
454
  * @category time zones
438
455
  * @example
456
+ * ```ts
439
457
  * import { DateTime, Effect } from "effect"
440
458
  *
441
459
  * Effect.gen(function* () {
@@ -444,6 +462,7 @@ export declare const setZoneOffset: {
444
462
  * // set the offset time zone in milliseconds
445
463
  * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
446
464
  * })
465
+ * ```
447
466
  */
448
467
  (offset: number, options?: {
449
468
  readonly adjustForTimeZone?: boolean | undefined;
@@ -456,6 +475,7 @@ export declare const setZoneOffset: {
456
475
  * @since 3.6.0
457
476
  * @category time zones
458
477
  * @example
478
+ * ```ts
459
479
  * import { DateTime, Effect } from "effect"
460
480
  *
461
481
  * Effect.gen(function* () {
@@ -464,6 +484,7 @@ export declare const setZoneOffset: {
464
484
  * // set the offset time zone in milliseconds
465
485
  * const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
466
486
  * })
487
+ * ```
467
488
  */
468
489
  (self: DateTime, offset: number, options?: {
469
490
  readonly adjustForTimeZone?: boolean | undefined;
@@ -521,6 +542,7 @@ export declare const zoneFromString: (zone: string) => Option.Option<TimeZone>;
521
542
  * @since 3.6.0
522
543
  * @category time zones
523
544
  * @example
545
+ * ```ts
524
546
  * import { DateTime, Effect } from "effect"
525
547
  *
526
548
  * // Outputs "+03:00"
@@ -528,6 +550,7 @@ export declare const zoneFromString: (zone: string) => Option.Option<TimeZone>;
528
550
  *
529
551
  * // Outputs "Europe/London"
530
552
  * DateTime.zoneToString(DateTime.zoneUnsafeMakeNamed("Europe/London"))
553
+ * ```
531
554
  */
532
555
  export declare const zoneToString: (self: TimeZone) => string;
533
556
  /**
@@ -537,6 +560,7 @@ export declare const zoneToString: (self: TimeZone) => string;
537
560
  * @since 3.6.0
538
561
  * @category time zones
539
562
  * @example
563
+ * ```ts
540
564
  * import { DateTime, Effect } from "effect"
541
565
  *
542
566
  * Effect.gen(function* () {
@@ -544,6 +568,7 @@ export declare const zoneToString: (self: TimeZone) => string;
544
568
  * // set the time zone, returns an Option
545
569
  * DateTime.setZoneNamed(now, "Europe/London")
546
570
  * })
571
+ * ```
547
572
  */
548
573
  export declare const setZoneNamed: {
549
574
  /**
@@ -553,6 +578,7 @@ export declare const setZoneNamed: {
553
578
  * @since 3.6.0
554
579
  * @category time zones
555
580
  * @example
581
+ * ```ts
556
582
  * import { DateTime, Effect } from "effect"
557
583
  *
558
584
  * Effect.gen(function* () {
@@ -560,6 +586,7 @@ export declare const setZoneNamed: {
560
586
  * // set the time zone, returns an Option
561
587
  * DateTime.setZoneNamed(now, "Europe/London")
562
588
  * })
589
+ * ```
563
590
  */
564
591
  (zoneId: string, options?: {
565
592
  readonly adjustForTimeZone?: boolean | undefined;
@@ -571,6 +598,7 @@ export declare const setZoneNamed: {
571
598
  * @since 3.6.0
572
599
  * @category time zones
573
600
  * @example
601
+ * ```ts
574
602
  * import { DateTime, Effect } from "effect"
575
603
  *
576
604
  * Effect.gen(function* () {
@@ -578,6 +606,7 @@ export declare const setZoneNamed: {
578
606
  * // set the time zone, returns an Option
579
607
  * DateTime.setZoneNamed(now, "Europe/London")
580
608
  * })
609
+ * ```
581
610
  */
582
611
  (self: DateTime, zoneId: string, options?: {
583
612
  readonly adjustForTimeZone?: boolean | undefined;
@@ -590,6 +619,7 @@ export declare const setZoneNamed: {
590
619
  * @since 3.6.0
591
620
  * @category time zones
592
621
  * @example
622
+ * ```ts
593
623
  * import { DateTime, Effect } from "effect"
594
624
  *
595
625
  * Effect.gen(function* () {
@@ -597,6 +627,7 @@ export declare const setZoneNamed: {
597
627
  * // set the time zone
598
628
  * DateTime.unsafeSetZoneNamed(now, "Europe/London")
599
629
  * })
630
+ * ```
600
631
  */
601
632
  export declare const unsafeSetZoneNamed: {
602
633
  /**
@@ -606,6 +637,7 @@ export declare const unsafeSetZoneNamed: {
606
637
  * @since 3.6.0
607
638
  * @category time zones
608
639
  * @example
640
+ * ```ts
609
641
  * import { DateTime, Effect } from "effect"
610
642
  *
611
643
  * Effect.gen(function* () {
@@ -613,6 +645,7 @@ export declare const unsafeSetZoneNamed: {
613
645
  * // set the time zone
614
646
  * DateTime.unsafeSetZoneNamed(now, "Europe/London")
615
647
  * })
648
+ * ```
616
649
  */
617
650
  (zoneId: string, options?: {
618
651
  readonly adjustForTimeZone?: boolean | undefined;
@@ -624,6 +657,7 @@ export declare const unsafeSetZoneNamed: {
624
657
  * @since 3.6.0
625
658
  * @category time zones
626
659
  * @example
660
+ * ```ts
627
661
  * import { DateTime, Effect } from "effect"
628
662
  *
629
663
  * Effect.gen(function* () {
@@ -631,6 +665,7 @@ export declare const unsafeSetZoneNamed: {
631
665
  * // set the time zone
632
666
  * DateTime.unsafeSetZoneNamed(now, "Europe/London")
633
667
  * })
668
+ * ```
634
669
  */
635
670
  (self: DateTime, zoneId: string, options?: {
636
671
  readonly adjustForTimeZone?: boolean | undefined;
@@ -645,6 +680,7 @@ export declare const unsafeSetZoneNamed: {
645
680
  * @since 3.6.0
646
681
  * @category comparisons
647
682
  * @example
683
+ * ```ts
648
684
  * import { DateTime, Effect } from "effect"
649
685
  *
650
686
  * Effect.gen(function* () {
@@ -654,6 +690,7 @@ export declare const unsafeSetZoneNamed: {
654
690
  * // returns 60000
655
691
  * DateTime.distance(now, other)
656
692
  * })
693
+ * ```
657
694
  */
658
695
  export declare const distance: {
659
696
  /**
@@ -665,6 +702,7 @@ export declare const distance: {
665
702
  * @since 3.6.0
666
703
  * @category comparisons
667
704
  * @example
705
+ * ```ts
668
706
  * import { DateTime, Effect } from "effect"
669
707
  *
670
708
  * Effect.gen(function* () {
@@ -674,6 +712,7 @@ export declare const distance: {
674
712
  * // returns 60000
675
713
  * DateTime.distance(now, other)
676
714
  * })
715
+ * ```
677
716
  */
678
717
  (other: DateTime): (self: DateTime) => number;
679
718
  /**
@@ -685,6 +724,7 @@ export declare const distance: {
685
724
  * @since 3.6.0
686
725
  * @category comparisons
687
726
  * @example
727
+ * ```ts
688
728
  * import { DateTime, Effect } from "effect"
689
729
  *
690
730
  * Effect.gen(function* () {
@@ -694,6 +734,7 @@ export declare const distance: {
694
734
  * // returns 60000
695
735
  * DateTime.distance(now, other)
696
736
  * })
737
+ * ```
697
738
  */
698
739
  (self: DateTime, other: DateTime): number;
699
740
  };
@@ -709,6 +750,7 @@ export declare const distance: {
709
750
  * @since 3.6.0
710
751
  * @category comparisons
711
752
  * @example
753
+ * ```ts
712
754
  * import { DateTime, Effect } from "effect"
713
755
  *
714
756
  * Effect.gen(function* () {
@@ -721,6 +763,7 @@ export declare const distance: {
721
763
  * // returns Either.left(Duration.minutes(1))
722
764
  * DateTime.distanceDurationEither(other, now)
723
765
  * })
766
+ * ```
724
767
  */
725
768
  export declare const distanceDurationEither: {
726
769
  /**
@@ -735,6 +778,7 @@ export declare const distanceDurationEither: {
735
778
  * @since 3.6.0
736
779
  * @category comparisons
737
780
  * @example
781
+ * ```ts
738
782
  * import { DateTime, Effect } from "effect"
739
783
  *
740
784
  * Effect.gen(function* () {
@@ -747,6 +791,7 @@ export declare const distanceDurationEither: {
747
791
  * // returns Either.left(Duration.minutes(1))
748
792
  * DateTime.distanceDurationEither(other, now)
749
793
  * })
794
+ * ```
750
795
  */
751
796
  (other: DateTime): (self: DateTime) => Either.Either<Duration.Duration, Duration.Duration>;
752
797
  /**
@@ -761,6 +806,7 @@ export declare const distanceDurationEither: {
761
806
  * @since 3.6.0
762
807
  * @category comparisons
763
808
  * @example
809
+ * ```ts
764
810
  * import { DateTime, Effect } from "effect"
765
811
  *
766
812
  * Effect.gen(function* () {
@@ -773,6 +819,7 @@ export declare const distanceDurationEither: {
773
819
  * // returns Either.left(Duration.minutes(1))
774
820
  * DateTime.distanceDurationEither(other, now)
775
821
  * })
822
+ * ```
776
823
  */
777
824
  (self: DateTime, other: DateTime): Either.Either<Duration.Duration, Duration.Duration>;
778
825
  };
@@ -782,6 +829,7 @@ export declare const distanceDurationEither: {
782
829
  * @since 3.6.0
783
830
  * @category comparisons
784
831
  * @example
832
+ * ```ts
785
833
  * import { DateTime, Effect } from "effect"
786
834
  *
787
835
  * Effect.gen(function* () {
@@ -791,6 +839,7 @@ export declare const distanceDurationEither: {
791
839
  * // returns Duration.minutes(1)
792
840
  * DateTime.distanceDuration(now, other)
793
841
  * })
842
+ * ```
794
843
  */
795
844
  export declare const distanceDuration: {
796
845
  /**
@@ -799,6 +848,7 @@ export declare const distanceDuration: {
799
848
  * @since 3.6.0
800
849
  * @category comparisons
801
850
  * @example
851
+ * ```ts
802
852
  * import { DateTime, Effect } from "effect"
803
853
  *
804
854
  * Effect.gen(function* () {
@@ -808,6 +858,7 @@ export declare const distanceDuration: {
808
858
  * // returns Duration.minutes(1)
809
859
  * DateTime.distanceDuration(now, other)
810
860
  * })
861
+ * ```
811
862
  */
812
863
  (other: DateTime): (self: DateTime) => Duration.Duration;
813
864
  /**
@@ -816,6 +867,7 @@ export declare const distanceDuration: {
816
867
  * @since 3.6.0
817
868
  * @category comparisons
818
869
  * @example
870
+ * ```ts
819
871
  * import { DateTime, Effect } from "effect"
820
872
  *
821
873
  * Effect.gen(function* () {
@@ -825,6 +877,7 @@ export declare const distanceDuration: {
825
877
  * // returns Duration.minutes(1)
826
878
  * DateTime.distanceDuration(now, other)
827
879
  * })
880
+ * ```
828
881
  */
829
882
  (self: DateTime, other: DateTime): Duration.Duration;
830
883
  };
@@ -1010,6 +1063,7 @@ export declare const toEpochMillis: (self: DateTime) => number;
1010
1063
  * @since 3.6.0
1011
1064
  * @category conversions
1012
1065
  * @example
1066
+ * ```ts
1013
1067
  * import { DateTime } from "effect"
1014
1068
  *
1015
1069
  * // returns "2024-01-01T00:00:00Z"
@@ -1020,6 +1074,7 @@ export declare const toEpochMillis: (self: DateTime) => number;
1020
1074
  * DateTime.removeTime,
1021
1075
  * DateTime.formatIso
1022
1076
  * )
1077
+ * ```
1023
1078
  */
1024
1079
  export declare const removeTime: (self: DateTime) => Utc;
1025
1080
  /**
@@ -1048,11 +1103,13 @@ export declare const toPartsUtc: (self: DateTime) => DateTime.PartsWithWeekday;
1048
1103
  * @since 3.6.0
1049
1104
  * @category parts
1050
1105
  * @example
1106
+ * ```ts
1051
1107
  * import { DateTime } from "effect"
1052
1108
  *
1053
1109
  * const now = DateTime.unsafeMake({ year: 2024 })
1054
1110
  * const year = DateTime.getPartUtc(now, "year")
1055
1111
  * assert.strictEqual(year, 2024)
1112
+ * ```
1056
1113
  */
1057
1114
  export declare const getPartUtc: {
1058
1115
  /**
@@ -1063,11 +1120,13 @@ export declare const getPartUtc: {
1063
1120
  * @since 3.6.0
1064
1121
  * @category parts
1065
1122
  * @example
1123
+ * ```ts
1066
1124
  * import { DateTime } from "effect"
1067
1125
  *
1068
1126
  * const now = DateTime.unsafeMake({ year: 2024 })
1069
1127
  * const year = DateTime.getPartUtc(now, "year")
1070
1128
  * assert.strictEqual(year, 2024)
1129
+ * ```
1071
1130
  */
1072
1131
  (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number;
1073
1132
  /**
@@ -1078,11 +1137,13 @@ export declare const getPartUtc: {
1078
1137
  * @since 3.6.0
1079
1138
  * @category parts
1080
1139
  * @example
1140
+ * ```ts
1081
1141
  * import { DateTime } from "effect"
1082
1142
  *
1083
1143
  * const now = DateTime.unsafeMake({ year: 2024 })
1084
1144
  * const year = DateTime.getPartUtc(now, "year")
1085
1145
  * assert.strictEqual(year, 2024)
1146
+ * ```
1086
1147
  */
1087
1148
  (self: DateTime, part: keyof DateTime.PartsWithWeekday): number;
1088
1149
  };
@@ -1094,11 +1155,13 @@ export declare const getPartUtc: {
1094
1155
  * @since 3.6.0
1095
1156
  * @category parts
1096
1157
  * @example
1158
+ * ```ts
1097
1159
  * import { DateTime } from "effect"
1098
1160
  *
1099
1161
  * const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
1100
1162
  * const year = DateTime.getPart(now, "year")
1101
1163
  * assert.strictEqual(year, 2024)
1164
+ * ```
1102
1165
  */
1103
1166
  export declare const getPart: {
1104
1167
  /**
@@ -1109,11 +1172,13 @@ export declare const getPart: {
1109
1172
  * @since 3.6.0
1110
1173
  * @category parts
1111
1174
  * @example
1175
+ * ```ts
1112
1176
  * import { DateTime } from "effect"
1113
1177
  *
1114
1178
  * const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
1115
1179
  * const year = DateTime.getPart(now, "year")
1116
1180
  * assert.strictEqual(year, 2024)
1181
+ * ```
1117
1182
  */
1118
1183
  (part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number;
1119
1184
  /**
@@ -1124,11 +1189,13 @@ export declare const getPart: {
1124
1189
  * @since 3.6.0
1125
1190
  * @category parts
1126
1191
  * @example
1192
+ * ```ts
1127
1193
  * import { DateTime } from "effect"
1128
1194
  *
1129
1195
  * const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
1130
1196
  * const year = DateTime.getPart(now, "year")
1131
1197
  * assert.strictEqual(year, 2024)
1198
+ * ```
1132
1199
  */
1133
1200
  (self: DateTime, part: keyof DateTime.PartsWithWeekday): number;
1134
1201
  };
@@ -1182,13 +1249,6 @@ export declare const setPartsUtc: {
1182
1249
  */
1183
1250
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>;
1184
1251
  };
1185
- declare const CurrentTimeZone_base: Context.TagClass<CurrentTimeZone, "effect/DateTime/CurrentTimeZone", TimeZone>;
1186
- /**
1187
- * @since 3.6.0
1188
- * @category current time zone
1189
- */
1190
- export declare class CurrentTimeZone extends CurrentTimeZone_base {
1191
- }
1192
1252
  /**
1193
1253
  * Set the time zone of a `DateTime` to the current time zone, which is
1194
1254
  * determined by the `CurrentTimeZone` service.
@@ -1196,6 +1256,7 @@ export declare class CurrentTimeZone extends CurrentTimeZone_base {
1196
1256
  * @since 3.6.0
1197
1257
  * @category current time zone
1198
1258
  * @example
1259
+ * ```ts
1199
1260
  * import { DateTime, Effect } from "effect"
1200
1261
  *
1201
1262
  * Effect.gen(function* () {
@@ -1204,6 +1265,7 @@ export declare class CurrentTimeZone extends CurrentTimeZone_base {
1204
1265
  * // set the time zone to "Europe/London"
1205
1266
  * const zoned = yield* DateTime.setZoneCurrent(now)
1206
1267
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1268
+ * ```
1207
1269
  */
1208
1270
  export declare const setZoneCurrent: (self: DateTime) => Effect.Effect<Zoned, never, CurrentTimeZone>;
1209
1271
  /**
@@ -1212,6 +1274,7 @@ export declare const setZoneCurrent: (self: DateTime) => Effect.Effect<Zoned, ne
1212
1274
  * @since 3.6.0
1213
1275
  * @category current time zone
1214
1276
  * @example
1277
+ * ```ts
1215
1278
  * import { DateTime, Effect } from "effect"
1216
1279
  *
1217
1280
  * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
@@ -1219,6 +1282,7 @@ export declare const setZoneCurrent: (self: DateTime) => Effect.Effect<Zoned, ne
1219
1282
  * Effect.gen(function* () {
1220
1283
  * const now = yield* DateTime.nowInCurrentZone
1221
1284
  * }).pipe(DateTime.withCurrentZone(zone))
1285
+ * ```
1222
1286
  */
1223
1287
  export declare const withCurrentZone: {
1224
1288
  /**
@@ -1227,6 +1291,7 @@ export declare const withCurrentZone: {
1227
1291
  * @since 3.6.0
1228
1292
  * @category current time zone
1229
1293
  * @example
1294
+ * ```ts
1230
1295
  * import { DateTime, Effect } from "effect"
1231
1296
  *
1232
1297
  * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
@@ -1234,6 +1299,7 @@ export declare const withCurrentZone: {
1234
1299
  * Effect.gen(function* () {
1235
1300
  * const now = yield* DateTime.nowInCurrentZone
1236
1301
  * }).pipe(DateTime.withCurrentZone(zone))
1302
+ * ```
1237
1303
  */
1238
1304
  (zone: TimeZone): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1239
1305
  /**
@@ -1242,6 +1308,7 @@ export declare const withCurrentZone: {
1242
1308
  * @since 3.6.0
1243
1309
  * @category current time zone
1244
1310
  * @example
1311
+ * ```ts
1245
1312
  * import { DateTime, Effect } from "effect"
1246
1313
  *
1247
1314
  * const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
@@ -1249,6 +1316,7 @@ export declare const withCurrentZone: {
1249
1316
  * Effect.gen(function* () {
1250
1317
  * const now = yield* DateTime.nowInCurrentZone
1251
1318
  * }).pipe(DateTime.withCurrentZone(zone))
1319
+ * ```
1252
1320
  */
1253
1321
  <A, E, R>(effect: Effect.Effect<A, E, R>, zone: TimeZone): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1254
1322
  };
@@ -1259,12 +1327,14 @@ export declare const withCurrentZone: {
1259
1327
  * @since 3.6.0
1260
1328
  * @category current time zone
1261
1329
  * @example
1330
+ * ```ts
1262
1331
  * import { DateTime, Effect } from "effect"
1263
1332
  *
1264
1333
  * Effect.gen(function* () {
1265
1334
  * // will use the system's local time zone
1266
1335
  * const now = yield* DateTime.nowInCurrentZone
1267
1336
  * }).pipe(DateTime.withCurrentZoneLocal)
1337
+ * ```
1268
1338
  */
1269
1339
  export declare const withCurrentZoneLocal: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1270
1340
  /**
@@ -1273,12 +1343,14 @@ export declare const withCurrentZoneLocal: <A, E, R>(effect: Effect.Effect<A, E,
1273
1343
  * @since 3.6.0
1274
1344
  * @category current time zone
1275
1345
  * @example
1346
+ * ```ts
1276
1347
  * import { DateTime, Effect } from "effect"
1277
1348
  *
1278
1349
  * Effect.gen(function* () {
1279
1350
  * // will use the system's local time zone
1280
1351
  * const now = yield* DateTime.nowInCurrentZone
1281
1352
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
1353
+ * ```
1282
1354
  */
1283
1355
  export declare const withCurrentZoneOffset: {
1284
1356
  /**
@@ -1287,12 +1359,14 @@ export declare const withCurrentZoneOffset: {
1287
1359
  * @since 3.6.0
1288
1360
  * @category current time zone
1289
1361
  * @example
1362
+ * ```ts
1290
1363
  * import { DateTime, Effect } from "effect"
1291
1364
  *
1292
1365
  * Effect.gen(function* () {
1293
1366
  * // will use the system's local time zone
1294
1367
  * const now = yield* DateTime.nowInCurrentZone
1295
1368
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
1369
+ * ```
1296
1370
  */
1297
1371
  (offset: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1298
1372
  /**
@@ -1301,12 +1375,14 @@ export declare const withCurrentZoneOffset: {
1301
1375
  * @since 3.6.0
1302
1376
  * @category current time zone
1303
1377
  * @example
1378
+ * ```ts
1304
1379
  * import { DateTime, Effect } from "effect"
1305
1380
  *
1306
1381
  * Effect.gen(function* () {
1307
1382
  * // will use the system's local time zone
1308
1383
  * const now = yield* DateTime.nowInCurrentZone
1309
1384
  * }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
1385
+ * ```
1310
1386
  */
1311
1387
  <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>;
1312
1388
  };
@@ -1319,12 +1395,14 @@ export declare const withCurrentZoneOffset: {
1319
1395
  * @since 3.6.0
1320
1396
  * @category current time zone
1321
1397
  * @example
1398
+ * ```ts
1322
1399
  * import { DateTime, Effect } from "effect"
1323
1400
  *
1324
1401
  * Effect.gen(function* () {
1325
1402
  * // will use the "Europe/London" time zone
1326
1403
  * const now = yield* DateTime.nowInCurrentZone
1327
1404
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1405
+ * ```
1328
1406
  */
1329
1407
  export declare const withCurrentZoneNamed: {
1330
1408
  /**
@@ -1336,12 +1414,14 @@ export declare const withCurrentZoneNamed: {
1336
1414
  * @since 3.6.0
1337
1415
  * @category current time zone
1338
1416
  * @example
1417
+ * ```ts
1339
1418
  * import { DateTime, Effect } from "effect"
1340
1419
  *
1341
1420
  * Effect.gen(function* () {
1342
1421
  * // will use the "Europe/London" time zone
1343
1422
  * const now = yield* DateTime.nowInCurrentZone
1344
1423
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1424
+ * ```
1345
1425
  */
1346
1426
  (zone: string): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | IllegalArgumentException, Exclude<R, CurrentTimeZone>>;
1347
1427
  /**
@@ -1353,12 +1433,14 @@ export declare const withCurrentZoneNamed: {
1353
1433
  * @since 3.6.0
1354
1434
  * @category current time zone
1355
1435
  * @example
1436
+ * ```ts
1356
1437
  * import { DateTime, Effect } from "effect"
1357
1438
  *
1358
1439
  * Effect.gen(function* () {
1359
1440
  * // will use the "Europe/London" time zone
1360
1441
  * const now = yield* DateTime.nowInCurrentZone
1361
1442
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1443
+ * ```
1362
1444
  */
1363
1445
  <A, E, R>(effect: Effect.Effect<A, E, R>, zone: string): Effect.Effect<A, E | IllegalArgumentException, Exclude<R, CurrentTimeZone>>;
1364
1446
  };
@@ -1368,42 +1450,16 @@ export declare const withCurrentZoneNamed: {
1368
1450
  * @since 3.6.0
1369
1451
  * @category current time zone
1370
1452
  * @example
1453
+ * ```ts
1371
1454
  * import { DateTime, Effect } from "effect"
1372
1455
  *
1373
1456
  * Effect.gen(function* () {
1374
1457
  * // will use the "Europe/London" time zone
1375
1458
  * const now = yield* DateTime.nowInCurrentZone
1376
1459
  * }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
1460
+ * ```
1377
1461
  */
1378
1462
  export declare const nowInCurrentZone: Effect.Effect<Zoned, never, CurrentTimeZone>;
1379
- /**
1380
- * Create a Layer from the given time zone.
1381
- *
1382
- * @since 3.6.0
1383
- * @category current time zone
1384
- */
1385
- export declare const layerCurrentZone: (zone: TimeZone) => Layer.Layer<CurrentTimeZone>;
1386
- /**
1387
- * Create a Layer from the given time zone offset.
1388
- *
1389
- * @since 3.6.0
1390
- * @category current time zone
1391
- */
1392
- export declare const layerCurrentZoneOffset: (offset: number) => Layer.Layer<CurrentTimeZone>;
1393
- /**
1394
- * Create a Layer from the given IANA time zone identifier.
1395
- *
1396
- * @since 3.6.0
1397
- * @category current time zone
1398
- */
1399
- export declare const layerCurrentZoneNamed: (zoneId: string) => Layer.Layer<CurrentTimeZone, IllegalArgumentException>;
1400
- /**
1401
- * Create a Layer from the systems local time zone.
1402
- *
1403
- * @since 3.6.0
1404
- * @category current time zone
1405
- */
1406
- export declare const layerCurrentZoneLocal: Layer.Layer<CurrentTimeZone>;
1407
1463
  /**
1408
1464
  * Modify a `DateTime` by applying a function to a cloned `Date` instance.
1409
1465
  *
@@ -1464,12 +1520,14 @@ export declare const mutateUtc: {
1464
1520
  * @since 3.6.0
1465
1521
  * @category mapping
1466
1522
  * @example
1523
+ * ```ts
1467
1524
  * import { DateTime } from "effect"
1468
1525
  *
1469
1526
  * // add 10 milliseconds
1470
1527
  * DateTime.unsafeMake(0).pipe(
1471
1528
  * DateTime.mapEpochMillis((millis) => millis + 10)
1472
1529
  * )
1530
+ * ```
1473
1531
  */
1474
1532
  export declare const mapEpochMillis: {
1475
1533
  /**
@@ -1479,12 +1537,14 @@ export declare const mapEpochMillis: {
1479
1537
  * @since 3.6.0
1480
1538
  * @category mapping
1481
1539
  * @example
1540
+ * ```ts
1482
1541
  * import { DateTime } from "effect"
1483
1542
  *
1484
1543
  * // add 10 milliseconds
1485
1544
  * DateTime.unsafeMake(0).pipe(
1486
1545
  * DateTime.mapEpochMillis((millis) => millis + 10)
1487
1546
  * )
1547
+ * ```
1488
1548
  */
1489
1549
  (f: (millis: number) => number): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1490
1550
  /**
@@ -1494,12 +1554,14 @@ export declare const mapEpochMillis: {
1494
1554
  * @since 3.6.0
1495
1555
  * @category mapping
1496
1556
  * @example
1557
+ * ```ts
1497
1558
  * import { DateTime } from "effect"
1498
1559
  *
1499
1560
  * // add 10 milliseconds
1500
1561
  * DateTime.unsafeMake(0).pipe(
1501
1562
  * DateTime.mapEpochMillis((millis) => millis + 10)
1502
1563
  * )
1564
+ * ```
1503
1565
  */
1504
1566
  <A extends DateTime>(self: A, f: (millis: number) => number): DateTime.PreserveZone<A>;
1505
1567
  };
@@ -1510,12 +1572,14 @@ export declare const mapEpochMillis: {
1510
1572
  * @since 3.6.0
1511
1573
  * @category mapping
1512
1574
  * @example
1575
+ * ```ts
1513
1576
  * import { DateTime } from "effect"
1514
1577
  *
1515
1578
  * // get the time zone adjusted date in milliseconds
1516
1579
  * DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
1517
1580
  * DateTime.withDate((date) => date.getTime())
1518
1581
  * )
1582
+ * ```
1519
1583
  */
1520
1584
  export declare const withDate: {
1521
1585
  /**
@@ -1525,12 +1589,14 @@ export declare const withDate: {
1525
1589
  * @since 3.6.0
1526
1590
  * @category mapping
1527
1591
  * @example
1592
+ * ```ts
1528
1593
  * import { DateTime } from "effect"
1529
1594
  *
1530
1595
  * // get the time zone adjusted date in milliseconds
1531
1596
  * DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
1532
1597
  * DateTime.withDate((date) => date.getTime())
1533
1598
  * )
1599
+ * ```
1534
1600
  */
1535
1601
  <A>(f: (date: Date) => A): (self: DateTime) => A;
1536
1602
  /**
@@ -1540,12 +1606,14 @@ export declare const withDate: {
1540
1606
  * @since 3.6.0
1541
1607
  * @category mapping
1542
1608
  * @example
1609
+ * ```ts
1543
1610
  * import { DateTime } from "effect"
1544
1611
  *
1545
1612
  * // get the time zone adjusted date in milliseconds
1546
1613
  * DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
1547
1614
  * DateTime.withDate((date) => date.getTime())
1548
1615
  * )
1616
+ * ```
1549
1617
  */
1550
1618
  <A>(self: DateTime, f: (date: Date) => A): A;
1551
1619
  };
@@ -1556,12 +1624,14 @@ export declare const withDate: {
1556
1624
  * @since 3.6.0
1557
1625
  * @category mapping
1558
1626
  * @example
1627
+ * ```ts
1559
1628
  * import { DateTime } from "effect"
1560
1629
  *
1561
1630
  * // get the date in milliseconds
1562
1631
  * DateTime.unsafeMake(0).pipe(
1563
1632
  * DateTime.withDateUtc((date) => date.getTime())
1564
1633
  * )
1634
+ * ```
1565
1635
  */
1566
1636
  export declare const withDateUtc: {
1567
1637
  /**
@@ -1571,12 +1641,14 @@ export declare const withDateUtc: {
1571
1641
  * @since 3.6.0
1572
1642
  * @category mapping
1573
1643
  * @example
1644
+ * ```ts
1574
1645
  * import { DateTime } from "effect"
1575
1646
  *
1576
1647
  * // get the date in milliseconds
1577
1648
  * DateTime.unsafeMake(0).pipe(
1578
1649
  * DateTime.withDateUtc((date) => date.getTime())
1579
1650
  * )
1651
+ * ```
1580
1652
  */
1581
1653
  <A>(f: (date: Date) => A): (self: DateTime) => A;
1582
1654
  /**
@@ -1586,12 +1658,14 @@ export declare const withDateUtc: {
1586
1658
  * @since 3.6.0
1587
1659
  * @category mapping
1588
1660
  * @example
1661
+ * ```ts
1589
1662
  * import { DateTime } from "effect"
1590
1663
  *
1591
1664
  * // get the date in milliseconds
1592
1665
  * DateTime.unsafeMake(0).pipe(
1593
1666
  * DateTime.withDateUtc((date) => date.getTime())
1594
1667
  * )
1668
+ * ```
1595
1669
  */
1596
1670
  <A>(self: DateTime, f: (date: Date) => A): A;
1597
1671
  };
@@ -1623,12 +1697,14 @@ export declare const match: {
1623
1697
  * @since 3.6.0
1624
1698
  * @category math
1625
1699
  * @example
1700
+ * ```ts
1626
1701
  * import { DateTime } from "effect"
1627
1702
  *
1628
1703
  * // add 5 minutes
1629
1704
  * DateTime.unsafeMake(0).pipe(
1630
1705
  * DateTime.addDuration("5 minutes")
1631
1706
  * )
1707
+ * ```
1632
1708
  */
1633
1709
  export declare const addDuration: {
1634
1710
  /**
@@ -1637,12 +1713,14 @@ export declare const addDuration: {
1637
1713
  * @since 3.6.0
1638
1714
  * @category math
1639
1715
  * @example
1716
+ * ```ts
1640
1717
  * import { DateTime } from "effect"
1641
1718
  *
1642
1719
  * // add 5 minutes
1643
1720
  * DateTime.unsafeMake(0).pipe(
1644
1721
  * DateTime.addDuration("5 minutes")
1645
1722
  * )
1723
+ * ```
1646
1724
  */
1647
1725
  (duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1648
1726
  /**
@@ -1651,12 +1729,14 @@ export declare const addDuration: {
1651
1729
  * @since 3.6.0
1652
1730
  * @category math
1653
1731
  * @example
1732
+ * ```ts
1654
1733
  * import { DateTime } from "effect"
1655
1734
  *
1656
1735
  * // add 5 minutes
1657
1736
  * DateTime.unsafeMake(0).pipe(
1658
1737
  * DateTime.addDuration("5 minutes")
1659
1738
  * )
1739
+ * ```
1660
1740
  */
1661
1741
  <A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>;
1662
1742
  };
@@ -1666,12 +1746,14 @@ export declare const addDuration: {
1666
1746
  * @since 3.6.0
1667
1747
  * @category math
1668
1748
  * @example
1749
+ * ```ts
1669
1750
  * import { DateTime } from "effect"
1670
1751
  *
1671
1752
  * // subtract 5 minutes
1672
1753
  * DateTime.unsafeMake(0).pipe(
1673
1754
  * DateTime.subtractDuration("5 minutes")
1674
1755
  * )
1756
+ * ```
1675
1757
  */
1676
1758
  export declare const subtractDuration: {
1677
1759
  /**
@@ -1680,12 +1762,14 @@ export declare const subtractDuration: {
1680
1762
  * @since 3.6.0
1681
1763
  * @category math
1682
1764
  * @example
1765
+ * ```ts
1683
1766
  * import { DateTime } from "effect"
1684
1767
  *
1685
1768
  * // subtract 5 minutes
1686
1769
  * DateTime.unsafeMake(0).pipe(
1687
1770
  * DateTime.subtractDuration("5 minutes")
1688
1771
  * )
1772
+ * ```
1689
1773
  */
1690
1774
  (duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1691
1775
  /**
@@ -1694,12 +1778,14 @@ export declare const subtractDuration: {
1694
1778
  * @since 3.6.0
1695
1779
  * @category math
1696
1780
  * @example
1781
+ * ```ts
1697
1782
  * import { DateTime } from "effect"
1698
1783
  *
1699
1784
  * // subtract 5 minutes
1700
1785
  * DateTime.unsafeMake(0).pipe(
1701
1786
  * DateTime.subtractDuration("5 minutes")
1702
1787
  * )
1788
+ * ```
1703
1789
  */
1704
1790
  <A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>;
1705
1791
  };
@@ -1712,12 +1798,14 @@ export declare const subtractDuration: {
1712
1798
  * @since 3.6.0
1713
1799
  * @category math
1714
1800
  * @example
1801
+ * ```ts
1715
1802
  * import { DateTime } from "effect"
1716
1803
  *
1717
1804
  * // add 5 minutes
1718
1805
  * DateTime.unsafeMake(0).pipe(
1719
1806
  * DateTime.add({ minutes: 5 })
1720
1807
  * )
1808
+ * ```
1721
1809
  */
1722
1810
  export declare const add: {
1723
1811
  /**
@@ -1729,12 +1817,14 @@ export declare const add: {
1729
1817
  * @since 3.6.0
1730
1818
  * @category math
1731
1819
  * @example
1820
+ * ```ts
1732
1821
  * import { DateTime } from "effect"
1733
1822
  *
1734
1823
  * // add 5 minutes
1735
1824
  * DateTime.unsafeMake(0).pipe(
1736
1825
  * DateTime.add({ minutes: 5 })
1737
1826
  * )
1827
+ * ```
1738
1828
  */
1739
1829
  (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1740
1830
  /**
@@ -1746,12 +1836,14 @@ export declare const add: {
1746
1836
  * @since 3.6.0
1747
1837
  * @category math
1748
1838
  * @example
1839
+ * ```ts
1749
1840
  * import { DateTime } from "effect"
1750
1841
  *
1751
1842
  * // add 5 minutes
1752
1843
  * DateTime.unsafeMake(0).pipe(
1753
1844
  * DateTime.add({ minutes: 5 })
1754
1845
  * )
1846
+ * ```
1755
1847
  */
1756
1848
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>;
1757
1849
  };
@@ -1761,12 +1853,14 @@ export declare const add: {
1761
1853
  * @since 3.6.0
1762
1854
  * @category math
1763
1855
  * @example
1856
+ * ```ts
1764
1857
  * import { DateTime } from "effect"
1765
1858
  *
1766
1859
  * // subtract 5 minutes
1767
1860
  * DateTime.unsafeMake(0).pipe(
1768
1861
  * DateTime.subtract({ minutes: 5 })
1769
1862
  * )
1863
+ * ```
1770
1864
  */
1771
1865
  export declare const subtract: {
1772
1866
  /**
@@ -1775,12 +1869,14 @@ export declare const subtract: {
1775
1869
  * @since 3.6.0
1776
1870
  * @category math
1777
1871
  * @example
1872
+ * ```ts
1778
1873
  * import { DateTime } from "effect"
1779
1874
  *
1780
1875
  * // subtract 5 minutes
1781
1876
  * DateTime.unsafeMake(0).pipe(
1782
1877
  * DateTime.subtract({ minutes: 5 })
1783
1878
  * )
1879
+ * ```
1784
1880
  */
1785
1881
  (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>;
1786
1882
  /**
@@ -1789,12 +1885,14 @@ export declare const subtract: {
1789
1885
  * @since 3.6.0
1790
1886
  * @category math
1791
1887
  * @example
1888
+ * ```ts
1792
1889
  * import { DateTime } from "effect"
1793
1890
  *
1794
1891
  * // subtract 5 minutes
1795
1892
  * DateTime.unsafeMake(0).pipe(
1796
1893
  * DateTime.subtract({ minutes: 5 })
1797
1894
  * )
1895
+ * ```
1798
1896
  */
1799
1897
  <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>;
1800
1898
  };
@@ -1807,6 +1905,7 @@ export declare const subtract: {
1807
1905
  * @since 3.6.0
1808
1906
  * @category math
1809
1907
  * @example
1908
+ * ```ts
1810
1909
  * import { DateTime } from "effect"
1811
1910
  *
1812
1911
  * // returns "2024-01-01T00:00:00Z"
@@ -1814,6 +1913,7 @@ export declare const subtract: {
1814
1913
  * DateTime.startOf("day"),
1815
1914
  * DateTime.formatIso
1816
1915
  * )
1916
+ * ```
1817
1917
  */
1818
1918
  export declare const startOf: {
1819
1919
  /**
@@ -1825,6 +1925,7 @@ export declare const startOf: {
1825
1925
  * @since 3.6.0
1826
1926
  * @category math
1827
1927
  * @example
1928
+ * ```ts
1828
1929
  * import { DateTime } from "effect"
1829
1930
  *
1830
1931
  * // returns "2024-01-01T00:00:00Z"
@@ -1832,6 +1933,7 @@ export declare const startOf: {
1832
1933
  * DateTime.startOf("day"),
1833
1934
  * DateTime.formatIso
1834
1935
  * )
1936
+ * ```
1835
1937
  */
1836
1938
  (part: DateTime.UnitSingular, options?: {
1837
1939
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -1845,6 +1947,7 @@ export declare const startOf: {
1845
1947
  * @since 3.6.0
1846
1948
  * @category math
1847
1949
  * @example
1950
+ * ```ts
1848
1951
  * import { DateTime } from "effect"
1849
1952
  *
1850
1953
  * // returns "2024-01-01T00:00:00Z"
@@ -1852,6 +1955,7 @@ export declare const startOf: {
1852
1955
  * DateTime.startOf("day"),
1853
1956
  * DateTime.formatIso
1854
1957
  * )
1958
+ * ```
1855
1959
  */
1856
1960
  <A extends DateTime>(self: A, part: DateTime.UnitSingular, options?: {
1857
1961
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -1866,6 +1970,7 @@ export declare const startOf: {
1866
1970
  * @since 3.6.0
1867
1971
  * @category math
1868
1972
  * @example
1973
+ * ```ts
1869
1974
  * import { DateTime } from "effect"
1870
1975
  *
1871
1976
  * // returns "2024-01-01T23:59:59.999Z"
@@ -1873,6 +1978,7 @@ export declare const startOf: {
1873
1978
  * DateTime.endOf("day"),
1874
1979
  * DateTime.formatIso
1875
1980
  * )
1981
+ * ```
1876
1982
  */
1877
1983
  export declare const endOf: {
1878
1984
  /**
@@ -1884,6 +1990,7 @@ export declare const endOf: {
1884
1990
  * @since 3.6.0
1885
1991
  * @category math
1886
1992
  * @example
1993
+ * ```ts
1887
1994
  * import { DateTime } from "effect"
1888
1995
  *
1889
1996
  * // returns "2024-01-01T23:59:59.999Z"
@@ -1891,6 +1998,7 @@ export declare const endOf: {
1891
1998
  * DateTime.endOf("day"),
1892
1999
  * DateTime.formatIso
1893
2000
  * )
2001
+ * ```
1894
2002
  */
1895
2003
  (part: DateTime.UnitSingular, options?: {
1896
2004
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -1904,6 +2012,7 @@ export declare const endOf: {
1904
2012
  * @since 3.6.0
1905
2013
  * @category math
1906
2014
  * @example
2015
+ * ```ts
1907
2016
  * import { DateTime } from "effect"
1908
2017
  *
1909
2018
  * // returns "2024-01-01T23:59:59.999Z"
@@ -1911,6 +2020,7 @@ export declare const endOf: {
1911
2020
  * DateTime.endOf("day"),
1912
2021
  * DateTime.formatIso
1913
2022
  * )
2023
+ * ```
1914
2024
  */
1915
2025
  <A extends DateTime>(self: A, part: DateTime.UnitSingular, options?: {
1916
2026
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -1925,6 +2035,7 @@ export declare const endOf: {
1925
2035
  * @since 3.6.0
1926
2036
  * @category math
1927
2037
  * @example
2038
+ * ```ts
1928
2039
  * import { DateTime } from "effect"
1929
2040
  *
1930
2041
  * // returns "2024-01-02T00:00:00Z"
@@ -1932,6 +2043,7 @@ export declare const endOf: {
1932
2043
  * DateTime.nearest("day"),
1933
2044
  * DateTime.formatIso
1934
2045
  * )
2046
+ * ```
1935
2047
  */
1936
2048
  export declare const nearest: {
1937
2049
  /**
@@ -1943,6 +2055,7 @@ export declare const nearest: {
1943
2055
  * @since 3.6.0
1944
2056
  * @category math
1945
2057
  * @example
2058
+ * ```ts
1946
2059
  * import { DateTime } from "effect"
1947
2060
  *
1948
2061
  * // returns "2024-01-02T00:00:00Z"
@@ -1950,6 +2063,7 @@ export declare const nearest: {
1950
2063
  * DateTime.nearest("day"),
1951
2064
  * DateTime.formatIso
1952
2065
  * )
2066
+ * ```
1953
2067
  */
1954
2068
  (part: DateTime.UnitSingular, options?: {
1955
2069
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -1963,6 +2077,7 @@ export declare const nearest: {
1963
2077
  * @since 3.6.0
1964
2078
  * @category math
1965
2079
  * @example
2080
+ * ```ts
1966
2081
  * import { DateTime } from "effect"
1967
2082
  *
1968
2083
  * // returns "2024-01-02T00:00:00Z"
@@ -1970,6 +2085,7 @@ export declare const nearest: {
1970
2085
  * DateTime.nearest("day"),
1971
2086
  * DateTime.formatIso
1972
2087
  * )
2088
+ * ```
1973
2089
  */
1974
2090
  <A extends DateTime>(self: A, part: DateTime.UnitSingular, options?: {
1975
2091
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -2139,5 +2255,32 @@ export declare const formatIsoOffset: (self: DateTime) => string;
2139
2255
  * @category formatting
2140
2256
  */
2141
2257
  export declare const formatIsoZoned: (self: Zoned) => string;
2142
- export {};
2258
+ /**
2259
+ * Create a Layer from the given time zone.
2260
+ *
2261
+ * @since 3.6.0
2262
+ * @category current time zone
2263
+ */
2264
+ export declare const layerCurrentZone: (zone: TimeZone) => Layer.Layer<CurrentTimeZone>;
2265
+ /**
2266
+ * Create a Layer from the given time zone offset.
2267
+ *
2268
+ * @since 3.6.0
2269
+ * @category current time zone
2270
+ */
2271
+ export declare const layerCurrentZoneOffset: (offset: number) => Layer.Layer<CurrentTimeZone>;
2272
+ /**
2273
+ * Create a Layer from the given IANA time zone identifier.
2274
+ *
2275
+ * @since 3.6.0
2276
+ * @category current time zone
2277
+ */
2278
+ export declare const layerCurrentZoneNamed: (zoneId: string) => Layer.Layer<CurrentTimeZone, IllegalArgumentException>;
2279
+ /**
2280
+ * Create a Layer from the systems local time zone.
2281
+ *
2282
+ * @since 3.6.0
2283
+ * @category current time zone
2284
+ */
2285
+ export declare const layerCurrentZoneLocal: Layer.Layer<CurrentTimeZone>;
2143
2286
  //# sourceMappingURL=DateTime.d.ts.map