@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,10 +1,10 @@
1
1
  import {
2
2
  startOfMonth
3
- } from "./chunk-3D4YR2SR.js";
4
- import "./chunk-TCB3IDJM.js";
5
- import "./chunk-2AID4P2C.js";
6
- import "./chunk-Q6QLOUXJ.js";
7
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-WVBZIXQP.js";
4
+ import "./chunk-QCIY5PSJ.js";
5
+ import "./chunk-R6CQ6XSS.js";
6
+ import "./chunk-UTM7YAT4.js";
7
+ import "./chunk-M4ESIRFH.js";
8
8
  export {
9
9
  startOfMonth
10
10
  };
@@ -1,5 +1,5 @@
1
- import { type Temporal } from "./shared/temporal.js";
2
- import type { Timezone } from "./types.js";
1
+ import { type Temporal } from './shared/temporal.js';
2
+ import type { Timezone } from './types.js';
3
3
  /**
4
4
  * Returns a ZonedDateTime representing the first moment of the quarter
5
5
  * (first day of the quarter's starting month at midnight).
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  startOfQuarter
3
- } from "./chunk-ZNRTNR2Q.js";
4
- import "./chunk-TCB3IDJM.js";
5
- import "./chunk-2AID4P2C.js";
3
+ } from "./chunk-OJIV6AKO.js";
4
+ import "./chunk-QCIY5PSJ.js";
5
+ import "./chunk-R6CQ6XSS.js";
6
6
  import "./chunk-XS2HUADA.js";
7
- import "./chunk-Q6QLOUXJ.js";
8
- import "./chunk-BSVOJYJ7.js";
7
+ import "./chunk-UTM7YAT4.js";
8
+ import "./chunk-M4ESIRFH.js";
9
9
  export {
10
10
  startOfQuarter
11
11
  };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  startOfWeek
3
- } from "./chunk-PLPGYCQQ.js";
4
- import "./chunk-2AID4P2C.js";
3
+ } from "./chunk-MYCH45BC.js";
4
+ import "./chunk-R6CQ6XSS.js";
5
5
  import "./chunk-M2XB72L5.js";
6
- import "./chunk-Q6QLOUXJ.js";
7
- import "./chunk-BSVOJYJ7.js";
6
+ import "./chunk-UTM7YAT4.js";
7
+ import "./chunk-M4ESIRFH.js";
8
8
  export {
9
9
  startOfWeek
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"startOfYear.d.ts","sourceRoot":"","sources":["../src/startOfYear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,QAAQ,CAAC,aAAa,CAAC;AAC1B,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC3E,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,CAAC,SAAS,EACzB,QAAQ,EAAE,QAAQ,GACjB,QAAQ,CAAC,aAAa,CAAC"}
1
+ {"version":3,"file":"startOfYear.d.ts","sourceRoot":"","sources":["../src/startOfYear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,QAAQ,CAAC,aAAa,CAAC;AAC1B,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  startOfYear
3
- } from "./chunk-Y24VUXMX.js";
4
- import "./chunk-TCB3IDJM.js";
5
- import "./chunk-2AID4P2C.js";
6
- import "./chunk-Q6QLOUXJ.js";
7
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-4JCRRIM3.js";
4
+ import "./chunk-QCIY5PSJ.js";
5
+ import "./chunk-R6CQ6XSS.js";
6
+ import "./chunk-UTM7YAT4.js";
7
+ import "./chunk-M4ESIRFH.js";
8
8
  export {
9
9
  startOfYear
10
10
  };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  subBusinessDays
3
- } from "./chunk-42IFQS4W.js";
4
- import "./chunk-2JXI3CAL.js";
5
- import "./chunk-4YCEFGZA.js";
6
- import "./chunk-Q6QLOUXJ.js";
7
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-PJABNMRI.js";
4
+ import "./chunk-S5CDK44R.js";
5
+ import "./chunk-QFQHFBN4.js";
6
+ import "./chunk-UTM7YAT4.js";
7
+ import "./chunk-M4ESIRFH.js";
8
8
  export {
9
9
  subBusinessDays
10
10
  };
package/dist/subDays.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subDays
3
- } from "./chunk-DZ3647ZK.js";
4
- import "./chunk-4KAIF44F.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-4A3ORKMC.js";
4
+ import "./chunk-3YNUMQFB.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subDays
9
9
  };
package/dist/subHours.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subHours
3
- } from "./chunk-DRBZDI52.js";
4
- import "./chunk-YKXRVQ4S.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-6O66POF3.js";
4
+ import "./chunk-OURPZP7V.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subHours
9
9
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subMicroseconds
3
- } from "./chunk-IXNGK5OF.js";
4
- import "./chunk-TI6WBLCB.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-5EX3GTEU.js";
4
+ import "./chunk-UQ5GR6IX.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subMicroseconds
9
9
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subMilliseconds
3
- } from "./chunk-6QH4NCPA.js";
4
- import "./chunk-AUOZACFS.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-RCX6YW4I.js";
4
+ import "./chunk-KISBF5GX.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subMilliseconds
9
9
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subMinutes
3
- } from "./chunk-EAO2SO4N.js";
4
- import "./chunk-GXSVYUCG.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-RFUXK65B.js";
4
+ import "./chunk-GZKKAIXF.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subMinutes
9
9
  };
package/dist/subMonths.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subMonths
3
- } from "./chunk-MVGBYHG5.js";
4
- import "./chunk-ZXKU4SKR.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-LY7IXVZO.js";
4
+ import "./chunk-L535UIYN.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subMonths
9
9
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subNanoseconds
3
- } from "./chunk-IWVSM77B.js";
4
- import "./chunk-32AWWYBF.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-FTXHKXCS.js";
4
+ import "./chunk-B7RDUXDN.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subNanoseconds
9
9
  };
@@ -1,4 +1,4 @@
1
- import { type Temporal } from "./shared/temporal.js";
1
+ import { type Temporal } from './shared/temporal.js';
2
2
  /**
3
3
  * Subtracts the specified number of quarters (3-month blocks) from a datetime or date.
4
4
  *
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subQuarters
3
- } from "./chunk-KYS54PLJ.js";
4
- import "./chunk-QDY2KMYX.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-6M654ZYJ.js";
4
+ import "./chunk-EQ3AZDKF.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subQuarters
9
9
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subSeconds
3
- } from "./chunk-K3L6MJJB.js";
4
- import "./chunk-7IKCDOCT.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-2MWQYQ53.js";
4
+ import "./chunk-AEAZ2F2T.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subSeconds
9
9
  };
package/dist/subWeeks.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subWeeks
3
- } from "./chunk-SLH6TKGN.js";
4
- import "./chunk-3X2U6I44.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-CX37IV4D.js";
4
+ import "./chunk-TZ4NUY3W.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subWeeks
9
9
  };
package/dist/subYears.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  subYears
3
- } from "./chunk-3HF4F36S.js";
4
- import "./chunk-HRCTWTP3.js";
5
- import "./chunk-Q6QLOUXJ.js";
6
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-GLKCUJIZ.js";
4
+ import "./chunk-YSUNJQBP.js";
5
+ import "./chunk-UTM7YAT4.js";
6
+ import "./chunk-M4ESIRFH.js";
7
7
  export {
8
8
  subYears
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toDate.d.ts","sourceRoot":"","sources":["../src/toDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,IAAI,CAMN"}
1
+ {"version":3,"file":"toDate.d.ts","sourceRoot":"","sources":["../src/toDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAAG,IAAI,CAM7E"}
package/dist/toDate.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toDate
3
- } from "./chunk-HT6L4VRQ.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-UYHQBNQ4.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toDate
7
7
  };
package/dist/toInstant.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toInstant
3
- } from "./chunk-QVSHSIA3.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-3OF6TFYK.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toInstant
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toIso.d.ts","sourceRoot":"","sources":["../src/toIso.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,QAAQ,CAAC,aAAa,EAC7B,OAAO,CAAC,EAAE,YAAY,GACrB,MAAM,CAAC"}
1
+ {"version":3,"file":"toIso.d.ts","sourceRoot":"","sources":["../src/toIso.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC"}
package/dist/toIso.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toIso
3
- } from "./chunk-HCVE7FSF.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-FS7VH6AY.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toIso
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toIso9075.d.ts","sourceRoot":"","sources":["../src/toIso9075.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAC1C,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,CAAC,OAAO,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,CAAC,aAAa,EAC7B,OAAO,CAAC,EAAE,gBAAgB,GACzB,MAAM,CAAC"}
1
+ {"version":3,"file":"toIso9075.d.ts","sourceRoot":"","sources":["../src/toIso9075.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAC1C,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,CAAC,OAAO,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC"}
package/dist/toIso9075.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toIso9075
3
- } from "./chunk-A34P5Z5O.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-LL7XWZGU.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toIso9075
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toPlainDate
3
- } from "./chunk-LQ3EQYIX.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-BE7CIKP7.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toPlainDate
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toPlainTime
3
- } from "./chunk-LXOLIOAD.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-QF4M4T6G.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toPlainTime
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toZonedTime
3
- } from "./chunk-LRIVI5ZC.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-34UWPATE.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  toZonedTime
7
7
  };
package/dist/today.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  today
3
- } from "./chunk-NL5MQVGD.js";
4
- import "./chunk-BSVOJYJ7.js";
3
+ } from "./chunk-LKDENGBC.js";
4
+ import "./chunk-M4ESIRFH.js";
5
5
  export {
6
6
  today
7
7
  };
package/package.json CHANGED
@@ -1,35 +1,43 @@
1
1
  {
2
2
  "name": "@gobrand/tiempo",
3
- "version": "3.2.0",
4
- "packageManager": "pnpm@10.33.4",
5
- "description": "Lightweight timezone-safe date and time utilities built on the Temporal API",
3
+ "version": "3.2.1",
6
4
  "private": false,
7
- "publishConfig": {
8
- "access": "public"
5
+ "description": "Lightweight timezone-safe date and time utilities built on the Temporal API",
6
+ "keywords": [
7
+ "datetime",
8
+ "temporal",
9
+ "time-conversion",
10
+ "timezone",
11
+ "utc",
12
+ "zoned-datetime"
13
+ ],
14
+ "homepage": "https://tiempo.gobrand.app",
15
+ "bugs": {
16
+ "url": "https://github.com/go-brand/tiempo/issues"
17
+ },
18
+ "license": "MIT",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/go-brand/tiempo.git"
9
22
  },
10
- "type": "module",
11
- "main": "./dist/index.js",
12
- "types": "./dist/index.d.ts",
13
23
  "files": [
14
24
  "dist",
15
25
  "README.md",
16
26
  "LICENSE"
17
27
  ],
28
+ "type": "module",
29
+ "sideEffects": false,
30
+ "main": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
18
32
  "exports": {
19
33
  ".": {
20
34
  "types": "./dist/index.d.ts",
21
35
  "default": "./dist/index.js"
22
36
  }
23
37
  },
24
- "license": "MIT",
25
- "repository": {
26
- "type": "git",
27
- "url": "https://github.com/go-brand/tiempo.git"
28
- },
29
- "bugs": {
30
- "url": "https://github.com/go-brand/tiempo/issues"
38
+ "publishConfig": {
39
+ "access": "public"
31
40
  },
32
- "homepage": "https://tiempo.gobrand.app",
33
41
  "scripts": {
34
42
  "generate:timezones": "tsx scripts/generate-timezone-types.ts",
35
43
  "generate:matrix": "tsx scripts/generate-capability-matrix.ts",
@@ -38,6 +46,8 @@
38
46
  "clean": "git clean -xdf .cache .turbo dist node_modules tsconfig.tsbuildinfo",
39
47
  "smoke:package": "tsc -p smoke/tsconfig.json && tsx smoke/consumer.ts",
40
48
  "test": "vitest",
49
+ "format": "oxfmt",
50
+ "format:check": "oxfmt --check",
41
51
  "typecheck": "tsc --noEmit",
42
52
  "release": "bash scripts/release.sh",
43
53
  "smoke:tarball": "node scripts/smoke-tarball.mjs"
@@ -47,18 +57,15 @@
47
57
  },
48
58
  "devDependencies": {
49
59
  "@types/node": "^22.10.5",
60
+ "esbuild": "^0.27.2",
61
+ "oxfmt": "0.78.0",
50
62
  "tsup": "^8.5.0",
51
63
  "tsx": "^4.21.0",
52
64
  "typescript": "^5.9.3",
53
- "vitest": "^3.2.4",
54
- "esbuild": "^0.27.2"
65
+ "vitest": "^3.2.4"
55
66
  },
56
- "keywords": [
57
- "temporal",
58
- "timezone",
59
- "utc",
60
- "datetime",
61
- "zoned-datetime",
62
- "time-conversion"
63
- ]
67
+ "engines": {
68
+ "node": ">=22"
69
+ },
70
+ "packageManager": "pnpm@10.33.4"
64
71
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/endOfQuarter.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from \"./shared/temporal\";\nimport type { Timezone } from \"./types\";\nimport { getEndOfDay } from \"./shared/endOfDay\";\nimport { normalizeWithPlainDate } from \"./shared/normalizeWithPlainDate\";\nimport { quarterStartMonth } from \"./shared/quarter\";\n\n/**\n * Returns a ZonedDateTime representing the last moment of the quarter\n * (last day of the quarter's ending month at 23:59:59.999999999).\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 last day of the quarter at 23:59:59.999999999\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-05-15T12:00:00Z');\n * const end = endOfQuarter(instant);\n * // 2025-06-30T23:59:59.999999999+00:00[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-02-15T15:30:00-05:00[America/New_York]');\n * const end = endOfQuarter(zoned);\n * // 2025-03-31T23:59:59.999999999-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 end = endOfQuarter(date, 'America/New_York');\n * // 2025-12-31T23:59:59.999999999-05:00[America/New_York]\n * ```\n */\nexport function endOfQuarter(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n): Temporal.ZonedDateTime;\nexport function endOfQuarter(input: Temporal.PlainDate): Temporal.PlainDate;\nexport function endOfQuarter(input: Temporal.PlainDate, timezone: Timezone): Temporal.ZonedDateTime;\nexport function endOfQuarter(\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 → last day of quarter.\n if (isPlainDate(input) && timezone === undefined) {\n const endMonth = input.with({\n month: quarterStartMonth(input.month) + 2,\n day: 1,\n });\n return endMonth.with({ day: endMonth.daysInMonth });\n }\n const zonedDateTime = normalizeWithPlainDate(input, timezone!);\n const endMonth = zonedDateTime.with({\n month: quarterStartMonth(zonedDateTime.month) + 2,\n day: 1,\n });\n const lastDay = endMonth.with({ day: endMonth.daysInMonth });\n return getEndOfDay(lastDay);\n}\n"],"mappings":";;;;;;;;;;;;;;AA4CO,SAAS,aACd,OACA,UAC6C;AAE7C,MAAI,YAAY,KAAK,KAAK,aAAa,QAAW;AAChD,UAAMA,YAAW,MAAM,KAAK;AAAA,MAC1B,OAAO,kBAAkB,MAAM,KAAK,IAAI;AAAA,MACxC,KAAK;AAAA,IACP,CAAC;AACD,WAAOA,UAAS,KAAK,EAAE,KAAKA,UAAS,YAAY,CAAC;AAAA,EACpD;AACA,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,QAAM,WAAW,cAAc,KAAK;AAAA,IAClC,OAAO,kBAAkB,cAAc,KAAK,IAAI;AAAA,IAChD,KAAK;AAAA,EACP,CAAC;AACD,QAAM,UAAU,SAAS,KAAK,EAAE,KAAK,SAAS,YAAY,CAAC;AAC3D,SAAO,YAAY,OAAO;AAC5B;","names":["endMonth"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/eachQuarterOfInterval.ts"],"sourcesContent":["import { isPlainDateAfter } from './isPlainDateAfter';\nimport { Temporal } from \"./shared/temporal\";\nimport { isPlainDate } from \"./shared/temporal\";\nimport { normalizeTemporalInput } from \"./shared/normalizeTemporalInput\";\nimport { quarterStartMonth } from \"./shared/quarter\";\n\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 with the start of each quarter within the interval, inclusive\n * of both the start and end quarters.\n *\n * Quarters: Q1 = Jan–Mar, Q2 = Apr–Jun, Q3 = Jul–Sep, Q4 = Oct–Dec. Each element\n * is the first moment of the quarter (1st day of the quarter's starting month at\n * midnight) for Instant/ZonedDateTime inputs, or the first day as a PlainDate for\n * PlainDate inputs.\n *\n * For Instant inputs, UTC is used. For ZonedDateTime inputs, the timezone of the\n * start date is preserved. PlainDate inputs need no timezone and return PlainDate[].\n *\n * @param interval - The interval with start and end\n * @returns Array of ZonedDateTime (or PlainDate) at the start of each quarter\n *\n * @example\n * ```ts\n * const start = Temporal.ZonedDateTime.from('2025-02-15T10:00:00+00:00[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-11-20T14:00:00+00:00[UTC]');\n * eachQuarterOfInterval({ start, end });\n * // [2025-01-01…, 2025-04-01…, 2025-07-01…, 2025-10-01…]\n * ```\n *\n * @example\n * ```ts\n * // PlainDate interval returns PlainDate quarter starts (no timezone)\n * eachQuarterOfInterval({\n * start: Temporal.PlainDate.from('2025-02-15'),\n * end: Temporal.PlainDate.from('2025-08-20'),\n * });\n * // [2025-01-01, 2025-04-01, 2025-07-01]\n * ```\n */\nexport function eachQuarterOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime;\n end: Temporal.Instant | Temporal.ZonedDateTime;\n}): Temporal.ZonedDateTime[];\nexport function eachQuarterOfInterval(interval: {\n start: Temporal.PlainDate;\n end: Temporal.PlainDate;\n}): Temporal.PlainDate[];\nexport function eachQuarterOfInterval(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 return eachQuarterStart(interval.start, interval.end.withCalendar(interval.start.calendarId), (ym) => ym.toPlainDate({ day: 1 }));\n }\n\n const startZoned = normalizeTemporalInput(\n interval.start as Temporal.Instant | Temporal.ZonedDateTime,\n );\n const endZoned = normalizeTemporalInput(\n interval.end as Temporal.Instant | Temporal.ZonedDateTime,\n );\n if (startZoned.epochNanoseconds > endZoned.epochNanoseconds) return [];\n const timezone = startZoned.timeZoneId;\n\n return eachQuarterStart(startZoned, endZoned.withTimeZone(timezone).withCalendar(startZoned.calendarId), (ym) =>\n ym.toPlainDate({ day: 1 }).toZonedDateTime({\n timeZone: timezone,\n plainTime: new Temporal.PlainTime(),\n }),\n );\n}\n\n/**\n * Walks quarter-aligned year-months from start to end (inclusive) and maps each\n * to a result. Both bounds are snapped to their quarter's starting month.\n */\nfunction eachQuarterStart<T>(\n start: { year: number; month: number; calendarId: string },\n end: { year: number; month: number; calendarId: string },\n make: (ym: Temporal.PlainYearMonth) => T,\n): T[] {\n const startYearMonth = Temporal.PlainYearMonth.from({\n year: start.year,\n month: quarterStartMonth(start.month),\n calendar: start.calendarId,\n });\n const endYearMonth = Temporal.PlainYearMonth.from({\n year: end.year,\n month: quarterStartMonth(end.month),\n calendar: start.calendarId,\n });\n\n const out: T[] = [];\n let current = startYearMonth;\n while (Temporal.PlainYearMonth.compare(current, endYearMonth) <= 0) {\n out.push(make(current));\n // A calendar can have thirteen months; realign after crossing its year end.\n const next = current.add({ months: 3 });\n current = next.with({ month: quarterStartMonth(next.month) });\n }\n return out;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkDO,SAAS,sBAAsB,UAGc;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,WAAO,iBAAiB,SAAS,OAAO,SAAS,IAAI,aAAa,SAAS,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AAAA,EAClI;AAEA,QAAM,aAAa;AAAA,IACjB,SAAS;AAAA,EACX;AACA,QAAM,WAAW;AAAA,IACf,SAAS;AAAA,EACX;AACA,MAAI,WAAW,mBAAmB,SAAS,iBAAkB,QAAO,CAAC;AACrE,QAAM,WAAW,WAAW;AAE5B,SAAO;AAAA,IAAiB;AAAA,IAAY,SAAS,aAAa,QAAQ,EAAE,aAAa,WAAW,UAAU;AAAA,IAAG,CAAC,OACxG,GAAG,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB;AAAA,MACzC,UAAU;AAAA,MACV,WAAW,IAAI,SAAS,UAAU;AAAA,IACpC,CAAC;AAAA,EACH;AACF;AAMA,SAAS,iBACP,OACA,KACA,MACK;AACL,QAAM,iBAAiB,SAAS,eAAe,KAAK;AAAA,IAClD,MAAM,MAAM;AAAA,IACZ,OAAO,kBAAkB,MAAM,KAAK;AAAA,IACpC,UAAU,MAAM;AAAA,EAClB,CAAC;AACD,QAAM,eAAe,SAAS,eAAe,KAAK;AAAA,IAChD,MAAM,IAAI;AAAA,IACV,OAAO,kBAAkB,IAAI,KAAK;AAAA,IAClC,UAAU,MAAM;AAAA,EAClB,CAAC;AAED,QAAM,MAAW,CAAC;AAClB,MAAI,UAAU;AACd,SAAO,SAAS,eAAe,QAAQ,SAAS,YAAY,KAAK,GAAG;AAClE,QAAI,KAAK,KAAK,OAAO,CAAC;AAEtB,UAAM,OAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;AACtC,cAAU,KAAK,KAAK,EAAE,OAAO,kBAAkB,KAAK,KAAK,EAAE,CAAC;AAAA,EAC9D;AACA,SAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/getQuarter.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from \"./shared/temporal\";\nimport { normalizeTemporalInput } from \"./shared/normalizeTemporalInput\";\nimport { quarterOfMonth } from \"./shared/quarter\";\n\n/**\n * Returns the quarter (1-4) that a datetime or date falls in.\n *\n * Quarters: Q1 = Jan–Mar, Q2 = Apr–Jun, Q3 = Jul–Sep, Q4 = Oct–Dec.\n *\n * A quarter is intrinsic to the calendar date, so no timezone is ever needed.\n * `Instant` inputs are interpreted in UTC; `ZonedDateTime` inputs use their own\n * timezone; `PlainDate` inputs use their calendar month directly.\n *\n * @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate\n * @returns The quarter number: 1, 2, 3, or 4\n *\n * @example\n * ```ts\n * getQuarter(Temporal.Instant.from('2025-05-15T12:00:00Z')); // 2\n * getQuarter(Temporal.PlainDate.from('2025-11-15')); // 4\n * ```\n */\nexport function getQuarter(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n): 1 | 2 | 3 | 4 {\n const month = isPlainDate(input) ? input.month : normalizeTemporalInput(input).month;\n return quarterOfMonth(month);\n}\n"],"mappings":";;;;;;;;;;;AAsBO,SAAS,WACd,OACe;AACf,QAAM,QAAQ,YAAY,KAAK,IAAI,MAAM,QAAQ,uBAAuB,KAAK,EAAE;AAC/E,SAAO,eAAe,KAAK;AAC7B;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/roundToNearestMinute.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Options for rounding to nearest minute.\n */\nexport interface RoundToNearestMinuteOptions {\n /**\n * The rounding mode to use.\n *\n * Given time 14:37:20:\n * - `'round'` → 14:37 (20 sec < 30, rounds DOWN to nearest)\n * - `'ceil'` → 14:38 (always rounds UP to next minute)\n * - `'floor'` → 14:37 (always rounds DOWN to current minute)\n *\n * Given time 14:37:00 with nearestTo: 15:\n * - `'round'` → 14:30 (37 is closer to 30 than 45)\n * - `'ceil'` → 14:45 (always rounds UP to next 15-min slot)\n * - `'floor'` → 14:30 (always rounds DOWN to current 15-min slot)\n *\n * @default 'round'\n */\n mode?: 'round' | 'ceil' | 'floor';\n /**\n * Round to the nearest N minutes. Must divide evenly into 60.\n * Valid values: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30\n * @example nearestTo: 15 rounds to quarter-hour marks (00, 15, 30, 45)\n */\n nearestTo?: 1 | 2 | 3 | 4 | 5 | 6 | 10 | 12 | 15 | 20 | 30;\n}\n\nconst MODE_TO_ROUNDING_MODE = {\n round: 'halfExpand',\n ceil: 'ceil',\n floor: 'floor',\n} as const;\n\n/**\n * Rounds a datetime to the nearest minute boundary.\n *\n * ## Mode comparison (given 14:37 with 15-min slots)\n *\n * ```\n * 14:30 ─────────●───────────────────── 14:45\n * 14:37\n *\n * 'round' → 14:30 (nearest slot - 37 is closer to 30 than 45)\n * 'ceil' → 14:45 (next slot - always up)\n * 'floor' → 14:30 (current slot - always down)\n * ```\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param options - Rounding options\n * @returns ZonedDateTime rounded to the minute boundary\n *\n * @example\n * ```ts\n * // 15-minute booking slots at 14:37\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:00[America/New_York]');\n *\n * roundToNearestMinute(time, { nearestTo: 15 }); // → 14:30 (nearest)\n * roundToNearestMinute(time, { mode: 'ceil', nearestTo: 15 }); // → 14:45 (next slot)\n * roundToNearestMinute(time, { mode: 'floor', nearestTo: 15 }); // → 14:30 (current slot)\n * ```\n *\n * @example\n * ```ts\n * // Basic minute rounding (no slots)\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:42[America/New_York]');\n *\n * roundToNearestMinute(time); // → 14:38 (42 sec >= 30)\n * roundToNearestMinute(time, { mode: 'ceil' }); // → 14:38 (always up)\n * roundToNearestMinute(time, { mode: 'floor' }); // → 14:37 (always down)\n * ```\n *\n * @example\n * ```ts\n * // Billing: round up to 30-minute increments\n * const sessionEnd = Temporal.ZonedDateTime.from('2025-01-20T11:07:00[America/New_York]');\n * roundToNearestMinute(sessionEnd, { mode: 'ceil', nearestTo: 30 });\n * // → 11:30 (bill for 30 mins even though session was 7 mins)\n * ```\n */\nexport function roundToNearestMinute(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options?: RoundToNearestMinuteOptions\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n const mode = options?.mode ?? 'round';\n const nearestTo = options?.nearestTo ?? 1;\n\n return zonedDateTime.round({\n smallestUnit: 'minute',\n roundingMode: MODE_TO_ROUNDING_MODE[mode],\n roundingIncrement: nearestTo,\n });\n}\n"],"mappings":";;;;;AA+BA,IAAM,wBAAwB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AACT;AAgDO,SAAS,qBACd,OACA,SACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,YAAY,SAAS,aAAa;AAExC,SAAO,cAAc,MAAM;AAAA,IACzB,cAAc;AAAA,IACd,cAAc,sBAAsB,IAAI;AAAA,IACxC,mBAAmB;AAAA,EACrB,CAAC;AACH;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/toIso9075.ts"],"sourcesContent":["import { type Temporal, isInstant } from './shared/temporal';\n\nexport type Iso9075Mode = 'utc' | 'local';\nexport type Iso9075Representation = 'complete' | 'date' | 'time';\n\nexport interface ToIso9075Options {\n /**\n * Which time to output.\n * - 'utc' (default): convert to UTC before formatting\n * - 'local': use the local time of the ZonedDateTime\n */\n mode?: Iso9075Mode;\n /**\n * What to include in the output.\n * - 'complete' (default): date and time (2019-09-18 19:00:52)\n * - 'date': date only (2019-09-18)\n * - 'time': time only (19:00:52)\n */\n representation?: Iso9075Representation;\n}\n\n/**\n * Convert a Temporal.Instant to an ISO 9075 (SQL) formatted string in UTC.\n */\nexport function toIso9075(\n input: Temporal.Instant,\n options?: Omit<ToIso9075Options, 'mode'>\n): string;\n\n/**\n * Convert a Temporal.ZonedDateTime to an ISO 9075 (SQL) formatted string.\n *\n * @param input - A Temporal.ZonedDateTime\n * @param options - Format options\n *\n * @example\n * ```typescript\n * const zoned = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n *\n * toIso9075(zoned); // \"2025-01-20 20:00:00\" (UTC, default)\n * toIso9075(zoned, { mode: 'utc' }); // \"2025-01-20 20:00:00\"\n * toIso9075(zoned, { mode: 'local' }); // \"2025-01-20 15:00:00\"\n * toIso9075(zoned, { representation: 'date' }); // \"2025-01-20\"\n * toIso9075(zoned, { representation: 'time' }); // \"20:00:00\"\n * ```\n */\nexport function toIso9075(\n input: Temporal.ZonedDateTime,\n options?: ToIso9075Options\n): string;\n\nexport function toIso9075(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options: ToIso9075Options = {}\n): string {\n const { mode = 'utc', representation = 'complete' } = options;\n\n let zdt: Temporal.ZonedDateTime;\n\n if (isInstant(input)) {\n zdt = input.toZonedDateTimeISO('UTC');\n } else {\n // ZonedDateTime: apply mode\n zdt = mode === 'utc' ? input.toInstant().toZonedDateTimeISO('UTC') : input;\n }\n\n const year = zdt.year;\n const month = zdt.month;\n const day = zdt.day;\n const hour = zdt.hour;\n const minute = zdt.minute;\n const second = zdt.second;\n\n const datePart = `${year}-${pad(month)}-${pad(day)}`;\n const timePart = `${pad(hour)}:${pad(minute)}:${pad(second)}`;\n\n if (representation === 'date') return datePart;\n if (representation === 'time') return timePart;\n return `${datePart} ${timePart}`;\n}\n\nfunction pad(n: number): string {\n return n.toString().padStart(2, '0');\n}\n"],"mappings":";;;;;AAmDO,SAAS,UACd,OACA,UAA4B,CAAC,GACrB;AACR,QAAM,EAAE,OAAO,OAAO,iBAAiB,WAAW,IAAI;AAEtD,MAAI;AAEJ,MAAI,UAAU,KAAK,GAAG;AACpB,UAAM,MAAM,mBAAmB,KAAK;AAAA,EACtC,OAAO;AAEL,UAAM,SAAS,QAAQ,MAAM,UAAU,EAAE,mBAAmB,KAAK,IAAI;AAAA,EACvE;AAEA,QAAM,OAAO,IAAI;AACjB,QAAM,QAAQ,IAAI;AAClB,QAAM,MAAM,IAAI;AAChB,QAAM,OAAO,IAAI;AACjB,QAAM,SAAS,IAAI;AACnB,QAAM,SAAS,IAAI;AAEnB,QAAM,WAAW,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC;AAClD,QAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;AAE3D,MAAI,mBAAmB,OAAQ,QAAO;AACtC,MAAI,mBAAmB,OAAQ,QAAO;AACtC,SAAO,GAAG,QAAQ,IAAI,QAAQ;AAChC;AAEA,SAAS,IAAI,GAAmB;AAC9B,SAAO,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AACrC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/shared/isBefore.ts"],"sourcesContent":["import type { Temporal } from './temporal';\n\nexport function isBefore(\n date1: Temporal.ZonedDateTime,\n date2: Temporal.ZonedDateTime\n): boolean {\n return date1.epochNanoseconds < date2.epochNanoseconds;\n}\n"],"mappings":";AAEO,SAAS,SACd,OACA,OACS;AACT,SAAO,MAAM,mBAAmB,MAAM;AACxC;","names":[]}
@@ -1 +0,0 @@
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":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/shared/temporal.ts"],"sourcesContent":["import { Temporal as PolyfillTemporal } from \"@js-temporal/polyfill\";\n\n/**\n * @internal\n * Single source of the Temporal implementation.\n *\n * Shipping behavior is unchanged: production code always resolves to\n * `@js-temporal/polyfill`. Native-first was reverted because tiempo passes\n * caller-provided Temporal objects into methods that may require matching\n * implementations. Timeline comparisons use epoch nanoseconds; calendar differences bridge\n * implementations with canonical strings. Conversion and interval input boundaries are\n * audited as well. Runtime support and declaration migration still gate removal\n * of the bundled polyfill; constructor identity is not uniform across outputs.\n *\n * For tests only, `TIEMPO_TEMPORAL` selects the implementation so the same\n * suite runs against both the polyfill and the runtime's native `Temporal`:\n * - `TIEMPO_TEMPORAL=polyfill` forces the polyfill (any Node version).\n * - `TIEMPO_TEMPORAL=native` uses `globalThis.Temporal` (Node >= 26).\n * - unset defaults to the polyfill, matching shipped behavior.\n * Tests import `Temporal` from here so both lib and test objects come from the\n * same implementation. timelineInterop.test.ts separately covers native,\n * polyfill and mixed timeline inputs against both selections.\n *\n * Import `Temporal` from here so the implementation choice stays in one place.\n */\nconst useNative =\n typeof process !== \"undefined\" &&\n process.env?.TIEMPO_TEMPORAL === \"native\" &&\n \"Temporal\" in globalThis;\n\nexport const Temporal = useNative\n ? (globalThis as unknown as { Temporal: typeof PolyfillTemporal }).Temporal\n : PolyfillTemporal;\n\n/**\n * @internal\n * Type-side of `Temporal`, merged with the runtime value above so a single\n * `import { Temporal } from './shared/temporal'` serves both `Temporal.from(...)`\n * (value) and `: Temporal.ZonedDateTime` (type). Types are identical across\n * implementations and erased at build, so they always come from the polyfill.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Temporal {\n // Add new Temporal.* member types here the first time they are referenced\n // from this module. Omissions fail loudly at typecheck, never silently.\n export type Instant = PolyfillTemporal.Instant;\n export type ZonedDateTime = PolyfillTemporal.ZonedDateTime;\n export type PlainDate = PolyfillTemporal.PlainDate;\n export type PlainDateLike = PolyfillTemporal.PlainDateLike;\n export type PlainDateTime = PolyfillTemporal.PlainDateTime;\n export type PlainTime = PolyfillTemporal.PlainTime;\n export type PlainTimeLike = PolyfillTemporal.PlainTimeLike;\n export type PlainYearMonth = PolyfillTemporal.PlainYearMonth;\n}\n\n/**\n * @internal\n * Implementation-agnostic type guards. The Temporal spec requires every\n * implementation to set `Symbol.toStringTag`, so these work regardless of which\n * implementation produced the object.\n */\nfunction brand(value: unknown): string | undefined {\n return typeof value === \"object\" && value !== null\n ? (value as { [Symbol.toStringTag]?: string })[Symbol.toStringTag]\n : undefined;\n}\n\nexport function isInstant(value: unknown): value is Temporal.Instant {\n return brand(value) === \"Temporal.Instant\";\n}\n\nexport function isZonedDateTime(value: unknown): value is Temporal.ZonedDateTime {\n return brand(value) === \"Temporal.ZonedDateTime\";\n}\n\nexport function isPlainDate(value: unknown): value is Temporal.PlainDate {\n return brand(value) === \"Temporal.PlainDate\";\n}\n\nexport function isPlainTime(value: unknown): value is Temporal.PlainTime {\n return brand(value) === \"Temporal.PlainTime\";\n}\n"],"mappings":";AAAA,SAAS,YAAY,wBAAwB;AAyB7C,IAAM,YACJ,OAAO,YAAY,eACnB,QAAQ,KAAK,oBAAoB,YACjC,cAAc;AAET,IAAM,WAAW,YACnB,WAAgE,WACjE;AA6BJ,SAAS,MAAM,OAAoC;AACjD,SAAO,OAAO,UAAU,YAAY,UAAU,OACzC,MAA4C,OAAO,WAAW,IAC/D;AACN;AAEO,SAAS,UAAU,OAA2C;AACnE,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,gBAAgB,OAAiD;AAC/E,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,YAAY,OAA6C;AACvE,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,SAAS,YAAY,OAA6C;AACvE,SAAO,MAAM,KAAK,MAAM;AAC1B;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/shared/isAfter.ts"],"sourcesContent":["import type { Temporal } from './temporal';\n\nexport function isAfter(\n date1: Temporal.ZonedDateTime,\n date2: Temporal.ZonedDateTime\n): boolean {\n return date1.epochNanoseconds > date2.epochNanoseconds;\n}\n"],"mappings":";AAEO,SAAS,QACd,OACA,OACS;AACT,SAAO,MAAM,mBAAmB,MAAM;AACxC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/roundToNearestHour.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Options for rounding to nearest hour.\n */\nexport interface RoundToNearestHourOptions {\n /**\n * The rounding mode to use.\n *\n * Given time 14:20:\n * - `'round'` → 14:00 (20 min < 30, rounds DOWN to nearest)\n * - `'ceil'` → 15:00 (always rounds UP to next hour)\n * - `'floor'` → 14:00 (always rounds DOWN to current hour)\n *\n * Given time 14:40:\n * - `'round'` → 15:00 (40 min >= 30, rounds UP to nearest)\n * - `'ceil'` → 15:00 (always rounds UP to next hour)\n * - `'floor'` → 14:00 (always rounds DOWN to current hour)\n *\n * @default 'round'\n */\n mode?: 'round' | 'ceil' | 'floor';\n /**\n * Round to the nearest N hours. Must divide evenly into 24.\n * Valid values: 1, 2, 3, 4, 6, 8, 12\n * @example nearestTo: 6 rounds to 00:00, 06:00, 12:00, or 18:00\n */\n nearestTo?: 1 | 2 | 3 | 4 | 6 | 8 | 12;\n}\n\nconst MODE_TO_ROUNDING_MODE = {\n round: 'halfExpand',\n ceil: 'ceil',\n floor: 'floor',\n} as const;\n\n/**\n * Rounds a datetime to the nearest hour boundary.\n *\n * ## Mode comparison (given 14:20)\n *\n * ```\n * 14:00 ─────────────●───────────────── 15:00\n * 14:20\n *\n * 'round' → 14:00 (nearest hour - 20 min < 30)\n * 'ceil' → 15:00 (next hour - always up)\n * 'floor' → 14:00 (current hour - always down)\n * ```\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param options - Rounding options\n * @returns ZonedDateTime rounded to the hour boundary\n *\n * @example\n * ```ts\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:20:00[America/New_York]');\n *\n * roundToNearestHour(time); // → 14:00 (nearest)\n * roundToNearestHour(time, { mode: 'ceil' }); // → 15:00 (always up)\n * roundToNearestHour(time, { mode: 'floor' }); // → 14:00 (always down)\n * ```\n *\n * @example\n * ```ts\n * // With 37 minutes (past the halfway point)\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:00[America/New_York]');\n *\n * roundToNearestHour(time); // → 15:00 (nearest - 37 >= 30)\n * roundToNearestHour(time, { mode: 'ceil' }); // → 15:00 (always up)\n * roundToNearestHour(time, { mode: 'floor' }); // → 14:00 (always down)\n * ```\n *\n * @example\n * ```ts\n * // Round to 6-hour blocks (shift scheduling)\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:00:00[America/New_York]');\n *\n * roundToNearestHour(time, { nearestTo: 6 }); // → 12:00\n * roundToNearestHour(time, { mode: 'ceil', nearestTo: 6 }); // → 18:00\n * roundToNearestHour(time, { mode: 'floor', nearestTo: 6 }); // → 12:00\n * ```\n */\nexport function roundToNearestHour(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options?: RoundToNearestHourOptions\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n const mode = options?.mode ?? 'round';\n const nearestTo = options?.nearestTo ?? 1;\n\n return zonedDateTime.round({\n smallestUnit: 'hour',\n roundingMode: MODE_TO_ROUNDING_MODE[mode],\n roundingIncrement: nearestTo,\n });\n}\n"],"mappings":";;;;;AA+BA,IAAM,wBAAwB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AACT;AAiDO,SAAS,mBACd,OACA,SACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,YAAY,SAAS,aAAa;AAExC,SAAO,cAAc,MAAM;AAAA,IACzB,cAAc;AAAA,IACd,cAAc,sBAAsB,IAAI;AAAA,IACxC,mBAAmB;AAAA,EACrB,CAAC;AACH;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/roundToNearestSecond.ts"],"sourcesContent":["import type { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Options for rounding to nearest second.\n */\nexport interface RoundToNearestSecondOptions {\n /**\n * The rounding mode to use.\n *\n * Given time 14:37:42.300:\n * - `'round'` → 14:37:42 (300ms < 500, rounds DOWN to nearest)\n * - `'ceil'` → 14:37:43 (always rounds UP to next second)\n * - `'floor'` → 14:37:42 (always rounds DOWN to current second)\n *\n * Given time 14:37:42 with nearestTo: 10:\n * - `'round'` → 14:37:40 (42 is closer to 40 than 50)\n * - `'ceil'` → 14:37:50 (always rounds UP to next 10-sec mark)\n * - `'floor'` → 14:37:40 (always rounds DOWN to current 10-sec mark)\n *\n * @default 'round'\n */\n mode?: 'round' | 'ceil' | 'floor';\n /**\n * Round to the nearest N seconds. Must divide evenly into 60.\n * Valid values: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30\n * @example nearestTo: 10 rounds to 10-second marks (00, 10, 20, 30, 40, 50)\n */\n nearestTo?: 1 | 2 | 3 | 4 | 5 | 6 | 10 | 12 | 15 | 20 | 30;\n}\n\nconst MODE_TO_ROUNDING_MODE = {\n round: 'halfExpand',\n ceil: 'ceil',\n floor: 'floor',\n} as const;\n\n/**\n * Rounds a datetime to the nearest second boundary.\n *\n * ## Mode comparison (given 14:37:42.567)\n *\n * ```\n * :42 ─────────────────●─────────────── :43\n * .567\n *\n * 'round' → :43 (nearest second - 567ms >= 500)\n * 'ceil' → :43 (next second - always up)\n * 'floor' → :42 (current second - always down)\n * ```\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param options - Rounding options\n * @returns ZonedDateTime rounded to the second boundary\n *\n * @example\n * ```ts\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:42.567[America/New_York]');\n *\n * roundToNearestSecond(time); // → 14:37:43 (567ms >= 500)\n * roundToNearestSecond(time, { mode: 'ceil' }); // → 14:37:43 (always up)\n * roundToNearestSecond(time, { mode: 'floor' }); // → 14:37:42 (always down)\n * ```\n *\n * @example\n * ```ts\n * // 10-second intervals\n * const time = Temporal.ZonedDateTime.from('2025-01-20T14:37:42[America/New_York]');\n *\n * roundToNearestSecond(time, { nearestTo: 10 }); // → 14:37:40 (nearest)\n * roundToNearestSecond(time, { mode: 'ceil', nearestTo: 10 }); // → 14:37:50 (next 10s)\n * roundToNearestSecond(time, { mode: 'floor', nearestTo: 10 }); // → 14:37:40 (current 10s)\n * ```\n *\n * @example\n * ```ts\n * // Remove sub-second precision for logging\n * const logTime = Temporal.ZonedDateTime.from('2025-01-20T14:37:42.123456789[UTC]');\n * roundToNearestSecond(logTime, { mode: 'floor' });\n * // → 14:37:42.000000000 (clean timestamp)\n * ```\n */\nexport function roundToNearestSecond(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n options?: RoundToNearestSecondOptions\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n const mode = options?.mode ?? 'round';\n const nearestTo = options?.nearestTo ?? 1;\n\n return zonedDateTime.round({\n smallestUnit: 'second',\n roundingMode: MODE_TO_ROUNDING_MODE[mode],\n roundingIncrement: nearestTo,\n });\n}\n"],"mappings":";;;;;AA+BA,IAAM,wBAAwB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AACT;AA+CO,SAAS,qBACd,OACA,SACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,YAAY,SAAS,aAAa;AAExC,SAAO,cAAc,MAAM;AAAA,IACzB,cAAc;AAAA,IACd,cAAc,sBAAsB,IAAI;AAAA,IACxC,mBAAmB;AAAA,EACrB,CAAC;AACH;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/subQuarters.ts"],"sourcesContent":["import { type Temporal, isPlainDate } from \"./shared/temporal\";\nimport { addQuarters } from \"./addQuarters\";\n\n/**\n * Subtracts the specified number of quarters (3-month blocks) from a datetime or date.\n *\n * This is a convenience wrapper around addQuarters with the count negated.\n * 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 subtract\n * @returns PlainDate for a date input; otherwise ZonedDateTime with the quarters subtracted\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-07-20T12:00:00Z');\n * subQuarters(instant, 2);\n * // 2025-01-20T12:00:00+00:00[UTC] (6 months earlier)\n * ```\n *\n * @example\n * ```ts\n * subQuarters(Temporal.PlainDate.from('2025-07-20'), 1);\n * // 2025-04-20\n * ```\n */\nexport function subQuarters(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n quarters: number,\n): Temporal.ZonedDateTime;\nexport function subQuarters(input: Temporal.PlainDate, quarters: number): Temporal.PlainDate;\nexport function subQuarters(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n quarters: number,\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n // Branch so each call resolves to the matching addQuarters overload.\n return isPlainDate(input) ? addQuarters(input, -quarters) : addQuarters(input, -quarters);\n}\n"],"mappings":";;;;;;;;AA+BO,SAAS,YACd,OACA,UAC6C;AAE7C,SAAO,YAAY,KAAK,IAAI,YAAY,OAAO,CAAC,QAAQ,IAAI,YAAY,OAAO,CAAC,QAAQ;AAC1F;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/toPlainDate.ts"],"sourcesContent":["import { Temporal, isInstant, isZonedDateTime, isPlainDate } from './shared/temporal';\nimport type { Timezone } from './types';\n\n// Pattern to detect plain date strings: YYYY-MM-DD\nconst PLAIN_DATE_PATTERN = /^\\d{4}-\\d{2}-\\d{2}$/;\n\n/**\n * Parse a plain date or extract the calendar date from a datetime.\n *\n * @param input - A PlainDateLike object, plain date string (YYYY-MM-DD), ZonedDateTime, or datetime input requiring timezone\n * @param timezone - IANA timezone identifier. Required for ISO strings, Date, and Instant inputs.\n * @returns A Temporal.PlainDate representing the calendar date\n *\n * @example\n * ```typescript\n * import { toPlainDate, toZonedTime } from '@gobrand/tiempo';\n *\n * // From PlainDateLike object (no timezone needed)\n * const date = toPlainDate({ year: 2025, month: 1, day: 20 }); // 2025-01-20\n *\n * // From plain date string (no timezone needed)\n * const date2 = toPlainDate(\"2025-01-20\"); // 2025-01-20\n *\n * // From ZonedDateTime (no timezone needed)\n * const zdt = toZonedTime(\"2025-01-20T15:30:00Z\", \"America/New_York\");\n * const date3 = toPlainDate(zdt); // 2025-01-20\n *\n * // From UTC string with timezone\n * const date4 = toPlainDate(\"2025-01-20T15:30:00Z\", \"America/New_York\"); // 2025-01-20\n *\n * // From Date with timezone\n * const jsDate = new Date(\"2025-01-20T15:30:00.000Z\");\n * const date5 = toPlainDate(jsDate, \"Europe/London\"); // 2025-01-20\n *\n * // Date boundary crossing: 23:00 UTC on Jan 20 → Jan 21 in Tokyo\n * const date6 = toPlainDate(\"2025-01-20T23:00:00Z\", \"Asia/Tokyo\"); // 2025-01-21\n * ```\n */\nexport function toPlainDate(input: Temporal.ZonedDateTime): Temporal.PlainDate;\nexport function toPlainDate(\n input: string | Date | Temporal.Instant | Temporal.ZonedDateTime,\n timezone: Timezone\n): Temporal.PlainDate;\nexport function toPlainDate(input: Temporal.PlainDateLike | string): Temporal.PlainDate;\nexport function toPlainDate(\n input: string | Date | Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDateLike,\n timezone?: Timezone\n): Temporal.PlainDate {\n // ZonedDateTime without timezone override\n if (isZonedDateTime(input) && timezone === undefined) {\n return input.toPlainDate();\n }\n\n // Date requires timezone\n if (input instanceof Date) {\n if (timezone === undefined) {\n throw new Error('Timezone is required unless input is a ZonedDateTime, PlainDateLike, or plain date string');\n }\n return Temporal.Instant.from(input.toISOString()).toZonedDateTimeISO(timezone).toPlainDate();\n }\n\n // Instant requires timezone\n if (isInstant(input)) {\n if (timezone === undefined) {\n throw new Error('Timezone is required unless input is a ZonedDateTime, PlainDateLike, or plain date string');\n }\n return input.toZonedDateTimeISO(timezone).toPlainDate();\n }\n\n // ZonedDateTime with timezone override\n if (isZonedDateTime(input)) {\n if (timezone === undefined) {\n throw new Error('Timezone is required unless input is a ZonedDateTime, PlainDateLike, or plain date string');\n }\n return input.toInstant().toZonedDateTimeISO(timezone).toPlainDate();\n }\n\n // String: ISO datetime (requires timezone) or plain date (no timezone)\n if (typeof input === 'string') {\n if (timezone !== undefined) {\n return Temporal.Instant.from(input).toZonedDateTimeISO(timezone).toPlainDate();\n }\n if (PLAIN_DATE_PATTERN.test(input)) {\n return Temporal.PlainDate.from(input);\n }\n throw new Error('Timezone is required unless input is a ZonedDateTime, PlainDateLike, or plain date string');\n }\n\n // Foreign PlainDate objects expose calendarId, while property bags use calendar.\n // A canonical string keeps the ISO date and calendar together across implementations.\n return Temporal.PlainDate.from(isPlainDate(input) ? input.toString() : input);\n}\n"],"mappings":";;;;;;;;AAIA,IAAM,qBAAqB;AAwCpB,SAAS,YACd,OACA,UACoB;AAEpB,MAAI,gBAAgB,KAAK,KAAK,aAAa,QAAW;AACpD,WAAO,MAAM,YAAY;AAAA,EAC3B;AAGA,MAAI,iBAAiB,MAAM;AACzB,QAAI,aAAa,QAAW;AAC1B,YAAM,IAAI,MAAM,2FAA2F;AAAA,IAC7G;AACA,WAAO,SAAS,QAAQ,KAAK,MAAM,YAAY,CAAC,EAAE,mBAAmB,QAAQ,EAAE,YAAY;AAAA,EAC7F;AAGA,MAAI,UAAU,KAAK,GAAG;AACpB,QAAI,aAAa,QAAW;AAC1B,YAAM,IAAI,MAAM,2FAA2F;AAAA,IAC7G;AACA,WAAO,MAAM,mBAAmB,QAAQ,EAAE,YAAY;AAAA,EACxD;AAGA,MAAI,gBAAgB,KAAK,GAAG;AAC1B,QAAI,aAAa,QAAW;AAC1B,YAAM,IAAI,MAAM,2FAA2F;AAAA,IAC7G;AACA,WAAO,MAAM,UAAU,EAAE,mBAAmB,QAAQ,EAAE,YAAY;AAAA,EACpE;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,aAAa,QAAW;AAC1B,aAAO,SAAS,QAAQ,KAAK,KAAK,EAAE,mBAAmB,QAAQ,EAAE,YAAY;AAAA,IAC/E;AACA,QAAI,mBAAmB,KAAK,KAAK,GAAG;AAClC,aAAO,SAAS,UAAU,KAAK,KAAK;AAAA,IACtC;AACA,UAAM,IAAI,MAAM,2FAA2F;AAAA,EAC7G;AAIA,SAAO,SAAS,UAAU,KAAK,YAAY,KAAK,IAAI,MAAM,SAAS,IAAI,KAAK;AAC9E;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/shared/endOfDay.ts"],"sourcesContent":["import type { Temporal } from './temporal';\n\n/**\n * Internal helper: Returns the last nanosecond of a given ZonedDateTime's day.\n * Used by endOfDay() and endOfWeek() to ensure consistent DST-safe behavior.\n */\nexport function getEndOfDay(\n zonedDateTime: Temporal.ZonedDateTime\n): Temporal.ZonedDateTime {\n return zonedDateTime\n .startOfDay()\n .add({ days: 1 })\n .startOfDay()\n .subtract({ nanoseconds: 1 });\n}\n"],"mappings":";AAMO,SAAS,YACd,eACwB;AACxB,SAAO,cACJ,WAAW,EACX,IAAI,EAAE,MAAM,EAAE,CAAC,EACf,WAAW,EACX,SAAS,EAAE,aAAa,EAAE,CAAC;AAChC;","names":[]}