@gobrand/tiempo 3.2.0 → 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 (427) hide show
  1. package/dist/addBusinessDays.js +4 -4
  2. package/dist/addDays.js +3 -3
  3. package/dist/addHours.js +3 -3
  4. package/dist/addMicroseconds.js +3 -3
  5. package/dist/addMilliseconds.js +3 -3
  6. package/dist/addMinutes.js +3 -3
  7. package/dist/addMonths.js +3 -3
  8. package/dist/addNanoseconds.js +3 -3
  9. package/dist/addQuarters.d.ts +1 -1
  10. package/dist/addQuarters.js +3 -3
  11. package/dist/addSeconds.js +3 -3
  12. package/dist/addWeeks.js +3 -3
  13. package/dist/addYears.js +3 -3
  14. package/dist/areIntervalsOverlapping.js +3 -3
  15. package/dist/{chunk-CN3OICYB.js → chunk-2LXWY2VY.js} +2 -2
  16. package/dist/{chunk-K3L6MJJB.js → chunk-2MWQYQ53.js} +2 -2
  17. package/dist/{chunk-LRIVI5ZC.js → chunk-34UWPATE.js} +2 -2
  18. package/dist/{chunk-QVSHSIA3.js → chunk-3OF6TFYK.js} +2 -2
  19. package/dist/{chunk-4KAIF44F.js → chunk-3YNUMQFB.js} +3 -3
  20. package/dist/{chunk-DZ3647ZK.js → chunk-4A3ORKMC.js} +3 -3
  21. package/dist/{chunk-Y24VUXMX.js → chunk-4JCRRIM3.js} +3 -3
  22. package/dist/{chunk-Y24VUXMX.js.map → chunk-4JCRRIM3.js.map} +1 -1
  23. package/dist/{chunk-IXNGK5OF.js → chunk-5EX3GTEU.js} +2 -2
  24. package/dist/{chunk-KTMCYEU5.js → chunk-5GRUOAYD.js} +2 -2
  25. package/dist/{chunk-KTMCYEU5.js.map → chunk-5GRUOAYD.js.map} +1 -1
  26. package/dist/{chunk-KZCSP3DU.js → chunk-5YKAVRED.js} +3 -3
  27. package/dist/{chunk-KYS54PLJ.js → chunk-6M654ZYJ.js} +3 -3
  28. package/dist/chunk-6M654ZYJ.js.map +1 -0
  29. package/dist/{chunk-DRBZDI52.js → chunk-6O66POF3.js} +2 -2
  30. package/dist/{chunk-U7VOIXLY.js → chunk-6SEPAWIA.js} +2 -2
  31. package/dist/{chunk-X27XGVCT.js → chunk-7DVEJNCP.js} +2 -2
  32. package/dist/{chunk-OF5YEVUT.js → chunk-7J7N4PCE.js} +2 -2
  33. package/dist/{chunk-OF5YEVUT.js.map → chunk-7J7N4PCE.js.map} +1 -1
  34. package/dist/{chunk-C7QA4J6V.js → chunk-7NHKDMBY.js} +2 -2
  35. package/dist/{chunk-NMMMAMKP.js → chunk-7WGGUDW4.js} +1 -1
  36. package/dist/chunk-7WGGUDW4.js.map +1 -0
  37. package/dist/{chunk-DGUAV5XN.js → chunk-7ZJIEKIZ.js} +2 -2
  38. package/dist/chunk-7ZJIEKIZ.js.map +1 -0
  39. package/dist/{chunk-7IKCDOCT.js → chunk-AEAZ2F2T.js} +2 -2
  40. package/dist/{chunk-3HD7HEN4.js → chunk-APWSLQ47.js} +4 -4
  41. package/dist/{chunk-DYIISNVW.js → chunk-AWERPSJ5.js} +5 -5
  42. package/dist/{chunk-32AWWYBF.js → chunk-B7RDUXDN.js} +2 -2
  43. package/dist/{chunk-LQ3EQYIX.js → chunk-BE7CIKP7.js} +14 -6
  44. package/dist/chunk-BE7CIKP7.js.map +1 -0
  45. package/dist/{chunk-BI42E23Z.js → chunk-BM4OZR7U.js} +4 -4
  46. package/dist/{chunk-BI42E23Z.js.map → chunk-BM4OZR7U.js.map} +1 -1
  47. package/dist/{chunk-4FQCY75E.js → chunk-C4LUGHIM.js} +4 -4
  48. package/dist/chunk-C4LUGHIM.js.map +1 -0
  49. package/dist/{chunk-3S6TSXZ3.js → chunk-CCDDXIAC.js} +2 -2
  50. package/dist/{chunk-BMX7CIRD.js → chunk-CMOBOTVN.js} +1 -1
  51. package/dist/chunk-CMOBOTVN.js.map +1 -0
  52. package/dist/{chunk-7NGP7SAD.js → chunk-COQJXPPT.js} +5 -5
  53. package/dist/{chunk-7NGP7SAD.js.map → chunk-COQJXPPT.js.map} +1 -1
  54. package/dist/{chunk-SLH6TKGN.js → chunk-CX37IV4D.js} +3 -3
  55. package/dist/{chunk-HYSGJJUR.js → chunk-D2HKS2OM.js} +2 -2
  56. package/dist/{chunk-4GEF7B7W.js → chunk-D73HU7YA.js} +3 -3
  57. package/dist/{chunk-OMYVTYHI.js → chunk-DAWWOF5W.js} +2 -2
  58. package/dist/{chunk-GOJ45AG7.js → chunk-DCQCZCKG.js} +4 -4
  59. package/dist/{chunk-5WHGX2J3.js → chunk-DEVXW65H.js} +2 -2
  60. package/dist/{chunk-R6D3Y5NV.js → chunk-DFVLLH5O.js} +2 -2
  61. package/dist/{chunk-ZM32S3YU.js → chunk-DYDSR35L.js} +2 -2
  62. package/dist/{chunk-ZM32S3YU.js.map → chunk-DYDSR35L.js.map} +1 -1
  63. package/dist/{chunk-QNZJR53W.js → chunk-DZFUKW5U.js} +4 -4
  64. package/dist/{chunk-QNZJR53W.js.map → chunk-DZFUKW5U.js.map} +1 -1
  65. package/dist/{chunk-F3UZDWOQ.js → chunk-EMJXV6KH.js} +2 -2
  66. package/dist/{chunk-F3UZDWOQ.js.map → chunk-EMJXV6KH.js.map} +1 -1
  67. package/dist/{chunk-DVZDJ5LM.js → chunk-EMLUESE5.js} +5 -5
  68. package/dist/{chunk-QDY2KMYX.js → chunk-EQ3AZDKF.js} +3 -3
  69. package/dist/chunk-EQ3AZDKF.js.map +1 -0
  70. package/dist/{chunk-GQXJICRA.js → chunk-EWRNJC27.js} +2 -2
  71. package/dist/{chunk-TD6MVGV2.js → chunk-EYTJNGGV.js} +2 -2
  72. package/dist/{chunk-HCVE7FSF.js → chunk-FS7VH6AY.js} +2 -2
  73. package/dist/{chunk-HCVE7FSF.js.map → chunk-FS7VH6AY.js.map} +1 -1
  74. package/dist/{chunk-IWVSM77B.js → chunk-FTXHKXCS.js} +2 -2
  75. package/dist/{chunk-WTLMIOKZ.js → chunk-G7X7NHPV.js} +6 -3
  76. package/dist/{chunk-WTLMIOKZ.js.map → chunk-G7X7NHPV.js.map} +1 -1
  77. package/dist/{chunk-3HF4F36S.js → chunk-GLKCUJIZ.js} +3 -3
  78. package/dist/{chunk-GXSVYUCG.js → chunk-GZKKAIXF.js} +2 -2
  79. package/dist/{chunk-CDKIT7D3.js → chunk-H5TI3O4P.js} +1 -1
  80. package/dist/chunk-H5TI3O4P.js.map +1 -0
  81. package/dist/{chunk-TU3LNQKW.js → chunk-HMPHUFC6.js} +3 -3
  82. package/dist/{chunk-4VWUTQKP.js → chunk-HQ7JUUWD.js} +9 -5
  83. package/dist/chunk-HQ7JUUWD.js.map +1 -0
  84. package/dist/{chunk-H43LMOCK.js → chunk-HXB6CDB4.js} +3 -3
  85. package/dist/{chunk-SHKSAHJO.js → chunk-IOHTFQCP.js} +2 -2
  86. package/dist/{chunk-7PH5BPMS.js → chunk-IXRFVP3X.js} +2 -2
  87. package/dist/{chunk-XSHFR2SX.js → chunk-IZPKAMAP.js} +2 -2
  88. package/dist/{chunk-3XGUCQ2A.js → chunk-JBGAF2FW.js} +2 -2
  89. package/dist/{chunk-6UBFKQIJ.js → chunk-JDKM6JTT.js} +2 -2
  90. package/dist/{chunk-ADPVFELS.js → chunk-K6IGDI5W.js} +2 -2
  91. package/dist/{chunk-ADPVFELS.js.map → chunk-K6IGDI5W.js.map} +1 -1
  92. package/dist/{chunk-AUOZACFS.js → chunk-KISBF5GX.js} +2 -2
  93. package/dist/{chunk-67XABEBT.js → chunk-KUDGVLQT.js} +11 -6
  94. package/dist/{chunk-67XABEBT.js.map → chunk-KUDGVLQT.js.map} +1 -1
  95. package/dist/{chunk-ZXKU4SKR.js → chunk-L535UIYN.js} +3 -3
  96. package/dist/{chunk-TIZJRCAA.js → chunk-L7X3FQZI.js} +2 -2
  97. package/dist/{chunk-TIZJRCAA.js.map → chunk-L7X3FQZI.js.map} +1 -1
  98. package/dist/{chunk-YMJHVVM4.js → chunk-LJMPJUHN.js} +2 -2
  99. package/dist/{chunk-NL5MQVGD.js → chunk-LKDENGBC.js} +2 -2
  100. package/dist/{chunk-A34P5Z5O.js → chunk-LL7XWZGU.js} +2 -2
  101. package/dist/chunk-LL7XWZGU.js.map +1 -0
  102. package/dist/{chunk-VDV24TWQ.js → chunk-LTYIPGQD.js} +2 -2
  103. package/dist/{chunk-JA5ER27P.js → chunk-LXAT3CDM.js} +2 -2
  104. package/dist/chunk-LXAT3CDM.js.map +1 -0
  105. package/dist/{chunk-MVGBYHG5.js → chunk-LY7IXVZO.js} +3 -3
  106. package/dist/{chunk-EBOLL4LY.js → chunk-M2QFNUJF.js} +2 -2
  107. package/dist/{chunk-BSVOJYJ7.js → chunk-M4ESIRFH.js} +1 -1
  108. package/dist/chunk-M4ESIRFH.js.map +1 -0
  109. package/dist/{chunk-RDMDCTHJ.js → chunk-MLD3VIOP.js} +2 -2
  110. package/dist/{chunk-2LT2XOAL.js → chunk-MPJ6UOLX.js} +4 -4
  111. package/dist/{chunk-2LT2XOAL.js.map → chunk-MPJ6UOLX.js.map} +1 -1
  112. package/dist/{chunk-JGPTGV5X.js → chunk-MRJNMV4A.js} +3 -3
  113. package/dist/{chunk-PLPGYCQQ.js → chunk-MYCH45BC.js} +4 -4
  114. package/dist/{chunk-XMEPH226.js → chunk-MZ26BHHP.js} +3 -3
  115. package/dist/{chunk-EH4GVGXD.js → chunk-N5YFRFLA.js} +2 -2
  116. package/dist/{chunk-EH4GVGXD.js.map → chunk-N5YFRFLA.js.map} +1 -1
  117. package/dist/{chunk-ZNRTNR2Q.js → chunk-OJIV6AKO.js} +3 -3
  118. package/dist/chunk-OJIV6AKO.js.map +1 -0
  119. package/dist/{chunk-DBOIK3XA.js → chunk-ONTXMGEZ.js} +2 -2
  120. package/dist/{chunk-YKXRVQ4S.js → chunk-OURPZP7V.js} +2 -2
  121. package/dist/{chunk-MWUVGTKC.js → chunk-OZ5APQB7.js} +5 -5
  122. package/dist/{chunk-OOOVMKOG.js → chunk-PCYPESIN.js} +2 -2
  123. package/dist/{chunk-NZLRMN35.js → chunk-PENSGCVW.js} +2 -2
  124. package/dist/{chunk-6XEHR3MG.js → chunk-PI3QU5U5.js} +2 -2
  125. package/dist/{chunk-6XEHR3MG.js.map → chunk-PI3QU5U5.js.map} +1 -1
  126. package/dist/{chunk-42IFQS4W.js → chunk-PJABNMRI.js} +3 -3
  127. package/dist/{chunk-3OOGJRXH.js → chunk-POCGMXLO.js} +2 -2
  128. package/dist/{chunk-VM2YJ5PN.js → chunk-PXKPP6C4.js} +2 -2
  129. package/dist/{chunk-HCORON7B.js → chunk-Q6MDBQRJ.js} +4 -4
  130. package/dist/{chunk-HCORON7B.js.map → chunk-Q6MDBQRJ.js.map} +1 -1
  131. package/dist/{chunk-TCB3IDJM.js → chunk-QCIY5PSJ.js} +4 -4
  132. package/dist/{chunk-LXOLIOAD.js → chunk-QF4M4T6G.js} +14 -6
  133. package/dist/{chunk-LXOLIOAD.js.map → chunk-QF4M4T6G.js.map} +1 -1
  134. package/dist/{chunk-4YCEFGZA.js → chunk-QFQHFBN4.js} +3 -3
  135. package/dist/{chunk-ZW32E6EJ.js → chunk-QKIREPRK.js} +9 -9
  136. package/dist/{chunk-ZW32E6EJ.js.map → chunk-QKIREPRK.js.map} +1 -1
  137. package/dist/{chunk-LMOAA73F.js → chunk-QPE2V3MY.js} +3 -3
  138. package/dist/{chunk-2AID4P2C.js → chunk-R6CQ6XSS.js} +2 -2
  139. package/dist/{chunk-2AID4P2C.js.map → chunk-R6CQ6XSS.js.map} +1 -1
  140. package/dist/{chunk-6QH4NCPA.js → chunk-RCX6YW4I.js} +2 -2
  141. package/dist/{chunk-EAO2SO4N.js → chunk-RFUXK65B.js} +2 -2
  142. package/dist/{chunk-OMUK2MOH.js → chunk-RMVIA3NK.js} +2 -2
  143. package/dist/{chunk-2JXI3CAL.js → chunk-S5CDK44R.js} +4 -4
  144. package/dist/{chunk-GU3CZAIN.js → chunk-SKHUBXIN.js} +2 -2
  145. package/dist/{chunk-KZYWHHAQ.js → chunk-SURP2NUP.js} +2 -2
  146. package/dist/{chunk-IDB3R3G5.js → chunk-TH6YVPP4.js} +3 -3
  147. package/dist/{chunk-V2NSN6ET.js → chunk-TP3VDQLF.js} +2 -2
  148. package/dist/{chunk-3X2U6I44.js → chunk-TZ4NUY3W.js} +3 -3
  149. package/dist/{chunk-6QOLNYFY.js → chunk-UB3F342R.js} +2 -2
  150. package/dist/chunk-UB3F342R.js.map +1 -0
  151. package/dist/{chunk-YSDLXJHE.js → chunk-UIOLC7XM.js} +2 -2
  152. package/dist/{chunk-PAM6VJQM.js → chunk-UP5M7NHW.js} +3 -3
  153. package/dist/chunk-UP5M7NHW.js.map +1 -0
  154. package/dist/{chunk-IIEHQPKE.js → chunk-UPWUAGEV.js} +6 -6
  155. package/dist/{chunk-TI6WBLCB.js → chunk-UQ5GR6IX.js} +2 -2
  156. package/dist/{chunk-Q6QLOUXJ.js → chunk-UTM7YAT4.js} +2 -2
  157. package/dist/{chunk-HT6L4VRQ.js → chunk-UYHQBNQ4.js} +2 -2
  158. package/dist/{chunk-HT6L4VRQ.js.map → chunk-UYHQBNQ4.js.map} +1 -1
  159. package/dist/{chunk-R5XRTUWH.js → chunk-VQFWMNZO.js} +2 -2
  160. package/dist/{chunk-R2DCUSBY.js → chunk-WALS2M6Z.js} +2 -2
  161. package/dist/{chunk-K6NQZIAW.js → chunk-WTZ4LRQT.js} +2 -2
  162. package/dist/{chunk-3D4YR2SR.js → chunk-WVBZIXQP.js} +3 -3
  163. package/dist/{chunk-3D4YR2SR.js.map → chunk-WVBZIXQP.js.map} +1 -1
  164. package/dist/{chunk-525OLFRD.js → chunk-WWCLSC2B.js} +3 -3
  165. package/dist/chunk-WWCLSC2B.js.map +1 -0
  166. package/dist/{chunk-U6VFT2A5.js → chunk-X4ULMQ53.js} +2 -2
  167. package/dist/{chunk-OEPVYNB6.js → chunk-XD4JKMGT.js} +2 -2
  168. package/dist/{chunk-K7SY2MAX.js → chunk-XEAP4MXS.js} +3 -3
  169. package/dist/{chunk-BPMS34GV.js → chunk-XKS2HTEX.js} +3 -3
  170. package/dist/chunk-XKS2HTEX.js.map +1 -0
  171. package/dist/{chunk-TWXUGWYX.js → chunk-YN3Z5H5O.js} +1 -1
  172. package/dist/chunk-YN3Z5H5O.js.map +1 -0
  173. package/dist/{chunk-QZ6WXAUO.js → chunk-YPAI5UGF.js} +2 -2
  174. package/dist/{chunk-HRCTWTP3.js → chunk-YSUNJQBP.js} +3 -3
  175. package/dist/{chunk-NOWUJERX.js → chunk-Z7C5ZNPZ.js} +3 -3
  176. package/dist/{chunk-NOWUJERX.js.map → chunk-Z7C5ZNPZ.js.map} +1 -1
  177. package/dist/{chunk-QJYU5TLL.js → chunk-ZBNR46A5.js} +2 -2
  178. package/dist/{chunk-QJYU5TLL.js.map → chunk-ZBNR46A5.js.map} +1 -1
  179. package/dist/{chunk-JQ4Z4JTW.js → chunk-ZMAMJNWT.js} +2 -2
  180. package/dist/{chunk-NVFFQJEW.js → chunk-ZVAPV5JP.js} +4 -4
  181. package/dist/{chunk-NVFFQJEW.js.map → chunk-ZVAPV5JP.js.map} +1 -1
  182. package/dist/clamp.js +3 -3
  183. package/dist/closestTo.js +3 -3
  184. package/dist/compareAsc.js +3 -3
  185. package/dist/compareDesc.js +3 -3
  186. package/dist/differenceInBusinessDays.js +4 -4
  187. package/dist/differenceInCalendarDays.js +4 -4
  188. package/dist/differenceInCalendarMonths.js +4 -4
  189. package/dist/differenceInCalendarQuarters.js +4 -4
  190. package/dist/differenceInCalendarWeeks.js +4 -4
  191. package/dist/differenceInCalendarYears.js +4 -4
  192. package/dist/differenceInDays.js +3 -3
  193. package/dist/differenceInHours.js +3 -3
  194. package/dist/differenceInMicroseconds.js +3 -3
  195. package/dist/differenceInMilliseconds.js +3 -3
  196. package/dist/differenceInMinutes.js +3 -3
  197. package/dist/differenceInMonths.js +3 -3
  198. package/dist/differenceInNanoseconds.js +3 -3
  199. package/dist/differenceInQuarters.d.ts +2 -2
  200. package/dist/differenceInQuarters.js +4 -4
  201. package/dist/differenceInSeconds.js +3 -3
  202. package/dist/differenceInWeeks.js +3 -3
  203. package/dist/differenceInYears.js +3 -3
  204. package/dist/eachDayOfInterval.js +4 -4
  205. package/dist/eachHourOfInterval.d.ts.map +1 -1
  206. package/dist/eachHourOfInterval.js +3 -3
  207. package/dist/eachMinuteOfInterval.js +3 -3
  208. package/dist/eachMonthOfInterval.js +5 -5
  209. package/dist/eachQuarterOfInterval.d.ts +1 -1
  210. package/dist/eachQuarterOfInterval.js +4 -4
  211. package/dist/eachWeekOfInterval.js +5 -5
  212. package/dist/eachYearOfInterval.js +5 -5
  213. package/dist/endOfDay.d.ts.map +1 -1
  214. package/dist/endOfDay.js +6 -6
  215. package/dist/endOfMonth.d.ts.map +1 -1
  216. package/dist/endOfMonth.js +6 -6
  217. package/dist/endOfQuarter.d.ts +2 -2
  218. package/dist/endOfQuarter.js +6 -6
  219. package/dist/endOfWeek.js +5 -5
  220. package/dist/endOfYear.d.ts.map +1 -1
  221. package/dist/endOfYear.js +6 -6
  222. package/dist/format.js +4 -4
  223. package/dist/formatPlainDate.js +2 -2
  224. package/dist/getQuarter.d.ts +1 -1
  225. package/dist/getQuarter.js +3 -3
  226. package/dist/index.d.ts +116 -116
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +124 -124
  229. package/dist/intlFormatDistance.js +10 -10
  230. package/dist/isAfter.js +3 -3
  231. package/dist/isBefore.js +3 -3
  232. package/dist/isEqual.js +3 -3
  233. package/dist/isFuture.d.ts.map +1 -1
  234. package/dist/isFuture.js +5 -5
  235. package/dist/isPast.d.ts.map +1 -1
  236. package/dist/isPast.js +5 -5
  237. package/dist/isPlainDateAfter.d.ts.map +1 -1
  238. package/dist/isPlainDateAfter.js +2 -2
  239. package/dist/isPlainDateBefore.d.ts.map +1 -1
  240. package/dist/isPlainDateBefore.js +2 -2
  241. package/dist/isPlainDateEqual.d.ts.map +1 -1
  242. package/dist/isPlainDateEqual.js +2 -2
  243. package/dist/isPlainTimeAfter.d.ts.map +1 -1
  244. package/dist/isPlainTimeAfter.js +2 -2
  245. package/dist/isPlainTimeBefore.d.ts.map +1 -1
  246. package/dist/isPlainTimeBefore.js +2 -2
  247. package/dist/isPlainTimeEqual.d.ts.map +1 -1
  248. package/dist/isPlainTimeEqual.js +2 -2
  249. package/dist/isSameDay.d.ts.map +1 -1
  250. package/dist/isSameDay.js +3 -3
  251. package/dist/isSameHour.js +3 -3
  252. package/dist/isSameMicrosecond.js +3 -3
  253. package/dist/isSameMillisecond.js +3 -3
  254. package/dist/isSameMinute.js +3 -3
  255. package/dist/isSameMonth.js +3 -3
  256. package/dist/isSameNanosecond.js +3 -3
  257. package/dist/isSameQuarter.d.ts +1 -1
  258. package/dist/isSameQuarter.js +3 -3
  259. package/dist/isSameSecond.js +3 -3
  260. package/dist/isSameWeek.js +3 -3
  261. package/dist/isSameYear.js +3 -3
  262. package/dist/isToday.js +6 -6
  263. package/dist/isTomorrow.js +6 -6
  264. package/dist/isWeekend.js +4 -4
  265. package/dist/isWithinInterval.js +6 -6
  266. package/dist/isYesterday.js +6 -6
  267. package/dist/max.js +3 -3
  268. package/dist/min.js +3 -3
  269. package/dist/nextDay.js +3 -3
  270. package/dist/now.js +2 -2
  271. package/dist/parse.js +2 -2
  272. package/dist/previousDay.js +3 -3
  273. package/dist/roundToNearestHour.js +3 -3
  274. package/dist/roundToNearestMinute.js +3 -3
  275. package/dist/roundToNearestSecond.js +3 -3
  276. package/dist/shared/businessDays.js +3 -3
  277. package/dist/shared/calendarDates.js +3 -3
  278. package/dist/shared/compare.js +2 -2
  279. package/dist/shared/differenceInMilliseconds.js +1 -1
  280. package/dist/shared/endOfDay.d.ts.map +1 -1
  281. package/dist/shared/endOfDay.js +1 -1
  282. package/dist/shared/isAfter.d.ts.map +1 -1
  283. package/dist/shared/isAfter.js +1 -1
  284. package/dist/shared/isBefore.d.ts.map +1 -1
  285. package/dist/shared/isBefore.js +1 -1
  286. package/dist/shared/normalizeTemporalInput.js +2 -2
  287. package/dist/shared/normalizeWithPlainDate.js +4 -4
  288. package/dist/shared/nowZoned.js +3 -3
  289. package/dist/shared/plainDateToZonedDateTime.js +2 -2
  290. package/dist/shared/relativeDay.js +5 -5
  291. package/dist/shared/temporal.d.ts +1 -1
  292. package/dist/shared/temporal.js +1 -1
  293. package/dist/simpleFormat.d.ts.map +1 -1
  294. package/dist/simpleFormat.js +2 -2
  295. package/dist/startOfDay.d.ts.map +1 -1
  296. package/dist/startOfDay.js +5 -5
  297. package/dist/startOfMonth.d.ts.map +1 -1
  298. package/dist/startOfMonth.js +5 -5
  299. package/dist/startOfQuarter.d.ts +2 -2
  300. package/dist/startOfQuarter.js +5 -5
  301. package/dist/startOfWeek.js +4 -4
  302. package/dist/startOfYear.d.ts.map +1 -1
  303. package/dist/startOfYear.js +5 -5
  304. package/dist/subBusinessDays.js +5 -5
  305. package/dist/subDays.js +4 -4
  306. package/dist/subHours.js +4 -4
  307. package/dist/subMicroseconds.js +4 -4
  308. package/dist/subMilliseconds.js +4 -4
  309. package/dist/subMinutes.js +4 -4
  310. package/dist/subMonths.js +4 -4
  311. package/dist/subNanoseconds.js +4 -4
  312. package/dist/subQuarters.d.ts +1 -1
  313. package/dist/subQuarters.js +4 -4
  314. package/dist/subSeconds.js +4 -4
  315. package/dist/subWeeks.js +4 -4
  316. package/dist/subYears.js +4 -4
  317. package/dist/toDate.d.ts.map +1 -1
  318. package/dist/toDate.js +2 -2
  319. package/dist/toInstant.js +2 -2
  320. package/dist/toIso.d.ts.map +1 -1
  321. package/dist/toIso.js +2 -2
  322. package/dist/toIso9075.d.ts.map +1 -1
  323. package/dist/toIso9075.js +2 -2
  324. package/dist/toPlainDate.js +2 -2
  325. package/dist/toPlainTime.js +2 -2
  326. package/dist/toZonedTime.js +2 -2
  327. package/dist/today.js +2 -2
  328. package/package.json +33 -26
  329. package/dist/chunk-4FQCY75E.js.map +0 -1
  330. package/dist/chunk-4VWUTQKP.js.map +0 -1
  331. package/dist/chunk-525OLFRD.js.map +0 -1
  332. package/dist/chunk-6QOLNYFY.js.map +0 -1
  333. package/dist/chunk-A34P5Z5O.js.map +0 -1
  334. package/dist/chunk-BMX7CIRD.js.map +0 -1
  335. package/dist/chunk-BPMS34GV.js.map +0 -1
  336. package/dist/chunk-BSVOJYJ7.js.map +0 -1
  337. package/dist/chunk-CDKIT7D3.js.map +0 -1
  338. package/dist/chunk-DGUAV5XN.js.map +0 -1
  339. package/dist/chunk-JA5ER27P.js.map +0 -1
  340. package/dist/chunk-KYS54PLJ.js.map +0 -1
  341. package/dist/chunk-LQ3EQYIX.js.map +0 -1
  342. package/dist/chunk-NMMMAMKP.js.map +0 -1
  343. package/dist/chunk-PAM6VJQM.js.map +0 -1
  344. package/dist/chunk-QDY2KMYX.js.map +0 -1
  345. package/dist/chunk-TWXUGWYX.js.map +0 -1
  346. package/dist/chunk-ZNRTNR2Q.js.map +0 -1
  347. /package/dist/{chunk-CN3OICYB.js.map → chunk-2LXWY2VY.js.map} +0 -0
  348. /package/dist/{chunk-K3L6MJJB.js.map → chunk-2MWQYQ53.js.map} +0 -0
  349. /package/dist/{chunk-LRIVI5ZC.js.map → chunk-34UWPATE.js.map} +0 -0
  350. /package/dist/{chunk-QVSHSIA3.js.map → chunk-3OF6TFYK.js.map} +0 -0
  351. /package/dist/{chunk-4KAIF44F.js.map → chunk-3YNUMQFB.js.map} +0 -0
  352. /package/dist/{chunk-DZ3647ZK.js.map → chunk-4A3ORKMC.js.map} +0 -0
  353. /package/dist/{chunk-IXNGK5OF.js.map → chunk-5EX3GTEU.js.map} +0 -0
  354. /package/dist/{chunk-KZCSP3DU.js.map → chunk-5YKAVRED.js.map} +0 -0
  355. /package/dist/{chunk-DRBZDI52.js.map → chunk-6O66POF3.js.map} +0 -0
  356. /package/dist/{chunk-U7VOIXLY.js.map → chunk-6SEPAWIA.js.map} +0 -0
  357. /package/dist/{chunk-X27XGVCT.js.map → chunk-7DVEJNCP.js.map} +0 -0
  358. /package/dist/{chunk-C7QA4J6V.js.map → chunk-7NHKDMBY.js.map} +0 -0
  359. /package/dist/{chunk-7IKCDOCT.js.map → chunk-AEAZ2F2T.js.map} +0 -0
  360. /package/dist/{chunk-3HD7HEN4.js.map → chunk-APWSLQ47.js.map} +0 -0
  361. /package/dist/{chunk-DYIISNVW.js.map → chunk-AWERPSJ5.js.map} +0 -0
  362. /package/dist/{chunk-32AWWYBF.js.map → chunk-B7RDUXDN.js.map} +0 -0
  363. /package/dist/{chunk-3S6TSXZ3.js.map → chunk-CCDDXIAC.js.map} +0 -0
  364. /package/dist/{chunk-SLH6TKGN.js.map → chunk-CX37IV4D.js.map} +0 -0
  365. /package/dist/{chunk-HYSGJJUR.js.map → chunk-D2HKS2OM.js.map} +0 -0
  366. /package/dist/{chunk-4GEF7B7W.js.map → chunk-D73HU7YA.js.map} +0 -0
  367. /package/dist/{chunk-OMYVTYHI.js.map → chunk-DAWWOF5W.js.map} +0 -0
  368. /package/dist/{chunk-GOJ45AG7.js.map → chunk-DCQCZCKG.js.map} +0 -0
  369. /package/dist/{chunk-5WHGX2J3.js.map → chunk-DEVXW65H.js.map} +0 -0
  370. /package/dist/{chunk-R6D3Y5NV.js.map → chunk-DFVLLH5O.js.map} +0 -0
  371. /package/dist/{chunk-DVZDJ5LM.js.map → chunk-EMLUESE5.js.map} +0 -0
  372. /package/dist/{chunk-GQXJICRA.js.map → chunk-EWRNJC27.js.map} +0 -0
  373. /package/dist/{chunk-TD6MVGV2.js.map → chunk-EYTJNGGV.js.map} +0 -0
  374. /package/dist/{chunk-IWVSM77B.js.map → chunk-FTXHKXCS.js.map} +0 -0
  375. /package/dist/{chunk-3HF4F36S.js.map → chunk-GLKCUJIZ.js.map} +0 -0
  376. /package/dist/{chunk-GXSVYUCG.js.map → chunk-GZKKAIXF.js.map} +0 -0
  377. /package/dist/{chunk-TU3LNQKW.js.map → chunk-HMPHUFC6.js.map} +0 -0
  378. /package/dist/{chunk-H43LMOCK.js.map → chunk-HXB6CDB4.js.map} +0 -0
  379. /package/dist/{chunk-SHKSAHJO.js.map → chunk-IOHTFQCP.js.map} +0 -0
  380. /package/dist/{chunk-7PH5BPMS.js.map → chunk-IXRFVP3X.js.map} +0 -0
  381. /package/dist/{chunk-XSHFR2SX.js.map → chunk-IZPKAMAP.js.map} +0 -0
  382. /package/dist/{chunk-3XGUCQ2A.js.map → chunk-JBGAF2FW.js.map} +0 -0
  383. /package/dist/{chunk-6UBFKQIJ.js.map → chunk-JDKM6JTT.js.map} +0 -0
  384. /package/dist/{chunk-AUOZACFS.js.map → chunk-KISBF5GX.js.map} +0 -0
  385. /package/dist/{chunk-ZXKU4SKR.js.map → chunk-L535UIYN.js.map} +0 -0
  386. /package/dist/{chunk-YMJHVVM4.js.map → chunk-LJMPJUHN.js.map} +0 -0
  387. /package/dist/{chunk-NL5MQVGD.js.map → chunk-LKDENGBC.js.map} +0 -0
  388. /package/dist/{chunk-VDV24TWQ.js.map → chunk-LTYIPGQD.js.map} +0 -0
  389. /package/dist/{chunk-MVGBYHG5.js.map → chunk-LY7IXVZO.js.map} +0 -0
  390. /package/dist/{chunk-EBOLL4LY.js.map → chunk-M2QFNUJF.js.map} +0 -0
  391. /package/dist/{chunk-RDMDCTHJ.js.map → chunk-MLD3VIOP.js.map} +0 -0
  392. /package/dist/{chunk-JGPTGV5X.js.map → chunk-MRJNMV4A.js.map} +0 -0
  393. /package/dist/{chunk-PLPGYCQQ.js.map → chunk-MYCH45BC.js.map} +0 -0
  394. /package/dist/{chunk-XMEPH226.js.map → chunk-MZ26BHHP.js.map} +0 -0
  395. /package/dist/{chunk-DBOIK3XA.js.map → chunk-ONTXMGEZ.js.map} +0 -0
  396. /package/dist/{chunk-YKXRVQ4S.js.map → chunk-OURPZP7V.js.map} +0 -0
  397. /package/dist/{chunk-MWUVGTKC.js.map → chunk-OZ5APQB7.js.map} +0 -0
  398. /package/dist/{chunk-OOOVMKOG.js.map → chunk-PCYPESIN.js.map} +0 -0
  399. /package/dist/{chunk-NZLRMN35.js.map → chunk-PENSGCVW.js.map} +0 -0
  400. /package/dist/{chunk-42IFQS4W.js.map → chunk-PJABNMRI.js.map} +0 -0
  401. /package/dist/{chunk-3OOGJRXH.js.map → chunk-POCGMXLO.js.map} +0 -0
  402. /package/dist/{chunk-VM2YJ5PN.js.map → chunk-PXKPP6C4.js.map} +0 -0
  403. /package/dist/{chunk-TCB3IDJM.js.map → chunk-QCIY5PSJ.js.map} +0 -0
  404. /package/dist/{chunk-4YCEFGZA.js.map → chunk-QFQHFBN4.js.map} +0 -0
  405. /package/dist/{chunk-LMOAA73F.js.map → chunk-QPE2V3MY.js.map} +0 -0
  406. /package/dist/{chunk-6QH4NCPA.js.map → chunk-RCX6YW4I.js.map} +0 -0
  407. /package/dist/{chunk-EAO2SO4N.js.map → chunk-RFUXK65B.js.map} +0 -0
  408. /package/dist/{chunk-OMUK2MOH.js.map → chunk-RMVIA3NK.js.map} +0 -0
  409. /package/dist/{chunk-2JXI3CAL.js.map → chunk-S5CDK44R.js.map} +0 -0
  410. /package/dist/{chunk-GU3CZAIN.js.map → chunk-SKHUBXIN.js.map} +0 -0
  411. /package/dist/{chunk-KZYWHHAQ.js.map → chunk-SURP2NUP.js.map} +0 -0
  412. /package/dist/{chunk-IDB3R3G5.js.map → chunk-TH6YVPP4.js.map} +0 -0
  413. /package/dist/{chunk-V2NSN6ET.js.map → chunk-TP3VDQLF.js.map} +0 -0
  414. /package/dist/{chunk-3X2U6I44.js.map → chunk-TZ4NUY3W.js.map} +0 -0
  415. /package/dist/{chunk-YSDLXJHE.js.map → chunk-UIOLC7XM.js.map} +0 -0
  416. /package/dist/{chunk-IIEHQPKE.js.map → chunk-UPWUAGEV.js.map} +0 -0
  417. /package/dist/{chunk-TI6WBLCB.js.map → chunk-UQ5GR6IX.js.map} +0 -0
  418. /package/dist/{chunk-Q6QLOUXJ.js.map → chunk-UTM7YAT4.js.map} +0 -0
  419. /package/dist/{chunk-R5XRTUWH.js.map → chunk-VQFWMNZO.js.map} +0 -0
  420. /package/dist/{chunk-R2DCUSBY.js.map → chunk-WALS2M6Z.js.map} +0 -0
  421. /package/dist/{chunk-K6NQZIAW.js.map → chunk-WTZ4LRQT.js.map} +0 -0
  422. /package/dist/{chunk-U6VFT2A5.js.map → chunk-X4ULMQ53.js.map} +0 -0
  423. /package/dist/{chunk-OEPVYNB6.js.map → chunk-XD4JKMGT.js.map} +0 -0
  424. /package/dist/{chunk-K7SY2MAX.js.map → chunk-XEAP4MXS.js.map} +0 -0
  425. /package/dist/{chunk-QZ6WXAUO.js.map → chunk-YPAI5UGF.js.map} +0 -0
  426. /package/dist/{chunk-HRCTWTP3.js.map → chunk-YSUNJQBP.js.map} +0 -0
  427. /package/dist/{chunk-JQ4Z4JTW.js.map → chunk-ZMAMJNWT.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/differenceInQuarters.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from \"./shared/temporal\";\nimport { differenceInMonths } from \"./differenceInMonths\";\nimport type { DifferenceOptions } from \"./shared/differenceOptions\";\n\n/**\n * Returns the number of quarters (3-month blocks) between two datetimes or dates.\n * The result is positive if laterDate is after earlierDate, negative if before.\n *\n * Uses calendar-aware, elapsed-time calculation (a quarter is three months).\n * Instant inputs are converted to UTC; ZonedDateTime inputs keep their timezone.\n * PlainDate inputs are compared directly — no timezone needed.\n *\n * @param laterDate - The later Instant or ZonedDateTime\n * @param earlierDate - The earlier Instant or ZonedDateTime\n * @param options - Optional { fractional } to return the precise value\n * @returns The number of quarters, truncated toward zero (pass { fractional: true } for the precise value)\n *\n * @example\n * ```ts\n * const later = Temporal.Instant.from('2025-07-20T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * differenceInQuarters(later, earlier); // 2\n * ```\n *\n * @example\n * ```ts\n * // PlainDate comparison needs no timezone\n * const later = Temporal.PlainDate.from('2025-07-20');\n * const earlier = Temporal.PlainDate.from('2025-01-20');\n * differenceInQuarters(later, earlier); // 2\n * ```\n */\nexport function differenceInQuarters(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: DifferenceOptions,\n): number;\nexport function differenceInQuarters(\n laterDate: Temporal.PlainDate,\n earlierDate: Temporal.PlainDate,\n options?: DifferenceOptions,\n): number;\nexport function differenceInQuarters(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n options?: DifferenceOptions,\n): number {\n // A quarter is three months, so work in elapsed months and divide by 3.\n // Serialize the other date to preserve its calendar across implementations.\n const months =\n isPlainDate(laterDate) && isPlainDate(earlierDate)\n ? earlierDate.until(laterDate.toString()).total({\n unit: \"months\",\n relativeTo: earlierDate,\n })\n : differenceInMonths(\n laterDate as Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate as Temporal.Instant | Temporal.ZonedDateTime,\n { fractional: true },\n );\n\n const quarters = months / 3;\n return options?.fractional ? quarters : Math.trunc(quarters);\n}\n"],"mappings":";;;;;;;;AA0CO,SAAS,qBACd,WACA,aACA,SACQ;AAGR,QAAM,SACJ,YAAY,SAAS,KAAK,YAAY,WAAW,IAC7C,YAAY,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM;AAAA,IAC5C,MAAM;AAAA,IACN,YAAY;AAAA,EACd,CAAC,IACD;AAAA,IACE;AAAA,IACA;AAAA,IACA,EAAE,YAAY,KAAK;AAAA,EACrB;AAEN,QAAM,WAAW,SAAS;AAC1B,SAAO,SAAS,aAAa,WAAW,KAAK,MAAM,QAAQ;AAC7D;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/addQuarters.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from \"./shared/temporal\";\nimport { normalizeTemporalInput } from \"./shared/normalizeTemporalInput\";\n\n/**\n * Adds the specified number of quarters (3-month blocks) to a datetime or date.\n *\n * Properly handles month-end dates and calendar edge cases through Temporal API.\n * Instant inputs are converted to UTC; ZonedDateTime inputs preserve their\n * timezone. PlainDate inputs stay in calendar space and return a PlainDate.\n *\n * @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate\n * @param quarters - Number of quarters to add (can be negative to subtract)\n * @returns PlainDate for a date input; otherwise ZonedDateTime with the quarters added\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * addQuarters(instant, 2);\n * // 2025-07-20T12:00:00+00:00[UTC] (6 months later)\n * ```\n *\n * @example\n * ```ts\n * // Calendar arithmetic on a date stays a date\n * addQuarters(Temporal.PlainDate.from('2025-01-31'), 1);\n * // 2025-04-30 (Jan 31 → Apr 30)\n * ```\n */\nexport function addQuarters(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n quarters: number,\n): Temporal.ZonedDateTime;\nexport function addQuarters(input: Temporal.PlainDate, quarters: number): Temporal.PlainDate;\nexport function addQuarters(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n quarters: number,\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n if (isPlainDate(input)) {\n return input.add({ months: quarters * 3 });\n }\n return normalizeTemporalInput(input).add({ months: quarters * 3 });\n}\n"],"mappings":";;;;;;;;AAiCO,SAAS,YACd,OACA,UAC6C;AAC7C,MAAI,YAAY,KAAK,GAAG;AACtB,WAAO,MAAM,IAAI,EAAE,QAAQ,WAAW,EAAE,CAAC;AAAA,EAC3C;AACA,SAAO,uBAAuB,KAAK,EAAE,IAAI,EAAE,QAAQ,WAAW,EAAE,CAAC;AACnE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/formatPlainDate.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\n\nexport interface FormatPlainDateOptions {\n locale?: string;\n}\n\n/**\n * Format a Temporal.PlainDate using date-fns-like format tokens.\n * Uses Intl.DateTimeFormat under the hood for locale support.\n *\n * Only supports date-related tokens (no time or timezone tokens).\n *\n * @param date - A Temporal.PlainDate to format\n * @param formatStr - Format string using date-fns tokens (e.g., \"yyyy-MM-dd\")\n * @param options - Optional configuration for locale\n * @returns Formatted date string\n *\n * @example\n * ```typescript\n * const date = Temporal.PlainDate.from(\"2025-01-20\");\n *\n * formatPlainDate(date, \"yyyy-MM-dd\"); // \"2025-01-20\"\n * formatPlainDate(date, \"MMMM d, yyyy\"); // \"January 20, 2025\"\n * formatPlainDate(date, \"EEEE, MMMM do, yyyy\"); // \"Monday, January 20th, 2025\"\n *\n * // With locale\n * formatPlainDate(date, \"MMMM d, yyyy\", { locale: \"es-ES\" }); // \"enero 20, 2025\"\n * ```\n */\nexport function formatPlainDate(\n date: Temporal.PlainDate,\n formatStr: string,\n options: FormatPlainDateOptions = {}\n): string {\n const { locale = 'en-US' } = options;\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, date, locale);\n i += token.length;\n } else {\n result += char;\n i++;\n }\n }\n\n return result;\n}\n\nfunction consumeToken(formatStr: string, start: number, char: string): string | null {\n // Special case for 'Mo' and 'do' - these end with 'o'\n if (char === 'M' && start + 1 < formatStr.length && formatStr[start + 1] === 'o') {\n return 'Mo';\n }\n if (char === 'd' && start + 1 < formatStr.length && formatStr[start + 1] === 'o') {\n return 'do';\n }\n\n // Count how many consecutive identical characters\n let end = start;\n while (end < formatStr.length && formatStr[end] === char) {\n end++;\n }\n const count = end - start;\n\n // Valid tokens for PlainDate (date-only, no time/timezone)\n const validTokens = [\n // Era\n 'GGGGG',\n 'GGGG',\n 'GGG',\n 'GG',\n 'G',\n // Year\n 'yyyy',\n 'yyy',\n 'yy',\n 'y',\n // Quarter\n 'QQQQQ',\n 'QQQQ',\n 'QQQ',\n 'QQ',\n 'Q',\n // Month\n 'MMMMM',\n 'MMMM',\n 'MMM',\n 'MM',\n 'M',\n // Day\n 'dd',\n 'd',\n // Weekday\n 'EEEEEE',\n 'EEEEE',\n 'EEEE',\n 'EEE',\n 'EE',\n 'E',\n ];\n\n // Try to match from longest to shortest\n for (let len = Math.min(count, 6); len > 0; len--) {\n const candidate = char.repeat(len);\n if (validTokens.includes(candidate)) {\n return candidate;\n }\n }\n\n return null;\n}\n\nfunction formatToken(token: string, date: Temporal.PlainDate, locale: string): string {\n switch (token) {\n // Era\n case 'GGGGG':\n return formatPart(date, 'era', 'narrow', locale);\n case 'GGGG':\n return formatPart(date, 'era', 'long', locale);\n case 'GGG':\n case 'GG':\n case 'G':\n return formatPart(date, 'era', 'short', locale);\n\n // Year\n case 'yyyy':\n return date.year.toString().padStart(4, '0');\n case 'yyy':\n return date.year.toString().padStart(3, '0');\n case 'yy':\n return (date.year % 100).toString().padStart(2, '0');\n case 'y':\n return date.year.toString();\n\n // Quarter\n case 'QQQQQ':\n return Math.ceil(date.month / 3).toString();\n case 'QQQQ': {\n const quarter = Math.ceil(date.month / 3);\n return `${quarter}${getOrdinalSuffix(quarter)} quarter`;\n }\n case 'QQQ':\n return `Q${Math.ceil(date.month / 3)}`;\n case 'QQ':\n return Math.ceil(date.month / 3)\n .toString()\n .padStart(2, '0');\n case 'Q':\n return Math.ceil(date.month / 3).toString();\n\n // Month\n case 'MMMMM':\n return formatPart(date, 'month', 'narrow', locale);\n case 'MMMM':\n return formatPart(date, 'month', 'long', locale);\n case 'MMM':\n return formatPart(date, 'month', 'short', locale);\n case 'MM':\n return date.month.toString().padStart(2, '0');\n case 'Mo':\n return `${date.month}${getOrdinalSuffix(date.month)}`;\n case 'M':\n return date.month.toString();\n\n // Day of month\n case 'do':\n return `${date.day}${getOrdinalSuffix(date.day)}`;\n case 'dd':\n return date.day.toString().padStart(2, '0');\n case 'd':\n return date.day.toString();\n\n // Day of week\n case 'EEEEEE':\n return formatPart(date, 'weekday', 'short', locale).slice(0, 2);\n case 'EEEEE':\n return formatPart(date, 'weekday', 'narrow', locale);\n case 'EEEE':\n return formatPart(date, 'weekday', 'long', locale);\n case 'EEE':\n case 'EE':\n case 'E':\n return formatPart(date, 'weekday', 'short', locale);\n\n default:\n return token;\n }\n}\n\nfunction formatPart(\n date: Temporal.PlainDate,\n part: 'era' | 'year' | 'month' | 'weekday' | 'day',\n style: 'narrow' | 'short' | 'long' | 'numeric' | '2-digit',\n locale: string\n): string {\n const options: Intl.DateTimeFormatOptions = {\n [part]: style,\n timeZone: 'UTC',\n calendar: date.calendarId === 'iso8601' ? undefined : date.calendarId,\n };\n\n return new Intl.DateTimeFormat(locale, options)\n .formatToParts(date.toZonedDateTime('UTC').epochMilliseconds)\n .find(value => value.type === part)?.value ?? '';\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"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
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":[]}