@gobrand/tiempo 2.8.1 → 2.9.1

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 (445) hide show
  1. package/dist/addDays.js +3 -2
  2. package/dist/addHours.js +3 -2
  3. package/dist/addMicroseconds.js +3 -2
  4. package/dist/addMilliseconds.js +3 -2
  5. package/dist/addMinutes.js +3 -2
  6. package/dist/addMonths.js +3 -2
  7. package/dist/addNanoseconds.js +3 -2
  8. package/dist/addSeconds.js +3 -2
  9. package/dist/addWeeks.js +3 -2
  10. package/dist/addYears.js +3 -2
  11. package/dist/{chunk-TNCLJK4Y.js → chunk-26VAIV6A.js} +5 -3
  12. package/dist/chunk-26VAIV6A.js.map +1 -0
  13. package/dist/{chunk-JA7SVLAF.js → chunk-2KYXZIGP.js} +4 -4
  14. package/dist/{chunk-AE36GX4F.js → chunk-2PDEHGNB.js} +5 -2
  15. package/dist/chunk-2PDEHGNB.js.map +1 -0
  16. package/dist/{chunk-VLZ3HQQA.js → chunk-2Q6WEULJ.js} +2 -2
  17. package/dist/{chunk-ZGR4NZTS.js → chunk-347TWPBS.js} +2 -3
  18. package/dist/chunk-347TWPBS.js.map +1 -0
  19. package/dist/{chunk-JOD4ATPE.js → chunk-3HXEOAQN.js} +2 -2
  20. package/dist/{chunk-WVHAYLBW.js → chunk-3ORGILYG.js} +2 -2
  21. package/dist/{chunk-7ATM7AXL.js → chunk-3RSGMPWR.js} +2 -2
  22. package/dist/{chunk-AHMKY474.js → chunk-3XNQYFWS.js} +2 -2
  23. package/dist/{chunk-5C3TQSWA.js → chunk-4BQ4BJ4Y.js} +4 -5
  24. package/dist/chunk-4BQ4BJ4Y.js.map +1 -0
  25. package/dist/{chunk-4E7OGJ3F.js → chunk-4EFKJDHV.js} +5 -2
  26. package/dist/chunk-4EFKJDHV.js.map +1 -0
  27. package/dist/{chunk-U4RNUZXO.js → chunk-4JPDLKBK.js} +2 -2
  28. package/dist/{chunk-Y7CIJQ67.js → chunk-4JPVE6OV.js} +5 -3
  29. package/dist/chunk-4JPVE6OV.js.map +1 -0
  30. package/dist/{chunk-OLEOU3XE.js → chunk-4N6CTX4N.js} +5 -3
  31. package/dist/chunk-4N6CTX4N.js.map +1 -0
  32. package/dist/{chunk-XW5MLXX5.js → chunk-4RLD3OE2.js} +2 -2
  33. package/dist/{chunk-YQBM63DC.js → chunk-5DQVEAAR.js} +9 -4
  34. package/dist/chunk-5DQVEAAR.js.map +1 -0
  35. package/dist/{chunk-YKBP3G7L.js → chunk-5ZOOVGMT.js} +2 -2
  36. package/dist/{chunk-UBY22QWM.js → chunk-63RSJ2W4.js} +4 -4
  37. package/dist/chunk-65RGM7EG.js +13 -0
  38. package/dist/chunk-65RGM7EG.js.map +1 -0
  39. package/dist/{chunk-EEQ3REET.js → chunk-6KAIABBV.js} +2 -2
  40. package/dist/{chunk-PPB62JYV.js → chunk-6SF6EC2I.js} +2 -2
  41. package/dist/{chunk-5BYRBC7H.js → chunk-7EVZGEAI.js} +18 -17
  42. package/dist/{chunk-5BYRBC7H.js.map → chunk-7EVZGEAI.js.map} +1 -1
  43. package/dist/{chunk-4NJMCCUM.js → chunk-7JL3U64G.js} +2 -2
  44. package/dist/{chunk-JNA3AFOC.js → chunk-AHBTUFRW.js} +5 -2
  45. package/dist/chunk-AHBTUFRW.js.map +1 -0
  46. package/dist/chunk-AI5MRREC.js +22 -0
  47. package/dist/chunk-AI5MRREC.js.map +1 -0
  48. package/dist/{chunk-RW3C2677.js → chunk-ALAAO5GL.js} +2 -3
  49. package/dist/chunk-ALAAO5GL.js.map +1 -0
  50. package/dist/{chunk-A5VVBYNT.js → chunk-ATEVQYB6.js} +2 -2
  51. package/dist/{chunk-OQ4CWKJT.js → chunk-BO5WXWO2.js} +2 -3
  52. package/dist/chunk-BO5WXWO2.js.map +1 -0
  53. package/dist/{chunk-4PSMM55Q.js → chunk-BQHSXMGZ.js} +7 -3
  54. package/dist/chunk-BQHSXMGZ.js.map +1 -0
  55. package/dist/{chunk-776JOVV6.js → chunk-C4UZJHM7.js} +2 -3
  56. package/dist/chunk-C4UZJHM7.js.map +1 -0
  57. package/dist/{chunk-VZJGCDAG.js → chunk-C5O6LIWR.js} +5 -2
  58. package/dist/chunk-C5O6LIWR.js.map +1 -0
  59. package/dist/{chunk-LDO6PRNJ.js → chunk-C7SIOWMA.js} +2 -2
  60. package/dist/{chunk-FSD3DDFC.js → chunk-CKOIGPND.js} +5 -2
  61. package/dist/chunk-CKOIGPND.js.map +1 -0
  62. package/dist/{chunk-6IP245MS.js → chunk-DC5JXNIC.js} +5 -5
  63. package/dist/chunk-DC5JXNIC.js.map +1 -0
  64. package/dist/{chunk-HOCNCQTC.js → chunk-E2MU2P66.js} +2 -3
  65. package/dist/chunk-E2MU2P66.js.map +1 -0
  66. package/dist/{chunk-ADQTZVMH.js → chunk-EKR6BYFM.js} +2 -2
  67. package/dist/{chunk-PVAOUYXF.js → chunk-EOXULNBC.js} +5 -5
  68. package/dist/chunk-EOXULNBC.js.map +1 -0
  69. package/dist/{chunk-BV6CLVSI.js → chunk-EW3MVOID.js} +3 -4
  70. package/dist/chunk-EW3MVOID.js.map +1 -0
  71. package/dist/{chunk-WUAIUEH7.js → chunk-EZJDWFFE.js} +5 -2
  72. package/dist/chunk-EZJDWFFE.js.map +1 -0
  73. package/dist/{chunk-BQBLSXK2.js → chunk-FLRHLAMD.js} +2 -2
  74. package/dist/{chunk-TGKWBQ7L.js → chunk-GSVAMMHA.js} +6 -3
  75. package/dist/chunk-GSVAMMHA.js.map +1 -0
  76. package/dist/{chunk-3TSFIPUR.js → chunk-HDTIOOWB.js} +2 -3
  77. package/dist/chunk-HDTIOOWB.js.map +1 -0
  78. package/dist/{chunk-EZ7NVTZI.js → chunk-I6S6EIZG.js} +7 -5
  79. package/dist/chunk-I6S6EIZG.js.map +1 -0
  80. package/dist/{chunk-NRD5HRZV.js → chunk-IOLV6PTH.js} +2 -2
  81. package/dist/{chunk-ZC6KWXCW.js → chunk-IV47GMAA.js} +36 -27
  82. package/dist/chunk-IV47GMAA.js.map +1 -0
  83. package/dist/{chunk-HFQUXON5.js → chunk-J52B4PX6.js} +10 -5
  84. package/dist/chunk-J52B4PX6.js.map +1 -0
  85. package/dist/{chunk-WY63VEXE.js → chunk-JM42PLWS.js} +5 -2
  86. package/dist/chunk-JM42PLWS.js.map +1 -0
  87. package/dist/{chunk-DKYVFYWM.js → chunk-JTANYFEV.js} +5 -3
  88. package/dist/chunk-JTANYFEV.js.map +1 -0
  89. package/dist/{chunk-G2JUEBC5.js → chunk-LOANS6ZE.js} +5 -3
  90. package/dist/chunk-LOANS6ZE.js.map +1 -0
  91. package/dist/{chunk-MMI2HHT7.js → chunk-LTW2TDLL.js} +2 -2
  92. package/dist/{chunk-JHRXY36W.js → chunk-MA7PR6V5.js} +2 -2
  93. package/dist/{chunk-L4SVABDH.js → chunk-MEADD45E.js} +2 -2
  94. package/dist/{chunk-2XHAHSB6.js → chunk-MXE44KVG.js} +2 -2
  95. package/dist/{chunk-DT2EWLHU.js → chunk-NE7HNEF6.js} +2 -2
  96. package/dist/{chunk-EYO2ZJLH.js → chunk-OPWK2TVF.js} +2 -2
  97. package/dist/{chunk-BIAPE4MR.js → chunk-OVFO6CZ7.js} +5 -5
  98. package/dist/chunk-OVFO6CZ7.js.map +1 -0
  99. package/dist/{chunk-HDBH7RTY.js → chunk-OX4I35UO.js} +2 -2
  100. package/dist/{chunk-3A6X6WV5.js → chunk-PXF3RMFH.js} +1 -2
  101. package/dist/chunk-PXF3RMFH.js.map +1 -0
  102. package/dist/{chunk-CY746ZUQ.js → chunk-RB2YCLBV.js} +2 -2
  103. package/dist/{chunk-UJWM2BV2.js → chunk-RLF3Y7VC.js} +10 -5
  104. package/dist/chunk-RLF3Y7VC.js.map +1 -0
  105. package/dist/{chunk-RBEW6PXR.js → chunk-RPQ5K247.js} +5 -2
  106. package/dist/chunk-RPQ5K247.js.map +1 -0
  107. package/dist/{chunk-HLGMUTFK.js → chunk-RQUVNJBG.js} +2 -3
  108. package/dist/chunk-RQUVNJBG.js.map +1 -0
  109. package/dist/{chunk-UJW2FPI4.js → chunk-RTNF2H34.js} +2 -2
  110. package/dist/{chunk-BPZ7BRJW.js → chunk-RW25XXOH.js} +5 -2
  111. package/dist/chunk-RW25XXOH.js.map +1 -0
  112. package/dist/{chunk-QFNGYTTH.js → chunk-RXTMPPOP.js} +5 -3
  113. package/dist/chunk-RXTMPPOP.js.map +1 -0
  114. package/dist/{chunk-S63QUP4W.js → chunk-SAFMGBXL.js} +2 -2
  115. package/dist/chunk-SGHPW77A.js +19 -0
  116. package/dist/chunk-SGHPW77A.js.map +1 -0
  117. package/dist/{chunk-AJEIDKVJ.js → chunk-T4J7PXYZ.js} +5 -2
  118. package/dist/chunk-T4J7PXYZ.js.map +1 -0
  119. package/dist/{chunk-KZB6NERH.js → chunk-TCEDHHNM.js} +5 -2
  120. package/dist/chunk-TCEDHHNM.js.map +1 -0
  121. package/dist/{chunk-J6G2I2TU.js → chunk-TKV5JYQY.js} +2 -2
  122. package/dist/chunk-TUOGC2TY.js +19 -0
  123. package/dist/chunk-TUOGC2TY.js.map +1 -0
  124. package/dist/chunk-TWZNSMKO.js +19 -0
  125. package/dist/chunk-TWZNSMKO.js.map +1 -0
  126. package/dist/{chunk-YIT6EMBC.js → chunk-TYYV5UYX.js} +2 -3
  127. package/dist/chunk-TYYV5UYX.js.map +1 -0
  128. package/dist/{chunk-7VLSSOVC.js → chunk-UAYBKORB.js} +3 -4
  129. package/dist/chunk-UAYBKORB.js.map +1 -0
  130. package/dist/{chunk-OABS374T.js → chunk-VBDGWVJ4.js} +2 -3
  131. package/dist/chunk-VBDGWVJ4.js.map +1 -0
  132. package/dist/{chunk-BUX26GTD.js → chunk-VDEZJB42.js} +5 -3
  133. package/dist/chunk-VDEZJB42.js.map +1 -0
  134. package/dist/{chunk-O6RIN7K3.js → chunk-VJGNLAF2.js} +5 -2
  135. package/dist/chunk-VJGNLAF2.js.map +1 -0
  136. package/dist/{chunk-ZDA7GSWU.js → chunk-VTP4QJY6.js} +3 -4
  137. package/dist/chunk-VTP4QJY6.js.map +1 -0
  138. package/dist/{chunk-DFLGGK4F.js → chunk-VTXBG2JV.js} +6 -3
  139. package/dist/chunk-VTXBG2JV.js.map +1 -0
  140. package/dist/{chunk-BH2YB4MV.js → chunk-VXG2IG2N.js} +2 -2
  141. package/dist/{chunk-AJ4JBKJK.js → chunk-VXOQ7IG5.js} +1 -2
  142. package/dist/chunk-VXOQ7IG5.js.map +1 -0
  143. package/dist/{chunk-V27NUBXQ.js → chunk-WWLDINLH.js} +2 -2
  144. package/dist/{chunk-CHW2EN2O.js → chunk-X3T7QMBA.js} +5 -5
  145. package/dist/chunk-X3T7QMBA.js.map +1 -0
  146. package/dist/chunk-XVAVCEKT.js +19 -0
  147. package/dist/chunk-XVAVCEKT.js.map +1 -0
  148. package/dist/{chunk-Q2F3HEXB.js → chunk-YMS7JXBN.js} +2 -2
  149. package/dist/{chunk-52NEOY34.js → chunk-YNV6WGXV.js} +2 -2
  150. package/dist/{chunk-BSV32PSO.js → chunk-YO2VXHA5.js} +6 -3
  151. package/dist/chunk-YO2VXHA5.js.map +1 -0
  152. package/dist/{chunk-ISHZRFVN.js → chunk-ZITFEEZS.js} +2 -2
  153. package/dist/{chunk-X26WIJ6L.js → chunk-ZSOH7VST.js} +7 -5
  154. package/dist/chunk-ZSOH7VST.js.map +1 -0
  155. package/dist/differenceInDays.d.ts +5 -3
  156. package/dist/differenceInDays.d.ts.map +1 -1
  157. package/dist/differenceInDays.js +3 -2
  158. package/dist/differenceInHours.d.ts +5 -3
  159. package/dist/differenceInHours.d.ts.map +1 -1
  160. package/dist/differenceInHours.js +4 -3
  161. package/dist/differenceInMicroseconds.d.ts +1 -1
  162. package/dist/differenceInMicroseconds.d.ts.map +1 -1
  163. package/dist/differenceInMicroseconds.js +3 -2
  164. package/dist/differenceInMilliseconds.d.ts +1 -1
  165. package/dist/differenceInMilliseconds.d.ts.map +1 -1
  166. package/dist/differenceInMilliseconds.js +4 -3
  167. package/dist/differenceInMinutes.d.ts +5 -3
  168. package/dist/differenceInMinutes.d.ts.map +1 -1
  169. package/dist/differenceInMinutes.js +4 -3
  170. package/dist/differenceInMonths.d.ts +8 -5
  171. package/dist/differenceInMonths.d.ts.map +1 -1
  172. package/dist/differenceInMonths.js +3 -2
  173. package/dist/differenceInNanoseconds.d.ts +1 -1
  174. package/dist/differenceInNanoseconds.d.ts.map +1 -1
  175. package/dist/differenceInNanoseconds.js +3 -2
  176. package/dist/differenceInSeconds.d.ts +5 -3
  177. package/dist/differenceInSeconds.d.ts.map +1 -1
  178. package/dist/differenceInSeconds.js +4 -3
  179. package/dist/differenceInWeeks.d.ts +6 -4
  180. package/dist/differenceInWeeks.d.ts.map +1 -1
  181. package/dist/differenceInWeeks.js +3 -2
  182. package/dist/differenceInYears.d.ts +8 -5
  183. package/dist/differenceInYears.d.ts.map +1 -1
  184. package/dist/differenceInYears.js +3 -2
  185. package/dist/eachDayOfInterval.d.ts +1 -1
  186. package/dist/eachDayOfInterval.d.ts.map +1 -1
  187. package/dist/eachDayOfInterval.js +3 -2
  188. package/dist/eachHourOfInterval.d.ts +1 -1
  189. package/dist/eachHourOfInterval.d.ts.map +1 -1
  190. package/dist/eachHourOfInterval.js +3 -2
  191. package/dist/eachMinuteOfInterval.d.ts +1 -1
  192. package/dist/eachMinuteOfInterval.d.ts.map +1 -1
  193. package/dist/eachMinuteOfInterval.js +3 -2
  194. package/dist/eachMonthOfInterval.d.ts +1 -1
  195. package/dist/eachMonthOfInterval.d.ts.map +1 -1
  196. package/dist/eachMonthOfInterval.js +3 -2
  197. package/dist/eachWeekOfInterval.d.ts +1 -1
  198. package/dist/eachWeekOfInterval.d.ts.map +1 -1
  199. package/dist/eachWeekOfInterval.js +3 -2
  200. package/dist/eachYearOfInterval.d.ts +1 -1
  201. package/dist/eachYearOfInterval.d.ts.map +1 -1
  202. package/dist/eachYearOfInterval.js +3 -2
  203. package/dist/endOfDay.d.ts +1 -1
  204. package/dist/endOfDay.d.ts.map +1 -1
  205. package/dist/endOfDay.js +5 -4
  206. package/dist/endOfMonth.d.ts +1 -1
  207. package/dist/endOfMonth.d.ts.map +1 -1
  208. package/dist/endOfMonth.js +5 -4
  209. package/dist/endOfWeek.d.ts +1 -1
  210. package/dist/endOfWeek.d.ts.map +1 -1
  211. package/dist/endOfWeek.js +4 -3
  212. package/dist/endOfYear.d.ts +1 -1
  213. package/dist/endOfYear.d.ts.map +1 -1
  214. package/dist/endOfYear.js +5 -4
  215. package/dist/format.d.ts +1 -1
  216. package/dist/format.d.ts.map +1 -1
  217. package/dist/format.js +3 -2
  218. package/dist/formatPlainDate.d.ts +1 -1
  219. package/dist/formatPlainDate.d.ts.map +1 -1
  220. package/dist/formatPlainDate.js +2 -1
  221. package/dist/index.d.ts +1 -0
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +89 -88
  224. package/dist/intlFormatDistance.d.ts.map +1 -1
  225. package/dist/intlFormatDistance.js +11 -10
  226. package/dist/isAfter.d.ts +1 -1
  227. package/dist/isAfter.d.ts.map +1 -1
  228. package/dist/isAfter.js +4 -3
  229. package/dist/isBefore.d.ts +1 -1
  230. package/dist/isBefore.d.ts.map +1 -1
  231. package/dist/isBefore.js +4 -3
  232. package/dist/isFuture.js +5 -4
  233. package/dist/isPast.js +5 -4
  234. package/dist/isPlainDateAfter.d.ts +1 -1
  235. package/dist/isPlainDateAfter.d.ts.map +1 -1
  236. package/dist/isPlainDateAfter.js +2 -1
  237. package/dist/isPlainDateBefore.d.ts +1 -1
  238. package/dist/isPlainDateBefore.d.ts.map +1 -1
  239. package/dist/isPlainDateBefore.js +2 -1
  240. package/dist/isPlainDateEqual.d.ts +1 -1
  241. package/dist/isPlainDateEqual.d.ts.map +1 -1
  242. package/dist/isPlainDateEqual.js +2 -1
  243. package/dist/isPlainTimeAfter.d.ts +1 -1
  244. package/dist/isPlainTimeAfter.d.ts.map +1 -1
  245. package/dist/isPlainTimeAfter.js +2 -1
  246. package/dist/isPlainTimeBefore.d.ts +1 -1
  247. package/dist/isPlainTimeBefore.d.ts.map +1 -1
  248. package/dist/isPlainTimeBefore.js +2 -1
  249. package/dist/isPlainTimeEqual.d.ts +1 -1
  250. package/dist/isPlainTimeEqual.d.ts.map +1 -1
  251. package/dist/isPlainTimeEqual.js +2 -1
  252. package/dist/isSameDay.d.ts +1 -1
  253. package/dist/isSameDay.d.ts.map +1 -1
  254. package/dist/isSameDay.js +3 -2
  255. package/dist/isSameHour.js +3 -2
  256. package/dist/isSameMicrosecond.js +3 -2
  257. package/dist/isSameMillisecond.js +3 -2
  258. package/dist/isSameMinute.js +3 -2
  259. package/dist/isSameMonth.js +3 -2
  260. package/dist/isSameNanosecond.js +3 -2
  261. package/dist/isSameSecond.js +3 -2
  262. package/dist/isSameWeek.js +3 -2
  263. package/dist/isSameYear.js +3 -2
  264. package/dist/isWithinInterval.d.ts +1 -1
  265. package/dist/isWithinInterval.d.ts.map +1 -1
  266. package/dist/isWithinInterval.js +5 -4
  267. package/dist/now.d.ts +1 -1
  268. package/dist/now.d.ts.map +1 -1
  269. package/dist/now.js +2 -1
  270. package/dist/roundToNearestHour.js +3 -2
  271. package/dist/roundToNearestMinute.js +3 -2
  272. package/dist/roundToNearestSecond.js +3 -2
  273. package/dist/shared/differenceInMilliseconds.d.ts +1 -1
  274. package/dist/shared/differenceInMilliseconds.d.ts.map +1 -1
  275. package/dist/shared/differenceInMilliseconds.js +2 -1
  276. package/dist/shared/differenceOptions.d.ts +16 -0
  277. package/dist/shared/differenceOptions.d.ts.map +1 -0
  278. package/dist/shared/differenceOptions.js +1 -0
  279. package/dist/shared/differenceOptions.js.map +1 -0
  280. package/dist/shared/isAfter.d.ts +1 -1
  281. package/dist/shared/isAfter.d.ts.map +1 -1
  282. package/dist/shared/isAfter.js +2 -1
  283. package/dist/shared/isBefore.d.ts +1 -1
  284. package/dist/shared/isBefore.d.ts.map +1 -1
  285. package/dist/shared/isBefore.js +2 -1
  286. package/dist/shared/normalizeTemporalInput.d.ts +1 -1
  287. package/dist/shared/normalizeTemporalInput.d.ts.map +1 -1
  288. package/dist/shared/normalizeTemporalInput.js +2 -1
  289. package/dist/shared/normalizeWithPlainDate.d.ts +1 -1
  290. package/dist/shared/normalizeWithPlainDate.d.ts.map +1 -1
  291. package/dist/shared/normalizeWithPlainDate.js +4 -3
  292. package/dist/shared/nowZoned.d.ts +1 -1
  293. package/dist/shared/nowZoned.d.ts.map +1 -1
  294. package/dist/shared/nowZoned.js +3 -2
  295. package/dist/shared/plainDateToZonedDateTime.d.ts +1 -1
  296. package/dist/shared/plainDateToZonedDateTime.d.ts.map +1 -1
  297. package/dist/shared/plainDateToZonedDateTime.js +2 -1
  298. package/dist/shared/temporal.d.ts +21 -0
  299. package/dist/shared/temporal.d.ts.map +1 -0
  300. package/dist/shared/temporal.js +13 -0
  301. package/dist/shared/temporal.js.map +1 -0
  302. package/dist/shared/temporal.test.d.ts +2 -0
  303. package/dist/shared/temporal.test.d.ts.map +1 -0
  304. package/dist/simpleFormat.d.ts +1 -1
  305. package/dist/simpleFormat.d.ts.map +1 -1
  306. package/dist/simpleFormat.js +2 -1
  307. package/dist/startOfDay.d.ts +1 -1
  308. package/dist/startOfDay.d.ts.map +1 -1
  309. package/dist/startOfDay.js +5 -4
  310. package/dist/startOfMonth.d.ts +1 -1
  311. package/dist/startOfMonth.d.ts.map +1 -1
  312. package/dist/startOfMonth.js +5 -4
  313. package/dist/startOfWeek.d.ts +1 -1
  314. package/dist/startOfWeek.d.ts.map +1 -1
  315. package/dist/startOfWeek.js +4 -3
  316. package/dist/startOfYear.d.ts +1 -1
  317. package/dist/startOfYear.d.ts.map +1 -1
  318. package/dist/startOfYear.js +5 -4
  319. package/dist/subDays.js +4 -3
  320. package/dist/subHours.js +4 -3
  321. package/dist/subMicroseconds.js +4 -3
  322. package/dist/subMilliseconds.js +4 -3
  323. package/dist/subMinutes.js +4 -3
  324. package/dist/subMonths.js +4 -3
  325. package/dist/subNanoseconds.js +4 -3
  326. package/dist/subSeconds.js +4 -3
  327. package/dist/subWeeks.js +4 -3
  328. package/dist/subYears.js +4 -3
  329. package/dist/toDate.d.ts +1 -1
  330. package/dist/toDate.d.ts.map +1 -1
  331. package/dist/toDate.js +2 -1
  332. package/dist/toIso.d.ts +1 -1
  333. package/dist/toIso.d.ts.map +1 -1
  334. package/dist/toIso.js +2 -1
  335. package/dist/toIso9075.d.ts +1 -1
  336. package/dist/toIso9075.d.ts.map +1 -1
  337. package/dist/toIso9075.js +2 -1
  338. package/dist/toPlainDate.d.ts +1 -1
  339. package/dist/toPlainDate.d.ts.map +1 -1
  340. package/dist/toPlainDate.js +2 -1
  341. package/dist/toPlainTime.d.ts +1 -1
  342. package/dist/toPlainTime.d.ts.map +1 -1
  343. package/dist/toPlainTime.js +2 -1
  344. package/dist/toUtc.d.ts +1 -1
  345. package/dist/toUtc.d.ts.map +1 -1
  346. package/dist/toUtc.js +2 -1
  347. package/dist/toZonedTime.d.ts +1 -1
  348. package/dist/toZonedTime.d.ts.map +1 -1
  349. package/dist/toZonedTime.js +2 -1
  350. package/dist/today.d.ts +1 -1
  351. package/dist/today.d.ts.map +1 -1
  352. package/dist/today.js +2 -1
  353. package/package.json +1 -1
  354. package/dist/chunk-3A6X6WV5.js.map +0 -1
  355. package/dist/chunk-3TSFIPUR.js.map +0 -1
  356. package/dist/chunk-4E7OGJ3F.js.map +0 -1
  357. package/dist/chunk-4PSMM55Q.js.map +0 -1
  358. package/dist/chunk-5C3TQSWA.js.map +0 -1
  359. package/dist/chunk-6IP245MS.js.map +0 -1
  360. package/dist/chunk-776JOVV6.js.map +0 -1
  361. package/dist/chunk-7VLSSOVC.js.map +0 -1
  362. package/dist/chunk-AE36GX4F.js.map +0 -1
  363. package/dist/chunk-AJ4JBKJK.js.map +0 -1
  364. package/dist/chunk-AJEIDKVJ.js.map +0 -1
  365. package/dist/chunk-B2R2G5YK.js +0 -19
  366. package/dist/chunk-B2R2G5YK.js.map +0 -1
  367. package/dist/chunk-BIAPE4MR.js.map +0 -1
  368. package/dist/chunk-BPZ7BRJW.js.map +0 -1
  369. package/dist/chunk-BSV32PSO.js.map +0 -1
  370. package/dist/chunk-BUX26GTD.js.map +0 -1
  371. package/dist/chunk-BV6CLVSI.js.map +0 -1
  372. package/dist/chunk-CHW2EN2O.js.map +0 -1
  373. package/dist/chunk-DFLGGK4F.js.map +0 -1
  374. package/dist/chunk-DKYVFYWM.js.map +0 -1
  375. package/dist/chunk-EZ7NVTZI.js.map +0 -1
  376. package/dist/chunk-FSD3DDFC.js.map +0 -1
  377. package/dist/chunk-G2JUEBC5.js.map +0 -1
  378. package/dist/chunk-HFQUXON5.js.map +0 -1
  379. package/dist/chunk-HLGMUTFK.js.map +0 -1
  380. package/dist/chunk-HOCNCQTC.js.map +0 -1
  381. package/dist/chunk-JNA3AFOC.js.map +0 -1
  382. package/dist/chunk-KGVUENQO.js +0 -17
  383. package/dist/chunk-KGVUENQO.js.map +0 -1
  384. package/dist/chunk-KZB6NERH.js.map +0 -1
  385. package/dist/chunk-MJSZNWCV.js +0 -10
  386. package/dist/chunk-MJSZNWCV.js.map +0 -1
  387. package/dist/chunk-O6RIN7K3.js.map +0 -1
  388. package/dist/chunk-OABS374T.js.map +0 -1
  389. package/dist/chunk-OLEOU3XE.js.map +0 -1
  390. package/dist/chunk-OQ4CWKJT.js.map +0 -1
  391. package/dist/chunk-PMJD5N5J.js +0 -19
  392. package/dist/chunk-PMJD5N5J.js.map +0 -1
  393. package/dist/chunk-PVAOUYXF.js.map +0 -1
  394. package/dist/chunk-QFNGYTTH.js.map +0 -1
  395. package/dist/chunk-QVOEXF46.js +0 -19
  396. package/dist/chunk-QVOEXF46.js.map +0 -1
  397. package/dist/chunk-RBEW6PXR.js.map +0 -1
  398. package/dist/chunk-RW3C2677.js.map +0 -1
  399. package/dist/chunk-TGKWBQ7L.js.map +0 -1
  400. package/dist/chunk-TNCLJK4Y.js.map +0 -1
  401. package/dist/chunk-UJWM2BV2.js.map +0 -1
  402. package/dist/chunk-VZJGCDAG.js.map +0 -1
  403. package/dist/chunk-WUAIUEH7.js.map +0 -1
  404. package/dist/chunk-WY63VEXE.js.map +0 -1
  405. package/dist/chunk-X26WIJ6L.js.map +0 -1
  406. package/dist/chunk-Y7CIJQ67.js.map +0 -1
  407. package/dist/chunk-YIT6EMBC.js.map +0 -1
  408. package/dist/chunk-YQBM63DC.js.map +0 -1
  409. package/dist/chunk-ZC6KWXCW.js.map +0 -1
  410. package/dist/chunk-ZDA7GSWU.js.map +0 -1
  411. package/dist/chunk-ZGR4NZTS.js.map +0 -1
  412. /package/dist/{chunk-JA7SVLAF.js.map → chunk-2KYXZIGP.js.map} +0 -0
  413. /package/dist/{chunk-VLZ3HQQA.js.map → chunk-2Q6WEULJ.js.map} +0 -0
  414. /package/dist/{chunk-JOD4ATPE.js.map → chunk-3HXEOAQN.js.map} +0 -0
  415. /package/dist/{chunk-WVHAYLBW.js.map → chunk-3ORGILYG.js.map} +0 -0
  416. /package/dist/{chunk-7ATM7AXL.js.map → chunk-3RSGMPWR.js.map} +0 -0
  417. /package/dist/{chunk-AHMKY474.js.map → chunk-3XNQYFWS.js.map} +0 -0
  418. /package/dist/{chunk-U4RNUZXO.js.map → chunk-4JPDLKBK.js.map} +0 -0
  419. /package/dist/{chunk-XW5MLXX5.js.map → chunk-4RLD3OE2.js.map} +0 -0
  420. /package/dist/{chunk-YKBP3G7L.js.map → chunk-5ZOOVGMT.js.map} +0 -0
  421. /package/dist/{chunk-UBY22QWM.js.map → chunk-63RSJ2W4.js.map} +0 -0
  422. /package/dist/{chunk-EEQ3REET.js.map → chunk-6KAIABBV.js.map} +0 -0
  423. /package/dist/{chunk-PPB62JYV.js.map → chunk-6SF6EC2I.js.map} +0 -0
  424. /package/dist/{chunk-4NJMCCUM.js.map → chunk-7JL3U64G.js.map} +0 -0
  425. /package/dist/{chunk-A5VVBYNT.js.map → chunk-ATEVQYB6.js.map} +0 -0
  426. /package/dist/{chunk-LDO6PRNJ.js.map → chunk-C7SIOWMA.js.map} +0 -0
  427. /package/dist/{chunk-ADQTZVMH.js.map → chunk-EKR6BYFM.js.map} +0 -0
  428. /package/dist/{chunk-BQBLSXK2.js.map → chunk-FLRHLAMD.js.map} +0 -0
  429. /package/dist/{chunk-NRD5HRZV.js.map → chunk-IOLV6PTH.js.map} +0 -0
  430. /package/dist/{chunk-MMI2HHT7.js.map → chunk-LTW2TDLL.js.map} +0 -0
  431. /package/dist/{chunk-JHRXY36W.js.map → chunk-MA7PR6V5.js.map} +0 -0
  432. /package/dist/{chunk-L4SVABDH.js.map → chunk-MEADD45E.js.map} +0 -0
  433. /package/dist/{chunk-2XHAHSB6.js.map → chunk-MXE44KVG.js.map} +0 -0
  434. /package/dist/{chunk-DT2EWLHU.js.map → chunk-NE7HNEF6.js.map} +0 -0
  435. /package/dist/{chunk-EYO2ZJLH.js.map → chunk-OPWK2TVF.js.map} +0 -0
  436. /package/dist/{chunk-HDBH7RTY.js.map → chunk-OX4I35UO.js.map} +0 -0
  437. /package/dist/{chunk-CY746ZUQ.js.map → chunk-RB2YCLBV.js.map} +0 -0
  438. /package/dist/{chunk-UJW2FPI4.js.map → chunk-RTNF2H34.js.map} +0 -0
  439. /package/dist/{chunk-S63QUP4W.js.map → chunk-SAFMGBXL.js.map} +0 -0
  440. /package/dist/{chunk-J6G2I2TU.js.map → chunk-TKV5JYQY.js.map} +0 -0
  441. /package/dist/{chunk-BH2YB4MV.js.map → chunk-VXG2IG2N.js.map} +0 -0
  442. /package/dist/{chunk-V27NUBXQ.js.map → chunk-WWLDINLH.js.map} +0 -0
  443. /package/dist/{chunk-Q2F3HEXB.js.map → chunk-YMS7JXBN.js.map} +0 -0
  444. /package/dist/{chunk-52NEOY34.js.map → chunk-YNV6WGXV.js.map} +0 -0
  445. /package/dist/{chunk-ISHZRFVN.js.map → chunk-ZITFEEZS.js.map} +0 -0
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  differenceInMonths
3
- } from "./chunk-BIAPE4MR.js";
3
+ } from "./chunk-OVFO6CZ7.js";
4
4
  import {
5
5
  differenceInSeconds
6
- } from "./chunk-QVOEXF46.js";
6
+ } from "./chunk-TUOGC2TY.js";
7
7
  import {
8
8
  differenceInWeeks
9
- } from "./chunk-PVAOUYXF.js";
9
+ } from "./chunk-EOXULNBC.js";
10
10
  import {
11
11
  differenceInYears
12
- } from "./chunk-CHW2EN2O.js";
12
+ } from "./chunk-X3T7QMBA.js";
13
13
  import {
14
14
  differenceInDays
15
- } from "./chunk-6IP245MS.js";
15
+ } from "./chunk-DC5JXNIC.js";
16
16
  import {
17
17
  differenceInHours
18
- } from "./chunk-PMJD5N5J.js";
18
+ } from "./chunk-SGHPW77A.js";
19
19
  import {
20
20
  differenceInMinutes
21
- } from "./chunk-B2R2G5YK.js";
21
+ } from "./chunk-XVAVCEKT.js";
22
22
  import {
23
23
  normalizeTemporalInput
24
- } from "./chunk-MJSZNWCV.js";
24
+ } from "./chunk-65RGM7EG.js";
25
25
 
