@gobrand/tiempo 3.1.3 → 3.2.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 (505) hide show
  1. package/dist/addBusinessDays.d.ts +14 -4
  2. package/dist/addBusinessDays.d.ts.map +1 -1
  3. package/dist/addBusinessDays.js +4 -4
  4. package/dist/addDays.js +3 -3
  5. package/dist/addHours.js +3 -3
  6. package/dist/addMicroseconds.js +3 -3
  7. package/dist/addMilliseconds.js +3 -3
  8. package/dist/addMinutes.js +3 -3
  9. package/dist/addMonths.js +3 -3
  10. package/dist/addNanoseconds.js +3 -3
  11. package/dist/addQuarters.d.ts +1 -1
  12. package/dist/addQuarters.js +3 -3
  13. package/dist/addSeconds.js +3 -3
  14. package/dist/addWeeks.js +3 -3
  15. package/dist/addYears.js +3 -3
  16. package/dist/areIntervalsOverlapping.d.ts +60 -0
  17. package/dist/areIntervalsOverlapping.d.ts.map +1 -0
  18. package/dist/areIntervalsOverlapping.js +9 -0
  19. package/dist/areIntervalsOverlapping.js.map +1 -0
  20. package/dist/{chunk-CN3OICYB.js → chunk-2LXWY2VY.js} +2 -2
  21. package/dist/{chunk-K3L6MJJB.js → chunk-2MWQYQ53.js} +2 -2
  22. package/dist/{chunk-LRIVI5ZC.js → chunk-34UWPATE.js} +2 -2
  23. package/dist/{chunk-QVSHSIA3.js → chunk-3OF6TFYK.js} +2 -2
  24. package/dist/{chunk-4KAIF44F.js → chunk-3YNUMQFB.js} +3 -3
  25. package/dist/{chunk-DZ3647ZK.js → chunk-4A3ORKMC.js} +3 -3
  26. package/dist/{chunk-Y24VUXMX.js → chunk-4JCRRIM3.js} +3 -3
  27. package/dist/{chunk-Y24VUXMX.js.map → chunk-4JCRRIM3.js.map} +1 -1
  28. package/dist/{chunk-IXNGK5OF.js → chunk-5EX3GTEU.js} +2 -2
  29. package/dist/{chunk-KTMCYEU5.js → chunk-5GRUOAYD.js} +2 -2
  30. package/dist/{chunk-KTMCYEU5.js.map → chunk-5GRUOAYD.js.map} +1 -1
  31. package/dist/{chunk-KZCSP3DU.js → chunk-5YKAVRED.js} +3 -3
  32. package/dist/{chunk-KYS54PLJ.js → chunk-6M654ZYJ.js} +3 -3
  33. package/dist/chunk-6M654ZYJ.js.map +1 -0
  34. package/dist/{chunk-DRBZDI52.js → chunk-6O66POF3.js} +2 -2
  35. package/dist/{chunk-U7VOIXLY.js → chunk-6SEPAWIA.js} +2 -2
  36. package/dist/{chunk-X27XGVCT.js → chunk-7DVEJNCP.js} +2 -2
  37. package/dist/{chunk-OF5YEVUT.js → chunk-7J7N4PCE.js} +2 -2
  38. package/dist/{chunk-OF5YEVUT.js.map → chunk-7J7N4PCE.js.map} +1 -1
  39. package/dist/chunk-7NHKDMBY.js +14 -0
  40. package/dist/chunk-7NHKDMBY.js.map +1 -0
  41. package/dist/{chunk-NMMMAMKP.js → chunk-7WGGUDW4.js} +1 -1
  42. package/dist/chunk-7WGGUDW4.js.map +1 -0
  43. package/dist/{chunk-DGUAV5XN.js → chunk-7ZJIEKIZ.js} +2 -2
  44. package/dist/chunk-7ZJIEKIZ.js.map +1 -0
  45. package/dist/{chunk-7IKCDOCT.js → chunk-AEAZ2F2T.js} +2 -2
  46. package/dist/{chunk-3HD7HEN4.js → chunk-APWSLQ47.js} +4 -4
  47. package/dist/{chunk-AOODDNHA.js → chunk-AWERPSJ5.js} +18 -16
  48. package/dist/chunk-AWERPSJ5.js.map +1 -0
  49. package/dist/{chunk-32AWWYBF.js → chunk-B7RDUXDN.js} +2 -2
  50. package/dist/{chunk-LQ3EQYIX.js → chunk-BE7CIKP7.js} +14 -6
  51. package/dist/chunk-BE7CIKP7.js.map +1 -0
  52. package/dist/{chunk-BI42E23Z.js → chunk-BM4OZR7U.js} +4 -4
  53. package/dist/{chunk-BI42E23Z.js.map → chunk-BM4OZR7U.js.map} +1 -1
  54. package/dist/{chunk-MXYAZTDE.js → chunk-C4LUGHIM.js} +7 -7
  55. package/dist/chunk-C4LUGHIM.js.map +1 -0
  56. package/dist/{chunk-3S6TSXZ3.js → chunk-CCDDXIAC.js} +2 -2
  57. package/dist/{chunk-BMX7CIRD.js → chunk-CMOBOTVN.js} +1 -1
  58. package/dist/chunk-CMOBOTVN.js.map +1 -0
  59. package/dist/{chunk-7NGP7SAD.js → chunk-COQJXPPT.js} +5 -5
  60. package/dist/{chunk-7NGP7SAD.js.map → chunk-COQJXPPT.js.map} +1 -1
  61. package/dist/{chunk-SLH6TKGN.js → chunk-CX37IV4D.js} +3 -3
  62. package/dist/{chunk-HYSGJJUR.js → chunk-D2HKS2OM.js} +2 -2
  63. package/dist/{chunk-4GEF7B7W.js → chunk-D73HU7YA.js} +3 -3
  64. package/dist/{chunk-OMYVTYHI.js → chunk-DAWWOF5W.js} +2 -2
  65. package/dist/{chunk-6QZUAJVF.js → chunk-DCQCZCKG.js} +4 -4
  66. package/dist/{chunk-5WHGX2J3.js → chunk-DEVXW65H.js} +2 -2
  67. package/dist/chunk-DFVLLH5O.js +17 -0
  68. package/dist/chunk-DFVLLH5O.js.map +1 -0
  69. package/dist/{chunk-ZM32S3YU.js → chunk-DYDSR35L.js} +2 -2
  70. package/dist/{chunk-ZM32S3YU.js.map → chunk-DYDSR35L.js.map} +1 -1
  71. package/dist/{chunk-QNZJR53W.js → chunk-DZFUKW5U.js} +4 -4
  72. package/dist/{chunk-QNZJR53W.js.map → chunk-DZFUKW5U.js.map} +1 -1
  73. package/dist/{chunk-F3UZDWOQ.js → chunk-EMJXV6KH.js} +2 -2
  74. package/dist/{chunk-F3UZDWOQ.js.map → chunk-EMJXV6KH.js.map} +1 -1
  75. package/dist/chunk-EMLUESE5.js +33 -0
  76. package/dist/chunk-EMLUESE5.js.map +1 -0
  77. package/dist/{chunk-QDY2KMYX.js → chunk-EQ3AZDKF.js} +3 -3
  78. package/dist/chunk-EQ3AZDKF.js.map +1 -0
  79. package/dist/{chunk-GQXJICRA.js → chunk-EWRNJC27.js} +2 -2
  80. package/dist/{chunk-TD6MVGV2.js → chunk-EYTJNGGV.js} +2 -2
  81. package/dist/{chunk-HCVE7FSF.js → chunk-FS7VH6AY.js} +2 -2
  82. package/dist/{chunk-HCVE7FSF.js.map → chunk-FS7VH6AY.js.map} +1 -1
  83. package/dist/{chunk-IWVSM77B.js → chunk-FTXHKXCS.js} +2 -2
  84. package/dist/{chunk-WTLMIOKZ.js → chunk-G7X7NHPV.js} +6 -3
  85. package/dist/{chunk-WTLMIOKZ.js.map → chunk-G7X7NHPV.js.map} +1 -1
  86. package/dist/{chunk-3HF4F36S.js → chunk-GLKCUJIZ.js} +3 -3
  87. package/dist/{chunk-GXSVYUCG.js → chunk-GZKKAIXF.js} +2 -2
  88. package/dist/{chunk-CDKIT7D3.js → chunk-H5TI3O4P.js} +1 -1
  89. package/dist/chunk-H5TI3O4P.js.map +1 -0
  90. package/dist/chunk-HH2HTC44.js +87 -0
  91. package/dist/chunk-HH2HTC44.js.map +1 -0
  92. package/dist/{chunk-TU3LNQKW.js → chunk-HMPHUFC6.js} +3 -3
  93. package/dist/{chunk-4VWUTQKP.js → chunk-HQ7JUUWD.js} +9 -5
  94. package/dist/chunk-HQ7JUUWD.js.map +1 -0
  95. package/dist/chunk-HXB6CDB4.js +26 -0
  96. package/dist/chunk-HXB6CDB4.js.map +1 -0
  97. package/dist/{chunk-SHKSAHJO.js → chunk-IOHTFQCP.js} +2 -2
  98. package/dist/chunk-IXRFVP3X.js +14 -0
  99. package/dist/chunk-IXRFVP3X.js.map +1 -0
  100. package/dist/{chunk-XSHFR2SX.js → chunk-IZPKAMAP.js} +2 -2
  101. package/dist/{chunk-3XGUCQ2A.js → chunk-JBGAF2FW.js} +2 -2
  102. package/dist/chunk-JDKM6JTT.js +20 -0
  103. package/dist/chunk-JDKM6JTT.js.map +1 -0
  104. package/dist/{chunk-ADPVFELS.js → chunk-K6IGDI5W.js} +2 -2
  105. package/dist/{chunk-ADPVFELS.js.map → chunk-K6IGDI5W.js.map} +1 -1
  106. package/dist/{chunk-AUOZACFS.js → chunk-KISBF5GX.js} +2 -2
  107. package/dist/{chunk-67XABEBT.js → chunk-KUDGVLQT.js} +11 -6
  108. package/dist/{chunk-67XABEBT.js.map → chunk-KUDGVLQT.js.map} +1 -1
  109. package/dist/{chunk-ZXKU4SKR.js → chunk-L535UIYN.js} +3 -3
  110. package/dist/{chunk-TIZJRCAA.js → chunk-L7X3FQZI.js} +2 -2
  111. package/dist/{chunk-TIZJRCAA.js.map → chunk-L7X3FQZI.js.map} +1 -1
  112. package/dist/{chunk-YMJHVVM4.js → chunk-LJMPJUHN.js} +2 -2
  113. package/dist/{chunk-NL5MQVGD.js → chunk-LKDENGBC.js} +2 -2
  114. package/dist/{chunk-A34P5Z5O.js → chunk-LL7XWZGU.js} +2 -2
  115. package/dist/chunk-LL7XWZGU.js.map +1 -0
  116. package/dist/{chunk-VDV24TWQ.js → chunk-LTYIPGQD.js} +2 -2
  117. package/dist/{chunk-JA5ER27P.js → chunk-LXAT3CDM.js} +2 -2
  118. package/dist/chunk-LXAT3CDM.js.map +1 -0
  119. package/dist/{chunk-MVGBYHG5.js → chunk-LY7IXVZO.js} +3 -3
  120. package/dist/{chunk-EBOLL4LY.js → chunk-M2QFNUJF.js} +2 -2
  121. package/dist/chunk-M2XB72L5.js +17 -0
  122. package/dist/chunk-M2XB72L5.js.map +1 -0
  123. package/dist/{chunk-BSVOJYJ7.js → chunk-M4ESIRFH.js} +1 -1
  124. package/dist/chunk-M4ESIRFH.js.map +1 -0
  125. package/dist/{chunk-RDMDCTHJ.js → chunk-MLD3VIOP.js} +2 -2
  126. package/dist/{chunk-BYPHFTFD.js → chunk-MPJ6UOLX.js} +7 -85
  127. package/dist/chunk-MPJ6UOLX.js.map +1 -0
  128. package/dist/{chunk-JGPTGV5X.js → chunk-MRJNMV4A.js} +3 -3
  129. package/dist/chunk-MYCH45BC.js +28 -0
  130. package/dist/chunk-MYCH45BC.js.map +1 -0
  131. package/dist/chunk-MZ26BHHP.js +21 -0
  132. package/dist/chunk-MZ26BHHP.js.map +1 -0
  133. package/dist/{chunk-EH4GVGXD.js → chunk-N5YFRFLA.js} +2 -2
  134. package/dist/{chunk-EH4GVGXD.js.map → chunk-N5YFRFLA.js.map} +1 -1
  135. package/dist/{chunk-NGS5UKDW.js → chunk-OJIV6AKO.js} +5 -5
  136. package/dist/chunk-OJIV6AKO.js.map +1 -0
  137. package/dist/{chunk-DBOIK3XA.js → chunk-ONTXMGEZ.js} +2 -2
  138. package/dist/{chunk-YKXRVQ4S.js → chunk-OURPZP7V.js} +2 -2
  139. package/dist/{chunk-MWUVGTKC.js → chunk-OZ5APQB7.js} +5 -5
  140. package/dist/{chunk-OOOVMKOG.js → chunk-PCYPESIN.js} +2 -2
  141. package/dist/{chunk-NZLRMN35.js → chunk-PENSGCVW.js} +2 -2
  142. package/dist/{chunk-6XEHR3MG.js → chunk-PI3QU5U5.js} +2 -2
  143. package/dist/{chunk-6XEHR3MG.js.map → chunk-PI3QU5U5.js.map} +1 -1
  144. package/dist/chunk-PJABNMRI.js +16 -0
  145. package/dist/chunk-PJABNMRI.js.map +1 -0
  146. package/dist/chunk-POCGMXLO.js +247 -0
  147. package/dist/chunk-POCGMXLO.js.map +1 -0
  148. package/dist/{chunk-VM2YJ5PN.js → chunk-PXKPP6C4.js} +2 -2
  149. package/dist/{chunk-HCORON7B.js → chunk-Q6MDBQRJ.js} +4 -4
  150. package/dist/{chunk-HCORON7B.js.map → chunk-Q6MDBQRJ.js.map} +1 -1
  151. package/dist/{chunk-TCB3IDJM.js → chunk-QCIY5PSJ.js} +4 -4
  152. package/dist/{chunk-LXOLIOAD.js → chunk-QF4M4T6G.js} +14 -6
  153. package/dist/{chunk-LXOLIOAD.js.map → chunk-QF4M4T6G.js.map} +1 -1
  154. package/dist/chunk-QFQHFBN4.js +61 -0
  155. package/dist/chunk-QFQHFBN4.js.map +1 -0
  156. package/dist/{chunk-ZW32E6EJ.js → chunk-QKIREPRK.js} +9 -9
  157. package/dist/{chunk-ZW32E6EJ.js.map → chunk-QKIREPRK.js.map} +1 -1
  158. package/dist/{chunk-LMOAA73F.js → chunk-QPE2V3MY.js} +3 -3
  159. package/dist/{chunk-2AID4P2C.js → chunk-R6CQ6XSS.js} +2 -2
  160. package/dist/{chunk-2AID4P2C.js.map → chunk-R6CQ6XSS.js.map} +1 -1
  161. package/dist/{chunk-6QH4NCPA.js → chunk-RCX6YW4I.js} +2 -2
  162. package/dist/{chunk-EAO2SO4N.js → chunk-RFUXK65B.js} +2 -2
  163. package/dist/chunk-RMVIA3NK.js +19 -0
  164. package/dist/chunk-RMVIA3NK.js.map +1 -0
  165. package/dist/chunk-S5CDK44R.js +22 -0
  166. package/dist/chunk-S5CDK44R.js.map +1 -0
  167. package/dist/{chunk-GU3CZAIN.js → chunk-SKHUBXIN.js} +2 -2
  168. package/dist/chunk-SURP2NUP.js +19 -0
  169. package/dist/chunk-SURP2NUP.js.map +1 -0
  170. package/dist/chunk-TH6YVPP4.js +21 -0
  171. package/dist/chunk-TH6YVPP4.js.map +1 -0
  172. package/dist/{chunk-V2NSN6ET.js → chunk-TP3VDQLF.js} +2 -2
  173. package/dist/{chunk-3X2U6I44.js → chunk-TZ4NUY3W.js} +3 -3
  174. package/dist/{chunk-6QOLNYFY.js → chunk-UB3F342R.js} +2 -2
  175. package/dist/chunk-UB3F342R.js.map +1 -0
  176. package/dist/{chunk-YSDLXJHE.js → chunk-UIOLC7XM.js} +2 -2
  177. package/dist/{chunk-PAM6VJQM.js → chunk-UP5M7NHW.js} +3 -3
  178. package/dist/chunk-UP5M7NHW.js.map +1 -0
  179. package/dist/chunk-UPWUAGEV.js +36 -0
  180. package/dist/chunk-UPWUAGEV.js.map +1 -0
  181. package/dist/{chunk-TI6WBLCB.js → chunk-UQ5GR6IX.js} +2 -2
  182. package/dist/{chunk-Q6QLOUXJ.js → chunk-UTM7YAT4.js} +2 -2
  183. package/dist/{chunk-HT6L4VRQ.js → chunk-UYHQBNQ4.js} +2 -2
  184. package/dist/{chunk-HT6L4VRQ.js.map → chunk-UYHQBNQ4.js.map} +1 -1
  185. package/dist/{chunk-R5XRTUWH.js → chunk-VQFWMNZO.js} +2 -2
  186. package/dist/{chunk-R2DCUSBY.js → chunk-WALS2M6Z.js} +2 -2
  187. package/dist/{chunk-K6NQZIAW.js → chunk-WTZ4LRQT.js} +2 -2
  188. package/dist/{chunk-3D4YR2SR.js → chunk-WVBZIXQP.js} +3 -3
  189. package/dist/{chunk-3D4YR2SR.js.map → chunk-WVBZIXQP.js.map} +1 -1
  190. package/dist/{chunk-525OLFRD.js → chunk-WWCLSC2B.js} +3 -3
  191. package/dist/chunk-WWCLSC2B.js.map +1 -0
  192. package/dist/chunk-X4ULMQ53.js +14 -0
  193. package/dist/chunk-X4ULMQ53.js.map +1 -0
  194. package/dist/{chunk-OEPVYNB6.js → chunk-XD4JKMGT.js} +2 -2
  195. package/dist/{chunk-OVBZ2NBB.js → chunk-XEAP4MXS.js} +11 -5
  196. package/dist/chunk-XEAP4MXS.js.map +1 -0
  197. package/dist/{chunk-BPMS34GV.js → chunk-XKS2HTEX.js} +3 -3
  198. package/dist/chunk-XKS2HTEX.js.map +1 -0
  199. package/dist/{chunk-TWXUGWYX.js → chunk-YN3Z5H5O.js} +1 -1
  200. package/dist/chunk-YN3Z5H5O.js.map +1 -0
  201. package/dist/{chunk-QZ6WXAUO.js → chunk-YPAI5UGF.js} +2 -2
  202. package/dist/{chunk-HRCTWTP3.js → chunk-YSUNJQBP.js} +3 -3
  203. package/dist/{chunk-NOWUJERX.js → chunk-Z7C5ZNPZ.js} +3 -3
  204. package/dist/{chunk-NOWUJERX.js.map → chunk-Z7C5ZNPZ.js.map} +1 -1
  205. package/dist/{chunk-QJYU5TLL.js → chunk-ZBNR46A5.js} +2 -2
  206. package/dist/{chunk-QJYU5TLL.js.map → chunk-ZBNR46A5.js.map} +1 -1
  207. package/dist/{chunk-JQ4Z4JTW.js → chunk-ZMAMJNWT.js} +2 -2
  208. package/dist/{chunk-NVFFQJEW.js → chunk-ZVAPV5JP.js} +4 -4
  209. package/dist/{chunk-NVFFQJEW.js.map → chunk-ZVAPV5JP.js.map} +1 -1
  210. package/dist/clamp.js +3 -3
  211. package/dist/closestTo.js +3 -3
  212. package/dist/compareAsc.js +3 -3
  213. package/dist/compareDesc.js +3 -3
  214. package/dist/differenceInBusinessDays.d.ts +7 -5
  215. package/dist/differenceInBusinessDays.d.ts.map +1 -1
  216. package/dist/differenceInBusinessDays.js +4 -4
  217. package/dist/differenceInCalendarDays.d.ts +35 -0
  218. package/dist/differenceInCalendarDays.d.ts.map +1 -0
  219. package/dist/differenceInCalendarDays.js +10 -0
  220. package/dist/differenceInCalendarDays.js.map +1 -0
  221. package/dist/differenceInCalendarMonths.d.ts +27 -0
  222. package/dist/differenceInCalendarMonths.d.ts.map +1 -0
  223. package/dist/differenceInCalendarMonths.js +10 -0
  224. package/dist/differenceInCalendarMonths.js.map +1 -0
  225. package/dist/differenceInCalendarQuarters.d.ts +26 -0
  226. package/dist/differenceInCalendarQuarters.d.ts.map +1 -0
  227. package/dist/differenceInCalendarQuarters.js +11 -0
  228. package/dist/differenceInCalendarQuarters.js.map +1 -0
  229. package/dist/differenceInCalendarWeeks.d.ts +29 -0
  230. package/dist/differenceInCalendarWeeks.d.ts.map +1 -0
  231. package/dist/differenceInCalendarWeeks.js +11 -0
  232. package/dist/differenceInCalendarWeeks.js.map +1 -0
  233. package/dist/differenceInCalendarYears.d.ts +27 -0
  234. package/dist/differenceInCalendarYears.d.ts.map +1 -0
  235. package/dist/differenceInCalendarYears.js +10 -0
  236. package/dist/differenceInCalendarYears.js.map +1 -0
  237. package/dist/differenceInDays.js +3 -3
  238. package/dist/differenceInHours.js +3 -3
  239. package/dist/differenceInMicroseconds.js +3 -3
  240. package/dist/differenceInMilliseconds.js +3 -3
  241. package/dist/differenceInMinutes.js +3 -3
  242. package/dist/differenceInMonths.js +3 -3
  243. package/dist/differenceInNanoseconds.js +3 -3
  244. package/dist/differenceInQuarters.d.ts +2 -2
  245. package/dist/differenceInQuarters.js +4 -4
  246. package/dist/differenceInSeconds.js +3 -3
  247. package/dist/differenceInWeeks.js +3 -3
  248. package/dist/differenceInYears.js +3 -3
  249. package/dist/eachDayOfInterval.js +4 -4
  250. package/dist/eachHourOfInterval.d.ts.map +1 -1
  251. package/dist/eachHourOfInterval.js +3 -3
  252. package/dist/eachMinuteOfInterval.js +3 -3
  253. package/dist/eachMonthOfInterval.js +5 -5
  254. package/dist/eachQuarterOfInterval.d.ts +1 -1
  255. package/dist/eachQuarterOfInterval.js +4 -4
  256. package/dist/eachWeekOfInterval.d.ts +7 -5
  257. package/dist/eachWeekOfInterval.d.ts.map +1 -1
  258. package/dist/eachWeekOfInterval.js +6 -5
  259. package/dist/eachYearOfInterval.js +5 -5
  260. package/dist/endOfDay.d.ts.map +1 -1
  261. package/dist/endOfDay.js +6 -6
  262. package/dist/endOfMonth.d.ts.map +1 -1
  263. package/dist/endOfMonth.js +6 -6
  264. package/dist/endOfQuarter.d.ts +2 -2
  265. package/dist/endOfQuarter.js +6 -6
  266. package/dist/endOfWeek.d.ts +17 -7
  267. package/dist/endOfWeek.d.ts.map +1 -1
  268. package/dist/endOfWeek.js +6 -5
  269. package/dist/endOfYear.d.ts.map +1 -1
  270. package/dist/endOfYear.js +6 -6
  271. package/dist/format.d.ts.map +1 -1
  272. package/dist/format.js +5 -4
  273. package/dist/formatPlainDate.js +2 -2
  274. package/dist/getQuarter.d.ts +1 -1
  275. package/dist/getQuarter.js +3 -3
  276. package/dist/index.d.ts +116 -106
  277. package/dist/index.d.ts.map +1 -1
  278. package/dist/index.js +191 -152
  279. package/dist/intlFormatDistance.js +10 -10
  280. package/dist/isAfter.js +3 -3
  281. package/dist/isBefore.js +3 -3
  282. package/dist/isEqual.js +3 -3
  283. package/dist/isFuture.d.ts.map +1 -1
  284. package/dist/isFuture.js +5 -5
  285. package/dist/isPast.d.ts.map +1 -1
  286. package/dist/isPast.js +5 -5
  287. package/dist/isPlainDateAfter.d.ts.map +1 -1
  288. package/dist/isPlainDateAfter.js +2 -2
  289. package/dist/isPlainDateBefore.d.ts.map +1 -1
  290. package/dist/isPlainDateBefore.js +2 -2
  291. package/dist/isPlainDateEqual.d.ts.map +1 -1
  292. package/dist/isPlainDateEqual.js +2 -2
  293. package/dist/isPlainTimeAfter.d.ts.map +1 -1
  294. package/dist/isPlainTimeAfter.js +2 -2
  295. package/dist/isPlainTimeBefore.d.ts.map +1 -1
  296. package/dist/isPlainTimeBefore.js +2 -2
  297. package/dist/isPlainTimeEqual.d.ts.map +1 -1
  298. package/dist/isPlainTimeEqual.js +2 -2
  299. package/dist/isSameDay.d.ts.map +1 -1
  300. package/dist/isSameDay.js +3 -3
  301. package/dist/isSameHour.js +3 -3
  302. package/dist/isSameMicrosecond.js +3 -3
  303. package/dist/isSameMillisecond.js +3 -3
  304. package/dist/isSameMinute.js +3 -3
  305. package/dist/isSameMonth.js +3 -3
  306. package/dist/isSameNanosecond.js +3 -3
  307. package/dist/isSameQuarter.d.ts +1 -1
  308. package/dist/isSameQuarter.js +3 -3
  309. package/dist/isSameSecond.js +3 -3
  310. package/dist/isSameWeek.d.ts +16 -7
  311. package/dist/isSameWeek.d.ts.map +1 -1
  312. package/dist/isSameWeek.js +4 -3
  313. package/dist/isSameYear.js +3 -3
  314. package/dist/isToday.js +6 -6
  315. package/dist/isTomorrow.js +6 -6
  316. package/dist/isWeekend.js +4 -4
  317. package/dist/isWithinInterval.d.ts +41 -6
  318. package/dist/isWithinInterval.d.ts.map +1 -1
  319. package/dist/isWithinInterval.js +6 -5
  320. package/dist/isYesterday.js +6 -6
  321. package/dist/max.js +3 -3
  322. package/dist/min.js +3 -3
  323. package/dist/nextDay.d.ts +33 -0
  324. package/dist/nextDay.d.ts.map +1 -0
  325. package/dist/nextDay.js +10 -0
  326. package/dist/nextDay.js.map +1 -0
  327. package/dist/now.js +2 -2
  328. package/dist/parse.d.ts +57 -0
  329. package/dist/parse.d.ts.map +1 -0
  330. package/dist/parse.js +9 -0
  331. package/dist/parse.js.map +1 -0
  332. package/dist/previousDay.d.ts +26 -0
  333. package/dist/previousDay.d.ts.map +1 -0
  334. package/dist/previousDay.js +10 -0
  335. package/dist/previousDay.js.map +1 -0
  336. package/dist/roundToNearestHour.js +3 -3
  337. package/dist/roundToNearestMinute.js +3 -3
  338. package/dist/roundToNearestSecond.js +3 -3
  339. package/dist/shared/businessDays.d.ts +15 -0
  340. package/dist/shared/businessDays.d.ts.map +1 -1
  341. package/dist/shared/businessDays.js +9 -5
  342. package/dist/shared/calendarDates.d.ts +9 -0
  343. package/dist/shared/calendarDates.d.ts.map +1 -0
  344. package/dist/shared/calendarDates.js +9 -0
  345. package/dist/shared/calendarDates.js.map +1 -0
  346. package/dist/shared/compare.js +2 -2
  347. package/dist/shared/differenceInMilliseconds.js +1 -1
  348. package/dist/shared/endOfDay.d.ts.map +1 -1
  349. package/dist/shared/endOfDay.js +1 -1
  350. package/dist/shared/formatTokens.d.ts +8 -0
  351. package/dist/shared/formatTokens.d.ts.map +1 -0
  352. package/dist/shared/formatTokens.js +7 -0
  353. package/dist/shared/formatTokens.js.map +1 -0
  354. package/dist/shared/isAfter.d.ts.map +1 -1
  355. package/dist/shared/isAfter.js +1 -1
  356. package/dist/shared/isBefore.d.ts.map +1 -1
  357. package/dist/shared/isBefore.js +1 -1
  358. package/dist/shared/normalizeTemporalInput.js +2 -2
  359. package/dist/shared/normalizeWithPlainDate.js +4 -4
  360. package/dist/shared/nowZoned.js +3 -3
  361. package/dist/shared/plainDateToZonedDateTime.js +2 -2
  362. package/dist/shared/relativeDay.js +5 -5
  363. package/dist/shared/temporal.d.ts +1 -1
  364. package/dist/shared/temporal.js +1 -1
  365. package/dist/shared/week.d.ts +26 -0
  366. package/dist/shared/week.d.ts.map +1 -0
  367. package/dist/shared/week.js +9 -0
  368. package/dist/shared/week.js.map +1 -0
  369. package/dist/simpleFormat.d.ts.map +1 -1
  370. package/dist/simpleFormat.js +2 -2
  371. package/dist/startOfDay.d.ts.map +1 -1
  372. package/dist/startOfDay.js +5 -5
  373. package/dist/startOfMonth.d.ts.map +1 -1
  374. package/dist/startOfMonth.js +5 -5
  375. package/dist/startOfQuarter.d.ts +2 -2
  376. package/dist/startOfQuarter.js +5 -5
  377. package/dist/startOfWeek.d.ts +17 -7
  378. package/dist/startOfWeek.d.ts.map +1 -1
  379. package/dist/startOfWeek.js +5 -4
  380. package/dist/startOfYear.d.ts.map +1 -1
  381. package/dist/startOfYear.js +5 -5
  382. package/dist/subBusinessDays.d.ts +6 -4
  383. package/dist/subBusinessDays.d.ts.map +1 -1
  384. package/dist/subBusinessDays.js +5 -5
  385. package/dist/subDays.js +4 -4
  386. package/dist/subHours.js +4 -4
  387. package/dist/subMicroseconds.js +4 -4
  388. package/dist/subMilliseconds.js +4 -4
  389. package/dist/subMinutes.js +4 -4
  390. package/dist/subMonths.js +4 -4
  391. package/dist/subNanoseconds.js +4 -4
  392. package/dist/subQuarters.d.ts +1 -1
  393. package/dist/subQuarters.js +4 -4
  394. package/dist/subSeconds.js +4 -4
  395. package/dist/subWeeks.js +4 -4
  396. package/dist/subYears.js +4 -4
  397. package/dist/toDate.d.ts.map +1 -1
  398. package/dist/toDate.js +2 -2
  399. package/dist/toInstant.js +2 -2
  400. package/dist/toIso.d.ts.map +1 -1
  401. package/dist/toIso.js +2 -2
  402. package/dist/toIso9075.d.ts.map +1 -1
  403. package/dist/toIso9075.js +2 -2
  404. package/dist/toPlainDate.js +2 -2
  405. package/dist/toPlainTime.js +2 -2
  406. package/dist/toZonedTime.js +2 -2
  407. package/dist/today.js +2 -2
  408. package/package.json +33 -26
  409. package/dist/chunk-2TISXHHK.js +0 -29
  410. package/dist/chunk-2TISXHHK.js.map +0 -1
  411. package/dist/chunk-4PS6BEAC.js +0 -16
  412. package/dist/chunk-4PS6BEAC.js.map +0 -1
  413. package/dist/chunk-4VWUTQKP.js.map +0 -1
  414. package/dist/chunk-525OLFRD.js.map +0 -1
  415. package/dist/chunk-57MHNRCU.js +0 -22
  416. package/dist/chunk-57MHNRCU.js.map +0 -1
  417. package/dist/chunk-6QOLNYFY.js.map +0 -1
  418. package/dist/chunk-A34P5Z5O.js.map +0 -1
  419. package/dist/chunk-AOODDNHA.js.map +0 -1
  420. package/dist/chunk-BMX7CIRD.js.map +0 -1
  421. package/dist/chunk-BPMS34GV.js.map +0 -1
  422. package/dist/chunk-BSVOJYJ7.js.map +0 -1
  423. package/dist/chunk-BYPHFTFD.js.map +0 -1
  424. package/dist/chunk-CDKIT7D3.js.map +0 -1
  425. package/dist/chunk-D3N7BT44.js +0 -22
  426. package/dist/chunk-D3N7BT44.js.map +0 -1
  427. package/dist/chunk-DGUAV5XN.js.map +0 -1
  428. package/dist/chunk-GCVX5QIX.js +0 -15
  429. package/dist/chunk-GCVX5QIX.js.map +0 -1
  430. package/dist/chunk-JA5ER27P.js.map +0 -1
  431. package/dist/chunk-K7CLBBBM.js +0 -36
  432. package/dist/chunk-K7CLBBBM.js.map +0 -1
  433. package/dist/chunk-KYS54PLJ.js.map +0 -1
  434. package/dist/chunk-LQ3EQYIX.js.map +0 -1
  435. package/dist/chunk-MLHFNZEA.js +0 -26
  436. package/dist/chunk-MLHFNZEA.js.map +0 -1
  437. package/dist/chunk-MXYAZTDE.js.map +0 -1
  438. package/dist/chunk-NGS5UKDW.js.map +0 -1
  439. package/dist/chunk-NMMMAMKP.js.map +0 -1
  440. package/dist/chunk-OVBZ2NBB.js.map +0 -1
  441. package/dist/chunk-PAM6VJQM.js.map +0 -1
  442. package/dist/chunk-QDY2KMYX.js.map +0 -1
  443. package/dist/chunk-TWXUGWYX.js.map +0 -1
  444. /package/dist/{chunk-CN3OICYB.js.map → chunk-2LXWY2VY.js.map} +0 -0
  445. /package/dist/{chunk-K3L6MJJB.js.map → chunk-2MWQYQ53.js.map} +0 -0
  446. /package/dist/{chunk-LRIVI5ZC.js.map → chunk-34UWPATE.js.map} +0 -0
  447. /package/dist/{chunk-QVSHSIA3.js.map → chunk-3OF6TFYK.js.map} +0 -0
  448. /package/dist/{chunk-4KAIF44F.js.map → chunk-3YNUMQFB.js.map} +0 -0
  449. /package/dist/{chunk-DZ3647ZK.js.map → chunk-4A3ORKMC.js.map} +0 -0
  450. /package/dist/{chunk-IXNGK5OF.js.map → chunk-5EX3GTEU.js.map} +0 -0
  451. /package/dist/{chunk-KZCSP3DU.js.map → chunk-5YKAVRED.js.map} +0 -0
  452. /package/dist/{chunk-DRBZDI52.js.map → chunk-6O66POF3.js.map} +0 -0
  453. /package/dist/{chunk-U7VOIXLY.js.map → chunk-6SEPAWIA.js.map} +0 -0
  454. /package/dist/{chunk-X27XGVCT.js.map → chunk-7DVEJNCP.js.map} +0 -0
  455. /package/dist/{chunk-7IKCDOCT.js.map → chunk-AEAZ2F2T.js.map} +0 -0
  456. /package/dist/{chunk-3HD7HEN4.js.map → chunk-APWSLQ47.js.map} +0 -0
  457. /package/dist/{chunk-32AWWYBF.js.map → chunk-B7RDUXDN.js.map} +0 -0
  458. /package/dist/{chunk-3S6TSXZ3.js.map → chunk-CCDDXIAC.js.map} +0 -0
  459. /package/dist/{chunk-SLH6TKGN.js.map → chunk-CX37IV4D.js.map} +0 -0
  460. /package/dist/{chunk-HYSGJJUR.js.map → chunk-D2HKS2OM.js.map} +0 -0
  461. /package/dist/{chunk-4GEF7B7W.js.map → chunk-D73HU7YA.js.map} +0 -0
  462. /package/dist/{chunk-OMYVTYHI.js.map → chunk-DAWWOF5W.js.map} +0 -0
  463. /package/dist/{chunk-6QZUAJVF.js.map → chunk-DCQCZCKG.js.map} +0 -0
  464. /package/dist/{chunk-5WHGX2J3.js.map → chunk-DEVXW65H.js.map} +0 -0
  465. /package/dist/{chunk-GQXJICRA.js.map → chunk-EWRNJC27.js.map} +0 -0
  466. /package/dist/{chunk-TD6MVGV2.js.map → chunk-EYTJNGGV.js.map} +0 -0
  467. /package/dist/{chunk-IWVSM77B.js.map → chunk-FTXHKXCS.js.map} +0 -0
  468. /package/dist/{chunk-3HF4F36S.js.map → chunk-GLKCUJIZ.js.map} +0 -0
  469. /package/dist/{chunk-GXSVYUCG.js.map → chunk-GZKKAIXF.js.map} +0 -0
  470. /package/dist/{chunk-TU3LNQKW.js.map → chunk-HMPHUFC6.js.map} +0 -0
  471. /package/dist/{chunk-SHKSAHJO.js.map → chunk-IOHTFQCP.js.map} +0 -0
  472. /package/dist/{chunk-XSHFR2SX.js.map → chunk-IZPKAMAP.js.map} +0 -0
  473. /package/dist/{chunk-3XGUCQ2A.js.map → chunk-JBGAF2FW.js.map} +0 -0
  474. /package/dist/{chunk-AUOZACFS.js.map → chunk-KISBF5GX.js.map} +0 -0
  475. /package/dist/{chunk-ZXKU4SKR.js.map → chunk-L535UIYN.js.map} +0 -0
  476. /package/dist/{chunk-YMJHVVM4.js.map → chunk-LJMPJUHN.js.map} +0 -0
  477. /package/dist/{chunk-NL5MQVGD.js.map → chunk-LKDENGBC.js.map} +0 -0
  478. /package/dist/{chunk-VDV24TWQ.js.map → chunk-LTYIPGQD.js.map} +0 -0
  479. /package/dist/{chunk-MVGBYHG5.js.map → chunk-LY7IXVZO.js.map} +0 -0
  480. /package/dist/{chunk-EBOLL4LY.js.map → chunk-M2QFNUJF.js.map} +0 -0
  481. /package/dist/{chunk-RDMDCTHJ.js.map → chunk-MLD3VIOP.js.map} +0 -0
  482. /package/dist/{chunk-JGPTGV5X.js.map → chunk-MRJNMV4A.js.map} +0 -0
  483. /package/dist/{chunk-DBOIK3XA.js.map → chunk-ONTXMGEZ.js.map} +0 -0
  484. /package/dist/{chunk-YKXRVQ4S.js.map → chunk-OURPZP7V.js.map} +0 -0
  485. /package/dist/{chunk-MWUVGTKC.js.map → chunk-OZ5APQB7.js.map} +0 -0
  486. /package/dist/{chunk-OOOVMKOG.js.map → chunk-PCYPESIN.js.map} +0 -0
  487. /package/dist/{chunk-NZLRMN35.js.map → chunk-PENSGCVW.js.map} +0 -0
  488. /package/dist/{chunk-VM2YJ5PN.js.map → chunk-PXKPP6C4.js.map} +0 -0
  489. /package/dist/{chunk-TCB3IDJM.js.map → chunk-QCIY5PSJ.js.map} +0 -0
  490. /package/dist/{chunk-LMOAA73F.js.map → chunk-QPE2V3MY.js.map} +0 -0
  491. /package/dist/{chunk-6QH4NCPA.js.map → chunk-RCX6YW4I.js.map} +0 -0
  492. /package/dist/{chunk-EAO2SO4N.js.map → chunk-RFUXK65B.js.map} +0 -0
  493. /package/dist/{chunk-GU3CZAIN.js.map → chunk-SKHUBXIN.js.map} +0 -0
  494. /package/dist/{chunk-V2NSN6ET.js.map → chunk-TP3VDQLF.js.map} +0 -0
  495. /package/dist/{chunk-3X2U6I44.js.map → chunk-TZ4NUY3W.js.map} +0 -0
  496. /package/dist/{chunk-YSDLXJHE.js.map → chunk-UIOLC7XM.js.map} +0 -0
  497. /package/dist/{chunk-TI6WBLCB.js.map → chunk-UQ5GR6IX.js.map} +0 -0
  498. /package/dist/{chunk-Q6QLOUXJ.js.map → chunk-UTM7YAT4.js.map} +0 -0
  499. /package/dist/{chunk-R5XRTUWH.js.map → chunk-VQFWMNZO.js.map} +0 -0
  500. /package/dist/{chunk-R2DCUSBY.js.map → chunk-WALS2M6Z.js.map} +0 -0
  501. /package/dist/{chunk-K6NQZIAW.js.map → chunk-WTZ4LRQT.js.map} +0 -0
  502. /package/dist/{chunk-OEPVYNB6.js.map → chunk-XD4JKMGT.js.map} +0 -0
  503. /package/dist/{chunk-QZ6WXAUO.js.map → chunk-YPAI5UGF.js.map} +0 -0
  504. /package/dist/{chunk-HRCTWTP3.js.map → chunk-YSUNJQBP.js.map} +0 -0
  505. /package/dist/{chunk-JQ4Z4JTW.js.map → chunk-ZMAMJNWT.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/eachYearOfInterval.ts"],"sourcesContent":["import { Temporal, isPlainDate } from './shared/temporal';\nimport { isPlainDateAfter } from './isPlainDateAfter';\nimport { isPlainDateBefore } from './isPlainDateBefore';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * PlainDate endpoints return date-only period starts in the start calendar.\n * Mixed date-only/timeline endpoints are rejected. Reversed endpoints return [].\n *\n * Uses the start endpoint's calendar and timezone, including for the end bound.\n * Native and polyfill endpoints may be mixed.\n *\n * Returns an array of ZonedDateTime objects for each year within the interval.\n * Each element represents the first moment of the year (January 1st at midnight).\n * The interval is inclusive of both start and end years.\n *\n * For Instant inputs, UTC is used as the timezone.\n * For ZonedDateTime inputs, the timezone of the start date is preserved.\n *\n * @param interval - The interval with start and end datetimes\n * @returns Array of ZonedDateTime at start of each year in the interval\n *\n * @example\n * ```ts\n * const start = Temporal.ZonedDateTime.from('2022-06-15T10:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-03-20T14:00:00+00:00[UTC]');\n *\n * const years = eachYearOfInterval({ start, end });\n * // [\n * // 2022-01-01T00:00:00+00:00[UTC],\n * // 2023-01-01T00:00:00+00:00[UTC],\n * // 2024-01-01T00:00:00+00:00[UTC],\n * // 2025-01-01T00:00:00+00:00[UTC]\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // Single year\n * const start = Temporal.ZonedDateTime.from('2025-01-15T00:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-12-31T23:59:59+00:00[UTC]');\n *\n * const years = eachYearOfInterval({ start, end });\n * // [2025-01-01T00:00:00+00:00[UTC]]\n * ```\n *\n * @example\n * ```ts\n * // With timezone\n * const start = Temporal.ZonedDateTime.from('2024-01-01T00:00:00-05:00[America/New_York]');\n * const end = Temporal.ZonedDateTime.from('2026-06-15T00:00:00-04:00[America/New_York]');\n *\n * const years = eachYearOfInterval({ start, end });\n * // [\n * // 2024-01-01T00:00:00-05:00[America/New_York],\n * // 2025-01-01T00:00:00-05:00[America/New_York],\n * // 2026-01-01T00:00:00-05:00[America/New_York]\n * // ]\n * ```\n */\nexport function eachYearOfInterval(interval: {\n start: Temporal.PlainDate;\n end: Temporal.PlainDate;\n}): Temporal.PlainDate[];\nexport function eachYearOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime;\n end: Temporal.Instant | Temporal.ZonedDateTime;\n}): Temporal.ZonedDateTime[];\nexport function eachYearOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate;\n end: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate;\n}): Temporal.ZonedDateTime[] | Temporal.PlainDate[] {\n if (isPlainDate(interval.start) || isPlainDate(interval.end)) {\n if (!isPlainDate(interval.start) || !isPlainDate(interval.end)) {\n throw new TypeError('PlainDate intervals require two PlainDate endpoints');\n }\n if (isPlainDateAfter(interval.start, interval.end)) return [];\n const end = interval.end.withCalendar(interval.start.calendarId);\n const last = end.with({ month: 1, day: 1 });\n let current = interval.start.with({ month: 1, day: 1 });\n const dates: Temporal.PlainDate[] = [];\n while (isPlainDateBefore(current, last)) {\n dates.push(current);\n current = current.add({ years: 1 });\n }\n dates.push(current);\n return dates;\n }\n const startZoned = normalizeTemporalInput(interval.start);\n const endZoned = normalizeTemporalInput(interval.end);\n if (startZoned.epochNanoseconds > endZoned.epochNanoseconds) return [];\n\n const timezone = startZoned.timeZoneId;\n const startYear = startZoned.year;\n\n // Get end year in the same timezone\n const endInTimezone = endZoned.withTimeZone(timezone).withCalendar(startZoned.calendarId);\n const endYear = endInTimezone.year;\n\n const years: Temporal.ZonedDateTime[] = [];\n\n for (let year = startYear; year <= endYear; year++) {\n const firstOfYear = Temporal.PlainDate.from({ year, month: 1, day: 1, calendar: startZoned.calendarId });\n years.push(\n firstOfYear.toZonedDateTime({\n timeZone: timezone,\n plainTime: new Temporal.PlainTime(),\n })\n );\n }\n\n return years;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoEO,SAAS,mBAAmB,UAGiB;AAClD,MAAI,YAAY,SAAS,KAAK,KAAK,YAAY,SAAS,GAAG,GAAG;AAC5D,QAAI,CAAC,YAAY,SAAS,KAAK,KAAK,CAAC,YAAY,SAAS,GAAG,GAAG;AAC9D,YAAM,IAAI,UAAU,qDAAqD;AAAA,IAC3E;AACA,QAAI,iBAAiB,SAAS,OAAO,SAAS,GAAG,EAAG,QAAO,CAAC;AAC5D,UAAM,MAAM,SAAS,IAAI,aAAa,SAAS,MAAM,UAAU;AAC/D,UAAM,OAAO,IAAI,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AAC1C,QAAI,UAAU,SAAS,MAAM,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AACtD,UAAM,QAA8B,CAAC;AACrC,WAAO,kBAAkB,SAAS,IAAI,GAAG;AACvC,YAAM,KAAK,OAAO;AAClB,gBAAU,QAAQ,IAAI,EAAE,OAAO,EAAE,CAAC;AAAA,IACpC;AACA,UAAM,KAAK,OAAO;AAClB,WAAO;AAAA,EACT;AACA,QAAM,aAAa,uBAAuB,SAAS,KAAK;AACxD,QAAM,WAAW,uBAAuB,SAAS,GAAG;AACpD,MAAI,WAAW,mBAAmB,SAAS,iBAAkB,QAAO,CAAC;AAErE,QAAM,WAAW,WAAW;AAC5B,QAAM,YAAY,WAAW;AAG7B,QAAM,gBAAgB,SAAS,aAAa,QAAQ,EAAE,aAAa,WAAW,UAAU;AACxF,QAAM,UAAU,cAAc;AAE9B,QAAM,QAAkC,CAAC;AAEzC,WAAS,OAAO,WAAW,QAAQ,SAAS,QAAQ;AAClD,UAAM,cAAc,SAAS,UAAU,KAAK,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,WAAW,WAAW,CAAC;AACvG,UAAM;AAAA,MACJ,YAAY,gBAAgB;AAAA,QAC1B,UAAU;AAAA,QACV,WAAW,IAAI,SAAS,UAAU;AAAA,MACpC,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../src/eachYearOfInterval.ts"],"sourcesContent":["import { Temporal, isPlainDate } from './shared/temporal';\nimport { isPlainDateAfter } from './isPlainDateAfter';\nimport { isPlainDateBefore } from './isPlainDateBefore';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * PlainDate endpoints return date-only period starts in the start calendar.\n * Mixed date-only/timeline endpoints are rejected. Reversed endpoints return [].\n *\n * Uses the start endpoint's calendar and timezone, including for the end bound.\n * Native and polyfill endpoints may be mixed.\n *\n * Returns an array of ZonedDateTime objects for each year within the interval.\n * Each element represents the first moment of the year (January 1st at midnight).\n * The interval is inclusive of both start and end years.\n *\n * For Instant inputs, UTC is used as the timezone.\n * For ZonedDateTime inputs, the timezone of the start date is preserved.\n *\n * @param interval - The interval with start and end datetimes\n * @returns Array of ZonedDateTime at start of each year in the interval\n *\n * @example\n * ```ts\n * const start = Temporal.ZonedDateTime.from('2022-06-15T10:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-03-20T14:00:00+00:00[UTC]');\n *\n * const years = eachYearOfInterval({ start, end });\n * // [\n * // 2022-01-01T00:00:00+00:00[UTC],\n * // 2023-01-01T00:00:00+00:00[UTC],\n * // 2024-01-01T00:00:00+00:00[UTC],\n * // 2025-01-01T00:00:00+00:00[UTC]\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // Single year\n * const start = Temporal.ZonedDateTime.from('2025-01-15T00:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-12-31T23:59:59+00:00[UTC]');\n *\n * const years = eachYearOfInterval({ start, end });\n * // [2025-01-01T00:00:00+00:00[UTC]]\n * ```\n *\n * @example\n * ```ts\n * // With timezone\n * const start = Temporal.ZonedDateTime.from('2024-01-01T00:00:00-05:00[America/New_York]');\n * const end = Temporal.ZonedDateTime.from('2026-06-15T00:00:00-04:00[America/New_York]');\n *\n * const years = eachYearOfInterval({ start, end });\n * // [\n * // 2024-01-01T00:00:00-05:00[America/New_York],\n * // 2025-01-01T00:00:00-05:00[America/New_York],\n * // 2026-01-01T00:00:00-05:00[America/New_York]\n * // ]\n * ```\n */\nexport function eachYearOfInterval(interval: {\n start: Temporal.PlainDate;\n end: Temporal.PlainDate;\n}): Temporal.PlainDate[];\nexport function eachYearOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime;\n end: Temporal.Instant | Temporal.ZonedDateTime;\n}): Temporal.ZonedDateTime[];\nexport function eachYearOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate;\n end: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate;\n}): Temporal.ZonedDateTime[] | Temporal.PlainDate[] {\n if (isPlainDate(interval.start) || isPlainDate(interval.end)) {\n if (!isPlainDate(interval.start) || !isPlainDate(interval.end)) {\n throw new TypeError('PlainDate intervals require two PlainDate endpoints');\n }\n if (isPlainDateAfter(interval.start, interval.end)) return [];\n const end = interval.end.withCalendar(interval.start.calendarId);\n const last = end.with({ month: 1, day: 1 });\n let current = interval.start.with({ month: 1, day: 1 });\n const dates: Temporal.PlainDate[] = [];\n while (isPlainDateBefore(current, last)) {\n dates.push(current);\n current = current.add({ years: 1 });\n }\n dates.push(current);\n return dates;\n }\n const startZoned = normalizeTemporalInput(interval.start);\n const endZoned = normalizeTemporalInput(interval.end);\n if (startZoned.epochNanoseconds > endZoned.epochNanoseconds) return [];\n\n const timezone = startZoned.timeZoneId;\n const startYear = startZoned.year;\n\n // Get end year in the same timezone\n const endInTimezone = endZoned.withTimeZone(timezone).withCalendar(startZoned.calendarId);\n const endYear = endInTimezone.year;\n\n const years: Temporal.ZonedDateTime[] = [];\n\n for (let year = startYear; year <= endYear; year++) {\n const firstOfYear = Temporal.PlainDate.from({\n year,\n month: 1,\n day: 1,\n calendar: startZoned.calendarId\n });\n years.push(\n firstOfYear.toZonedDateTime({\n timeZone: timezone,\n plainTime: new Temporal.PlainTime()\n })\n );\n }\n\n return years;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoEO,SAAS,mBAAmB,UAGiB;AAClD,MAAI,YAAY,SAAS,KAAK,KAAK,YAAY,SAAS,GAAG,GAAG;AAC5D,QAAI,CAAC,YAAY,SAAS,KAAK,KAAK,CAAC,YAAY,SAAS,GAAG,GAAG;AAC9D,YAAM,IAAI,UAAU,qDAAqD;AAAA,IAC3E;AACA,QAAI,iBAAiB,SAAS,OAAO,SAAS,GAAG,EAAG,QAAO,CAAC;AAC5D,UAAM,MAAM,SAAS,IAAI,aAAa,SAAS,MAAM,UAAU;AAC/D,UAAM,OAAO,IAAI,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AAC1C,QAAI,UAAU,SAAS,MAAM,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AACtD,UAAM,QAA8B,CAAC;AACrC,WAAO,kBAAkB,SAAS,IAAI,GAAG;AACvC,YAAM,KAAK,OAAO;AAClB,gBAAU,QAAQ,IAAI,EAAE,OAAO,EAAE,CAAC;AAAA,IACpC;AACA,UAAM,KAAK,OAAO;AAClB,WAAO;AAAA,EACT;AACA,QAAM,aAAa,uBAAuB,SAAS,KAAK;AACxD,QAAM,WAAW,uBAAuB,SAAS,GAAG;AACpD,MAAI,WAAW,mBAAmB,SAAS,iBAAkB,QAAO,CAAC;AAErE,QAAM,WAAW,WAAW;AAC5B,QAAM,YAAY,WAAW;AAG7B,QAAM,gBAAgB,SAAS,aAAa,QAAQ,EAAE,aAAa,WAAW,UAAU;AACxF,QAAM,UAAU,cAAc;AAE9B,QAAM,QAAkC,CAAC;AAEzC,WAAS,OAAO,WAAW,QAAQ,SAAS,QAAQ;AAClD,UAAM,cAAc,SAAS,UAAU,KAAK;AAAA,MAC1C;AAAA,MACA,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAU,WAAW;AAAA,IACvB,CAAC;AACD,UAAM;AAAA,MACJ,YAAY,gBAAgB;AAAA,QAC1B,UAAU;AAAA,QACV,WAAW,IAAI,SAAS,UAAU;AAAA,MACpC,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-Q6QLOUXJ.js";
3
+ } from "./chunk-UTM7YAT4.js";
4
4
  import {
5
5
  isPlainDate
6
- } from "./chunk-BSVOJYJ7.js";
6
+ } from "./chunk-M4ESIRFH.js";
7
7
 
