@gobrand/tiempo 3.1.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/dist/addBusinessDays.d.ts +14 -4
  2. package/dist/addBusinessDays.d.ts.map +1 -1
  3. package/dist/addBusinessDays.js +3 -3
  4. package/dist/addDays.d.ts +2 -2
  5. package/dist/addDays.js +2 -2
  6. package/dist/addHours.d.ts +2 -2
  7. package/dist/addHours.js +2 -2
  8. package/dist/addMicroseconds.d.ts +2 -2
  9. package/dist/addMicroseconds.js +2 -2
  10. package/dist/addMilliseconds.d.ts +2 -2
  11. package/dist/addMilliseconds.js +2 -2
  12. package/dist/addMinutes.d.ts +2 -2
  13. package/dist/addMinutes.js +2 -2
  14. package/dist/addMonths.d.ts +2 -2
  15. package/dist/addMonths.js +2 -2
  16. package/dist/addNanoseconds.d.ts +2 -2
  17. package/dist/addNanoseconds.js +2 -2
  18. package/dist/addQuarters.d.ts +1 -1
  19. package/dist/addQuarters.js +2 -2
  20. package/dist/addSeconds.d.ts +2 -2
  21. package/dist/addSeconds.js +2 -2
  22. package/dist/addWeeks.d.ts +2 -2
  23. package/dist/addWeeks.js +2 -2
  24. package/dist/addYears.d.ts +2 -2
  25. package/dist/addYears.js +2 -2
  26. package/dist/areIntervalsOverlapping.d.ts +60 -0
  27. package/dist/areIntervalsOverlapping.d.ts.map +1 -0
  28. package/dist/areIntervalsOverlapping.js +9 -0
  29. package/dist/areIntervalsOverlapping.js.map +1 -0
  30. package/dist/chunk-2JXI3CAL.js +22 -0
  31. package/dist/chunk-2JXI3CAL.js.map +1 -0
  32. package/dist/{chunk-22IDWEHQ.js → chunk-2LT2XOAL.js} +5 -83
  33. package/dist/chunk-2LT2XOAL.js.map +1 -0
  34. package/dist/{chunk-ETO77GIW.js → chunk-32AWWYBF.js} +2 -2
  35. package/dist/chunk-32AWWYBF.js.map +1 -0
  36. package/dist/{chunk-HQ3YMKQ5.js → chunk-3D4YR2SR.js} +2 -2
  37. package/dist/chunk-3D4YR2SR.js.map +1 -0
  38. package/dist/{chunk-ASIYAAQV.js → chunk-3HD7HEN4.js} +3 -3
  39. package/dist/chunk-3HD7HEN4.js.map +1 -0
  40. package/dist/{chunk-TEL44S5A.js → chunk-3HF4F36S.js} +2 -2
  41. package/dist/{chunk-TEL44S5A.js.map → chunk-3HF4F36S.js.map} +1 -1
  42. package/dist/chunk-3OOGJRXH.js +247 -0
  43. package/dist/chunk-3OOGJRXH.js.map +1 -0
  44. package/dist/{chunk-426MJGNT.js → chunk-3X2U6I44.js} +2 -2
  45. package/dist/chunk-3X2U6I44.js.map +1 -0
  46. package/dist/{chunk-EBQ25TEY.js → chunk-3XGUCQ2A.js} +2 -2
  47. package/dist/chunk-3XGUCQ2A.js.map +1 -0
  48. package/dist/chunk-42IFQS4W.js +16 -0
  49. package/dist/chunk-42IFQS4W.js.map +1 -0
  50. package/dist/{chunk-R3PZ56AD.js → chunk-4FQCY75E.js} +5 -5
  51. package/dist/chunk-4FQCY75E.js.map +1 -0
  52. package/dist/{chunk-TWRJEIBO.js → chunk-4GEF7B7W.js} +2 -2
  53. package/dist/{chunk-V36MCE25.js → chunk-4KAIF44F.js} +2 -2
  54. package/dist/chunk-4KAIF44F.js.map +1 -0
  55. package/dist/{chunk-YHQSI4WC.js → chunk-4VWUTQKP.js} +2 -2
  56. package/dist/chunk-4VWUTQKP.js.map +1 -0
  57. package/dist/chunk-4YCEFGZA.js +61 -0
  58. package/dist/chunk-4YCEFGZA.js.map +1 -0
  59. package/dist/{chunk-SUONQGAH.js → chunk-525OLFRD.js} +2 -2
  60. package/dist/{chunk-PYV7MWJJ.js → chunk-5WHGX2J3.js} +2 -2
  61. package/dist/chunk-5WHGX2J3.js.map +1 -0
  62. package/dist/{chunk-NKXMLC6T.js → chunk-67XABEBT.js} +2 -2
  63. package/dist/chunk-67XABEBT.js.map +1 -0
  64. package/dist/{chunk-TUZHOWSN.js → chunk-6QH4NCPA.js} +2 -2
  65. package/dist/{chunk-TUZHOWSN.js.map → chunk-6QH4NCPA.js.map} +1 -1
  66. package/dist/{chunk-5XJEKPO5.js → chunk-6QOLNYFY.js} +2 -2
  67. package/dist/chunk-6UBFKQIJ.js +20 -0
  68. package/dist/chunk-6UBFKQIJ.js.map +1 -0
  69. package/dist/{chunk-WY5I452J.js → chunk-7IKCDOCT.js} +2 -2
  70. package/dist/chunk-7IKCDOCT.js.map +1 -0
  71. package/dist/{chunk-5MB7UZCJ.js → chunk-7NGP7SAD.js} +2 -2
  72. package/dist/chunk-7NGP7SAD.js.map +1 -0
  73. package/dist/chunk-7PH5BPMS.js +14 -0
  74. package/dist/chunk-7PH5BPMS.js.map +1 -0
  75. package/dist/{chunk-NYM3EW3M.js → chunk-AUOZACFS.js} +2 -2
  76. package/dist/chunk-AUOZACFS.js.map +1 -0
  77. package/dist/{chunk-XXB6HJ2R.js → chunk-BI42E23Z.js} +3 -3
  78. package/dist/{chunk-5WPQUOM4.js → chunk-BPMS34GV.js} +2 -2
  79. package/dist/chunk-BPMS34GV.js.map +1 -0
  80. package/dist/chunk-C7QA4J6V.js +14 -0
  81. package/dist/chunk-C7QA4J6V.js.map +1 -0
  82. package/dist/{chunk-W5FFJSCD.js → chunk-DBOIK3XA.js} +2 -2
  83. package/dist/chunk-DBOIK3XA.js.map +1 -0
  84. package/dist/{chunk-FLVULRGY.js → chunk-DGUAV5XN.js} +2 -2
  85. package/dist/{chunk-23APOESH.js → chunk-DRBZDI52.js} +2 -2
  86. package/dist/{chunk-23APOESH.js.map → chunk-DRBZDI52.js.map} +1 -1
  87. package/dist/chunk-DVZDJ5LM.js +33 -0
  88. package/dist/chunk-DVZDJ5LM.js.map +1 -0
  89. package/dist/{chunk-JWYRXPR4.js → chunk-DYIISNVW.js} +15 -13
  90. package/dist/chunk-DYIISNVW.js.map +1 -0
  91. package/dist/{chunk-HSJMG5T7.js → chunk-DZ3647ZK.js} +2 -2
  92. package/dist/{chunk-HSJMG5T7.js.map → chunk-DZ3647ZK.js.map} +1 -1
  93. package/dist/{chunk-LKF7U4O4.js → chunk-EAO2SO4N.js} +2 -2
  94. package/dist/{chunk-LKF7U4O4.js.map → chunk-EAO2SO4N.js.map} +1 -1
  95. package/dist/{chunk-2OSJHJV5.js → chunk-EBOLL4LY.js} +2 -2
  96. package/dist/{chunk-AVPV4BA5.js → chunk-F3UZDWOQ.js} +2 -2
  97. package/dist/chunk-F3UZDWOQ.js.map +1 -0
  98. package/dist/{chunk-QD3ROUIT.js → chunk-GOJ45AG7.js} +3 -3
  99. package/dist/{chunk-SLBDEPBP.js → chunk-GU3CZAIN.js} +2 -2
  100. package/dist/{chunk-5ST6IOPN.js → chunk-GXSVYUCG.js} +2 -2
  101. package/dist/chunk-GXSVYUCG.js.map +1 -0
  102. package/dist/chunk-H43LMOCK.js +26 -0
  103. package/dist/chunk-H43LMOCK.js.map +1 -0
  104. package/dist/{chunk-B6VZ2AKN.js → chunk-HCORON7B.js} +2 -2
  105. package/dist/chunk-HCORON7B.js.map +1 -0
  106. package/dist/chunk-HH2HTC44.js +87 -0
  107. package/dist/chunk-HH2HTC44.js.map +1 -0
  108. package/dist/{chunk-FL33IWLY.js → chunk-HRCTWTP3.js} +2 -2
  109. package/dist/chunk-HRCTWTP3.js.map +1 -0
  110. package/dist/{chunk-FUVG6A7U.js → chunk-HYSGJJUR.js} +2 -2
  111. package/dist/chunk-HYSGJJUR.js.map +1 -0
  112. package/dist/chunk-IDB3R3G5.js +21 -0
  113. package/dist/chunk-IDB3R3G5.js.map +1 -0
  114. package/dist/chunk-IIEHQPKE.js +36 -0
  115. package/dist/chunk-IIEHQPKE.js.map +1 -0
  116. package/dist/{chunk-C5OJIIJP.js → chunk-IWVSM77B.js} +2 -2
  117. package/dist/{chunk-C5OJIIJP.js.map → chunk-IWVSM77B.js.map} +1 -1
  118. package/dist/{chunk-XIVWFVVX.js → chunk-IXNGK5OF.js} +2 -2
  119. package/dist/{chunk-XIVWFVVX.js.map → chunk-IXNGK5OF.js.map} +1 -1
  120. package/dist/{chunk-XR7Q6IP6.js → chunk-JA5ER27P.js} +2 -2
  121. package/dist/{chunk-E5HJJFUI.js → chunk-JGPTGV5X.js} +2 -2
  122. package/dist/{chunk-4E5OJUMN.js → chunk-K3L6MJJB.js} +2 -2
  123. package/dist/{chunk-4E5OJUMN.js.map → chunk-K3L6MJJB.js.map} +1 -1
  124. package/dist/{chunk-MCPKXTX7.js → chunk-K6NQZIAW.js} +2 -2
  125. package/dist/chunk-K6NQZIAW.js.map +1 -0
  126. package/dist/{chunk-RQ5CX67T.js → chunk-K7SY2MAX.js} +10 -4
  127. package/dist/chunk-K7SY2MAX.js.map +1 -0
  128. package/dist/{chunk-XZS6J4LM.js → chunk-KYS54PLJ.js} +2 -2
  129. package/dist/chunk-KYS54PLJ.js.map +1 -0
  130. package/dist/{chunk-2LN57UVR.js → chunk-KZCSP3DU.js} +2 -2
  131. package/dist/chunk-KZYWHHAQ.js +19 -0
  132. package/dist/chunk-KZYWHHAQ.js.map +1 -0
  133. package/dist/{chunk-35IJG3T2.js → chunk-LMOAA73F.js} +2 -2
  134. package/dist/chunk-M2XB72L5.js +17 -0
  135. package/dist/chunk-M2XB72L5.js.map +1 -0
  136. package/dist/{chunk-NNUATTN7.js → chunk-MVGBYHG5.js} +2 -2
  137. package/dist/{chunk-NNUATTN7.js.map → chunk-MVGBYHG5.js.map} +1 -1
  138. package/dist/{chunk-FAVYJIRM.js → chunk-NOWUJERX.js} +2 -2
  139. package/dist/chunk-NOWUJERX.js.map +1 -0
  140. package/dist/{chunk-O4YU4N6Q.js → chunk-NVFFQJEW.js} +3 -3
  141. package/dist/{chunk-OYTQWJ2O.js → chunk-OEPVYNB6.js} +2 -2
  142. package/dist/{chunk-T775UWIV.js → chunk-OF5YEVUT.js} +2 -2
  143. package/dist/chunk-OF5YEVUT.js.map +1 -0
  144. package/dist/chunk-OMUK2MOH.js +19 -0
  145. package/dist/chunk-OMUK2MOH.js.map +1 -0
  146. package/dist/{chunk-5FCHKIGV.js → chunk-PAM6VJQM.js} +2 -2
  147. package/dist/chunk-PLPGYCQQ.js +28 -0
  148. package/dist/chunk-PLPGYCQQ.js.map +1 -0
  149. package/dist/chunk-Q6QLOUXJ.js +18 -0
  150. package/dist/chunk-Q6QLOUXJ.js.map +1 -0
  151. package/dist/{chunk-YR26F7OA.js → chunk-QDY2KMYX.js} +2 -2
  152. package/dist/chunk-QDY2KMYX.js.map +1 -0
  153. package/dist/{chunk-NRYKSDVP.js → chunk-QNZJR53W.js} +2 -2
  154. package/dist/chunk-QNZJR53W.js.map +1 -0
  155. package/dist/{chunk-44EIUFJB.js → chunk-QZ6WXAUO.js} +2 -2
  156. package/dist/chunk-QZ6WXAUO.js.map +1 -0
  157. package/dist/{chunk-ZO2MTD2E.js → chunk-R2DCUSBY.js} +2 -2
  158. package/dist/chunk-R2DCUSBY.js.map +1 -0
  159. package/dist/{chunk-DXSRRBJO.js → chunk-R5XRTUWH.js} +2 -2
  160. package/dist/chunk-R5XRTUWH.js.map +1 -0
  161. package/dist/chunk-R6D3Y5NV.js +17 -0
  162. package/dist/chunk-R6D3Y5NV.js.map +1 -0
  163. package/dist/{chunk-AA56LFMF.js → chunk-SHKSAHJO.js} +2 -2
  164. package/dist/chunk-SHKSAHJO.js.map +1 -0
  165. package/dist/{chunk-33MHEBQR.js → chunk-SLH6TKGN.js} +2 -2
  166. package/dist/{chunk-33MHEBQR.js.map → chunk-SLH6TKGN.js.map} +1 -1
  167. package/dist/{chunk-2MFBXSTL.js → chunk-TCB3IDJM.js} +2 -2
  168. package/dist/{chunk-DHVGDIIO.js → chunk-TD6MVGV2.js} +2 -2
  169. package/dist/{chunk-PU6PU2JM.js → chunk-TI6WBLCB.js} +2 -2
  170. package/dist/chunk-TI6WBLCB.js.map +1 -0
  171. package/dist/{chunk-SXR2SO42.js → chunk-TIZJRCAA.js} +2 -2
  172. package/dist/chunk-TIZJRCAA.js.map +1 -0
  173. package/dist/{chunk-MXUGDXSG.js → chunk-TU3LNQKW.js} +2 -2
  174. package/dist/chunk-U6VFT2A5.js +14 -0
  175. package/dist/chunk-U6VFT2A5.js.map +1 -0
  176. package/dist/{chunk-NST7NM5Q.js → chunk-X27XGVCT.js} +2 -2
  177. package/dist/chunk-XMEPH226.js +21 -0
  178. package/dist/chunk-XMEPH226.js.map +1 -0
  179. package/dist/{chunk-D3BJEYTR.js → chunk-XSHFR2SX.js} +2 -2
  180. package/dist/{chunk-DCZDGS5G.js → chunk-Y24VUXMX.js} +2 -2
  181. package/dist/chunk-Y24VUXMX.js.map +1 -0
  182. package/dist/{chunk-XTS6LZBP.js → chunk-YKXRVQ4S.js} +2 -2
  183. package/dist/chunk-YKXRVQ4S.js.map +1 -0
  184. package/dist/{chunk-5KVFPVBT.js → chunk-ZNRTNR2Q.js} +4 -4
  185. package/dist/chunk-ZNRTNR2Q.js.map +1 -0
  186. package/dist/{chunk-3IYGWL34.js → chunk-ZW32E6EJ.js} +9 -9
  187. package/dist/{chunk-WJZHUNF5.js → chunk-ZXKU4SKR.js} +2 -2
  188. package/dist/chunk-ZXKU4SKR.js.map +1 -0
  189. package/dist/differenceInBusinessDays.d.ts +7 -5
  190. package/dist/differenceInBusinessDays.d.ts.map +1 -1
  191. package/dist/differenceInBusinessDays.js +3 -3
  192. package/dist/differenceInCalendarDays.d.ts +35 -0
  193. package/dist/differenceInCalendarDays.d.ts.map +1 -0
  194. package/dist/differenceInCalendarDays.js +10 -0
  195. package/dist/differenceInCalendarDays.js.map +1 -0
  196. package/dist/differenceInCalendarMonths.d.ts +27 -0
  197. package/dist/differenceInCalendarMonths.d.ts.map +1 -0
  198. package/dist/differenceInCalendarMonths.js +10 -0
  199. package/dist/differenceInCalendarMonths.js.map +1 -0
  200. package/dist/differenceInCalendarQuarters.d.ts +26 -0
  201. package/dist/differenceInCalendarQuarters.d.ts.map +1 -0
  202. package/dist/differenceInCalendarQuarters.js +11 -0
  203. package/dist/differenceInCalendarQuarters.js.map +1 -0
  204. package/dist/differenceInCalendarWeeks.d.ts +29 -0
  205. package/dist/differenceInCalendarWeeks.d.ts.map +1 -0
  206. package/dist/differenceInCalendarWeeks.js +11 -0
  207. package/dist/differenceInCalendarWeeks.js.map +1 -0
  208. package/dist/differenceInCalendarYears.d.ts +27 -0
  209. package/dist/differenceInCalendarYears.d.ts.map +1 -0
  210. package/dist/differenceInCalendarYears.js +10 -0
  211. package/dist/differenceInCalendarYears.js.map +1 -0
  212. package/dist/differenceInDays.js +2 -2
  213. package/dist/differenceInHours.js +2 -2
  214. package/dist/differenceInMicroseconds.js +2 -2
  215. package/dist/differenceInMilliseconds.js +2 -2
  216. package/dist/differenceInMinutes.js +2 -2
  217. package/dist/differenceInMonths.js +2 -2
  218. package/dist/differenceInNanoseconds.js +2 -2
  219. package/dist/differenceInQuarters.js +3 -3
  220. package/dist/differenceInSeconds.js +2 -2
  221. package/dist/differenceInWeeks.js +2 -2
  222. package/dist/differenceInYears.js +2 -2
  223. package/dist/eachDayOfInterval.d.ts +12 -12
  224. package/dist/eachDayOfInterval.js +3 -3
  225. package/dist/eachHourOfInterval.d.ts +14 -14
  226. package/dist/eachHourOfInterval.js +2 -2
  227. package/dist/eachMinuteOfInterval.d.ts +13 -13
  228. package/dist/eachMinuteOfInterval.js +2 -2
  229. package/dist/eachMonthOfInterval.d.ts +12 -12
  230. package/dist/eachMonthOfInterval.js +2 -2
  231. package/dist/eachQuarterOfInterval.d.ts +2 -2
  232. package/dist/eachQuarterOfInterval.js +2 -2
  233. package/dist/eachWeekOfInterval.d.ts +21 -19
  234. package/dist/eachWeekOfInterval.d.ts.map +1 -1
  235. package/dist/eachWeekOfInterval.js +3 -2
  236. package/dist/eachYearOfInterval.d.ts +9 -9
  237. package/dist/eachYearOfInterval.js +2 -2
  238. package/dist/endOfDay.d.ts +1 -1
  239. package/dist/endOfDay.js +3 -3
  240. package/dist/endOfMonth.d.ts +1 -1
  241. package/dist/endOfMonth.js +3 -3
  242. package/dist/endOfQuarter.d.ts +2 -2
  243. package/dist/endOfQuarter.js +4 -4
  244. package/dist/endOfWeek.d.ts +18 -8
  245. package/dist/endOfWeek.d.ts.map +1 -1
  246. package/dist/endOfWeek.js +3 -2
  247. package/dist/endOfYear.d.ts +1 -1
  248. package/dist/endOfYear.js +3 -3
  249. package/dist/format.d.ts.map +1 -1
  250. package/dist/format.js +3 -2
  251. package/dist/getQuarter.js +2 -2
  252. package/dist/index.d.ts +10 -0
  253. package/dist/index.d.ts.map +1 -1
  254. package/dist/index.js +169 -130
  255. package/dist/intlFormatDistance.js +9 -9
  256. package/dist/isFuture.js +3 -3
  257. package/dist/isPast.js +3 -3
  258. package/dist/isSameDay.d.ts +4 -4
  259. package/dist/isSameDay.js +2 -2
  260. package/dist/isSameHour.d.ts +4 -4
  261. package/dist/isSameHour.js +2 -2
  262. package/dist/isSameMicrosecond.d.ts +4 -4
  263. package/dist/isSameMicrosecond.js +2 -2
  264. package/dist/isSameMillisecond.d.ts +4 -4
  265. package/dist/isSameMillisecond.js +2 -2
  266. package/dist/isSameMinute.d.ts +4 -4
  267. package/dist/isSameMinute.js +2 -2
  268. package/dist/isSameMonth.d.ts +4 -4
  269. package/dist/isSameMonth.js +2 -2
  270. package/dist/isSameNanosecond.d.ts +4 -4
  271. package/dist/isSameNanosecond.js +2 -2
  272. package/dist/isSameQuarter.d.ts +2 -2
  273. package/dist/isSameQuarter.js +2 -2
  274. package/dist/isSameSecond.d.ts +4 -4
  275. package/dist/isSameSecond.js +2 -2
  276. package/dist/isSameWeek.d.ts +22 -13
  277. package/dist/isSameWeek.d.ts.map +1 -1
  278. package/dist/isSameWeek.js +3 -2
  279. package/dist/isSameYear.d.ts +4 -4
  280. package/dist/isSameYear.js +2 -2
  281. package/dist/isWeekend.js +3 -3
  282. package/dist/isWithinInterval.d.ts +52 -17
  283. package/dist/isWithinInterval.d.ts.map +1 -1
  284. package/dist/isWithinInterval.js +4 -3
  285. package/dist/nextDay.d.ts +33 -0
  286. package/dist/nextDay.d.ts.map +1 -0
  287. package/dist/nextDay.js +10 -0
  288. package/dist/nextDay.js.map +1 -0
  289. package/dist/parse.d.ts +57 -0
  290. package/dist/parse.d.ts.map +1 -0
  291. package/dist/parse.js +9 -0
  292. package/dist/parse.js.map +1 -0
  293. package/dist/previousDay.d.ts +26 -0
  294. package/dist/previousDay.d.ts.map +1 -0
  295. package/dist/previousDay.js +10 -0
  296. package/dist/previousDay.js.map +1 -0
  297. package/dist/roundToNearestHour.js +2 -2
  298. package/dist/roundToNearestMinute.js +2 -2
  299. package/dist/roundToNearestSecond.js +2 -2
  300. package/dist/shared/businessDays.d.ts +15 -0
  301. package/dist/shared/businessDays.d.ts.map +1 -1
  302. package/dist/shared/businessDays.js +8 -4
  303. package/dist/shared/calendarDates.d.ts +9 -0
  304. package/dist/shared/calendarDates.d.ts.map +1 -0
  305. package/dist/shared/calendarDates.js +9 -0
  306. package/dist/shared/calendarDates.js.map +1 -0
  307. package/dist/shared/formatTokens.d.ts +8 -0
  308. package/dist/shared/formatTokens.d.ts.map +1 -0
  309. package/dist/shared/formatTokens.js +7 -0
  310. package/dist/shared/formatTokens.js.map +1 -0
  311. package/dist/shared/normalizeTemporalInput.d.ts +2 -0
  312. package/dist/shared/normalizeTemporalInput.d.ts.map +1 -1
  313. package/dist/shared/normalizeTemporalInput.js +1 -1
  314. package/dist/shared/normalizeWithPlainDate.js +2 -2
  315. package/dist/shared/nowZoned.js +2 -2
  316. package/dist/shared/week.d.ts +26 -0
  317. package/dist/shared/week.d.ts.map +1 -0
  318. package/dist/shared/week.js +9 -0
  319. package/dist/shared/week.js.map +1 -0
  320. package/dist/startOfDay.d.ts +1 -1
  321. package/dist/startOfDay.js +3 -3
  322. package/dist/startOfMonth.d.ts +1 -1
  323. package/dist/startOfMonth.js +3 -3
  324. package/dist/startOfQuarter.d.ts +2 -2
  325. package/dist/startOfQuarter.js +4 -4
  326. package/dist/startOfWeek.d.ts +18 -8
  327. package/dist/startOfWeek.d.ts.map +1 -1
  328. package/dist/startOfWeek.js +3 -2
  329. package/dist/startOfYear.d.ts +1 -1
  330. package/dist/startOfYear.js +3 -3
  331. package/dist/subBusinessDays.d.ts +6 -4
  332. package/dist/subBusinessDays.d.ts.map +1 -1
  333. package/dist/subBusinessDays.js +4 -4
  334. package/dist/subDays.d.ts +1 -1
  335. package/dist/subDays.js +3 -3
  336. package/dist/subHours.d.ts +1 -1
  337. package/dist/subHours.js +3 -3
  338. package/dist/subMicroseconds.d.ts +1 -1
  339. package/dist/subMicroseconds.js +3 -3
  340. package/dist/subMilliseconds.d.ts +1 -1
  341. package/dist/subMilliseconds.js +3 -3
  342. package/dist/subMinutes.d.ts +1 -1
  343. package/dist/subMinutes.js +3 -3
  344. package/dist/subMonths.d.ts +1 -1
  345. package/dist/subMonths.js +3 -3
  346. package/dist/subNanoseconds.d.ts +1 -1
  347. package/dist/subNanoseconds.js +3 -3
  348. package/dist/subQuarters.d.ts +1 -1
  349. package/dist/subQuarters.js +3 -3
  350. package/dist/subSeconds.d.ts +1 -1
  351. package/dist/subSeconds.js +3 -3
  352. package/dist/subWeeks.d.ts +1 -1
  353. package/dist/subWeeks.js +3 -3
  354. package/dist/subYears.d.ts +1 -1
  355. package/dist/subYears.js +3 -3
  356. package/package.json +1 -1
  357. package/dist/chunk-22IDWEHQ.js.map +0 -1
  358. package/dist/chunk-426MJGNT.js.map +0 -1
  359. package/dist/chunk-44EIUFJB.js.map +0 -1
  360. package/dist/chunk-5KVFPVBT.js.map +0 -1
  361. package/dist/chunk-5MB7UZCJ.js.map +0 -1
  362. package/dist/chunk-5ST6IOPN.js.map +0 -1
  363. package/dist/chunk-5WPQUOM4.js.map +0 -1
  364. package/dist/chunk-AA56LFMF.js.map +0 -1
  365. package/dist/chunk-ASIYAAQV.js.map +0 -1
  366. package/dist/chunk-AVPV4BA5.js.map +0 -1
  367. package/dist/chunk-B6VZ2AKN.js.map +0 -1
  368. package/dist/chunk-DCZDGS5G.js.map +0 -1
  369. package/dist/chunk-DXSRRBJO.js.map +0 -1
  370. package/dist/chunk-EBQ25TEY.js.map +0 -1
  371. package/dist/chunk-ETO77GIW.js.map +0 -1
  372. package/dist/chunk-FAVYJIRM.js.map +0 -1
  373. package/dist/chunk-FL33IWLY.js.map +0 -1
  374. package/dist/chunk-FUVG6A7U.js.map +0 -1
  375. package/dist/chunk-H544BC2X.js +0 -16
  376. package/dist/chunk-H544BC2X.js.map +0 -1
  377. package/dist/chunk-HQ3YMKQ5.js.map +0 -1
  378. package/dist/chunk-ITQ6OJAL.js +0 -26
  379. package/dist/chunk-ITQ6OJAL.js.map +0 -1
  380. package/dist/chunk-JNAWZ4RN.js +0 -13
  381. package/dist/chunk-JNAWZ4RN.js.map +0 -1
  382. package/dist/chunk-JWYRXPR4.js.map +0 -1
  383. package/dist/chunk-MCPKXTX7.js.map +0 -1
  384. package/dist/chunk-NKXMLC6T.js.map +0 -1
  385. package/dist/chunk-NRYKSDVP.js.map +0 -1
  386. package/dist/chunk-NYM3EW3M.js.map +0 -1
  387. package/dist/chunk-PU6PU2JM.js.map +0 -1
  388. package/dist/chunk-PYV7MWJJ.js.map +0 -1
  389. package/dist/chunk-R3PZ56AD.js.map +0 -1
  390. package/dist/chunk-RQ5CX67T.js.map +0 -1
  391. package/dist/chunk-SATEE2TL.js +0 -15
  392. package/dist/chunk-SATEE2TL.js.map +0 -1
  393. package/dist/chunk-SMMVTXL4.js +0 -22
  394. package/dist/chunk-SMMVTXL4.js.map +0 -1
  395. package/dist/chunk-SXR2SO42.js.map +0 -1
  396. package/dist/chunk-T775UWIV.js.map +0 -1
  397. package/dist/chunk-V36MCE25.js.map +0 -1
  398. package/dist/chunk-W27GPK6Q.js +0 -29
  399. package/dist/chunk-W27GPK6Q.js.map +0 -1
  400. package/dist/chunk-W5FFJSCD.js.map +0 -1
  401. package/dist/chunk-WJZHUNF5.js.map +0 -1
  402. package/dist/chunk-WY5I452J.js.map +0 -1
  403. package/dist/chunk-XTS6LZBP.js.map +0 -1
  404. package/dist/chunk-XZS6J4LM.js.map +0 -1
  405. package/dist/chunk-YHQSI4WC.js.map +0 -1
  406. package/dist/chunk-YR26F7OA.js.map +0 -1
  407. package/dist/chunk-Z7I7YCKN.js +0 -36
  408. package/dist/chunk-Z7I7YCKN.js.map +0 -1
  409. package/dist/chunk-ZO2MTD2E.js.map +0 -1
  410. package/dist/chunk-ZYRUL5E7.js +0 -22
  411. package/dist/chunk-ZYRUL5E7.js.map +0 -1
  412. /package/dist/{chunk-TWRJEIBO.js.map → chunk-4GEF7B7W.js.map} +0 -0
  413. /package/dist/{chunk-SUONQGAH.js.map → chunk-525OLFRD.js.map} +0 -0
  414. /package/dist/{chunk-5XJEKPO5.js.map → chunk-6QOLNYFY.js.map} +0 -0
  415. /package/dist/{chunk-XXB6HJ2R.js.map → chunk-BI42E23Z.js.map} +0 -0
  416. /package/dist/{chunk-FLVULRGY.js.map → chunk-DGUAV5XN.js.map} +0 -0
  417. /package/dist/{chunk-2OSJHJV5.js.map → chunk-EBOLL4LY.js.map} +0 -0
  418. /package/dist/{chunk-QD3ROUIT.js.map → chunk-GOJ45AG7.js.map} +0 -0
  419. /package/dist/{chunk-SLBDEPBP.js.map → chunk-GU3CZAIN.js.map} +0 -0
  420. /package/dist/{chunk-XR7Q6IP6.js.map → chunk-JA5ER27P.js.map} +0 -0
  421. /package/dist/{chunk-E5HJJFUI.js.map → chunk-JGPTGV5X.js.map} +0 -0
  422. /package/dist/{chunk-2LN57UVR.js.map → chunk-KZCSP3DU.js.map} +0 -0
  423. /package/dist/{chunk-35IJG3T2.js.map → chunk-LMOAA73F.js.map} +0 -0
  424. /package/dist/{chunk-O4YU4N6Q.js.map → chunk-NVFFQJEW.js.map} +0 -0
  425. /package/dist/{chunk-OYTQWJ2O.js.map → chunk-OEPVYNB6.js.map} +0 -0
  426. /package/dist/{chunk-5FCHKIGV.js.map → chunk-PAM6VJQM.js.map} +0 -0
  427. /package/dist/{chunk-2MFBXSTL.js.map → chunk-TCB3IDJM.js.map} +0 -0
  428. /package/dist/{chunk-DHVGDIIO.js.map → chunk-TD6MVGV2.js.map} +0 -0
  429. /package/dist/{chunk-MXUGDXSG.js.map → chunk-TU3LNQKW.js.map} +0 -0
  430. /package/dist/{chunk-NST7NM5Q.js.map → chunk-X27XGVCT.js.map} +0 -0
  431. /package/dist/{chunk-D3BJEYTR.js.map → chunk-XSHFR2SX.js.map} +0 -0
  432. /package/dist/{chunk-3IYGWL34.js.map → chunk-ZW32E6EJ.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-XS2HUADA.js";
4
4
  import {
5
5
  normalizeTemporalInput
6
- } from "./chunk-JNAWZ4RN.js";
6
+ } from "./chunk-Q6QLOUXJ.js";
7
7
  import {
8
8
  isPlainDate
9
9
  } from "./chunk-BSVOJYJ7.js";