26
26
  // src/intlFormatDistance.ts
27
27
  function intlFormatDistance(laterDate, earlierDate, options) {
@@ -32,9 +32,9 @@ function intlFormatDistance(laterDate, earlierDate, options) {
32
32
  const absSeconds = Math.abs(differenceInSeconds(zoned1, zoned2));
33
33
  const absMinutes = Math.abs(differenceInMinutes(zoned1, zoned2));
34
34
  const absHours = Math.abs(differenceInHours(zoned1, zoned2));
35
- const absDays = Math.abs(differenceInDays(zoned1, zoned2));
36
- const absWeeks = Math.abs(differenceInWeeks(zoned1, zoned2));
37
- const absMonths = Math.abs(differenceInMonths(zoned1, zoned2));
35
+ const absDays = Math.abs(differenceInDays(zoned1, zoned2, { fractional: true }));
36
+ const absWeeks = Math.abs(differenceInWeeks(zoned1, zoned2, { fractional: true }));
37
+ const absMonths = Math.abs(differenceInMonths(zoned1, zoned2, { fractional: true }));
38
38
  if (absSeconds < 60) {
39
39
  unit = "second";
40
40
  } else if (absMinutes < 60) {
@@ -62,20 +62,21 @@ function intlFormatDistance(laterDate, earlierDate, options) {
62
62
  case "hour":
63
63
  value = Math.round(differenceInHours(zoned1, zoned2));
64
64
  break;
65
+ // calendar units were fractional pre-2.x; sub-day units stay truncated so Math.round is a no-op
65
66
  case "day":
66
- value = Math.round(differenceInDays(zoned1, zoned2));
67
+ value = Math.round(differenceInDays(zoned1, zoned2, { fractional: true }));
67
68
  break;
68
69
  case "week":
69
- value = Math.round(differenceInWeeks(zoned1, zoned2));
70
+ value = Math.round(differenceInWeeks(zoned1, zoned2, { fractional: true }));
70
71
  break;
71
72
  case "month":
72
- value = Math.round(differenceInMonths(zoned1, zoned2));
73
+ value = Math.round(differenceInMonths(zoned1, zoned2, { fractional: true }));
73
74
  break;
74
75
  case "quarter":
75
- value = Math.round(differenceInMonths(zoned1, zoned2) / 3);
76
+ value = Math.round(differenceInMonths(zoned1, zoned2, { fractional: true }) / 3);
76
77
  break;
77
78
  case "year":
78
- value = Math.round(differenceInYears(zoned1, zoned2));
79
+ value = Math.round(differenceInYears(zoned1, zoned2, { fractional: true }));
79
80
  break;
80
81
  default:
81
82
  value = Math.round(differenceInSeconds(zoned1, zoned2));
@@ -91,4 +92,4 @@ function intlFormatDistance(laterDate, earlierDate, options) {
91
92
  export {
92
93
  intlFormatDistance
93
94
  };
94
- //# sourceMappingURL=chunk-5BYRBC7H.js.map
95
+ //# sourceMappingURL=chunk-7EVZGEAI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/intlFormatDistance.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { differenceInDays } from './differenceInDays.js';\nimport { differenceInHours } from './differenceInHours.js';\nimport { differenceInMinutes } from './differenceInMinutes.js';\nimport { differenceInMonths } from './differenceInMonths.js';\nimport { differenceInSeconds } from './differenceInSeconds.js';\nimport { differenceInWeeks } from './differenceInWeeks.js';\nimport { differenceInYears } from './differenceInYears.js';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput.js';\n\nexport interface IntlFormatDistanceOptions {\n /**\n * The unit to force formatting in. If not specified, the unit will be automatically selected.\n */\n unit?: Intl.RelativeTimeFormatUnit;\n /**\n * The locale to use for formatting. Defaults to the system locale.\n */\n locale?: string | string[];\n /**\n * The locale matching algorithm to use.\n */\n localeMatcher?: 'best fit' | 'lookup';\n /**\n * Whether to use numeric values always, or use special strings like \"yesterday\", \"tomorrow\", etc.\n * Defaults to 'auto'.\n */\n numeric?: 'always' | 'auto';\n /**\n * The formatting style to use.\n */\n style?: 'long' | 'short' | 'narrow';\n}\n\n/**\n * Formats the distance between two dates as a human-readable, internationalized string.\n *\n * The function automatically picks the most appropriate unit based on the distance between dates.\n * For example, if the distance is a few hours, it returns \"in X hours\". If the distance is a few\n * months, it returns \"in X months\".\n *\n * You can force a specific unit using the `options.unit` parameter.\n *\n * @param laterDate - The later date to compare\n * @param earlierDate - The earlier date to compare with\n * @param options - Formatting options\n * @returns The formatted distance string\n *\n * @example\n * ```typescript\n * const later = Temporal.Instant.from('2024-01-01T12:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T11:00:00Z');\n *\n * intlFormatDistance(later, earlier);\n * // => 'in 1 hour'\n *\n * intlFormatDistance(earlier, later);\n * // => '1 hour ago'\n * ```\n *\n * @example\n * ```typescript\n * // Force a specific unit\n * const later = Temporal.Instant.from('2025-01-01T00:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T00:00:00Z');\n *\n * intlFormatDistance(later, earlier, { unit: 'quarter' });\n * // => 'in 4 quarters'\n * ```\n *\n * @example\n * ```typescript\n * // Use a different locale\n * const later = Temporal.Instant.from('2024-01-01T12:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T11:00:00Z');\n *\n * intlFormatDistance(later, earlier, { locale: 'es' });\n * // => 'dentro de 1 hora'\n * ```\n *\n * @example\n * ```typescript\n * // Use numeric: 'always' to avoid special strings\n * const later = Temporal.Instant.from('2024-01-02T00:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T00:00:00Z');\n *\n * intlFormatDistance(later, earlier, { numeric: 'auto' });\n * // => 'tomorrow'\n *\n * intlFormatDistance(later, earlier, { numeric: 'always' });\n * // => 'in 1 day'\n * ```\n */\nexport function intlFormatDistance(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: IntlFormatDistanceOptions\n): string {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n // Determine unit if not specified\n let unit = options?.unit;\n if (!unit) {\n const absSeconds = Math.abs(differenceInSeconds(zoned1, zoned2));\n const absMinutes = Math.abs(differenceInMinutes(zoned1, zoned2));\n const absHours = Math.abs(differenceInHours(zoned1, zoned2));\n const absDays = Math.abs(differenceInDays(zoned1, zoned2));\n const absWeeks = Math.abs(differenceInWeeks(zoned1, zoned2));\n const absMonths = Math.abs(differenceInMonths(zoned1, zoned2));\n\n if (absSeconds < 60) {\n unit = 'second';\n } else if (absMinutes < 60) {\n unit = 'minute';\n } else if (absHours < 24) {\n unit = 'hour';\n } else if (absDays < 7) {\n unit = 'day';\n } else if (absWeeks < 4) {\n unit = 'week';\n } else if (absMonths < 12) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n }\n\n // Calculate value for the selected unit\n let value: number;\n switch (unit) {\n case 'second':\n value = Math.round(differenceInSeconds(zoned1, zoned2));\n break;\n case 'minute':\n value = Math.round(differenceInMinutes(zoned1, zoned2));\n break;\n case 'hour':\n value = Math.round(differenceInHours(zoned1, zoned2));\n break;\n case 'day':\n value = Math.round(differenceInDays(zoned1, zoned2));\n break;\n case 'week':\n value = Math.round(differenceInWeeks(zoned1, zoned2));\n break;\n case 'month':\n value = Math.round(differenceInMonths(zoned1, zoned2));\n break;\n case 'quarter':\n value = Math.round(differenceInMonths(zoned1, zoned2) / 3);\n break;\n case 'year':\n value = Math.round(differenceInYears(zoned1, zoned2));\n break;\n default:\n // For any other unit type, try to use it directly\n value = Math.round(differenceInSeconds(zoned1, zoned2));\n }\n\n // Format using Intl.RelativeTimeFormat\n const formatter = new Intl.RelativeTimeFormat(options?.locale, {\n localeMatcher: options?.localeMatcher,\n numeric: options?.numeric ?? 'auto',\n style: options?.style,\n });\n\n return formatter.format(value, unit);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6FO,SAAS,mBACd,WACA,aACA,SACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAGjD,MAAI,OAAO,SAAS;AACpB,MAAI,CAAC,MAAM;AACT,UAAM,aAAa,KAAK,IAAI,oBAAoB,QAAQ,MAAM,CAAC;AAC/D,UAAM,aAAa,KAAK,IAAI,oBAAoB,QAAQ,MAAM,CAAC;AAC/D,UAAM,WAAW,KAAK,IAAI,kBAAkB,QAAQ,MAAM,CAAC;AAC3D,UAAM,UAAU,KAAK,IAAI,iBAAiB,QAAQ,MAAM,CAAC;AACzD,UAAM,WAAW,KAAK,IAAI,kBAAkB,QAAQ,MAAM,CAAC;AAC3D,UAAM,YAAY,KAAK,IAAI,mBAAmB,QAAQ,MAAM,CAAC;AAE7D,QAAI,aAAa,IAAI;AACnB,aAAO;AAAA,IACT,WAAW,aAAa,IAAI;AAC1B,aAAO;AAAA,IACT,WAAW,WAAW,IAAI;AACxB,aAAO;AAAA,IACT,WAAW,UAAU,GAAG;AACtB,aAAO;AAAA,IACT,WAAW,WAAW,GAAG;AACvB,aAAO;AAAA,IACT,WAAW,YAAY,IAAI;AACzB,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI;AACJ,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,cAAQ,KAAK,MAAM,oBAAoB,QAAQ,MAAM,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,oBAAoB,QAAQ,MAAM,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,kBAAkB,QAAQ,MAAM,CAAC;AACpD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,iBAAiB,QAAQ,MAAM,CAAC;AACnD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,kBAAkB,QAAQ,MAAM,CAAC;AACpD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,mBAAmB,QAAQ,MAAM,CAAC;AACrD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,mBAAmB,QAAQ,MAAM,IAAI,CAAC;AACzD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,kBAAkB,QAAQ,MAAM,CAAC;AACpD;AAAA,IACF;AAEE,cAAQ,KAAK,MAAM,oBAAoB,QAAQ,MAAM,CAAC;AAAA,EAC1D;AAGA,QAAM,YAAY,IAAI,KAAK,mBAAmB,SAAS,QAAQ;AAAA,IAC7D,eAAe,SAAS;AAAA,IACxB,SAAS,SAAS,WAAW;AAAA,IAC7B,OAAO,SAAS;AAAA,EAClB,CAAC;AAED,SAAO,UAAU,OAAO,OAAO,IAAI;AACrC;","names":[]}
1
+ {"version":3,"sources":["../src/intlFormatDistance.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { differenceInDays } from './differenceInDays.js';\nimport { differenceInHours } from './differenceInHours.js';\nimport { differenceInMinutes } from './differenceInMinutes.js';\nimport { differenceInMonths } from './differenceInMonths.js';\nimport { differenceInSeconds } from './differenceInSeconds.js';\nimport { differenceInWeeks } from './differenceInWeeks.js';\nimport { differenceInYears } from './differenceInYears.js';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput.js';\n\nexport interface IntlFormatDistanceOptions {\n /**\n * The unit to force formatting in. If not specified, the unit will be automatically selected.\n */\n unit?: Intl.RelativeTimeFormatUnit;\n /**\n * The locale to use for formatting. Defaults to the system locale.\n */\n locale?: string | string[];\n /**\n * The locale matching algorithm to use.\n */\n localeMatcher?: 'best fit' | 'lookup';\n /**\n * Whether to use numeric values always, or use special strings like \"yesterday\", \"tomorrow\", etc.\n * Defaults to 'auto'.\n */\n numeric?: 'always' | 'auto';\n /**\n * The formatting style to use.\n */\n style?: 'long' | 'short' | 'narrow';\n}\n\n/**\n * Formats the distance between two dates as a human-readable, internationalized string.\n *\n * The function automatically picks the most appropriate unit based on the distance between dates.\n * For example, if the distance is a few hours, it returns \"in X hours\". If the distance is a few\n * months, it returns \"in X months\".\n *\n * You can force a specific unit using the `options.unit` parameter.\n *\n * @param laterDate - The later date to compare\n * @param earlierDate - The earlier date to compare with\n * @param options - Formatting options\n * @returns The formatted distance string\n *\n * @example\n * ```typescript\n * const later = Temporal.Instant.from('2024-01-01T12:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T11:00:00Z');\n *\n * intlFormatDistance(later, earlier);\n * // => 'in 1 hour'\n *\n * intlFormatDistance(earlier, later);\n * // => '1 hour ago'\n * ```\n *\n * @example\n * ```typescript\n * // Force a specific unit\n * const later = Temporal.Instant.from('2025-01-01T00:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T00:00:00Z');\n *\n * intlFormatDistance(later, earlier, { unit: 'quarter' });\n * // => 'in 4 quarters'\n * ```\n *\n * @example\n * ```typescript\n * // Use a different locale\n * const later = Temporal.Instant.from('2024-01-01T12:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T11:00:00Z');\n *\n * intlFormatDistance(later, earlier, { locale: 'es' });\n * // => 'dentro de 1 hora'\n * ```\n *\n * @example\n * ```typescript\n * // Use numeric: 'always' to avoid special strings\n * const later = Temporal.Instant.from('2024-01-02T00:00:00Z');\n * const earlier = Temporal.Instant.from('2024-01-01T00:00:00Z');\n *\n * intlFormatDistance(later, earlier, { numeric: 'auto' });\n * // => 'tomorrow'\n *\n * intlFormatDistance(later, earlier, { numeric: 'always' });\n * // => 'in 1 day'\n * ```\n */\nexport function intlFormatDistance(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: IntlFormatDistanceOptions\n): string {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n // Determine unit if not specified\n let unit = options?.unit;\n if (!unit) {\n const absSeconds = Math.abs(differenceInSeconds(zoned1, zoned2));\n const absMinutes = Math.abs(differenceInMinutes(zoned1, zoned2));\n const absHours = Math.abs(differenceInHours(zoned1, zoned2));\n // calendar units were fractional pre-2.x; sub-day units stay truncated so Math.round below is a no-op\n const absDays = Math.abs(differenceInDays(zoned1, zoned2, { fractional: true }));\n const absWeeks = Math.abs(differenceInWeeks(zoned1, zoned2, { fractional: true }));\n const absMonths = Math.abs(differenceInMonths(zoned1, zoned2, { fractional: true }));\n\n if (absSeconds < 60) {\n unit = 'second';\n } else if (absMinutes < 60) {\n unit = 'minute';\n } else if (absHours < 24) {\n unit = 'hour';\n } else if (absDays < 7) {\n unit = 'day';\n } else if (absWeeks < 4) {\n unit = 'week';\n } else if (absMonths < 12) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n }\n\n // Calculate value for the selected unit\n let value: number;\n switch (unit) {\n case 'second':\n value = Math.round(differenceInSeconds(zoned1, zoned2));\n break;\n case 'minute':\n value = Math.round(differenceInMinutes(zoned1, zoned2));\n break;\n case 'hour':\n value = Math.round(differenceInHours(zoned1, zoned2));\n break;\n // calendar units were fractional pre-2.x; sub-day units stay truncated so Math.round is a no-op\n case 'day':\n value = Math.round(differenceInDays(zoned1, zoned2, { fractional: true }));\n break;\n case 'week':\n value = Math.round(differenceInWeeks(zoned1, zoned2, { fractional: true }));\n break;\n case 'month':\n value = Math.round(differenceInMonths(zoned1, zoned2, { fractional: true }));\n break;\n case 'quarter':\n value = Math.round(differenceInMonths(zoned1, zoned2, { fractional: true }) / 3);\n break;\n case 'year':\n value = Math.round(differenceInYears(zoned1, zoned2, { fractional: true }));\n break;\n default:\n // For any other unit type, try to use it directly\n value = Math.round(differenceInSeconds(zoned1, zoned2));\n }\n\n // Format using Intl.RelativeTimeFormat\n const formatter = new Intl.RelativeTimeFormat(options?.locale, {\n localeMatcher: options?.localeMatcher,\n numeric: options?.numeric ?? 'auto',\n style: options?.style,\n });\n\n return formatter.format(value, unit);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6FO,SAAS,mBACd,WACA,aACA,SACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAGjD,MAAI,OAAO,SAAS;AACpB,MAAI,CAAC,MAAM;AACT,UAAM,aAAa,KAAK,IAAI,oBAAoB,QAAQ,MAAM,CAAC;AAC/D,UAAM,aAAa,KAAK,IAAI,oBAAoB,QAAQ,MAAM,CAAC;AAC/D,UAAM,WAAW,KAAK,IAAI,kBAAkB,QAAQ,MAAM,CAAC;AAE3D,UAAM,UAAU,KAAK,IAAI,iBAAiB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AAC/E,UAAM,WAAW,KAAK,IAAI,kBAAkB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AACjF,UAAM,YAAY,KAAK,IAAI,mBAAmB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AAEnF,QAAI,aAAa,IAAI;AACnB,aAAO;AAAA,IACT,WAAW,aAAa,IAAI;AAC1B,aAAO;AAAA,IACT,WAAW,WAAW,IAAI;AACxB,aAAO;AAAA,IACT,WAAW,UAAU,GAAG;AACtB,aAAO;AAAA,IACT,WAAW,WAAW,GAAG;AACvB,aAAO;AAAA,IACT,WAAW,YAAY,IAAI;AACzB,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI;AACJ,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,cAAQ,KAAK,MAAM,oBAAoB,QAAQ,MAAM,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,oBAAoB,QAAQ,MAAM,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,kBAAkB,QAAQ,MAAM,CAAC;AACpD;AAAA;AAAA,IAEF,KAAK;AACH,cAAQ,KAAK,MAAM,iBAAiB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AACzE;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,kBAAkB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AAC1E;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,mBAAmB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AAC3E;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,mBAAmB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,IAAI,CAAC;AAC/E;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,MAAM,kBAAkB,QAAQ,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC;AAC1E;AAAA,IACF;AAEE,cAAQ,KAAK,MAAM,oBAAoB,QAAQ,MAAM,CAAC;AAAA,EAC1D;AAGA,QAAM,YAAY,IAAI,KAAK,mBAAmB,SAAS,QAAQ;AAAA,IAC7D,eAAe,SAAS;AAAA,IACxB,SAAS,SAAS,WAAW;AAAA,IAC7B,OAAO,SAAS;AAAA,EAClB,CAAC;AAED,SAAO,UAAU,OAAO,OAAO,IAAI;AACrC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/addHours.ts
6
6
  function addHours(input, hours) {
@@ -11,4 +11,4 @@ function addHours(input, hours) {
11
11
  export {
12
12
  addHours
13
13
  };
14
- //# sourceMappingURL=chunk-4NJMCCUM.js.map
14
+ //# sourceMappingURL=chunk-7JL3U64G.js.map
@@ -1,5 +1,8 @@
1
+ import {
2
+ Temporal
3
+ } from "./chunk-AI5MRREC.js";
4
+
1
5
  // src/shared/plainDateToZonedDateTime.ts
2
- import { Temporal } from "@js-temporal/polyfill";
3
6
  function plainDateToZonedDateTime(date, timezone) {
4
7
  return date.toZonedDateTime({
5
8
  timeZone: timezone,
@@ -10,4 +13,4 @@ function plainDateToZonedDateTime(date, timezone) {
10
13
  export {
11
14
  plainDateToZonedDateTime
12
15
  };
13
- //# sourceMappingURL=chunk-JNA3AFOC.js.map
16
+ //# sourceMappingURL=chunk-AHBTUFRW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/plainDateToZonedDateTime.ts"],"sourcesContent":["import { Temporal } from './temporal';\nimport type { Timezone } from '../types';\n\n/**\n * @internal\n * Converts a PlainDate to a ZonedDateTime at midnight in the specified timezone.\n * This is an internal helper - do not use directly.\n */\nexport function plainDateToZonedDateTime(\n date: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime {\n return date.toZonedDateTime({\n timeZone: timezone,\n plainTime: Temporal.PlainTime.from('00:00'),\n });\n}\n"],"mappings":";;;;;AAQO,SAAS,yBACd,MACA,UACwB;AACxB,SAAO,KAAK,gBAAgB;AAAA,IAC1B,UAAU;AAAA,IACV,WAAW,SAAS,UAAU,KAAK,OAAO;AAAA,EAC5C,CAAC;AACH;","names":[]}
@@ -0,0 +1,22 @@
1
+ // src/shared/temporal.ts
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ function brand(value) {
4
+ return typeof value === "object" && value !== null ? value[Symbol.toStringTag] : void 0;
5
+ }
6
+ function isInstant(value) {
7
+ return brand(value) === "Temporal.Instant";
8
+ }
9
+ function isZonedDateTime(value) {
10
+ return brand(value) === "Temporal.ZonedDateTime";
11
+ }
12
+ function isPlainDate(value) {
13
+ return brand(value) === "Temporal.PlainDate";
14
+ }
15
+
16
+ export {
17
+ Temporal,
18
+ isInstant,
19
+ isZonedDateTime,
20
+ isPlainDate
21
+ };
22
+ //# sourceMappingURL=chunk-AI5MRREC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/temporal.ts"],"sourcesContent":["import { Temporal } from '@js-temporal/polyfill';\n\n/**\n * @internal\n * Single source of the Temporal implementation.\n *\n * Currently always uses `@js-temporal/polyfill`. A previous attempt to prefer\n * the runtime's native `globalThis.Temporal` was reverted: tiempo passes\n * caller-provided Temporal objects into static methods\n * (`Temporal.ZonedDateTime.compare`, etc.), and a native static method throws\n * (\"Must specify time zone.\") when handed an object created by a different\n * implementation than the one tiempo resolved. Native-first can return once\n * inputs are normalized into the resolved implementation at the boundary, with\n * a native-Temporal CI runner guarding it.\n *\n * Import `Temporal` from here so the implementation choice stays in one place.\n */\nexport { Temporal };\n\n/**\n * @internal\n * Implementation-agnostic type guards. The Temporal spec requires every\n * implementation to set `Symbol.toStringTag`, so these work regardless of which\n * implementation produced the object.\n */\nfunction brand(value: unknown): string | undefined {\n return typeof value === 'object' && value !== null\n ? (value as { [Symbol.toStringTag]?: string })[Symbol.toStringTag]\n : undefined;\n}\n\nexport function isInstant(value: unknown): value is Temporal.Instant {\n return brand(value) === 'Temporal.Instant';\n}\n\nexport function isZonedDateTime(\n value: unknown\n): value is Temporal.ZonedDateTime {\n return brand(value) === 'Temporal.ZonedDateTime';\n}\n\nexport function isPlainDate(value: unknown): value is Temporal.PlainDate {\n return brand(value) === 'Temporal.PlainDate';\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAyBzB,SAAS,MAAM,OAAoC;AACjD,SAAO,OAAO,UAAU,YAAY,UAAU,OACzC,MAA4C,OAAO,WAAW,IAC/D;AACN;AAEO,SAAS,UAAU,OAA2C;AACnE,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,gBACd,OACiC;AACjC,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,YAAY,OAA6C;AACvE,SAAO,MAAM,KAAK,MAAM;AAC1B;","names":[]}
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/isSameDay.ts
6
- import "@js-temporal/polyfill";
7
6
  function isSameDay(date1, date2) {
8
7
  const zoned1 = normalizeTemporalInput(date1);
9
8
  const zoned2 = normalizeTemporalInput(date2);
@@ -13,4 +12,4 @@ function isSameDay(date1, date2) {
13
12
  export {
14
13
  isSameDay
15
14
  };
16
- //# sourceMappingURL=chunk-RW3C2677.js.map
15
+ //# sourceMappingURL=chunk-ALAAO5GL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/isSameDay.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Returns true if both datetimes fall on the same calendar day.\n * Compares the year, month, and day fields directly.\n *\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their\n * timezone is preserved. Convert to a common timezone before calling if\n * you need to compare from a specific perspective.\n *\n * @param date1 - First datetime (Instant or ZonedDateTime)\n * @param date2 - Second datetime (Instant or ZonedDateTime)\n * @returns true if both dates are on the same calendar day, false otherwise\n *\n * @example\n * ```ts\n * // Same timezone, same day\n * const morning = Temporal.ZonedDateTime.from('2025-01-20T08:00:00Z[UTC]');\n * const evening = Temporal.ZonedDateTime.from('2025-01-20T23:00:00Z[UTC]');\n *\n * isSameDay(morning, evening); // true\n * ```\n *\n * @example\n * ```ts\n * // Same timezone, different days\n * const today = Temporal.ZonedDateTime.from('2025-01-20T23:59:59Z[UTC]');\n * const tomorrow = Temporal.ZonedDateTime.from('2025-01-21T00:00:00Z[UTC]');\n *\n * isSameDay(today, tomorrow); // false\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares their local calendar days\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T23:00:00-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T13:00:00+09:00[Asia/Tokyo]');\n *\n * // Same instant, different calendar days from each person's perspective\n * isSameDay(ny, tokyo); // false (Jan 20 in NY, Jan 21 in Tokyo)\n *\n * // Convert to UTC to compare in UTC timezone\n * isSameDay(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both Jan 21 in UTC)\n *\n * // Convert to NY timezone to compare from NY perspective\n * isSameDay(ny, tokyo.withTimeZone('America/New_York')); // true (both Jan 20 in NY)\n * ```\n *\n * @example\n * ```ts\n * // Instant inputs are converted to UTC\n * const instant1 = Temporal.Instant.from('2025-01-20T10:00:00Z');\n * const instant2 = Temporal.Instant.from('2025-01-20T23:00:00Z');\n *\n * isSameDay(instant1, instant2); // true (both Jan 20 in UTC)\n * ```\n */\nexport function isSameDay(\n date1: Temporal.Instant | Temporal.ZonedDateTime,\n date2: Temporal.Instant | Temporal.ZonedDateTime\n): boolean {\n const zoned1 = normalizeTemporalInput(date1);\n const zoned2 = normalizeTemporalInput(date2);\n\n return (\n zoned1.year === zoned2.year &&\n zoned1.month === zoned2.month &&\n zoned1.day === zoned2.day\n );\n}\n"],"mappings":";;;;;AA0DO,SAAS,UACd,OACA,OACS;AACT,QAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAM,SAAS,uBAAuB,KAAK;AAE3C,SACE,OAAO,SAAS,OAAO,QACvB,OAAO,UAAU,OAAO,SACxB,OAAO,QAAQ,OAAO;AAE1B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/addMilliseconds.ts
6
6
  function addMilliseconds(input, milliseconds) {
@@ -11,4 +11,4 @@ function addMilliseconds(input, milliseconds) {
11
11
  export {
12
12
  addMilliseconds
13
13
  };
14
- //# sourceMappingURL=chunk-A5VVBYNT.js.map
14
+ //# sourceMappingURL=chunk-ATEVQYB6.js.map
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  normalizeWithPlainDate
3
- } from "./chunk-KGVUENQO.js";
3
+ } from "./chunk-TWZNSMKO.js";
4
4
  import {
5
5
  getEndOfDay
6
6
  } from "./chunk-AVGNRINZ.js";
7
7
 
8
8
  // src/endOfMonth.ts
9
- import "@js-temporal/polyfill";
10
9
  function endOfMonth(input, timezone) {
11
10
  const zonedDateTime = normalizeWithPlainDate(input, timezone);
12
11
  const lastDay = zonedDateTime.with({ day: zonedDateTime.daysInMonth });
@@ -16,4 +15,4 @@ function endOfMonth(input, timezone) {
16
15
  export {
17
16
  endOfMonth
18
17
  };
19
- //# sourceMappingURL=chunk-OQ4CWKJT.js.map
18
+ //# sourceMappingURL=chunk-BO5WXWO2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endOfMonth.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { getEndOfDay } from './shared/endOfDay';\nimport { normalizeWithPlainDate } from './shared/normalizeWithPlainDate';\n\n/**\n * Returns a ZonedDateTime representing the last moment of the month (last day at 23:59:59.999999999).\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at the last day of the month at 23:59:59.999999999\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-15T12:00:00Z');\n * const end = endOfMonth(instant);\n * // 2025-01-31T23:59:59.999999999Z[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-02-15T15:30:00-05:00[America/New_York]');\n * const end = endOfMonth(zoned);\n * // 2025-02-28T23:59:59.999999999-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (requires timezone)\n * const date = Temporal.PlainDate.from('2025-02-15');\n * const end = endOfMonth(date, 'America/New_York');\n * // 2025-02-28T23:59:59.999999999-05:00[America/New_York]\n * ```\n */\nexport function endOfMonth(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function endOfMonth(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function endOfMonth(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n const lastDay = zonedDateTime.with({ day: zonedDateTime.daysInMonth });\n return getEndOfDay(lastDay);\n}\n"],"mappings":";;;;;;;;AA0CO,SAAS,WACd,OACA,UACwB;AACxB,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,QAAM,UAAU,cAAc,KAAK,EAAE,KAAK,cAAc,YAAY,CAAC;AACrE,SAAO,YAAY,OAAO;AAC5B;","names":[]}
@@ -1,5 +1,9 @@
1
+ import {
2
+ Temporal,
3
+ isInstant
4
+ } from "./chunk-AI5MRREC.js";
5
+
1
6
  // src/toZonedTime.ts
2
- import { Temporal } from "@js-temporal/polyfill";
3
7
  function toZonedTime(input, timezone) {
4
8
  if (typeof input === "string") {
5
9
  return Temporal.Instant.from(input).toZonedDateTimeISO(timezone);
@@ -10,7 +14,7 @@ function toZonedTime(input, timezone) {
10
14
  if (input instanceof Date) {
11
15
  return Temporal.Instant.from(input.toISOString()).toZonedDateTimeISO(timezone);
12
16
  }
13
- if (input instanceof Temporal.Instant) {
17
+ if (isInstant(input)) {
14
18
  return input.toZonedDateTimeISO(timezone);
15
19
  }
16
20
  return input.toInstant().toZonedDateTimeISO(timezone);
@@ -19,4 +23,4 @@ function toZonedTime(input, timezone) {
19
23
  export {
20
24
  toZonedTime
21
25
  };
22
- //# sourceMappingURL=chunk-4PSMM55Q.js.map
26
+ //# sourceMappingURL=chunk-BQHSXMGZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/toZonedTime.ts"],"sourcesContent":["import { Temporal, isInstant } from './shared/temporal';\nimport type { Timezone } from './types';\n\n/**\n * Convert a UTC ISO string, Unix timestamp, Date, Instant, or ZonedDateTime to a ZonedDateTime in the specified timezone.\n *\n * @param input - A UTC ISO 8601 string, Unix timestamp (milliseconds), Date object, Temporal.Instant, or Temporal.ZonedDateTime\n * @param timezone - IANA timezone identifier (e.g., \"America/New_York\", \"Europe/London\") or \"UTC\"\n * @returns A Temporal.ZonedDateTime in the specified timezone\n *\n * @example\n * ```typescript\n * import { toZonedTime, browserTimezone } from '@gobrand/tiempo';\n *\n * // Server-side: Convert to UTC\n * const utcTime = toZonedTime(\"2025-01-20T20:00:00Z\", \"UTC\");\n *\n * // Server-side: Convert to user's timezone (from DB/preferences)\n * const userTime = toZonedTime(\"2025-01-20T20:00:00Z\", user.timezone);\n *\n * // Client-side: Convert to browser's timezone\n * const localTime = toZonedTime(\"2025-01-20T20:00:00Z\", browserTimezone());\n *\n * // From Unix timestamp (e.g., from database BIGINT or API response)\n * const timestamp = 1737403200000;\n * const zoned = toZonedTime(timestamp, \"America/New_York\");\n *\n * // From Date (e.g., from Drizzle ORM)\n * const date = new Date(\"2025-01-20T20:00:00.000Z\");\n * const zoned2 = toZonedTime(date, \"America/New_York\");\n *\n * // From Instant\n * const instant = Temporal.Instant.from(\"2025-01-20T20:00:00Z\");\n * const zoned3 = toZonedTime(instant, \"Asia/Tokyo\");\n *\n * // From ZonedDateTime (convert to different timezone)\n * const nyTime = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n * const tokyoTime = toZonedTime(nyTime, \"Asia/Tokyo\");\n * ```\n */\nexport function toZonedTime(\n input: string | number | Date | Temporal.Instant | Temporal.ZonedDateTime,\n timezone: Timezone\n): Temporal.ZonedDateTime {\n if (typeof input === 'string') {\n return Temporal.Instant.from(input).toZonedDateTimeISO(timezone);\n }\n\n if (typeof input === 'number') {\n return Temporal.Instant.fromEpochMilliseconds(input).toZonedDateTimeISO(timezone);\n }\n\n if (input instanceof Date) {\n return Temporal.Instant.from(input.toISOString()).toZonedDateTimeISO(timezone);\n }\n\n if (isInstant(input)) {\n return input.toZonedDateTimeISO(timezone);\n }\n\n return input.toInstant().toZonedDateTimeISO(timezone);\n}\n"],"mappings":";;;;;;AAwCO,SAAS,YACd,OACA,UACwB;AACxB,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,SAAS,QAAQ,KAAK,KAAK,EAAE,mBAAmB,QAAQ;AAAA,EACjE;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,SAAS,QAAQ,sBAAsB,KAAK,EAAE,mBAAmB,QAAQ;AAAA,EAClF;AAEA,MAAI,iBAAiB,MAAM;AACzB,WAAO,SAAS,QAAQ,KAAK,MAAM,YAAY,CAAC,EAAE,mBAAmB,QAAQ;AAAA,EAC/E;AAEA,MAAI,UAAU,KAAK,GAAG;AACpB,WAAO,MAAM,mBAAmB,QAAQ;AAAA,EAC1C;AAEA,SAAO,MAAM,UAAU,EAAE,mBAAmB,QAAQ;AACtD;","names":[]}
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  normalizeWithPlainDate
3
- } from "./chunk-KGVUENQO.js";
3
+ } from "./chunk-TWZNSMKO.js";
4
4
  import {
5
5
  getEndOfDay
6
6
  } from "./chunk-AVGNRINZ.js";
7
7
 
8
8
  // src/endOfYear.ts
9
- import "@js-temporal/polyfill";
10
9
  function endOfYear(input, timezone) {
11
10
  const zonedDateTime = normalizeWithPlainDate(input, timezone);
12
11
  const lastMonth = zonedDateTime.with({ month: zonedDateTime.monthsInYear });
@@ -17,4 +16,4 @@ function endOfYear(input, timezone) {
17
16
  export {
18
17
  endOfYear
19
18
  };
20
- //# sourceMappingURL=chunk-776JOVV6.js.map
19
+ //# sourceMappingURL=chunk-C4UZJHM7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endOfYear.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { getEndOfDay } from './shared/endOfDay';\nimport { normalizeWithPlainDate } from './shared/normalizeWithPlainDate';\n\n/**\n * Returns a ZonedDateTime representing the last moment of the year (last day at 23:59:59.999999999).\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at the last day of the year at 23:59:59.999999999\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-06-15T12:00:00Z');\n * const end = endOfYear(instant);\n * // 2025-12-31T23:59:59.999999999Z[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-06-15T15:30:00-05:00[America/New_York]');\n * const end = endOfYear(zoned);\n * // 2025-12-31T23:59:59.999999999-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (requires timezone)\n * const date = Temporal.PlainDate.from('2025-06-15');\n * const end = endOfYear(date, 'America/New_York');\n * // 2025-12-31T23:59:59.999999999-05:00[America/New_York]\n * ```\n */\nexport function endOfYear(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function endOfYear(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function endOfYear(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n const lastMonth = zonedDateTime.with({ month: zonedDateTime.monthsInYear });\n const lastDay = lastMonth.with({ day: lastMonth.daysInMonth });\n return getEndOfDay(lastDay);\n}\n"],"mappings":";;;;;;;;AA0CO,SAAS,UACd,OACA,UACwB;AACxB,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,QAAM,YAAY,cAAc,KAAK,EAAE,OAAO,cAAc,aAAa,CAAC;AAC1E,QAAM,UAAU,UAAU,KAAK,EAAE,KAAK,UAAU,YAAY,CAAC;AAC7D,SAAO,YAAY,OAAO;AAC5B;","names":[]}
@@ -1,5 +1,8 @@
1
+ import {
2
+ Temporal
3
+ } from "./chunk-AI5MRREC.js";
4
+
1
5
  // src/isPlainTimeEqual.ts
2
- import { Temporal } from "@js-temporal/polyfill";
3
6
  function isPlainTimeEqual(time1, time2) {
4
7
  return Temporal.PlainTime.compare(time1, time2) === 0;
5
8
  }
@@ -7,4 +10,4 @@ function isPlainTimeEqual(time1, time2) {
7
10
  export {
8
11
  isPlainTimeEqual
9
12
  };
10
- //# sourceMappingURL=chunk-VZJGCDAG.js.map
13
+ //# sourceMappingURL=chunk-C5O6LIWR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/isPlainTimeEqual.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\n\n/**\n * Returns true if the two plain times are equal.\n * Compares wall-clock times without date or timezone considerations.\n *\n * @param time1 - First plain time\n * @param time2 - Second plain time\n * @returns true if time1 equals time2, false otherwise\n *\n * @example\n * ```ts\n * const nineAM_a = Temporal.PlainTime.from('09:00');\n * const nineAM_b = Temporal.PlainTime.from('09:00');\n * const fivePM = Temporal.PlainTime.from('17:00');\n *\n * isPlainTimeEqual(nineAM_a, nineAM_b); // true\n * isPlainTimeEqual(nineAM_a, fivePM); // false\n * ```\n */\nexport function isPlainTimeEqual(\n time1: Temporal.PlainTime,\n time2: Temporal.PlainTime\n): boolean {\n return Temporal.PlainTime.compare(time1, time2) === 0;\n}\n"],"mappings":";;;;;AAoBO,SAAS,iBACd,OACA,OACS;AACT,SAAO,SAAS,UAAU,QAAQ,OAAO,KAAK,MAAM;AACtD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/isSameMinute.ts
6
6
  function isSameMinute(date1, date2) {
@@ -12,4 +12,4 @@ function isSameMinute(date1, date2) {
12
12
  export {
13
13
  isSameMinute
14
14
  };
15
- //# sourceMappingURL=chunk-LDO6PRNJ.js.map
15
+ //# sourceMappingURL=chunk-C7SIOWMA.js.map
@@ -1,5 +1,8 @@
1
+ import {
2
+ Temporal
3
+ } from "./chunk-AI5MRREC.js";
4
+
1
5
  // src/now.ts
2
- import { Temporal } from "@js-temporal/polyfill";
3
6
  function now(timezone) {
4
7
  return Temporal.Now.zonedDateTimeISO(timezone);
5
8
  }
@@ -7,4 +10,4 @@ function now(timezone) {
7
10
  export {
8
11
  now
9
12
  };
10
- //# sourceMappingURL=chunk-FSD3DDFC.js.map
13
+ //# sourceMappingURL=chunk-CKOIGPND.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/now.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport type { Timezone } from './types';\n\n/**\n * Get the current date and time in the specified timezone.\n *\n * @param timezone - IANA timezone identifier (e.g., \"America/New_York\", \"Europe/London\") or \"UTC\"\n * @returns A Temporal.ZonedDateTime representing the current date and time\n *\n * @example\n * ```typescript\n * import { now, browserTimezone } from '@gobrand/tiempo';\n *\n * // Server-side: Get now in UTC\n * const nowUtc = now(\"UTC\");\n *\n * // Server-side: Get now in user's timezone (from DB/preferences)\n * const nowUser = now(user.timezone);\n *\n * // Client-side: Get now in browser's timezone\n * const nowLocal = now(browserTimezone());\n *\n * // Get now in a specific timezone\n * const nowInMadrid = now(\"Europe/Madrid\");\n * ```\n */\nexport function now(timezone: Timezone): Temporal.ZonedDateTime {\n return Temporal.Now.zonedDateTimeISO(timezone);\n}\n"],"mappings":";;;;;AA0BO,SAAS,IAAI,UAA4C;AAC9D,SAAO,SAAS,IAAI,iBAAiB,QAAQ;AAC/C;","names":[]}
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/differenceInDays.ts
6
- import "@js-temporal/polyfill";
7
- function differenceInDays(laterDate, earlierDate) {
6
+ function differenceInDays(laterDate, earlierDate, options) {
8
7
  const zoned1 = normalizeTemporalInput(laterDate);
9
8
  const zoned2 = normalizeTemporalInput(earlierDate);
10
9
  const duration = zoned2.until(zoned1, { largestUnit: "hours" });
11
- return duration.total({ unit: "days", relativeTo: zoned2 });
10
+ const precise = duration.total({ unit: "days", relativeTo: zoned2 });
11
+ return options?.fractional ? precise : Math.trunc(precise);
12
12
  }
13
13
 
14
14
  export {
15
15
  differenceInDays
16
16
  };
17
- //# sourceMappingURL=chunk-6IP245MS.js.map
17
+ //# sourceMappingURL=chunk-DC5JXNIC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/differenceInDays.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport type { DifferenceOptions } from './shared/differenceOptions';\n\n/**\n * Returns the number of days between two datetimes.\n * The result is positive if laterDate is after earlierDate, negative if before.\n *\n * This function uses calendar-aware calculation, which means it properly handles\n * DST transitions where days can be 23, 24, or 25 hours long.\n *\n * Instant inputs are converted to UTC for calendar calculations.\n * For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param laterDate - The later datetime (Instant or ZonedDateTime)\n * @param earlierDate - The earlier datetime (Instant or ZonedDateTime)\n * @param options - Optional { fractional } to return the precise value\n * @returns The number of days between the dates, truncated toward zero (pass { fractional: true } for the precise value)\n *\n * @example\n * ```ts\n * const later = Temporal.Instant.from('2025-01-25T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInDays(later, earlier); // 5\n * ```\n *\n * @example\n * ```ts\n * // Works with ZonedDateTime\n * const later = Temporal.ZonedDateTime.from('2025-01-25T15:00:00-05:00[America/New_York]');\n * const earlier = Temporal.ZonedDateTime.from('2025-01-20T15:00:00-05:00[America/New_York]');\n *\n * differenceInDays(later, earlier); // 5\n * ```\n *\n * @example\n * ```ts\n * // Handles DST transitions correctly\n * const afterDst = Temporal.ZonedDateTime.from('2025-03-10T12:00:00-04:00[America/New_York]');\n * const beforeDst = Temporal.ZonedDateTime.from('2025-03-08T12:00:00-05:00[America/New_York]');\n *\n * differenceInDays(afterDst, beforeDst); // 2 (calendar days, not 48 hours)\n * ```\n */\nexport function differenceInDays(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: DifferenceOptions\n): number {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n const duration = zoned2.until(zoned1, { largestUnit: 'hours' });\n const precise = duration.total({ unit: 'days', relativeTo: zoned2 });\n return options?.fractional ? precise : Math.trunc(precise);\n}\n"],"mappings":";;;;;AA6CO,SAAS,iBACd,WACA,aACA,SACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAEjD,QAAM,WAAW,OAAO,MAAM,QAAQ,EAAE,aAAa,QAAQ,CAAC;AAC9D,QAAM,UAAU,SAAS,MAAM,EAAE,MAAM,QAAQ,YAAY,OAAO,CAAC;AACnE,SAAO,SAAS,aAAa,UAAU,KAAK,MAAM,OAAO;AAC3D;","names":[]}
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  normalizeWithPlainDate
3
- } from "./chunk-KGVUENQO.js";
3
+ } from "./chunk-TWZNSMKO.js";
4
4
  import {
5
5
  getEndOfDay
6
6
  } from "./chunk-AVGNRINZ.js";
7
7
 
8
8
  // src/endOfDay.ts
9
- import "@js-temporal/polyfill";
10
9
  function endOfDay(input, timezone) {
11
10
  const zonedDateTime = normalizeWithPlainDate(input, timezone);
12
11
  return getEndOfDay(zonedDateTime);
@@ -15,4 +14,4 @@ function endOfDay(input, timezone) {
15
14
  export {
16
15
  endOfDay
17
16
  };
18
- //# sourceMappingURL=chunk-HOCNCQTC.js.map
17
+ //# sourceMappingURL=chunk-E2MU2P66.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endOfDay.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { getEndOfDay } from './shared/endOfDay';\nimport { normalizeWithPlainDate } from './shared/normalizeWithPlainDate';\n\n/**\n * Returns a ZonedDateTime representing the last nanosecond of the day.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at 23:59:59.999999999\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const end = endOfDay(instant);\n * // 2025-01-20T23:59:59.999999999Z[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-20T15:30:00-05:00[America/New_York]');\n * const end = endOfDay(zoned);\n * // 2025-01-20T23:59:59.999999999-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (requires timezone)\n * const date = Temporal.PlainDate.from('2025-01-20');\n * const end = endOfDay(date, 'America/New_York');\n * // 2025-01-20T23:59:59.999999999-05:00[America/New_York]\n * ```\n */\nexport function endOfDay(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function endOfDay(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function endOfDay(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n return getEndOfDay(zonedDateTime);\n}\n"],"mappings":";;;;;;;;AA0CO,SAAS,SACd,OACA,UACwB;AACxB,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,SAAO,YAAY,aAAa;AAClC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/isSameMonth.ts
6
6
  function isSameMonth(date1, date2) {
@@ -12,4 +12,4 @@ function isSameMonth(date1, date2) {
12
12
  export {
13
13
  isSameMonth
14
14
  };
15
- //# sourceMappingURL=chunk-ADQTZVMH.js.map
15
+ //# sourceMappingURL=chunk-EKR6BYFM.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-MJSZNWCV.js";
3
+ } from "./chunk-65RGM7EG.js";
4
4
 
5
5
  // src/differenceInWeeks.ts
6
- import "@js-temporal/polyfill";
7
- function differenceInWeeks(laterDate, earlierDate) {
6
+ function differenceInWeeks(laterDate, earlierDate, options) {
8
7
  const zoned1 = normalizeTemporalInput(laterDate);
9
8
  const zoned2 = normalizeTemporalInput(earlierDate);
10
9
  const duration = zoned2.until(zoned1, { largestUnit: "hours" });
11
- return duration.total({ unit: "weeks", relativeTo: zoned2 });
10
+ const precise = duration.total({ unit: "weeks", relativeTo: zoned2 });
11
+ return options?.fractional ? precise : Math.trunc(precise);
12
12
  }
13
13
 
14
14
  export {
15
15
  differenceInWeeks
16
16
  };
17
- //# sourceMappingURL=chunk-PVAOUYXF.js.map
17
+ //# sourceMappingURL=chunk-EOXULNBC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/differenceInWeeks.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport type { DifferenceOptions } from './shared/differenceOptions';\n\n/**\n * Returns the number of weeks between two datetimes.\n * The result is positive if laterDate is after earlierDate, negative if before.\n *\n * This function uses calendar-aware calculation, which means it properly handles\n * DST transitions and calendar weeks.\n *\n * Instant inputs are converted to UTC for calendar calculations.\n * For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param laterDate - The later datetime (Instant or ZonedDateTime)\n * @param earlierDate - The earlier datetime (Instant or ZonedDateTime)\n * @param options - Optional { fractional } to return the precise value\n * @returns The number of weeks between the dates, truncated toward zero (pass { fractional: true } for the precise value)\n *\n * @example\n * ```ts\n * const later = Temporal.Instant.from('2025-02-10T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInWeeks(later, earlier); // 3\n * ```\n *\n * @example\n * ```ts\n * // Works with ZonedDateTime\n * const later = Temporal.ZonedDateTime.from('2025-02-10T15:00:00-05:00[America/New_York]');\n * const earlier = Temporal.ZonedDateTime.from('2025-01-20T15:00:00-05:00[America/New_York]');\n *\n * differenceInWeeks(later, earlier); // 3\n * ```\n *\n * @example\n * ```ts\n * // Pass { fractional: true } for partial-unit precision\n * const later = Temporal.Instant.from('2025-01-27T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInWeeks(later, earlier); // 1\n * ```\n */\nexport function differenceInWeeks(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: DifferenceOptions\n): number {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n const duration = zoned2.until(zoned1, { largestUnit: 'hours' });\n const precise = duration.total({ unit: 'weeks', relativeTo: zoned2 });\n return options?.fractional ? precise : Math.trunc(precise);\n}\n"],"mappings":";;;;;AA6CO,SAAS,kBACd,WACA,aACA,SACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAEjD,QAAM,WAAW,OAAO,MAAM,QAAQ,EAAE,aAAa,QAAQ,CAAC;AAC9D,QAAM,UAAU,SAAS,MAAM,EAAE,MAAM,SAAS,YAAY,OAAO,CAAC;AACpE,SAAO,SAAS,aAAa,UAAU,KAAK,MAAM,OAAO;AAC3D;","names":[]}
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  differenceInMilliseconds
3
- } from "./chunk-AJ4JBKJK.js";
3
+ } from "./chunk-VXOQ7IG5.js";
4
4
  import {
5
5
  normalizeTemporalInput
6
- } from "./chunk-MJSZNWCV.js";
6
+ } from "./chunk-65RGM7EG.js";
7
7
 
8
8
  // src/differenceInMilliseconds.ts
9
- import "@js-temporal/polyfill";
10
9
  function differenceInMilliseconds2(laterDate, earlierDate) {
11
10
  const zoned1 = normalizeTemporalInput(laterDate);
12
11
  const zoned2 = normalizeTemporalInput(earlierDate);
@@ -16,4 +15,4 @@ function differenceInMilliseconds2(laterDate, earlierDate) {
16
15
  export {
17
16
  differenceInMilliseconds2 as differenceInMilliseconds
18
17
  };
19
- //# sourceMappingURL=chunk-BV6CLVSI.js.map
18
+ //# sourceMappingURL=chunk-EW3MVOID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/differenceInMilliseconds.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { differenceInMilliseconds as differenceInMillisecondsInternal } from './shared/differenceInMilliseconds';\n\n/**\n * Returns the number of milliseconds between two datetimes.\n * The result is positive if laterDate is after earlierDate, negative if before.\n *\n * @param laterDate - The later datetime (Instant or ZonedDateTime)\n * @param earlierDate - The earlier datetime (Instant or ZonedDateTime)\n * @returns The number of milliseconds between the dates\n *\n * @example\n * ```ts\n * const later = Temporal.Instant.from('2025-01-20T12:30:21.700Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:30:20.600Z');\n *\n * differenceInMilliseconds(later, earlier); // 1100\n * ```\n *\n * @example\n * ```ts\n * // Works with ZonedDateTime\n * const later = Temporal.ZonedDateTime.from('2025-01-20T15:00:00-05:00[America/New_York]');\n * const earlier = Temporal.ZonedDateTime.from('2025-01-20T14:00:00-05:00[America/New_York]');\n *\n * differenceInMilliseconds(later, earlier); // 3600000\n * ```\n *\n * @example\n * ```ts\n * // Handles different timezones - compares by instant\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T00:00:00+09:00[Asia/Tokyo]');\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T10:00:00-05:00[America/New_York]');\n *\n * differenceInMilliseconds(tokyo, ny); // 0 (same instant)\n * ```\n */\nexport function differenceInMilliseconds(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime\n): number {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n return differenceInMillisecondsInternal(zoned1, zoned2);\n}\n"],"mappings":";;;;;;;;AAsCO,SAASA,0BACd,WACA,aACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAEjD,SAAO,yBAAiC,QAAQ,MAAM;AACxD;","names":["differenceInMilliseconds"]}
@@ -1,5 +1,8 @@
1
+ import {
2
+ Temporal
3
+ } from "./chunk-AI5MRREC.js";
4
+
1
5
  // src/shared/isBefore.ts
2
- import { Temporal } from "@js-temporal/polyfill";
3
6
  function isBefore(date1, date2) {
4
7
  return Temporal.ZonedDateTime.compare(date1, date2) < 0;
5
8
  }
@@ -7,4 +10,4 @@ function isBefore(date1, date2) {
7
10
  export {
8
11
  isBefore
9
12
  };
10
- //# sourceMappingURL=chunk-WUAIUEH7.js.map
13
+ //# sourceMappingURL=chunk-EZJDWFFE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/isBefore.ts"],"sourcesContent":["import { Temporal } from './temporal';\n\nexport function isBefore(\n date1: Temporal.ZonedDateTime,\n date2: Temporal.ZonedDateTime\n): boolean {\n return Temporal.ZonedDateTime.compare(date1, date2) < 0;\n}\n"],"mappings":";;;;;AAEO,SAAS,SACd,OACA,OACS;AACT,SAAO,SAAS,cAAc,QAAQ,OAAO,KAAK,IAAI;AACxD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  addMicroseconds
3
- } from "./chunk-V27NUBXQ.js";
3
+ } from "./chunk-WWLDINLH.js";
4
4
 
5
5
  // src/subMicroseconds.ts
6
6
  function subMicroseconds(input, microseconds) {
@@ -10,4 +10,4 @@ function subMicroseconds(input, microseconds) {
10
10
  export {
11
11
  subMicroseconds
12
12
  };
13
- //# sourceMappingURL=chunk-BQBLSXK2.js.map
13
+ //# sourceMappingURL=chunk-FLRHLAMD.js.map
@@ -1,7 +1,10 @@
1
+ import {
2
+ isInstant
3
+ } from "./chunk-AI5MRREC.js";
4
+
1
5
  // src/toDate.ts
2
- import { Temporal } from "@js-temporal/polyfill";
3
6
  function toDate(input) {
4
- if (input instanceof Temporal.Instant) {
7
+ if (isInstant(input)) {
5
8
  return new Date(input.toString());
6
9
  }
7
10
  return new Date(input.toInstant().toString());
@@ -10,4 +13,4 @@ function toDate(input) {
10
13
  export {
11
14
  toDate
12
15
  };
13
- //# sourceMappingURL=chunk-TGKWBQ7L.js.map
16
+ //# sourceMappingURL=chunk-GSVAMMHA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/toDate.ts"],"sourcesContent":["import { isInstant } from './shared/temporal';\nimport type { Temporal } from '@js-temporal/polyfill';\n\n/**\n * Convert a Temporal.Instant or ZonedDateTime to a Date object.\n *\n * @param input - A Temporal.Instant or Temporal.ZonedDateTime\n * @returns A Date object representing the same moment in time\n *\n * @example\n * ```typescript\n * // From Instant\n * const instant = Temporal.Instant.from(\"2025-01-20T20:00:00Z\");\n * const date = toDate(instant);\n * // date.toISOString() === \"2025-01-20T20:00:00.000Z\"\n *\n * // From ZonedDateTime\n * const zoned = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n * const date2 = toDate(zoned);\n * // date2.toISOString() === \"2025-01-20T20:00:00.000Z\"\n *\n * // Use with Drizzle ORM (for storing back to database)\n * const instant = Temporal.Instant.from(\"2025-01-20T20:00:00Z\");\n * const date = toDate(instant);\n * await db.update(posts).set({ publishedAt: date });\n * ```\n */\nexport function toDate(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Date {\n if (isInstant(input)) {\n return new Date(input.toString());\n }\n\n return new Date(input.toInstant().toString());\n}\n"],"mappings":";;;;;AA2BO,SAAS,OACd,OACM;AACN,MAAI,UAAU,KAAK,GAAG;AACpB,WAAO,IAAI,KAAK,MAAM,SAAS,CAAC;AAAA,EAClC;AAEA,SAAO,IAAI,KAAK,MAAM,UAAU,EAAE,SAAS,CAAC;AAC9C;","names":[]}
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  normalizeWithPlainDate
3
- } from "./chunk-KGVUENQO.js";
3
+ } from "./chunk-TWZNSMKO.js";
4
4
 
5
5
  // src/startOfYear.ts
6
- import "@js-temporal/polyfill";
7
6
  function startOfYear(input, timezone) {
8
7
  const zonedDateTime = normalizeWithPlainDate(input, timezone);
9
8
  const firstDay = zonedDateTime.with({ month: 1, day: 1 });
@@ -13,4 +12,4 @@ function startOfYear(input, timezone) {
13
12
  export {
14
13
  startOfYear
15
14
  };
16
- //# sourceMappingURL=chunk-3TSFIPUR.js.map
15
+ //# sourceMappingURL=chunk-HDTIOOWB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/startOfYear.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { normalizeWithPlainDate } from './shared/normalizeWithPlainDate';\n\n/**\n * Returns a ZonedDateTime representing the first moment of the year (January 1 at midnight).\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at January 1st at 00:00:00.000000000\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-06-15T12:00:00Z');\n * const start = startOfYear(instant);\n * // 2025-01-01T00:00:00Z[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-06-15T15:30:00-05:00[America/New_York]');\n * const start = startOfYear(zoned);\n * // 2025-01-01T00:00:00-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (requires timezone)\n * const date = Temporal.PlainDate.from('2025-06-15');\n * const start = startOfYear(date, 'America/New_York');\n * // 2025-01-01T00:00:00-05:00[America/New_York]\n * ```\n */\nexport function startOfYear(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function startOfYear(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function startOfYear(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n const firstDay = zonedDateTime.with({ month: 1, day: 1 });\n return firstDay.startOfDay();\n}\n"],"mappings":";;;;;AAyCO,SAAS,YACd,OACA,UACwB;AACxB,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,QAAM,WAAW,cAAc,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AACxD,SAAO,SAAS,WAAW;AAC7B;","names":[]}