8
8
  // src/addMonths.ts
9
9
  function addMonths(input, months) {
@@ -16,4 +16,4 @@ function addMonths(input, months) {
16
16
  export {
17
17
  addMonths
18
18
  };
19
- //# sourceMappingURL=chunk-ZXKU4SKR.js.map
19
+ //# sourceMappingURL=chunk-L535UIYN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeWithPlainDate
3
- } from "./chunk-TCB3IDJM.js";
3
+ } from "./chunk-QCIY5PSJ.js";
4
4
 
5
5
  // src/startOfDay.ts
6
6
  function startOfDay(input, timezone) {
@@ -11,4 +11,4 @@ function startOfDay(input, timezone) {
11
11
  export {
12
12
  startOfDay
13
13
  };
14
- //# sourceMappingURL=chunk-TIZJRCAA.js.map
14
+ //# sourceMappingURL=chunk-L7X3FQZI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/startOfDay.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 day (midnight).\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at 00:00:00.000000000\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const start = startOfDay(instant);\n * // 2025-01-20T00:00:00+00:00[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 start = startOfDay(zoned);\n * // 2025-01-20T00: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-01-20');\n * const start = startOfDay(date, 'America/New_York');\n * // 2025-01-20T00:00:00-05:00[America/New_York]\n * ```\n */\nexport function startOfDay(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function startOfDay(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function startOfDay(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n return zonedDateTime.startOfDay();\n}\n"],"mappings":";;;;;AAyCO,SAAS,WACd,OACA,UACwB;AACxB,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,SAAO,cAAc,WAAW;AAClC;","names":[]}
1
+ {"version":3,"sources":["../src/startOfDay.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 day (midnight).\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at 00:00:00.000000000\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const start = startOfDay(instant);\n * // 2025-01-20T00:00:00+00:00[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 start = startOfDay(zoned);\n * // 2025-01-20T00: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-01-20');\n * const start = startOfDay(date, 'America/New_York');\n * // 2025-01-20T00:00:00-05:00[America/New_York]\n * ```\n */\nexport function startOfDay(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function startOfDay(input: Temporal.PlainDate, timezone: Timezone): Temporal.ZonedDateTime;\nexport function startOfDay(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n return zonedDateTime.startOfDay();\n}\n"],"mappings":";;;;;AAsCO,SAAS,WACd,OACA,UACwB;AACxB,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,SAAO,cAAc,WAAW;AAClC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  compare
3
- } from "./chunk-OMYVTYHI.js";
3
+ } from "./chunk-DAWWOF5W.js";
4
4
 
5
5
  // src/compareDesc.ts
6
6
  function compareDesc(date1, date2) {
@@ -10,4 +10,4 @@ function compareDesc(date1, date2) {
10
10
  export {
11
11
  compareDesc
12
12
  };
13
- //# sourceMappingURL=chunk-YMJHVVM4.js.map
13
+ //# sourceMappingURL=chunk-LJMPJUHN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Temporal
3
- } from "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-M4ESIRFH.js";
4
4
 
5
5
  // src/today.ts
6
6
  function today(timezone) {
@@ -10,4 +10,4 @@ function today(timezone) {
10
10
  export {
11
11
  today
12
12
  };
13
- //# sourceMappingURL=chunk-NL5MQVGD.js.map
13
+ //# sourceMappingURL=chunk-LKDENGBC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isInstant
3
- } from "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-M4ESIRFH.js";
4
4
 
5
5
  // src/toIso9075.ts
6
6
  function toIso9075(input, options = {}) {
@@ -30,4 +30,4 @@ function pad(n) {
30
30
  export {
31
31
  toIso9075
32
32
  };
33
- //# sourceMappingURL=chunk-A34P5Z5O.js.map
33
+ //# sourceMappingURL=chunk-LL7XWZGU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/toIso9075.ts"],"sourcesContent":["import { type Temporal, isInstant } from './shared/temporal';\n\nexport type Iso9075Mode = 'utc' | 'local';\nexport type Iso9075Representation = 'complete' | 'date' | 'time';\n\nexport interface ToIso9075Options {\n /**\n * Which time to output.\n * - 'utc' (default): convert to UTC before formatting\n * - 'local': use the local time of the ZonedDateTime\n */\n mode?: Iso9075Mode;\n /**\n * What to include in the output.\n * - 'complete' (default): date and time (2019-09-18 19:00:52)\n * - 'date': date only (2019-09-18)\n * - 'time': time only (19:00:52)\n */\n representation?: Iso9075Representation;\n}\n\n/**\n * Convert a Temporal.Instant to an ISO 9075 (SQL) formatted string in UTC.\n */\nexport function toIso9075(\n input: Temporal.Instant,\n options?: Omit<ToIso9075Options, 'mode'>\n): string;\n\n/**\n * Convert a Temporal.ZonedDateTime to an ISO 9075 (SQL) formatted string.\n *\n * @param input - A Temporal.ZonedDateTime\n * @param options - Format options\n *\n * @example\n * ```typescript\n * const zoned = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n *\n * toIso9075(zoned); // \"2025-01-20 20:00:00\" (UTC, default)\n * toIso9075(zoned, { mode: 'utc' }); // \"2025-01-20 20:00:00\"\n * toIso9075(zoned, { mode: 'local' }); // \"2025-01-20 15:00:00\"\n * toIso9075(zoned, { representation: 'date' }); // \"2025-01-20\"\n * toIso9075(zoned, { representation: 'time' }); // \"20:00:00\"\n * ```\n */\nexport function toIso9075(input: Temporal.ZonedDateTime, options?: ToIso9075Options): string;\n\nexport function toIso9075(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options: ToIso9075Options = {}\n): string {\n const { mode = 'utc', representation = 'complete' } = options;\n\n let zdt: Temporal.ZonedDateTime;\n\n if (isInstant(input)) {\n zdt = input.toZonedDateTimeISO('UTC');\n } else {\n // ZonedDateTime: apply mode\n zdt = mode === 'utc' ? input.toInstant().toZonedDateTimeISO('UTC') : input;\n }\n\n const year = zdt.year;\n const month = zdt.month;\n const day = zdt.day;\n const hour = zdt.hour;\n const minute = zdt.minute;\n const second = zdt.second;\n\n const datePart = `${year}-${pad(month)}-${pad(day)}`;\n const timePart = `${pad(hour)}:${pad(minute)}:${pad(second)}`;\n\n if (representation === 'date') return datePart;\n if (representation === 'time') return timePart;\n return `${datePart} ${timePart}`;\n}\n\nfunction pad(n: number): string {\n return n.toString().padStart(2, '0');\n}\n"],"mappings":";;;;;AAgDO,SAAS,UACd,OACA,UAA4B,CAAC,GACrB;AACR,QAAM,EAAE,OAAO,OAAO,iBAAiB,WAAW,IAAI;AAEtD,MAAI;AAEJ,MAAI,UAAU,KAAK,GAAG;AACpB,UAAM,MAAM,mBAAmB,KAAK;AAAA,EACtC,OAAO;AAEL,UAAM,SAAS,QAAQ,MAAM,UAAU,EAAE,mBAAmB,KAAK,IAAI;AAAA,EACvE;AAEA,QAAM,OAAO,IAAI;AACjB,QAAM,QAAQ,IAAI;AAClB,QAAM,MAAM,IAAI;AAChB,QAAM,OAAO,IAAI;AACjB,QAAM,SAAS,IAAI;AACnB,QAAM,SAAS,IAAI;AAEnB,QAAM,WAAW,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC;AAClD,QAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;AAE3D,MAAI,mBAAmB,OAAQ,QAAO;AACtC,MAAI,mBAAmB,OAAQ,QAAO;AACtC,SAAO,GAAG,QAAQ,IAAI,QAAQ;AAChC;AAEA,SAAS,IAAI,GAAmB;AAC9B,SAAO,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AACrC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isDaysFromToday
3
- } from "./chunk-MWUVGTKC.js";
3
+ } from "./chunk-OZ5APQB7.js";
4
4
 
5
5
  // src/isYesterday.ts
6
6
  function isYesterday(date, timezone) {
@@ -10,4 +10,4 @@ function isYesterday(date, timezone) {
10
10
  export {
11
11
  isYesterday
12
12
  };
13
- //# sourceMappingURL=chunk-VDV24TWQ.js.map
13
+ //# sourceMappingURL=chunk-LTYIPGQD.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-Q6QLOUXJ.js";
3
+ } from "./chunk-UTM7YAT4.js";
4
4
 
5
5
  // src/roundToNearestSecond.ts
6
6
  var MODE_TO_ROUNDING_MODE = {
@@ -22,4 +22,4 @@ function roundToNearestSecond(input, options) {
22
22
  export {
23
23
  roundToNearestSecond
24
24
  };
25
- //# sourceMappingURL=chunk-JA5ER27P.js.map
25
+ //# sourceMappingURL=chunk-LXAT3CDM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/roundToNearestSecond.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Options for rounding to nearest second.\n */\nexport interface RoundToNearestSecondOptions {\n /**\n * The rounding mode to use.\n *\n * Given time 14:37:42.300:\n * - `'round'` → 14:37:42 (300ms < 500, rounds DOWN to nearest)\n * - `'ceil'` → 14:37:43 (always rounds UP to next second)\n * - `'floor'` → 14:37:42 (always rounds DOWN to current second)\n *\n * Given time 14:37:42 with nearestTo: 10:\n * - `'round'` → 14:37:40 (42 is closer to 40 than 50)\n * - `'ceil'` → 14:37:50 (always rounds UP to next 10-sec mark)\n * - `'floor'` → 14:37:40 (always rounds DOWN to current 10-sec mark)\n *\n * @default 'round'\n */\n mode?: 'round' | 'ceil' | 'floor';\n /**\n * Round to the nearest N seconds. Must divide evenly into 60.\n * Valid values: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30\n * @example nearestTo: 10 rounds to 10-second marks (00, 10, 20, 30, 40, 50)\n */\n nearestTo?: 1 | 2 | 3 | 4 | 5 | 6 | 10 | 12 | 15 | 20 | 30;\n}\n\nconst MODE_TO_ROUNDING_MODE = {\n round: 'halfExpand',\n ceil: 'ceil',\n floor: 'floor'\n} as const;\n\n/**\n * Rounds a datetime to the nearest second boundary.\n *\n * ## Mode comparison (given 14:37:42.567)\n *\n * ```\n * :42 ─────────────────●─────────────── :43\n * .567\n *\n * 'round' → :43 (nearest second - 567ms >= 500)\n * 'ceil' → :43 (next second - always up)\n * 'floor' → :42 (current second - always down)\n * ```\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param options - Rounding options\n * @returns ZonedDateTime rounded to the second boundary\n *\n * @example\n * ```ts\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:42.567[America/New_York]');\n *\n * roundToNearestSecond(time); // → 14:37:43 (567ms >= 500)\n * roundToNearestSecond(time, { mode: 'ceil' }); // → 14:37:43 (always up)\n * roundToNearestSecond(time, { mode: 'floor' }); // → 14:37:42 (always down)\n * ```\n *\n * @example\n * ```ts\n * // 10-second intervals\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:42[America/New_York]');\n *\n * roundToNearestSecond(time, { nearestTo: 10 }); // → 14:37:40 (nearest)\n * roundToNearestSecond(time, { mode: 'ceil', nearestTo: 10 }); // → 14:37:50 (next 10s)\n * roundToNearestSecond(time, { mode: 'floor', nearestTo: 10 }); // → 14:37:40 (current 10s)\n * ```\n *\n * @example\n * ```ts\n * // Remove sub-second precision for logging\n * const logTime = Temporal.ZonedDateTime.from('2025-01-20T14:37:42.123456789[UTC]');\n * roundToNearestSecond(logTime, { mode: 'floor' });\n * // → 14:37:42.000000000 (clean timestamp)\n * ```\n */\nexport function roundToNearestSecond(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options?: RoundToNearestSecondOptions\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n const mode = options?.mode ?? 'round';\n const nearestTo = options?.nearestTo ?? 1;\n\n return zonedDateTime.round({\n smallestUnit: 'second',\n roundingMode: MODE_TO_ROUNDING_MODE[mode],\n roundingIncrement: nearestTo\n });\n}\n"],"mappings":";;;;;AA+BA,IAAM,wBAAwB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AACT;AA+CO,SAAS,qBACd,OACA,SACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,YAAY,SAAS,aAAa;AAExC,SAAO,cAAc,MAAM;AAAA,IACzB,cAAc;AAAA,IACd,cAAc,sBAAsB,IAAI;AAAA,IACxC,mBAAmB;AAAA,EACrB,CAAC;AACH;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  addMonths
3
- } from "./chunk-ZXKU4SKR.js";
3
+ } from "./chunk-L535UIYN.js";
4
4
  import {
5
5
  isPlainDate
6
- } from "./chunk-BSVOJYJ7.js";
6
+ } from "./chunk-M4ESIRFH.js";
7
7
 
8
8
  // src/subMonths.ts
9
9
  function subMonths(input, months) {
@@ -13,4 +13,4 @@ function subMonths(input, months) {
13
13
  export {
14
14
  subMonths
15
15
  };
16
- //# sourceMappingURL=chunk-MVGBYHG5.js.map
16
+ //# sourceMappingURL=chunk-LY7IXVZO.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-Q6QLOUXJ.js";
3
+ } from "./chunk-UTM7YAT4.js";
4
4
 
5
5
  // src/differenceInMicroseconds.ts
6
6
  function differenceInMicroseconds(laterDate, earlierDate) {
@@ -13,4 +13,4 @@ function differenceInMicroseconds(laterDate, earlierDate) {
13
13
  export {
14
14
  differenceInMicroseconds
15
15
  };
16
- //# sourceMappingURL=chunk-EBOLL4LY.js.map
16
+ //# sourceMappingURL=chunk-M2QFNUJF.js.map
@@ -0,0 +1,17 @@
1
+ // src/shared/week.ts
2
+ function assertDayOfWeek(day, name) {
3
+ if (!Number.isInteger(day) || day < 1 || day > 7) {
4
+ throw new RangeError(`${name} must be 1 (Monday) through 7 (Sunday), got ${day}`);
5
+ }
6
+ }
7
+ function daysIntoWeek(dayOfWeek, options) {
8
+ const weekStartsOn = options?.weekStartsOn ?? 1;
9
+ assertDayOfWeek(weekStartsOn, "weekStartsOn");
10
+ return (dayOfWeek - weekStartsOn + 7) % 7;
11
+ }
12
+
13
+ export {
14
+ assertDayOfWeek,
15
+ daysIntoWeek
16
+ };
17
+ //# sourceMappingURL=chunk-M2XB72L5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/week.ts"],"sourcesContent":["/**\n * Day of the week, numbered as Temporal numbers it: 1 = Monday … 7 = Sunday.\n */\nexport type DayOfWeek = 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\n/**\n * Options for functions that need to know where a week begins.\n */\nexport interface WeekOptions {\n /**\n * The first day of the week: 1 = Monday … 7 = Sunday.\n * @default 1 (Monday, as in ISO 8601)\n */\n weekStartsOn?: DayOfWeek;\n}\n\n/**\n * @internal\n * Checks a day-of-week argument. date-fns numbers Sunday 0; Temporal numbers it 7,\n * so 0 is rejected rather than silently meaning something else.\n */\nexport function assertDayOfWeek(day: number, name: string): asserts day is DayOfWeek {\n if (!Number.isInteger(day) || day < 1 || day > 7) {\n throw new RangeError(`${name} must be 1 (Monday) through 7 (Sunday), got ${day}`);\n }\n}\n\n/**\n * @internal\n * Days from the start of the week to a given day of the week (0–6).\n */\nexport function daysIntoWeek(dayOfWeek: number, options: WeekOptions | undefined): number {\n const weekStartsOn = options?.weekStartsOn ?? 1;\n assertDayOfWeek(weekStartsOn, 'weekStartsOn');\n return (dayOfWeek - weekStartsOn + 7) % 7;\n}\n"],"mappings":";AAqBO,SAAS,gBAAgB,KAAa,MAAwC;AACnF,MAAI,CAAC,OAAO,UAAU,GAAG,KAAK,MAAM,KAAK,MAAM,GAAG;AAChD,UAAM,IAAI,WAAW,GAAG,IAAI,+CAA+C,GAAG,EAAE;AAAA,EAClF;AACF;AAMO,SAAS,aAAa,WAAmB,SAA0C;AACxF,QAAM,eAAe,SAAS,gBAAgB;AAC9C,kBAAgB,cAAc,cAAc;AAC5C,UAAQ,YAAY,eAAe,KAAK;AAC1C;","names":[]}
@@ -25,4 +25,4 @@ export {
25
25
  isPlainDate,
26
26
  isPlainTime
27
27
  };
28
- //# sourceMappingURL=chunk-BSVOJYJ7.js.map
28
+ //# sourceMappingURL=chunk-M4ESIRFH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared/temporal.ts"],"sourcesContent":["import { Temporal as PolyfillTemporal } from '@js-temporal/polyfill';\n\n/**\n * @internal\n * Single source of the Temporal implementation.\n *\n * Shipping behavior is unchanged: production code always resolves to\n * `@js-temporal/polyfill`. Native-first was reverted because tiempo passes\n * caller-provided Temporal objects into methods that may require matching\n * implementations. Timeline comparisons use epoch nanoseconds; calendar differences bridge\n * implementations with canonical strings. Conversion and interval input boundaries are\n * audited as well. Runtime support and declaration migration still gate removal\n * of the bundled polyfill; constructor identity is not uniform across outputs.\n *\n * For tests only, `TIEMPO_TEMPORAL` selects the implementation so the same\n * suite runs against both the polyfill and the runtime's native `Temporal`:\n * - `TIEMPO_TEMPORAL=polyfill` forces the polyfill (any Node version).\n * - `TIEMPO_TEMPORAL=native` uses `globalThis.Temporal` (Node >= 26).\n * - unset defaults to the polyfill, matching shipped behavior.\n * Tests import `Temporal` from here so both lib and test objects come from the\n * same implementation. timelineInterop.test.ts separately covers native,\n * polyfill and mixed timeline inputs against both selections.\n *\n * Import `Temporal` from here so the implementation choice stays in one place.\n */\nconst useNative =\n typeof process !== 'undefined' &&\n process.env?.TIEMPO_TEMPORAL === 'native' &&\n 'Temporal' in globalThis;\n\nexport const Temporal = useNative\n ? (globalThis as unknown as { Temporal: typeof PolyfillTemporal }).Temporal\n : PolyfillTemporal;\n\n/**\n * @internal\n * Type-side of `Temporal`, merged with the runtime value above so a single\n * `import { Temporal } from './shared/temporal'` serves both `Temporal.from(...)`\n * (value) and `: Temporal.ZonedDateTime` (type). Types are identical across\n * implementations and erased at build, so they always come from the polyfill.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Temporal {\n // Add new Temporal.* member types here the first time they are referenced\n // from this module. Omissions fail loudly at typecheck, never silently.\n export type Instant = PolyfillTemporal.Instant;\n export type ZonedDateTime = PolyfillTemporal.ZonedDateTime;\n export type PlainDate = PolyfillTemporal.PlainDate;\n export type PlainDateLike = PolyfillTemporal.PlainDateLike;\n export type PlainDateTime = PolyfillTemporal.PlainDateTime;\n export type PlainTime = PolyfillTemporal.PlainTime;\n export type PlainTimeLike = PolyfillTemporal.PlainTimeLike;\n export type PlainYearMonth = PolyfillTemporal.PlainYearMonth;\n}\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(value: unknown): 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\nexport function isPlainTime(value: unknown): value is Temporal.PlainTime {\n return brand(value) === 'Temporal.PlainTime';\n}\n"],"mappings":";AAAA,SAAS,YAAY,wBAAwB;AAyB7C,IAAM,YACJ,OAAO,YAAY,eACnB,QAAQ,KAAK,oBAAoB,YACjC,cAAc;AAET,IAAM,WAAW,YACnB,WAAgE,WACjE;AA6BJ,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,gBAAgB,OAAiD;AAC/E,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,YAAY,OAA6C;AACvE,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,YAAY,OAA6C;AACvE,SAAO,MAAM,KAAK,MAAM;AAC1B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isDaysFromToday
3
- } from "./chunk-MWUVGTKC.js";
3
+ } from "./chunk-OZ5APQB7.js";
4
4
 
5
5
  // src/isTomorrow.ts
6
6
  function isTomorrow(date, timezone) {
@@ -10,4 +10,4 @@ function isTomorrow(date, timezone) {
10
10
  export {
11
11
  isTomorrow
12
12
  };
13
- //# sourceMappingURL=chunk-RDMDCTHJ.js.map
13
+ //# sourceMappingURL=chunk-MLD3VIOP.js.map
@@ -1,13 +1,16 @@
1
+ import {
2
+ consumeToken
3
+ } from "./chunk-HH2HTC44.js";
1
4
  import {
2
5
  formatPlainDate
3
- } from "./chunk-TWXUGWYX.js";
6
+ } from "./chunk-YN3Z5H5O.js";
4
7
  import {
5
8
  normalizeTemporalInput
6
- } from "./chunk-Q6QLOUXJ.js";
9
+ } from "./chunk-UTM7YAT4.js";
7
10
  import {
8
11
  isInstant,
9
12
  isPlainDate
10
- } from "./chunk-BSVOJYJ7.js";
13
+ } from "./chunk-M4ESIRFH.js";
11
14
 
12
15
  // src/format.ts
13
16
  function format(input, formatStr, options = {}) {
@@ -65,87 +68,6 @@ function format(input, formatStr, options = {}) {
65
68
  }
66
69
  return result;
67
70
  }
68
- function consumeToken(formatStr, start, char) {
69
- if (char === "M" && start + 1 < formatStr.length && formatStr[start + 1] === "o") {
70
- return "Mo";
71
- }
72
- if (char === "d" && start + 1 < formatStr.length && formatStr[start + 1] === "o") {
73
- return "do";
74
- }
75
- let end = start;
76
- while (end < formatStr.length && formatStr[end] === char) {
77
- end++;
78
- }
79
- const count = end - start;
80
- const validTokens = [
81
- "GGGGG",
82
- "GGGG",
83
- "GGG",
84
- "GG",
85
- "G",
86
- "yyyy",
87
- "yyy",
88
- "yy",
89
- "y",
90
- "QQQQQ",
91
- "QQQQ",
92
- "QQQ",
93
- "QQ",
94
- "Q",
95
- "MMMMM",
96
- "MMMM",
97
- "MMM",
98
- "MM",
99
- "M",
100
- "dd",
101
- "d",
102
- "EEEEEE",
103
- "EEEEE",
104
- "EEEE",
105
- "EEE",
106
- "EE",
107
- "E",
108
- "aaaaa",
109
- "aaaa",
110
- "aaa",
111
- "aa",
112
- "a",
113
- "HH",
114
- "H",
115
- "hh",
116
- "h",
117
- "mm",
118
- "m",
119
- "ss",
120
- "s",
121
- "SSS",
122
- "SS",
123
- "S",
124
- "XXXXX",
125
- "XXXX",
126
- "XXX",
127
- "XX",
128
- "X",
129
- "xxxxx",
130
- "xxxx",
131
- "xxx",
132
- "xx",
133
- "x",
134
- "zzzz",
135
- "zzz",
136
- "zz",
137
- "z",
138
- "T",
139
- "t"
140
- ];
141
- for (let len = Math.min(count, 6); len > 0; len--) {
142
- const candidate = char.repeat(len);
143
- if (validTokens.includes(candidate)) {
144
- return candidate;
145
- }
146
- }
147
- return null;
148
- }
149
71
  function formatToken(token, zonedDateTime, locale) {
150
72
  switch (token) {
151
73
  // Era
@@ -325,4 +247,4 @@ function isAm(period) {
325
247
  export {
326
248
  format
327
249
  };
328
- //# sourceMappingURL=chunk-BYPHFTFD.js.map
250
+ //# sourceMappingURL=chunk-MPJ6UOLX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/format.ts"],"sourcesContent":["import { type Temporal, isInstant, isPlainDate } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport type { Timezone } from './types';\nimport { formatPlainDate, type FormatPlainDateOptions } from './formatPlainDate';\nimport { consumeToken } from './shared/formatTokens';\n\nexport interface FormatOptions {\n locale?: string;\n timeZone?: Timezone;\n}\n\n/**\n * Format a Temporal.Instant, ZonedDateTime, or PlainDate using date-fns-like format tokens.\n * Uses Intl.DateTimeFormat for localized parts. PlainDate inputs delegate to\n * formatPlainDate and accept locale options only; no time or timezone is invented.\n *\n * @param input - A Temporal.Instant, Temporal.ZonedDateTime, or Temporal.PlainDate to format\n * @param formatStr - Format string using date-fns tokens (e.g., \"yyyy-MM-dd HH:mm:ss\")\n * @param options - Optional configuration for locale and timezone\n * @returns Formatted date string\n *\n * @example\n * ```typescript\n * const zoned = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n *\n * format(zoned, \"yyyy-MM-dd\"); // \"2025-01-20\"\n * format(zoned, \"MMMM d, yyyy\"); // \"January 20, 2025\"\n * format(zoned, \"h:mm a\"); // \"3:00 PM\"\n * format(zoned, \"EEEE, MMMM do, yyyy 'at' h:mm a\"); // \"Monday, January 20th, 2025 at 3:00 PM\"\n *\n * // With locale\n * format(zoned, \"MMMM d, yyyy\", { locale: \"es-ES\" }); // \"enero 20, 2025\"\n * ```\n */\nexport function format(\n input: Temporal.PlainDate,\n formatStr: string,\n options?: FormatPlainDateOptions & { timeZone?: never }\n): string;\nexport function format(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n formatStr: string,\n options?: FormatOptions\n): string;\nexport function format(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n formatStr: string,\n options: FormatOptions = {}\n): string {\n if (isPlainDate(input)) {\n if (options.timeZone !== undefined) {\n throw new TypeError('PlainDate formatting does not accept a timezone');\n }\n return formatPlainDate(input, formatStr, options);\n }\n const { locale = 'en-US', timeZone } = options;\n\n // Convert to ZonedDateTime, applying custom timezone if provided\n let zonedDateTime: Temporal.ZonedDateTime;\n if (timeZone) {\n // If custom timezone specified, convert via Instant\n const instant = isInstant(input) ? input : input.toInstant();\n zonedDateTime = instant.toZonedDateTimeISO(timeZone);\n } else {\n // No custom timezone: normalize to ZonedDateTime (Instant -> UTC, ZonedDateTime -> keep as-is)\n zonedDateTime = normalizeTemporalInput(input);\n }\n\n let result = '';\n let i = 0;\n const len = formatStr.length;\n\n while (i < len) {\n const char = formatStr[i];\n if (!char) break;\n\n // Handle escaped text\n if (char === \"'\") {\n // Check for double single quote (not inside a string, just '')\n if (i + 1 < len && formatStr[i + 1] === \"'\") {\n result += \"'\";\n i += 2;\n continue;\n }\n // Find closing quote, handling '' inside the string\n i++;\n while (i < len) {\n if (formatStr[i] === \"'\") {\n // Check if it's a doubled quote ''\n if (i + 1 < len && formatStr[i + 1] === \"'\") {\n result += \"'\";\n i += 2;\n } else {\n // End of quoted string\n i++;\n break;\n }\n } else {\n result += formatStr[i];\n i++;\n }\n }\n continue;\n }\n\n // Check for tokens by looking ahead\n const token = consumeToken(formatStr, i, char);\n if (token !== null) {\n result += formatToken(token, zonedDateTime, locale);\n i += token.length;\n } else {\n result += char;\n i++;\n }\n }\n\n return result;\n}\n\nfunction formatToken(token: string, zonedDateTime: Temporal.ZonedDateTime, locale: string): string {\n switch (token) {\n // Era\n case 'GGGGG':\n return formatPart(zonedDateTime, 'era', 'narrow', locale);\n case 'GGGG':\n return formatPart(zonedDateTime, 'era', 'long', locale);\n case 'GGG':\n case 'GG':\n case 'G':\n return formatPart(zonedDateTime, 'era', 'short', locale);\n\n // Year\n case 'yyyy':\n return zonedDateTime.year.toString().padStart(4, '0');\n case 'yyy':\n return zonedDateTime.year.toString().padStart(3, '0');\n case 'yy':\n return (zonedDateTime.year % 100).toString().padStart(2, '0');\n case 'y':\n return zonedDateTime.year.toString();\n\n // Quarter\n case 'QQQQQ':\n return Math.ceil(zonedDateTime.month / 3).toString();\n case 'QQQQ': {\n const quarter = Math.ceil(zonedDateTime.month / 3);\n return `${quarter}${getOrdinalSuffix(quarter)} quarter`;\n }\n case 'QQQ':\n return `Q${Math.ceil(zonedDateTime.month / 3)}`;\n case 'QQ':\n return Math.ceil(zonedDateTime.month / 3)\n .toString()\n .padStart(2, '0');\n case 'Q':\n return Math.ceil(zonedDateTime.month / 3).toString();\n\n // Month\n case 'MMMMM':\n return formatPart(zonedDateTime, 'month', 'narrow', locale);\n case 'MMMM':\n return formatPart(zonedDateTime, 'month', 'long', locale);\n case 'MMM':\n return formatPart(zonedDateTime, 'month', 'short', locale);\n case 'MM':\n return zonedDateTime.month.toString().padStart(2, '0');\n case 'Mo':\n return `${zonedDateTime.month}${getOrdinalSuffix(zonedDateTime.month)}`;\n case 'M':\n return zonedDateTime.month.toString();\n\n // Day of month\n case 'do':\n return `${zonedDateTime.day}${getOrdinalSuffix(zonedDateTime.day)}`;\n case 'dd':\n return zonedDateTime.day.toString().padStart(2, '0');\n case 'd':\n return zonedDateTime.day.toString();\n\n // Day of week\n case 'EEEEEE':\n return formatPart(zonedDateTime, 'weekday', 'short', locale).slice(0, 2);\n case 'EEEEE':\n return formatPart(zonedDateTime, 'weekday', 'narrow', locale);\n case 'EEEE':\n return formatPart(zonedDateTime, 'weekday', 'long', locale);\n case 'EEE':\n case 'EE':\n case 'E':\n return formatPart(zonedDateTime, 'weekday', 'short', locale);\n\n // AM/PM (locale-aware; English widths applied only for ASCII AM/PM)\n case 'aaaaa': {\n const period = getDayPeriod(zonedDateTime, locale);\n if (isAsciiAmPm(period)) return isAm(period) ? 'a' : 'p';\n return period.charAt(0).toLowerCase();\n }\n case 'aaaa': {\n const period = getDayPeriod(zonedDateTime, locale);\n if (isAsciiAmPm(period)) return isAm(period) ? 'a.m.' : 'p.m.';\n return period;\n }\n case 'aaa':\n return getDayPeriod(zonedDateTime, locale).toLowerCase();\n case 'aa':\n case 'a':\n return getDayPeriod(zonedDateTime, locale);\n\n // Hour [0-23]\n case 'HH':\n return zonedDateTime.hour.toString().padStart(2, '0');\n case 'H':\n return zonedDateTime.hour.toString();\n\n // Hour [1-12]\n case 'hh': {\n const hour12 = zonedDateTime.hour % 12 || 12;\n return hour12.toString().padStart(2, '0');\n }\n case 'h': {\n const hour12 = zonedDateTime.hour % 12 || 12;\n return hour12.toString();\n }\n\n // Minute\n case 'mm':\n return zonedDateTime.minute.toString().padStart(2, '0');\n case 'm':\n return zonedDateTime.minute.toString();\n\n // Second\n case 'ss':\n return zonedDateTime.second.toString().padStart(2, '0');\n case 's':\n return zonedDateTime.second.toString();\n\n // Fractional seconds\n case 'SSS':\n return zonedDateTime.millisecond.toString().padStart(3, '0');\n case 'SS':\n return Math.floor(zonedDateTime.millisecond / 10)\n .toString()\n .padStart(2, '0');\n case 'S':\n return Math.floor(zonedDateTime.millisecond / 100).toString();\n\n // Timezone\n case 'XXXXX':\n case 'XXXX':\n case 'XXX':\n case 'XX':\n case 'X':\n case 'xxxxx':\n case 'xxxx':\n case 'xxx':\n case 'xx':\n case 'x':\n return formatTimezoneOffset(zonedDateTime, token);\n case 'zzzz':\n return formatPart(zonedDateTime, 'timeZoneName', 'long', locale);\n case 'zzz':\n case 'zz':\n case 'z':\n return formatPart(zonedDateTime, 'timeZoneName', 'short', locale);\n\n // Timestamps\n case 'T':\n return zonedDateTime.epochMilliseconds.toString();\n case 't':\n return Math.floor(zonedDateTime.epochMilliseconds / 1000).toString();\n\n default:\n return token;\n }\n}\n\nfunction formatPart(\n zonedDateTime: Temporal.ZonedDateTime,\n part:\n | 'era'\n | 'year'\n | 'month'\n | 'weekday'\n | 'day'\n | 'hour'\n | 'minute'\n | 'second'\n | 'timeZoneName',\n style: 'narrow' | 'short' | 'long' | 'numeric' | '2-digit',\n locale: string\n): string {\n const options: Intl.DateTimeFormatOptions = {\n [part]: style,\n timeZone: zonedDateTime.timeZoneId,\n calendar: zonedDateTime.calendarId === 'iso8601' ? undefined : zonedDateTime.calendarId\n };\n return (\n new Intl.DateTimeFormat(locale, options)\n .formatToParts(zonedDateTime.epochMilliseconds)\n .find((value) => value.type === part)?.value ?? ''\n );\n}\n\nfunction getOrdinalSuffix(num: number): string {\n const j = num % 10;\n const k = num % 100;\n if (j === 1 && k !== 11) return 'st';\n if (j === 2 && k !== 12) return 'nd';\n if (j === 3 && k !== 13) return 'rd';\n return 'th';\n}\n\nfunction formatTimezoneOffset(zonedDateTime: Temporal.ZonedDateTime, token: string): string {\n if (token[0] === 'X' && zonedDateTime.offsetNanoseconds === 0) return 'Z';\n\n // Temporal supplies integer HH:mm[:ss] fields. Widths 1–3 omit seconds;\n // widths 4–5 retain them when present, as specified by Unicode date tokens.\n const offset = token.length >= 4 ? zonedDateTime.offset : zonedDateTime.offset.slice(0, 6);\n if (token.length === 1 && offset.endsWith(':00')) return offset.slice(0, 3);\n return token.length === 3 || token.length === 5 ? offset : offset.replaceAll(':', '');\n}\n\n/**\n * Locale-correct day period (AM/PM equivalent) via Intl.formatToParts.\n * Returns the locale's own value, e.g. \"AM\"/\"PM\" (en), \"p. m.\" (es), \"午後\" (ja).\n */\nfunction getDayPeriod(zonedDateTime: Temporal.ZonedDateTime, locale: string): string {\n const parts = new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n hour12: true,\n timeZone: zonedDateTime.timeZoneId\n }).formatToParts(zonedDateTime.epochMilliseconds);\n return parts.find((p) => p.type === 'dayPeriod')?.value ?? '';\n}\n\n/** True when the day-period is recognizably ASCII AM/PM (so English widths apply). */\nfunction isAsciiAmPm(period: string): boolean {\n const normalized = period.toUpperCase().replace(/[.\\s]/g, '');\n return normalized === 'AM' || normalized === 'PM';\n}\n\n/** True for the AM half (only meaningful when isAsciiAmPm is true). */\nfunction isAm(period: string): boolean {\n return period.toUpperCase().replace(/[.\\s]/g, '').startsWith('A');\n}\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-Q6QLOUXJ.js";
3
+ } from "./chunk-UTM7YAT4.js";
4
4
  import {
5
5
  isPlainDate
6
- } from "./chunk-BSVOJYJ7.js";
6
+ } from "./chunk-M4ESIRFH.js";
7
7
 
8
8
  // src/differenceInDays.ts
9
9
  function differenceInDays(laterDate, earlierDate, options) {
@@ -23,4 +23,4 @@ function differenceInDays(laterDate, earlierDate, options) {
23
23
  export {
24
24
  differenceInDays
25
25
  };
26
- //# sourceMappingURL=chunk-JGPTGV5X.js.map
26
+ //# sourceMappingURL=chunk-MRJNMV4A.js.map
@@ -0,0 +1,28 @@
1
+ import {
2
+ plainDateToZonedDateTime
3
+ } from "./chunk-R6CQ6XSS.js";
4
+ import {
5
+ daysIntoWeek
6
+ } from "./chunk-M2XB72L5.js";
7
+ import {
8
+ normalizeTemporalInput
9
+ } from "./chunk-UTM7YAT4.js";
10
+ import {
11
+ isPlainDate
12
+ } from "./chunk-M4ESIRFH.js";
13
+
14
+ // src/startOfWeek.ts
15
+ function startOfWeek(input, timezoneOrOptions, options) {
16
+ const timezone = typeof timezoneOrOptions === "string" ? timezoneOrOptions : void 0;
17
+ const weekOptions = typeof timezoneOrOptions === "string" ? options : timezoneOrOptions;
18
+ if (isPlainDate(input) && timezone === void 0) {
19
+ return input.subtract({ days: daysIntoWeek(input.dayOfWeek, weekOptions) });
20
+ }
21
+ const zonedDateTime = isPlainDate(input) ? plainDateToZonedDateTime(input, timezone) : normalizeTemporalInput(input);
22
+ return zonedDateTime.subtract({ days: daysIntoWeek(zonedDateTime.dayOfWeek, weekOptions) }).startOfDay();
23
+ }
24
+
25
+ export {
26
+ startOfWeek
27
+ };
28
+ //# sourceMappingURL=chunk-MYCH45BC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/startOfWeek.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { plainDateToZonedDateTime } from './shared/plainDateToZonedDateTime';\nimport { daysIntoWeek, type WeekOptions } from './shared/week';\n\n/**\n * Returns the first boundary of the week.\n * Weeks start on Monday (ISO 8601) unless `weekStartsOn` says otherwise.\n * PlainDate inputs stay in calendar space unless a timezone is provided.\n *\n * @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate\n * @param options - `weekStartsOn`: 1 = Monday (default) … 7 = Sunday\n * @returns The first day of the week at 00:00, or that date for PlainDate input\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z'); // Monday\n * const start = startOfWeek(instant);\n * // 2025-01-20T00:00:00+00:00[UTC] (same day, it's already Monday)\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-22T15:30:00-05:00[America/New_York]'); // Wednesday\n * const start = startOfWeek(zoned);\n * // 2025-01-20T00:00:00-05:00[America/New_York] (previous Monday)\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (stays a date)\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const start = startOfWeek(date);\n * // 2025-01-20 (previous Monday)\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate with a timezone (returns a ZonedDateTime)\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const start = startOfWeek(date, 'America/New_York');\n * // 2025-01-20T00:00:00-05:00[America/New_York] (previous Monday)\n * ```\n *\n * @example\n * ```ts\n * // Weeks that start on Sunday\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const start = startOfWeek(date, { weekStartsOn: 7 });\n * // 2025-01-19 (previous Sunday)\n * ```\n */\nexport function startOfWeek(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options?: WeekOptions\n): Temporal.ZonedDateTime;\nexport function startOfWeek(input: Temporal.PlainDate, options?: WeekOptions): Temporal.PlainDate;\nexport function startOfWeek(\n input: Temporal.PlainDate,\n timezone: Timezone,\n options?: WeekOptions\n): Temporal.ZonedDateTime;\nexport function startOfWeek(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezoneOrOptions?: Timezone | WeekOptions,\n options?: WeekOptions\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n const timezone = typeof timezoneOrOptions === 'string' ? timezoneOrOptions : undefined;\n const weekOptions = typeof timezoneOrOptions === 'string' ? options : timezoneOrOptions;\n\n if (isPlainDate(input) && timezone === undefined) {\n return input.subtract({ days: daysIntoWeek(input.dayOfWeek, weekOptions) });\n }\n\n const zonedDateTime = isPlainDate(input)\n ? plainDateToZonedDateTime(input, timezone!)\n : normalizeTemporalInput(input);\n\n return zonedDateTime\n .subtract({ days: daysIntoWeek(zonedDateTime.dayOfWeek, weekOptions) })\n .startOfDay();\n}\n"],"mappings":";;;;;;;;;;;;;;AAiEO,SAAS,YACd,OACA,mBACA,SAC6C;AAC7C,QAAM,WAAW,OAAO,sBAAsB,WAAW,oBAAoB;AAC7E,QAAM,cAAc,OAAO,sBAAsB,WAAW,UAAU;AAEtE,MAAI,YAAY,KAAK,KAAK,aAAa,QAAW;AAChD,WAAO,MAAM,SAAS,EAAE,MAAM,aAAa,MAAM,WAAW,WAAW,EAAE,CAAC;AAAA,EAC5E;AAEA,QAAM,gBAAgB,YAAY,KAAK,IACnC,yBAAyB,OAAO,QAAS,IACzC,uBAAuB,KAAK;AAEhC,SAAO,cACJ,SAAS,EAAE,MAAM,aAAa,cAAc,WAAW,WAAW,EAAE,CAAC,EACrE,WAAW;AAChB;","names":[]}
@@ -0,0 +1,21 @@
1
+ import {
2
+ assertDayOfWeek
3
+ } from "./chunk-M2XB72L5.js";
4
+ import {
5
+ normalizeTemporalInput
6
+ } from "./chunk-UTM7YAT4.js";
7
+ import {
8
+ isPlainDate
9
+ } from "./chunk-M4ESIRFH.js";
10
+
11
+ // src/previousDay.ts
12
+ function previousDay(input, day) {
13
+ assertDayOfWeek(day, "day");
14
+ const value = isPlainDate(input) ? input : normalizeTemporalInput(input);
15
+ return value.subtract({ days: (value.dayOfWeek - day + 6) % 7 + 1 });
16
+ }
17
+
18
+ export {
19
+ previousDay
20
+ };
21
+ //# sourceMappingURL=chunk-MZ26BHHP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/previousDay.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { assertDayOfWeek, type DayOfWeek } from './shared/week';\n\n/**\n * Returns the previous date that falls on the given day of the week, always\n * before the input: previous Monday from a Monday is a week earlier.\n *\n * Days are numbered as Temporal numbers them: 1 = Monday … 7 = Sunday.\n * PlainDate inputs stay dates. Instant inputs are read in UTC and ZonedDateTime\n * inputs keep their timezone; both keep their wall-clock time.\n *\n * @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate\n * @param day - The day of the week to find, 1 = Monday … 7 = Sunday\n * @returns The previous date on that day of the week\n *\n * @example\n * ```ts\n * const wednesday = Temporal.PlainDate.from('2025-01-22');\n *\n * previousDay(wednesday, 1).toString(); // \"2025-01-20\"\n * previousDay(wednesday, 3).toString(); // \"2025-01-15\"\n * previousDay(wednesday, 7).toString(); // \"2025-01-19\"\n * ```\n */\nexport function previousDay(input: Temporal.PlainDate, day: DayOfWeek): Temporal.PlainDate;\nexport function previousDay(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n day: DayOfWeek\n): Temporal.ZonedDateTime;\nexport function previousDay(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n day: DayOfWeek\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n assertDayOfWeek(day, 'day');\n const value = isPlainDate(input) ? input : normalizeTemporalInput(input);\n return value.subtract({ days: ((value.dayOfWeek - day + 6) % 7) + 1 });\n}\n"],"mappings":";;;;;;;;;;;AA8BO,SAAS,YACd,OACA,KAC6C;AAC7C,kBAAgB,KAAK,KAAK;AAC1B,QAAM,QAAQ,YAAY,KAAK,IAAI,QAAQ,uBAAuB,KAAK;AACvE,SAAO,MAAM,SAAS,EAAE,OAAQ,MAAM,YAAY,MAAM,KAAK,IAAK,EAAE,CAAC;AACvE;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Temporal
3
- } from "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-M4ESIRFH.js";
4
4
 
5
5
  // src/isPlainDateEqual.ts
6
6
  function isPlainDateEqual(date1, date2) {
@@ -13,4 +13,4 @@ function isPlainDateEqual(date1, date2) {
13
13
  export {
14
14
  isPlainDateEqual
15
15
  };
16
- //# sourceMappingURL=chunk-EH4GVGXD.js.map
16
+ //# sourceMappingURL=chunk-N5YFRFLA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/isPlainDateEqual.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\n\n/**\n * Returns true if the two plain dates are equal.\n * Compares calendar dates without time or timezone considerations.\n *\n * @param date1 - First plain date\n * @param date2 - Second plain date\n * @returns true if date1 equals date2, false otherwise\n *\n * @example\n * ```ts\n * const jan20a = Temporal.PlainDate.from('2025-01-20');\n * const jan20b = Temporal.PlainDate.from('2025-01-20');\n * const jan25 = Temporal.PlainDate.from('2025-01-25');\n *\n * isPlainDateEqual(jan20a, jan20b); // true\n * isPlainDateEqual(jan20a, jan25); // false\n * ```\n */\nexport function isPlainDateEqual(\n date1: Temporal.PlainDate,\n date2: Temporal.PlainDate\n): boolean {\n // Only foreign objects need conversion; strings retain their calendar annotations.\n return Temporal.PlainDate.compare(\n Temporal.PlainDate.prototype.isPrototypeOf(date1) ? date1 : date1.toString(),\n Temporal.PlainDate.prototype.isPrototypeOf(date2) ? date2 : date2.toString()\n ) === 0;\n}\n"],"mappings":";;;;;AAoBO,SAAS,iBACd,OACA,OACS;AAET,SAAO,SAAS,UAAU;AAAA,IACxB,SAAS,UAAU,UAAU,cAAc,KAAK,IAAI,QAAQ,MAAM,SAAS;AAAA,IAC3E,SAAS,UAAU,UAAU,cAAc,KAAK,IAAI,QAAQ,MAAM,SAAS;AAAA,EAC7E,MAAM;AACR;","names":[]}
1
+ {"version":3,"sources":["../src/isPlainDateEqual.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\n\n/**\n * Returns true if the two plain dates are equal.\n * Compares calendar dates without time or timezone considerations.\n *\n * @param date1 - First plain date\n * @param date2 - Second plain date\n * @returns true if date1 equals date2, false otherwise\n *\n * @example\n * ```ts\n * const jan20a = Temporal.PlainDate.from('2025-01-20');\n * const jan20b = Temporal.PlainDate.from('2025-01-20');\n * const jan25 = Temporal.PlainDate.from('2025-01-25');\n *\n * isPlainDateEqual(jan20a, jan20b); // true\n * isPlainDateEqual(jan20a, jan25); // false\n * ```\n */\nexport function isPlainDateEqual(date1: Temporal.PlainDate, date2: Temporal.PlainDate): boolean {\n // Only foreign objects need conversion; strings retain their calendar annotations.\n return (\n Temporal.PlainDate.compare(\n Temporal.PlainDate.prototype.isPrototypeOf(date1) ? date1 : date1.toString(),\n Temporal.PlainDate.prototype.isPrototypeOf(date2) ? date2 : date2.toString()\n ) === 0\n );\n}\n"],"mappings":";;;;;AAoBO,SAAS,iBAAiB,OAA2B,OAAoC;AAE9F,SACE,SAAS,UAAU;AAAA,IACjB,SAAS,UAAU,UAAU,cAAc,KAAK,IAAI,QAAQ,MAAM,SAAS;AAAA,IAC3E,SAAS,UAAU,UAAU,cAAc,KAAK,IAAI,QAAQ,MAAM,SAAS;AAAA,EAC7E,MAAM;AAEV;","names":[]}
@@ -1,12 +1,12 @@
1
+ import {
2
+ normalizeWithPlainDate
3
+ } from "./chunk-QCIY5PSJ.js";
1
4
  import {
2
5
  quarterStartMonth
3
6
  } from "./chunk-XS2HUADA.js";
4
- import {
5
- normalizeWithPlainDate
6
- } from "./chunk-TCB3IDJM.js";
7
7
  import {
8
8
  isPlainDate
9
- } from "./chunk-BSVOJYJ7.js";
9
+ } from "./chunk-M4ESIRFH.js";
10
10
 
11
11
  // src/startOfQuarter.ts
12
12
  function startOfQuarter(input, timezone) {
@@ -24,4 +24,4 @@ function startOfQuarter(input, timezone) {
24
24
  export {
25
25
  startOfQuarter
26
26
  };
27
- //# sourceMappingURL=chunk-NGS5UKDW.js.map
27
+ //# sourceMappingURL=chunk-OJIV6AKO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/startOfQuarter.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { normalizeWithPlainDate } from './shared/normalizeWithPlainDate';\nimport { quarterStartMonth } from './shared/quarter';\n\n/**\n * Returns a ZonedDateTime representing the first moment of the quarter\n * (first day of the quarter's starting month at midnight).\n *\n * Quarters: Q1 = Jan–Mar, Q2 = Apr–Jun, Q3 = Jul–Sep, Q4 = Oct–Dec.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at the 1st day of the quarter at 00:00:00.000000000\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-05-15T12:00:00Z');\n * const start = startOfQuarter(instant);\n * // 2025-04-01T00:00:00+00:00[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-08-15T15:30:00-04:00[America/New_York]');\n * const start = startOfQuarter(zoned);\n * // 2025-07-01T00:00:00-04:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // From a PlainDate in a timezone\n * const date = Temporal.PlainDate.from('2025-11-15');\n * const start = startOfQuarter(date, 'America/New_York');\n * // 2025-10-01T00:00:00-04:00[America/New_York]\n * ```\n */\nexport function startOfQuarter(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function startOfQuarter(input: Temporal.PlainDate): Temporal.PlainDate;\nexport function startOfQuarter(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function startOfQuarter(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n // PlainDate with no timezone stays in calendar space → first day of quarter.\n if (isPlainDate(input) && timezone === undefined) {\n return input.with({ month: quarterStartMonth(input.month), day: 1 });\n }\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n const firstDay = zonedDateTime.with({\n month: quarterStartMonth(zonedDateTime.month),\n day: 1\n });\n return firstDay.startOfDay();\n}\n"],"mappings":";;;;;;;;;;;AA8CO,SAAS,eACd,OACA,UAC6C;AAE7C,MAAI,YAAY,KAAK,KAAK,aAAa,QAAW;AAChD,WAAO,MAAM,KAAK,EAAE,OAAO,kBAAkB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;AAAA,EACrE;AACA,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,QAAM,WAAW,cAAc,KAAK;AAAA,IAClC,OAAO,kBAAkB,cAAc,KAAK;AAAA,IAC5C,KAAK;AAAA,EACP,CAAC;AACD,SAAO,SAAS,WAAW;AAC7B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-Q6QLOUXJ.js";
3
+ } from "./chunk-UTM7YAT4.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-DBOIK3XA.js.map
15
+ //# sourceMappingURL=chunk-ONTXMGEZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-Q6QLOUXJ.js";
3
+ } from "./chunk-UTM7YAT4.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-YKXRVQ4S.js.map
14
+ //# sourceMappingURL=chunk-OURPZP7V.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  today
3
- } from "./chunk-NL5MQVGD.js";
3
+ } from "./chunk-LKDENGBC.js";
4
4
  import {
5
5
  toPlainDate
6
- } from "./chunk-LQ3EQYIX.js";
6
+ } from "./chunk-BE7CIKP7.js";
7
7
  import {
8
8
  compare
9
- } from "./chunk-OMYVTYHI.js";
9
+ } from "./chunk-DAWWOF5W.js";
10
10
  import {
11
11
  isPlainDate
12
- } from "./chunk-BSVOJYJ7.js";
12
+ } from "./chunk-M4ESIRFH.js";
13
13
 
14
14
  // src/shared/relativeDay.ts
15
15
  function isDaysFromToday(input, timezone, days) {
@@ -20,4 +20,4 @@ function isDaysFromToday(input, timezone, days) {
20
20
  export {
21
21
  isDaysFromToday
22
22
  };
23
- //# sourceMappingURL=chunk-MWUVGTKC.js.map
23
+ //# sourceMappingURL=chunk-OZ5APQB7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  compare
3
- } from "./chunk-OMYVTYHI.js";
3
+ } from "./chunk-DAWWOF5W.js";
4
4
 
5
5
  // src/isBefore.ts
6
6
  function isBefore(date1, date2) {
@@ -10,4 +10,4 @@ function isBefore(date1, date2) {
10
10
  export {
11
11
  isBefore
12
12
  };
13
- //# sourceMappingURL=chunk-OOOVMKOG.js.map
13
+ //# sourceMappingURL=chunk-PCYPESIN.js.map