@@ -17,4 +17,4 @@ function getQuarter(input) {
17
17
  export {
18
18
  getQuarter
19
19
  };
20
- //# sourceMappingURL=chunk-SUONQGAH.js.map
20
+ //# sourceMappingURL=chunk-525OLFRD.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.js";
4
4
 
5
5
  // src/isSameSecond.ts
6
6
  function isSameSecond(date1, date2) {
@@ -12,4 +12,4 @@ function isSameSecond(date1, date2) {
12
12
  export {
13
13
  isSameSecond
14
14
  };
15
- //# sourceMappingURL=chunk-PYV7MWJJ.js.map
15
+ //# sourceMappingURL=chunk-5WHGX2J3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/isSameSecond.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Returns true if both datetimes fall in the same second.\n * Compares the year, month, day, hour, minute, and second fields directly.\n * Ignores sub-second precision (milliseconds, microseconds, nanoseconds).\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 in the same second, false otherwise\n *\n * @example\n * ```ts\n * // Same timezone, same second\n * const time1 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.000+00:00[UTC]');\n * const time2 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.999+00:00[UTC]');\n *\n * isSameSecond(time1, time2); // true\n * ```\n *\n * @example\n * ```ts\n * // Same timezone, different seconds\n * const sec45 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45+00:00[UTC]');\n * const sec46 = Temporal.ZonedDateTime.from('2025-01-20T14:30:46+00:00[UTC]');\n *\n * isSameSecond(sec45, sec46); // false\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares their local seconds\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T04:30:45.987+09:00[Asia/Tokyo]');\n *\n * // Same instant, different local seconds from each person's perspective\n * isSameSecond(ny, tokyo); // false (14:30:45 in NY, 04:30:45 in Tokyo)\n *\n * // Convert to UTC to compare in UTC timezone\n * isSameSecond(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 19:30:45 in UTC)\n *\n * // Convert to NY timezone to compare from NY perspective\n * isSameSecond(ny, tokyo.withTimeZone('America/New_York')); // true (both 14:30:45 in NY)\n * ```\n *\n * @example\n * ```ts\n * // Instant inputs are converted to UTC\n * const instant1 = Temporal.Instant.from('2025-01-20T14:30:45.123Z');\n * const instant2 = Temporal.Instant.from('2025-01-20T14:30:45.999Z');\n *\n * isSameSecond(instant1, instant2); // true (both 14:30:45 in UTC)\n * ```\n */\nexport function isSameSecond(\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 zoned1.hour === zoned2.hour &&\n zoned1.minute === zoned2.minute &&\n zoned1.second === zoned2.second\n );\n}\n"],"mappings":";;;;;AA2DO,SAAS,aACd,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,OACtB,OAAO,SAAS,OAAO,QACvB,OAAO,WAAW,OAAO,UACzB,OAAO,WAAW,OAAO;AAE7B;","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-ADPVFELS.js";
7
7
  import {
8
8
  normalizeTemporalInput
9
- } from "./chunk-JNAWZ4RN.js";
9
+ } from "./chunk-Q6QLOUXJ.js";
10
10
  import {
11
11
  Temporal,
12
12
  isPlainDate
@@ -53,4 +53,4 @@ function eachYearOfInterval(interval) {
53
53
  export {
54
54
  eachYearOfInterval
55
55
  };
56
- //# sourceMappingURL=chunk-NKXMLC6T.js.map
56
+ //# sourceMappingURL=chunk-67XABEBT.js.map
@@ -0,0 +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,6 +1,6 @@
1
1
  import {
2
2
  addMilliseconds
3
- } from "./chunk-NYM3EW3M.js";
3
+ } from "./chunk-AUOZACFS.js";
4
4
 
5
5
  // src/subMilliseconds.ts
6
6
  function subMilliseconds(input, milliseconds) {
@@ -10,4 +10,4 @@ function subMilliseconds(input, milliseconds) {
10
10
  export {
11
11
  subMilliseconds
12
12
  };
13
- //# sourceMappingURL=chunk-TUZHOWSN.js.map
13
+ //# sourceMappingURL=chunk-6QH4NCPA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/subMilliseconds.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { addMilliseconds } from './addMilliseconds';\n\n/**\n * Subtracts the specified number of milliseconds from a datetime.\n *\n * This is a convenience wrapper around addMilliseconds with negated value.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param milliseconds - Number of milliseconds to subtract\n * @returns ZonedDateTime with milliseconds subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00.500Z');\n * const result = subMilliseconds(instant, 250);\n * // 2025-01-20T12:00:00.250Z[UTC] (250 milliseconds earlier)\n * ```\n */\nexport function subMilliseconds(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n milliseconds: number\n): Temporal.ZonedDateTime {\n return addMilliseconds(input, -milliseconds);\n}\n"],"mappings":";;;;;AAmBO,SAAS,gBACd,OACA,cACwB;AACxB,SAAO,gBAAgB,OAAO,CAAC,YAAY;AAC7C;","names":[]}
1
+ {"version":3,"sources":["../src/subMilliseconds.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { addMilliseconds } from './addMilliseconds';\n\n/**\n * Subtracts the specified number of milliseconds from a datetime.\n *\n * This is a convenience wrapper around addMilliseconds with negated value.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param milliseconds - Number of milliseconds to subtract\n * @returns ZonedDateTime with milliseconds subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00.500Z');\n * const result = subMilliseconds(instant, 250);\n * // 2025-01-20T12:00:00.250+00:00[UTC] (250 milliseconds earlier)\n * ```\n */\nexport function subMilliseconds(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n milliseconds: number\n): Temporal.ZonedDateTime {\n return addMilliseconds(input, -milliseconds);\n}\n"],"mappings":";;;;;AAmBO,SAAS,gBACd,OACA,cACwB;AACxB,SAAO,gBAAgB,OAAO,CAAC,YAAY;AAC7C;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.js";
4
4
 
5
5
  // src/roundToNearestMinute.ts
6
6
  var MODE_TO_ROUNDING_MODE = {
@@ -22,4 +22,4 @@ function roundToNearestMinute(input, options) {
22
22
  export {
23
23
  roundToNearestMinute
24
24
  };
25
- //# sourceMappingURL=chunk-5XJEKPO5.js.map
25
+ //# sourceMappingURL=chunk-6QOLNYFY.js.map
@@ -0,0 +1,20 @@
1
+ import {
2
+ daysIntoWeek
3
+ } from "./chunk-M2XB72L5.js";
4
+ import {
5
+ normalizeTemporalInput
6
+ } from "./chunk-Q6QLOUXJ.js";
7
+
8
+ // src/isSameWeek.ts
9
+ function isSameWeek(date1, date2, options) {
10
+ const zoned1 = normalizeTemporalInput(date1);
11
+ const zoned2 = normalizeTemporalInput(date2);
12
+ const start1 = zoned1.toPlainDate().subtract({ days: daysIntoWeek(zoned1.dayOfWeek, options) });
13
+ const start2 = zoned2.toPlainDate().subtract({ days: daysIntoWeek(zoned2.dayOfWeek, options) });
14
+ return start1.toString() === start2.withCalendar(start1.calendarId).toString();
15
+ }
16
+
17
+ export {
18
+ isSameWeek
19
+ };
20
+ //# sourceMappingURL=chunk-6UBFKQIJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/isSameWeek.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { daysIntoWeek, type WeekOptions } from './shared/week';\n\n/**\n * Returns true if both datetimes fall in the same week.\n * Weeks start on Monday (ISO 8601) unless `weekStartsOn` says otherwise.\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 * @param options - `weekStartsOn`: 1 = Monday (default) … 7 = Sunday\n * @returns true if both dates are in the same week, false otherwise\n *\n * @example\n * ```ts\n * // Same timezone, same week (both in week 4 of 2025)\n * const monday = Temporal.ZonedDateTime.from('2025-01-20T08:00:00+00:00[UTC]'); // Monday, Week 4\n * const sunday = Temporal.ZonedDateTime.from('2025-01-26T23:59:59+00:00[UTC]'); // Sunday, Week 4\n *\n * isSameWeek(monday, sunday); // true\n * ```\n *\n * @example\n * ```ts\n * // Same timezone, different weeks\n * const week3 = Temporal.ZonedDateTime.from('2025-01-19T23:59:59+00:00[UTC]'); // Sunday, Week 3\n * const week4 = Temporal.ZonedDateTime.from('2025-01-20T00:00:00+00:00[UTC]'); // Monday, Week 4\n *\n * isSameWeek(week3, week4); // false\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares their local calendar weeks\n * const ny = Temporal.ZonedDateTime.from('2025-01-26T23:00:00-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-27T13:00:00+09:00[Asia/Tokyo]');\n *\n * // Same instant, different local weeks from each person's perspective\n * isSameWeek(ny, tokyo); // false (Week 4 Sun in NY, Week 5 Mon in Tokyo)\n *\n * // Convert to UTC to compare in UTC timezone\n * isSameWeek(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both Week 5 in UTC)\n *\n * // Convert to NY timezone to compare from NY perspective\n * isSameWeek(ny, tokyo.withTimeZone('America/New_York')); // true (both Week 4 in NY)\n * ```\n *\n * @example\n * ```ts\n * // Instant inputs are converted to UTC\n * const instant1 = Temporal.Instant.from('2025-01-20T00:00:00Z'); // Monday, Week 4\n * const instant2 = Temporal.Instant.from('2025-01-26T23:59:59Z'); // Sunday, Week 4\n *\n * isSameWeek(instant1, instant2); // true (both Week 4 2025 in UTC)\n * ```\n *\n * @example\n * ```ts\n * // ISO week years can differ from calendar years\n * // December 29, 2024 is in Week 52 of 2024\n * const dec29 = Temporal.ZonedDateTime.from('2024-12-29T12:00:00+00:00[UTC]');\n * // January 5, 2025 is in Week 1 of 2025\n * const jan5 = Temporal.ZonedDateTime.from('2025-01-05T12:00:00+00:00[UTC]');\n *\n * isSameWeek(dec29, jan5); // false (different ISO weeks)\n * ```\n *\n * @example\n * ```ts\n * // Weeks that start on Sunday\n * const saturday = Temporal.ZonedDateTime.from('2025-01-25T12:00:00+00:00[UTC]');\n * const sunday = Temporal.ZonedDateTime.from('2025-01-26T12:00:00+00:00[UTC]');\n *\n * isSameWeek(saturday, sunday); // true\n * isSameWeek(saturday, sunday, { weekStartsOn: 7 }); // false\n * ```\n */\nexport function isSameWeek(\n date1: Temporal.Instant | Temporal.ZonedDateTime,\n date2: Temporal.Instant | Temporal.ZonedDateTime,\n options?: WeekOptions\n): boolean {\n const zoned1 = normalizeTemporalInput(date1);\n const zoned2 = normalizeTemporalInput(date2);\n const start1 = zoned1.toPlainDate().subtract({ days: daysIntoWeek(zoned1.dayOfWeek, options) });\n const start2 = zoned2.toPlainDate().subtract({ days: daysIntoWeek(zoned2.dayOfWeek, options) });\n\n return start1.toString() === start2.withCalendar(start1.calendarId).toString();\n}\n"],"mappings":";;;;;;;;AAiFO,SAAS,WACd,OACA,OACA,SACS;AACT,QAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAM,SAAS,OAAO,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,OAAO,WAAW,OAAO,EAAE,CAAC;AAC9F,QAAM,SAAS,OAAO,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,OAAO,WAAW,OAAO,EAAE,CAAC;AAE9F,SAAO,OAAO,SAAS,MAAM,OAAO,aAAa,OAAO,UAAU,EAAE,SAAS;AAC/E;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.js";
4
4
 
5
5
  // src/addSeconds.ts
6
6
  function addSeconds(input, seconds) {
@@ -11,4 +11,4 @@ function addSeconds(input, seconds) {
11
11
  export {
12
12
  addSeconds
13
13
  };
14
- //# sourceMappingURL=chunk-WY5I452J.js.map
14
+ //# sourceMappingURL=chunk-7IKCDOCT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/addSeconds.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Adds the specified number of seconds to a datetime.\n *\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param seconds - Number of seconds to add (can be negative to subtract)\n * @returns ZonedDateTime with seconds added, in the same timezone as input\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const result = addSeconds(instant, 45);\n * // 2025-01-20T12:00:45+00:00[UTC] (45 seconds later)\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (preserves timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-20T15:30:00-05:00[America/New_York]');\n * const result = addSeconds(zoned, 3600);\n * // 2025-01-20T16:30:00-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // Negative values subtract seconds\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const result = addSeconds(instant, -30);\n * // 2025-01-20T11:59:30+00:00[UTC] (30 seconds earlier)\n * ```\n */\nexport function addSeconds(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n seconds: number\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n return zonedDateTime.add({ seconds });\n}\n"],"mappings":";;;;;AAoCO,SAAS,WACd,OACA,SACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,SAAO,cAAc,IAAI,EAAE,QAAQ,CAAC;AACtC;","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-ADPVFELS.js";
7
7
  import {
8
8
  normalizeTemporalInput
9
- } from "./chunk-JNAWZ4RN.js";
9
+ } from "./chunk-Q6QLOUXJ.js";
10
10
  import {
11
11
  Temporal,
12
12
  isPlainDate
@@ -63,4 +63,4 @@ function eachMonthOfInterval(interval) {
63
63
  export {
64
64
  eachMonthOfInterval
65
65
  };
66
- //# sourceMappingURL=chunk-5MB7UZCJ.js.map
66
+ //# sourceMappingURL=chunk-7NGP7SAD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/eachMonthOfInterval.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 month within the interval.\n * Each element represents the first moment of the month (day 1 at midnight).\n * The interval is inclusive of both start and end months.\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 month in the interval\n *\n * @example\n * ```ts\n * const start = Temporal.ZonedDateTime.from('2025-01-15T10:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-04-20T14:00:00+00:00[UTC]');\n *\n * const months = eachMonthOfInterval({ start, end });\n * // [\n * // 2025-01-01T00:00:00+00:00[UTC],\n * // 2025-02-01T00:00:00+00:00[UTC],\n * // 2025-03-01T00:00:00+00:00[UTC],\n * // 2025-04-01T00:00:00+00:00[UTC]\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // Cross-year boundary\n * const start = Temporal.ZonedDateTime.from('2024-11-15T00:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-02-15T00:00:00+00:00[UTC]');\n *\n * const months = eachMonthOfInterval({ start, end });\n * // [\n * // 2024-11-01T00:00:00+00:00[UTC],\n * // 2024-12-01T00:00:00+00:00[UTC],\n * // 2025-01-01T00:00:00+00:00[UTC],\n * // 2025-02-01T00:00:00+00:00[UTC]\n * // ]\n * ```\n */\nexport function eachMonthOfInterval(interval: {\n start: Temporal.PlainDate;\n end: Temporal.PlainDate;\n}): Temporal.PlainDate[];\nexport function eachMonthOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime;\n end: Temporal.Instant | Temporal.ZonedDateTime;\n}): Temporal.ZonedDateTime[];\nexport function eachMonthOfInterval(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({ day: 1 });\n let current = interval.start.with({ day: 1 });\n const dates: Temporal.PlainDate[] = [];\n while (isPlainDateBefore(current, last)) {\n dates.push(current);\n current = current.add({ months: 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\n // Get start of the starting month\n const startYearMonth = Temporal.PlainYearMonth.from({\n year: startZoned.year,\n month: startZoned.month,\n calendar: startZoned.calendarId,\n });\n\n // Get end month in the same timezone\n const endInTimezone = endZoned.withTimeZone(timezone).withCalendar(startZoned.calendarId);\n const endYearMonth = Temporal.PlainYearMonth.from({\n year: endInTimezone.year,\n month: endInTimezone.month,\n calendar: startZoned.calendarId,\n });\n\n const months: Temporal.ZonedDateTime[] = [];\n let current = startYearMonth;\n\n while (Temporal.PlainYearMonth.compare(current, endYearMonth) <= 0) {\n const firstOfMonth = current.toPlainDate({ day: 1 });\n months.push(\n firstOfMonth.toZonedDateTime({\n timeZone: timezone,\n plainTime: new Temporal.PlainTime(),\n })\n );\n current = current.add({ months: 1 });\n }\n\n return months;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA2DO,SAAS,oBAAoB,UAGgB;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,KAAK,EAAE,CAAC;AAChC,QAAIA,WAAU,SAAS,MAAM,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5C,UAAM,QAA8B,CAAC;AACrC,WAAO,kBAAkBA,UAAS,IAAI,GAAG;AACvC,YAAM,KAAKA,QAAO;AAClB,MAAAA,WAAUA,SAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;AAAA,IACrC;AACA,UAAM,KAAKA,QAAO;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;AAG5B,QAAM,iBAAiB,SAAS,eAAe,KAAK;AAAA,IAClD,MAAM,WAAW;AAAA,IACjB,OAAO,WAAW;AAAA,IAClB,UAAU,WAAW;AAAA,EACvB,CAAC;AAGD,QAAM,gBAAgB,SAAS,aAAa,QAAQ,EAAE,aAAa,WAAW,UAAU;AACxF,QAAM,eAAe,SAAS,eAAe,KAAK;AAAA,IAChD,MAAM,cAAc;AAAA,IACpB,OAAO,cAAc;AAAA,IACrB,UAAU,WAAW;AAAA,EACvB,CAAC;AAED,QAAM,SAAmC,CAAC;AAC1C,MAAI,UAAU;AAEd,SAAO,SAAS,eAAe,QAAQ,SAAS,YAAY,KAAK,GAAG;AAClE,UAAM,eAAe,QAAQ,YAAY,EAAE,KAAK,EAAE,CAAC;AACnD,WAAO;AAAA,MACL,aAAa,gBAAgB;AAAA,QAC3B,UAAU;AAAA,QACV,WAAW,IAAI,SAAS,UAAU;AAAA,MACpC,CAAC;AAAA,IACH;AACA,cAAU,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;AAAA,EACrC;AAEA,SAAO;AACT;","names":["current"]}
@@ -0,0 +1,14 @@
1
+ import {
2
+ calendarDates
3
+ } from "./chunk-H43LMOCK.js";
4
+
5
+ // src/differenceInCalendarDays.ts
6
+ function differenceInCalendarDays(laterDate, earlierDate) {
7
+ const [later, earlier] = calendarDates(laterDate, earlierDate);
8
+ return earlier.until(later, { largestUnit: "days" }).days;
9
+ }
10
+
11
+ export {
12
+ differenceInCalendarDays
13
+ };
14
+ //# sourceMappingURL=chunk-7PH5BPMS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/differenceInCalendarDays.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { calendarDates } from './shared/calendarDates';\n\n/**\n * Returns the number of calendar days between two dates, ignoring the time of day.\n * Unlike differenceInDays, which counts complete 24-hour days, 23:00 to 01:00\n * the next morning is one calendar day.\n *\n * PlainDate inputs are compared as given. Instant inputs use their UTC date and\n * ZonedDateTime inputs use the date in their own timezone; convert both to one\n * timezone first to count from a single point of view. Mixing a PlainDate with\n * an Instant or ZonedDateTime throws a TypeError.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @returns Calendar days from earlierDate to laterDate; negative if laterDate is earlier\n *\n * @example\n * ```ts\n * const lateTonight = Temporal.ZonedDateTime.from('2025-01-20T23:00:00+01:00[Europe/Madrid]');\n * const earlyTomorrow = Temporal.ZonedDateTime.from('2025-01-21T01:00:00+01:00[Europe/Madrid]');\n *\n * differenceInCalendarDays(earlyTomorrow, lateTonight); // 1\n * differenceInDays(earlyTomorrow, lateTonight); // 0\n * ```\n *\n * @example\n * ```ts\n * const due = Temporal.PlainDate.from('2025-03-01');\n * const today = Temporal.PlainDate.from('2025-02-26');\n *\n * differenceInCalendarDays(due, today); // 3\n * ```\n */\nexport function differenceInCalendarDays(\n laterDate: Temporal.PlainDate,\n earlierDate: Temporal.PlainDate\n): number;\nexport function differenceInCalendarDays(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime\n): number;\nexport function differenceInCalendarDays(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate\n): number {\n const [later, earlier] = calendarDates(laterDate, earlierDate);\n return earlier.until(later, { largestUnit: 'days' }).days;\n}\n"],"mappings":";;;;;AA0CO,SAAS,yBACd,WACA,aACQ;AACR,QAAM,CAAC,OAAO,OAAO,IAAI,cAAc,WAAW,WAAW;AAC7D,SAAO,QAAQ,MAAM,OAAO,EAAE,aAAa,OAAO,CAAC,EAAE;AACvD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.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-NYM3EW3M.js.map
14
+ //# sourceMappingURL=chunk-AUOZACFS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/addMilliseconds.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Adds the specified number of milliseconds to a datetime.\n *\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param milliseconds - Number of milliseconds to add (can be negative to subtract)\n * @returns ZonedDateTime with milliseconds added, in the same timezone as input\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const result = addMilliseconds(instant, 500);\n * // 2025-01-20T12:00:00.500+00:00[UTC] (500 milliseconds later)\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (preserves timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-20T15:30:00-05:00[America/New_York]');\n * const result = addMilliseconds(zoned, 1500);\n * // 2025-01-20T15:30:01.500-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // Negative values subtract milliseconds\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00.500Z');\n * const result = addMilliseconds(instant, -250);\n * // 2025-01-20T12:00:00.250+00:00[UTC] (250 milliseconds earlier)\n * ```\n */\nexport function addMilliseconds(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n milliseconds: number\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n return zonedDateTime.add({ milliseconds });\n}\n"],"mappings":";;;;;AAoCO,SAAS,gBACd,OACA,cACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,SAAO,cAAc,IAAI,EAAE,aAAa,CAAC;AAC3C;","names":[]}
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-BMX7CIRD.js";
4
4
  import {
5
5
  nowZoned
6
- } from "./chunk-TWRJEIBO.js";
6
+ } from "./chunk-4GEF7B7W.js";
7
7
  import {
8
8
  normalizeTemporalInput
9
- } from "./chunk-JNAWZ4RN.js";
9
+ } from "./chunk-Q6QLOUXJ.js";
10
10
 
11
11
  // src/isPast.ts
12
12
  function isPast(date) {
@@ -17,4 +17,4 @@ function isPast(date) {
17
17
  export {
18
18
  isPast
19
19
  };
20
- //# sourceMappingURL=chunk-XXB6HJ2R.js.map
20
+ //# sourceMappingURL=chunk-BI42E23Z.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-XS2HUADA.js";
4
4
  import {
5
5
  normalizeTemporalInput
6
- } from "./chunk-JNAWZ4RN.js";
6
+ } from "./chunk-Q6QLOUXJ.js";
7
7
  import {
8
8
  isPlainDate
9
9
  } from "./chunk-BSVOJYJ7.js";
@@ -18,4 +18,4 @@ function isSameQuarter(date1, date2) {
18
18
  export {
19
19
  isSameQuarter
20
20
  };
21
- //# sourceMappingURL=chunk-5WPQUOM4.js.map
21
+ //# sourceMappingURL=chunk-BPMS34GV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/isSameQuarter.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from \"./shared/temporal\";\nimport { normalizeTemporalInput } from \"./shared/normalizeTemporalInput\";\nimport { quarterOfMonth } from \"./shared/quarter\";\n\n/**\n * Returns true if both inputs fall in the same calendar quarter and year.\n *\n * Quarters: Q1 = Jan–Mar, Q2 = Apr–Jun, Q3 = Jul–Sep, Q4 = Oct–Dec.\n *\n * Instant inputs are converted to UTC; ZonedDateTime inputs keep their own\n * timezone. PlainDate inputs are compared directly — a quarter is intrinsic to\n * the calendar date, so no timezone is needed.\n *\n * @param date1 - First Instant or ZonedDateTime\n * @param date2 - Second Instant or ZonedDateTime\n * @returns true if both are in the same calendar quarter, false otherwise\n *\n * @example\n * ```ts\n * const jan = Temporal.ZonedDateTime.from('2025-01-15T08:00:00+00:00[UTC]');\n * const mar = Temporal.ZonedDateTime.from('2025-03-31T23:59:59+00:00[UTC]');\n * isSameQuarter(jan, mar); // true\n * ```\n *\n * @example\n * ```ts\n * // PlainDate comparison needs no timezone\n * const a = Temporal.PlainDate.from('2025-04-05');\n * const b = Temporal.PlainDate.from('2025-06-28');\n * isSameQuarter(a, b); // true (both Q2)\n * ```\n */\nexport function isSameQuarter(\n date1: Temporal.Instant | Temporal.ZonedDateTime,\n date2: Temporal.Instant | Temporal.ZonedDateTime,\n): boolean;\nexport function isSameQuarter(date1: Temporal.PlainDate, date2: Temporal.PlainDate): boolean;\nexport function isSameQuarter(\n date1: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n date2: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n): boolean {\n const a = isPlainDate(date1) ? date1 : normalizeTemporalInput(date1);\n const b = isPlainDate(date2) ? date2 : normalizeTemporalInput(date2);\n\n return a.year === b.year && quarterOfMonth(a.month) === quarterOfMonth(b.month);\n}\n"],"mappings":";;;;;;;;;;;AAqCO,SAAS,cACd,OACA,OACS;AACT,QAAM,IAAI,YAAY,KAAK,IAAI,QAAQ,uBAAuB,KAAK;AACnE,QAAM,IAAI,YAAY,KAAK,IAAI,QAAQ,uBAAuB,KAAK;AAEnE,SAAO,EAAE,SAAS,EAAE,QAAQ,eAAe,EAAE,KAAK,MAAM,eAAe,EAAE,KAAK;AAChF;","names":[]}
@@ -0,0 +1,14 @@
1
+ import {
2
+ calendarDates
3
+ } from "./chunk-H43LMOCK.js";
4
+
5
+ // src/differenceInCalendarYears.ts
6
+ function differenceInCalendarYears(laterDate, earlierDate) {
7
+ const [later, earlier] = calendarDates(laterDate, earlierDate);
8
+ return later.year - earlier.year;
9
+ }
10
+
11
+ export {
12
+ differenceInCalendarYears
13
+ };
14
+ //# sourceMappingURL=chunk-C7QA4J6V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/differenceInCalendarYears.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { calendarDates } from './shared/calendarDates';\n\n/**\n * Returns the number of calendar years between two dates, ignoring the month and\n * day. Unlike differenceInYears, which counts complete years, December 31 to\n * January 1 is one calendar year.\n *\n * PlainDate inputs are compared as given. Instant inputs use their UTC date and\n * ZonedDateTime inputs use the date in their own timezone; convert both to one\n * timezone first to count from a single point of view. Mixing a PlainDate with\n * an Instant or ZonedDateTime throws a TypeError.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @returns Calendar years from earlierDate to laterDate; negative if laterDate is earlier\n *\n * @example\n * ```ts\n * const newYearsEve = Temporal.PlainDate.from('2024-12-31');\n * const newYearsDay = Temporal.PlainDate.from('2025-01-01');\n *\n * differenceInCalendarYears(newYearsDay, newYearsEve); // 1\n * differenceInYears(newYearsDay, newYearsEve); // 0\n * ```\n */\nexport function differenceInCalendarYears(\n laterDate: Temporal.PlainDate,\n earlierDate: Temporal.PlainDate\n): number;\nexport function differenceInCalendarYears(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime\n): number;\nexport function differenceInCalendarYears(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate\n): number {\n const [later, earlier] = calendarDates(laterDate, earlierDate);\n return later.year - earlier.year;\n}\n"],"mappings":";;;;;AAkCO,SAAS,0BACd,WACA,aACQ;AACR,QAAM,CAAC,OAAO,OAAO,IAAI,cAAc,WAAW,WAAW;AAC7D,SAAO,MAAM,OAAO,QAAQ;AAC9B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.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-W5FFJSCD.js.map
15
+ //# sourceMappingURL=chunk-DBOIK3XA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/isSameMinute.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Returns true if both datetimes fall in the same minute.\n * Compares the year, month, day, hour, and minute 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 in the same minute, false otherwise\n *\n * @example\n * ```ts\n * // Same timezone, same minute\n * const start = Temporal.ZonedDateTime.from('2025-01-20T14:30:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-01-20T14:30:59.999+00:00[UTC]');\n *\n * isSameMinute(start, end); // true\n * ```\n *\n * @example\n * ```ts\n * // Same timezone, different minutes\n * const min30 = Temporal.ZonedDateTime.from('2025-01-20T14:30:59+00:00[UTC]');\n * const min31 = Temporal.ZonedDateTime.from('2025-01-20T14:31:00+00:00[UTC]');\n *\n * isSameMinute(min30, min31); // false\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares their local minutes\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T14:30:45-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T04:30:45+09:00[Asia/Tokyo]');\n *\n * // Same instant, different local minutes from each person's perspective\n * isSameMinute(ny, tokyo); // false (14:30:xx in NY, 04:30:xx in Tokyo)\n *\n * // Convert to UTC to compare in UTC timezone\n * isSameMinute(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 19:30:xx in UTC)\n *\n * // Convert to NY timezone to compare from NY perspective\n * isSameMinute(ny, tokyo.withTimeZone('America/New_York')); // true (both 14:30:xx in NY)\n * ```\n *\n * @example\n * ```ts\n * // Instant inputs are converted to UTC\n * const instant1 = Temporal.Instant.from('2025-01-20T14:30:15Z');\n * const instant2 = Temporal.Instant.from('2025-01-20T14:30:45Z');\n *\n * isSameMinute(instant1, instant2); // true (both 14:30:xx in UTC)\n * ```\n */\nexport function isSameMinute(\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 zoned1.hour === zoned2.hour &&\n zoned1.minute === zoned2.minute\n );\n}\n"],"mappings":";;;;;AA0DO,SAAS,aACd,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,OACtB,OAAO,SAAS,OAAO,QACvB,OAAO,WAAW,OAAO;AAE7B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.js";
4
4
 
5
5
  // src/roundToNearestHour.ts
6
6
  var MODE_TO_ROUNDING_MODE = {
@@ -22,4 +22,4 @@ function roundToNearestHour(input, options) {
22
22
  export {
23
23
  roundToNearestHour
24
24
  };
25
- //# sourceMappingURL=chunk-FLVULRGY.js.map
25
+ //# sourceMappingURL=chunk-DGUAV5XN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  addHours
3
- } from "./chunk-XTS6LZBP.js";
3
+ } from "./chunk-YKXRVQ4S.js";
4
4
 
5
5
  // src/subHours.ts
6
6
  function subHours(input, hours) {
@@ -10,4 +10,4 @@ function subHours(input, hours) {
10
10
  export {
11
11
  subHours
12
12
  };
13
- //# sourceMappingURL=chunk-23APOESH.js.map
13
+ //# sourceMappingURL=chunk-DRBZDI52.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/subHours.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { addHours } from './addHours';\n\n/**\n * Subtracts the specified number of hours from a datetime.\n *\n * This is a convenience wrapper around addHours with negated value.\n * Properly handles DST transitions through Temporal API.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param hours - Number of hours to subtract\n * @returns ZonedDateTime with hours subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T15:00:00Z');\n * const result = subHours(instant, 3);\n * // 2025-01-20T12:00:00Z[UTC] (3 hours earlier)\n * ```\n */\nexport function subHours(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n hours: number\n): Temporal.ZonedDateTime {\n return addHours(input, -hours);\n}\n"],"mappings":";;;;;AAoBO,SAAS,SACd,OACA,OACwB;AACxB,SAAO,SAAS,OAAO,CAAC,KAAK;AAC/B;","names":[]}
1
+ {"version":3,"sources":["../src/subHours.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { addHours } from './addHours';\n\n/**\n * Subtracts the specified number of hours from a datetime.\n *\n * This is a convenience wrapper around addHours with negated value.\n * Properly handles DST transitions through Temporal API.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param hours - Number of hours to subtract\n * @returns ZonedDateTime with hours subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T15:00:00Z');\n * const result = subHours(instant, 3);\n * // 2025-01-20T12:00:00+00:00[UTC] (3 hours earlier)\n * ```\n */\nexport function subHours(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n hours: number\n): Temporal.ZonedDateTime {\n return addHours(input, -hours);\n}\n"],"mappings":";;;;;AAoBO,SAAS,SACd,OACA,OACwB;AACxB,SAAO,SAAS,OAAO,CAAC,KAAK;AAC/B;","names":[]}
@@ -0,0 +1,33 @@
1
+ import {
2
+ getEndOfDay
3
+ } from "./chunk-NMMMAMKP.js";
4
+ import {
5
+ plainDateToZonedDateTime
6
+ } from "./chunk-2AID4P2C.js";
7
+ import {
8
+ daysIntoWeek
9
+ } from "./chunk-M2XB72L5.js";
10
+ import {
11
+ normalizeTemporalInput
12
+ } from "./chunk-Q6QLOUXJ.js";
13
+ import {
14
+ isPlainDate
15
+ } from "./chunk-BSVOJYJ7.js";
16
+
17
+ // src/endOfWeek.ts
18
+ function endOfWeek(input, timezoneOrOptions, options) {
19
+ const timezone = typeof timezoneOrOptions === "string" ? timezoneOrOptions : void 0;
20
+ const weekOptions = typeof timezoneOrOptions === "string" ? options : timezoneOrOptions;
21
+ if (isPlainDate(input) && timezone === void 0) {
22
+ return input.add({ days: 6 - daysIntoWeek(input.dayOfWeek, weekOptions) });
23
+ }
24
+ const zonedDateTime = isPlainDate(input) ? plainDateToZonedDateTime(input, timezone) : normalizeTemporalInput(input);
25
+ return getEndOfDay(
26
+ zonedDateTime.add({ days: 6 - daysIntoWeek(zonedDateTime.dayOfWeek, weekOptions) })
27
+ );
28
+ }
29
+
30
+ export {
31
+ endOfWeek
32
+ };
33
+ //# sourceMappingURL=chunk-DVZDJ5LM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endOfWeek.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from './shared/temporal';\nimport type { Timezone } from './types';\nimport { getEndOfDay } from './shared/endOfDay';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { plainDateToZonedDateTime } from './shared/plainDateToZonedDateTime';\nimport { daysIntoWeek, type WeekOptions } from './shared/week';\n\n/**\n * Returns the last boundary of the week.\n * Weeks start on Monday and end on Sunday (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 last day of the week at 23:59:59.999999999, 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 end = endOfWeek(instant);\n * // 2025-01-26T23:59:59.999999999+00:00[UTC] (next Sunday)\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 end = endOfWeek(zoned);\n * // 2025-01-26T23:59:59.999999999-05:00[America/New_York] (next Sunday)\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (stays a date)\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const end = endOfWeek(date);\n * // 2025-01-26 (next Sunday)\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 end = endOfWeek(date, 'America/New_York');\n * // 2025-01-26T23:59:59.999999999-05:00[America/New_York] (next Sunday)\n * ```\n *\n * @example\n * ```ts\n * // Weeks that start on Sunday end on Saturday\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const end = endOfWeek(date, { weekStartsOn: 7 });\n * // 2025-01-25 (next Saturday)\n * ```\n */\nexport function endOfWeek(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options?: WeekOptions\n): Temporal.ZonedDateTime;\nexport function endOfWeek(input: Temporal.PlainDate, options?: WeekOptions): Temporal.PlainDate;\nexport function endOfWeek(\n input: Temporal.PlainDate,\n timezone: Timezone,\n options?: WeekOptions\n): Temporal.ZonedDateTime;\nexport function endOfWeek(\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.add({ days: 6 - daysIntoWeek(input.dayOfWeek, weekOptions) });\n }\n\n const zonedDateTime = isPlainDate(input)\n ? plainDateToZonedDateTime(input, timezone!)\n : normalizeTemporalInput(input);\n\n return getEndOfDay(\n zonedDateTime.add({ days: 6 - daysIntoWeek(zonedDateTime.dayOfWeek, weekOptions) })\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkEO,SAAS,UACd,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,IAAI,EAAE,MAAM,IAAI,aAAa,MAAM,WAAW,WAAW,EAAE,CAAC;AAAA,EAC3E;AAEA,QAAM,gBAAgB,YAAY,KAAK,IACnC,yBAAyB,OAAO,QAAS,IACzC,uBAAuB,KAAK;AAEhC,SAAO;AAAA,IACL,cAAc,IAAI,EAAE,MAAM,IAAI,aAAa,cAAc,WAAW,WAAW,EAAE,CAAC;AAAA,EACpF;AACF;","names":[]}
@@ -4,23 +4,28 @@ import {
4
4
  import {
5
5
  isPlainDateAfter
6
6
  } from "./chunk-ADPVFELS.js";
7
+ import {
8
+ daysIntoWeek
9
+ } from "./chunk-M2XB72L5.js";
7
10
  import {
8
11
  normalizeTemporalInput
9
- } from "./chunk-JNAWZ4RN.js";
12
+ } from "./chunk-Q6QLOUXJ.js";
10
13
  import {
11
14
  isPlainDate
12
15
  } from "./chunk-BSVOJYJ7.js";
13
16
 
14
17
  // src/eachWeekOfInterval.ts
15
- function eachWeekOfInterval(interval) {
18
+ function eachWeekOfInterval(interval, options) {
16
19
  if (isPlainDate(interval.start) || isPlainDate(interval.end)) {
17
20
  if (!isPlainDate(interval.start) || !isPlainDate(interval.end)) {
18
21
  throw new TypeError("PlainDate intervals require two PlainDate endpoints");
19
22
  }
20
23
  if (isPlainDateAfter(interval.start, interval.end)) return [];
21
24
  const end = interval.end.withCalendar(interval.start.calendarId);
22
- const last = end.subtract({ days: end.dayOfWeek - 1 });
23
- let current2 = interval.start.subtract({ days: interval.start.dayOfWeek - 1 });
25
+ const last = end.subtract({ days: daysIntoWeek(end.dayOfWeek, options) });
26
+ let current2 = interval.start.subtract({
27
+ days: daysIntoWeek(interval.start.dayOfWeek, options)
28
+ });
24
29
  const dates = [];
25
30
  while (isPlainDateBefore(current2, last)) {
26
31
  dates.push(current2);
@@ -32,15 +37,12 @@ function eachWeekOfInterval(interval) {
32
37
  const startZoned = normalizeTemporalInput(interval.start);
33
38
  const endZoned = normalizeTemporalInput(interval.end);
34
39
  if (startZoned.epochNanoseconds > endZoned.epochNanoseconds) return [];
35
- const timezone = startZoned.timeZoneId;
36
- const daysToSubtractStart = startZoned.dayOfWeek - 1;
37
- const startMonday = startZoned.subtract({ days: daysToSubtractStart }).startOfDay();
38
- const endInTimezone = endZoned.withTimeZone(timezone);
39
- const daysToSubtractEnd = endInTimezone.dayOfWeek - 1;
40
- const endMonday = endInTimezone.subtract({ days: daysToSubtractEnd }).startOfDay();
40
+ const startOfFirstWeek = startZoned.subtract({ days: daysIntoWeek(startZoned.dayOfWeek, options) }).startOfDay();
41
+ const endInTimezone = endZoned.withTimeZone(startZoned.timeZoneId);
42
+ const startOfLastWeek = endInTimezone.subtract({ days: daysIntoWeek(endInTimezone.dayOfWeek, options) }).startOfDay();
41
43
  const weeks = [];
42
- let current = startMonday;
43
- while (current.epochNanoseconds <= endMonday.epochNanoseconds) {
44
+ let current = startOfFirstWeek;
45
+ while (current.epochNanoseconds <= startOfLastWeek.epochNanoseconds) {
44
46
  weeks.push(current);
45
47
  current = current.add({ weeks: 1 });
46
48
  }
@@ -50,4 +52,4 @@ function eachWeekOfInterval(interval) {
50
52
  export {
51
53
  eachWeekOfInterval
52
54
  };
53
- //# sourceMappingURL=chunk-JWYRXPR4.js.map
55
+ //# sourceMappingURL=chunk-DYIISNVW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/eachWeekOfInterval.ts"],"sourcesContent":["import { Temporal, isPlainDate } from './shared/temporal';\nimport { isPlainDateAfter } from './isPlainDateAfter';\nimport { isPlainDateBefore } from './isPlainDateBefore';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { daysIntoWeek, type WeekOptions } from './shared/week';\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 * Returns an array of ZonedDateTime objects for each week within the interval.\n * Each element represents the first moment of the week (midnight on its first day).\n * Weeks start on Monday (ISO 8601) unless `weekStartsOn` says otherwise.\n * The interval is inclusive of both start and end weeks.\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 * @param options - `weekStartsOn`: 1 = Monday (default) … 7 = Sunday\n * @returns Array of ZonedDateTime at the start of each week in the interval\n *\n * @example\n * ```ts\n * const start = Temporal.ZonedDateTime.from('2025-01-06T10:00:00+00:00[UTC]'); // Monday\n * const end = Temporal.ZonedDateTime.from('2025-01-22T14:00:00+00:00[UTC]'); // Wednesday\n *\n * const weeks = eachWeekOfInterval({ start, end });\n * // [\n * // 2025-01-06T00:00:00+00:00[UTC], // Week 2\n * // 2025-01-13T00:00:00+00:00[UTC], // Week 3\n * // 2025-01-20T00:00:00+00:00[UTC] // Week 4\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // Mid-week start\n * const start = Temporal.ZonedDateTime.from('2025-01-08T10:00:00+00:00[UTC]'); // Wednesday\n * const end = Temporal.ZonedDateTime.from('2025-01-15T14:00:00+00:00[UTC]'); // Wednesday\n *\n * const weeks = eachWeekOfInterval({ start, end });\n * // [\n * // 2025-01-06T00:00:00+00:00[UTC], // Monday of week containing Jan 8\n * // 2025-01-13T00:00:00+00:00[UTC] // Monday of week containing Jan 15\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // Cross-year boundary\n * const start = Temporal.ZonedDateTime.from('2024-12-25T00:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-01-08T00:00:00+00:00[UTC]');\n *\n * const weeks = eachWeekOfInterval({ start, end });\n * // [\n * // 2024-12-23T00:00:00+00:00[UTC], // Monday of week containing Dec 25\n * // 2024-12-30T00:00:00+00:00[UTC], // Monday of week containing Dec 30\n * // 2025-01-06T00:00:00+00:00[UTC] // Monday of week containing Jan 8\n * // ]\n * ```\n */\nexport function eachWeekOfInterval(\n interval: { start: Temporal.PlainDate; end: Temporal.PlainDate },\n options?: WeekOptions\n): Temporal.PlainDate[];\nexport function eachWeekOfInterval(\n interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime;\n end: Temporal.Instant | Temporal.ZonedDateTime;\n },\n options?: WeekOptions\n): Temporal.ZonedDateTime[];\nexport function eachWeekOfInterval(\n interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate;\n end: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate;\n },\n options?: WeekOptions\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.subtract({ days: daysIntoWeek(end.dayOfWeek, options) });\n let current = interval.start.subtract({\n days: daysIntoWeek(interval.start.dayOfWeek, options)\n });\n const dates: Temporal.PlainDate[] = [];\n while (isPlainDateBefore(current, last)) {\n dates.push(current);\n current = current.add({ weeks: 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 startOfFirstWeek = startZoned\n .subtract({ days: daysIntoWeek(startZoned.dayOfWeek, options) })\n .startOfDay();\n const endInTimezone = endZoned.withTimeZone(startZoned.timeZoneId);\n const startOfLastWeek = endInTimezone\n .subtract({ days: daysIntoWeek(endInTimezone.dayOfWeek, options) })\n .startOfDay();\n\n const weeks: Temporal.ZonedDateTime[] = [];\n let current = startOfFirstWeek;\n\n while (current.epochNanoseconds <= startOfLastWeek.epochNanoseconds) {\n weeks.push(current);\n current = current.add({ weeks: 1 });\n }\n\n return weeks;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAyEO,SAAS,mBACd,UAIA,SACiD;AACjD,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,SAAS,EAAE,MAAM,aAAa,IAAI,WAAW,OAAO,EAAE,CAAC;AACxE,QAAIA,WAAU,SAAS,MAAM,SAAS;AAAA,MACpC,MAAM,aAAa,SAAS,MAAM,WAAW,OAAO;AAAA,IACtD,CAAC;AACD,UAAM,QAA8B,CAAC;AACrC,WAAO,kBAAkBA,UAAS,IAAI,GAAG;AACvC,YAAM,KAAKA,QAAO;AAClB,MAAAA,WAAUA,SAAQ,IAAI,EAAE,OAAO,EAAE,CAAC;AAAA,IACpC;AACA,UAAM,KAAKA,QAAO;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,mBAAmB,WACtB,SAAS,EAAE,MAAM,aAAa,WAAW,WAAW,OAAO,EAAE,CAAC,EAC9D,WAAW;AACd,QAAM,gBAAgB,SAAS,aAAa,WAAW,UAAU;AACjE,QAAM,kBAAkB,cACrB,SAAS,EAAE,MAAM,aAAa,cAAc,WAAW,OAAO,EAAE,CAAC,EACjE,WAAW;AAEd,QAAM,QAAkC,CAAC;AACzC,MAAI,UAAU;AAEd,SAAO,QAAQ,oBAAoB,gBAAgB,kBAAkB;AACnE,UAAM,KAAK,OAAO;AAClB,cAAU,QAAQ,IAAI,EAAE,OAAO,EAAE,CAAC;AAAA,EACpC;AAEA,SAAO;AACT;","names":["current"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  addDays
3
- } from "./chunk-V36MCE25.js";
3
+ } from "./chunk-4KAIF44F.js";
4
4
  import {
5
5
  isPlainDate
6
6
  } from "./chunk-BSVOJYJ7.js";
@@ -13,4 +13,4 @@ function subDays(input, days) {
13
13
  export {
14
14
  subDays
15
15
  };
16
- //# sourceMappingURL=chunk-HSJMG5T7.js.map
16
+ //# sourceMappingURL=chunk-DZ3647ZK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/subDays.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from './shared/temporal';\nimport { addDays } from './addDays';\n\n/**\n * Subtracts the specified number of days from a datetime or date.\n *\n * This is a convenience wrapper around addDays with negated value.\n * Properly handles DST transitions and calendar edge cases through Temporal API.\n *\n * PlainDate inputs stay in calendar space, preserving their calendar without a timezone.\n *\n * @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate\n * @param days - Number of days to subtract\n * @returns PlainDate for a date input; otherwise ZonedDateTime with days subtracted\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-25T12:00:00Z');\n * const result = subDays(instant, 5);\n * // 2025-01-20T12:00:00Z[UTC] (5 days earlier)\n * ```\n */\nexport function subDays(input: Temporal.PlainDate, days: number): Temporal.PlainDate;\nexport function subDays(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n days: number\n): Temporal.ZonedDateTime;\nexport function subDays(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n days: number\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n // Narrow each branch to the matching addDays overload.\n return isPlainDate(input) ? addDays(input, -days) : addDays(input, -days);\n}\n"],"mappings":";;;;;;;;AA2BO,SAAS,QACd,OACA,MAC6C;AAE7C,SAAO,YAAY,KAAK,IAAI,QAAQ,OAAO,CAAC,IAAI,IAAI,QAAQ,OAAO,CAAC,IAAI;AAC1E;","names":[]}
1
+ {"version":3,"sources":["../src/subDays.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from './shared/temporal';\nimport { addDays } from './addDays';\n\n/**\n * Subtracts the specified number of days from a datetime or date.\n *\n * This is a convenience wrapper around addDays with negated value.\n * Properly handles DST transitions and calendar edge cases through Temporal API.\n *\n * PlainDate inputs stay in calendar space, preserving their calendar without a timezone.\n *\n * @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate\n * @param days - Number of days to subtract\n * @returns PlainDate for a date input; otherwise ZonedDateTime with days subtracted\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-25T12:00:00Z');\n * const result = subDays(instant, 5);\n * // 2025-01-20T12:00:00+00:00[UTC] (5 days earlier)\n * ```\n */\nexport function subDays(input: Temporal.PlainDate, days: number): Temporal.PlainDate;\nexport function subDays(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n days: number\n): Temporal.ZonedDateTime;\nexport function subDays(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n days: number\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n // Narrow each branch to the matching addDays overload.\n return isPlainDate(input) ? addDays(input, -days) : addDays(input, -days);\n}\n"],"mappings":";;;;;;;;AA2BO,SAAS,QACd,OACA,MAC6C;AAE7C,SAAO,YAAY,KAAK,IAAI,QAAQ,OAAO,CAAC,IAAI,IAAI,QAAQ,OAAO,CAAC,IAAI;AAC1E;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  addMinutes
3
- } from "./chunk-5ST6IOPN.js";
3
+ } from "./chunk-GXSVYUCG.js";
4
4
 
5
5
  // src/subMinutes.ts
6
6
  function subMinutes(input, minutes) {
@@ -10,4 +10,4 @@ function subMinutes(input, minutes) {
10
10
  export {
11
11
  subMinutes
12
12
  };
13
- //# sourceMappingURL=chunk-LKF7U4O4.js.map
13
+ //# sourceMappingURL=chunk-EAO2SO4N.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/subMinutes.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { addMinutes } from './addMinutes';\n\n/**\n * Subtracts the specified number of minutes from a datetime.\n *\n * This is a convenience wrapper around addMinutes with negated value.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param minutes - Number of minutes to subtract\n * @returns ZonedDateTime with minutes subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T12:30:00Z');\n * const result = subMinutes(instant, 15);\n * // 2025-01-20T12:15:00Z[UTC] (15 minutes earlier)\n * ```\n */\nexport function subMinutes(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n minutes: number\n): Temporal.ZonedDateTime {\n return addMinutes(input, -minutes);\n}\n"],"mappings":";;;;;AAmBO,SAAS,WACd,OACA,SACwB;AACxB,SAAO,WAAW,OAAO,CAAC,OAAO;AACnC;","names":[]}
1
+ {"version":3,"sources":["../src/subMinutes.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { addMinutes } from './addMinutes';\n\n/**\n * Subtracts the specified number of minutes from a datetime.\n *\n * This is a convenience wrapper around addMinutes with negated value.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param minutes - Number of minutes to subtract\n * @returns ZonedDateTime with minutes subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T12:30:00Z');\n * const result = subMinutes(instant, 15);\n * // 2025-01-20T12:15:00+00:00[UTC] (15 minutes earlier)\n * ```\n */\nexport function subMinutes(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n minutes: number\n): Temporal.ZonedDateTime {\n return addMinutes(input, -minutes);\n}\n"],"mappings":";;;;;AAmBO,SAAS,WACd,OACA,SACwB;AACxB,SAAO,WAAW,OAAO,CAAC,OAAO;AACnC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.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-2OSJHJV5.js.map
16
+ //# sourceMappingURL=chunk-EBOLL4LY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.js";
4
4
 
5
5
  // src/isSameDay.ts
6
6
  function isSameDay(date1, date2) {
@@ -12,4 +12,4 @@ function isSameDay(date1, date2) {
12
12
  export {
13
13
  isSameDay
14
14
  };
15
- //# sourceMappingURL=chunk-AVPV4BA5.js.map
15
+ //# sourceMappingURL=chunk-F3UZDWOQ.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:00+00:00[UTC]');\n * const evening = Temporal.ZonedDateTime.from('2025-01-20T23:00:00+00:00[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:59+00:00[UTC]');\n * const tomorrow = Temporal.ZonedDateTime.from('2025-01-21T00:00:00+00:00[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,9 +1,9 @@
1
1
  import {
2
2
  isWeekendDay
3
- } from "./chunk-Z7I7YCKN.js";
3
+ } from "./chunk-4YCEFGZA.js";
4
4
  import {
5
5
  normalizeTemporalInput
6
- } from "./chunk-JNAWZ4RN.js";
6
+ } from "./chunk-Q6QLOUXJ.js";
7
7
  import {
8
8
  isPlainDate
9
9
  } from "./chunk-BSVOJYJ7.js";
@@ -17,4 +17,4 @@ function isWeekend(input) {
17
17
  export {
18
18
  isWeekend
19
19
  };
20
- //# sourceMappingURL=chunk-QD3ROUIT.js.map
20
+ //# sourceMappingURL=chunk-GOJ45AG7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  normalizeTemporalInput
3
- } from "./chunk-JNAWZ4RN.js";
3
+ } from "./chunk-Q6QLOUXJ.js";
4
4
 
5
5
  // src/differenceInHours.ts
6
6
  function differenceInHours(laterDate, earlierDate, options) {
@@ -13,4 +13,4 @@ function differenceInHours(laterDate, earlierDate, options) {
13
13
  export {
14
14
  differenceInHours
15
15
  };
16
- //# sourceMappingURL=chunk-SLBDEPBP.js.map
16
+ //# sourceMappingURL=chunk-GU3CZAIN.js.map