@gobrand/tiempo 3.0.1 → 3.1.2
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.
- package/README.md +6 -4
- package/dist/addBusinessDays.d.ts +28 -0
- package/dist/addBusinessDays.d.ts.map +1 -0
- package/dist/addBusinessDays.js +10 -0
- package/dist/addDays.d.ts +7 -4
- package/dist/addDays.d.ts.map +1 -1
- package/dist/addDays.js +3 -3
- package/dist/addHours.d.ts +1 -1
- package/dist/addHours.d.ts.map +1 -1
- package/dist/addHours.js +3 -3
- package/dist/addMicroseconds.d.ts +1 -1
- package/dist/addMicroseconds.d.ts.map +1 -1
- package/dist/addMicroseconds.js +3 -3
- package/dist/addMilliseconds.d.ts +1 -1
- package/dist/addMilliseconds.d.ts.map +1 -1
- package/dist/addMilliseconds.js +3 -3
- package/dist/addMinutes.d.ts +1 -1
- package/dist/addMinutes.d.ts.map +1 -1
- package/dist/addMinutes.js +3 -3
- package/dist/addMonths.d.ts +7 -4
- package/dist/addMonths.d.ts.map +1 -1
- package/dist/addMonths.js +3 -3
- package/dist/addNanoseconds.d.ts +1 -1
- package/dist/addNanoseconds.d.ts.map +1 -1
- package/dist/addNanoseconds.js +3 -3
- package/dist/addQuarters.d.ts +3 -3
- package/dist/addQuarters.d.ts.map +1 -1
- package/dist/addQuarters.js +3 -3
- package/dist/addSeconds.d.ts +1 -1
- package/dist/addSeconds.d.ts.map +1 -1
- package/dist/addSeconds.js +3 -3
- package/dist/addWeeks.d.ts +7 -4
- package/dist/addWeeks.d.ts.map +1 -1
- package/dist/addWeeks.js +3 -3
- package/dist/addYears.d.ts +7 -4
- package/dist/addYears.d.ts.map +1 -1
- package/dist/addYears.js +3 -3
- package/dist/{chunk-BEGD73DT.js → chunk-22IDWEHQ.js} +33 -47
- package/dist/chunk-22IDWEHQ.js.map +1 -0
- package/dist/{chunk-OFIPZPEA.js → chunk-23APOESH.js} +2 -2
- package/dist/chunk-23APOESH.js.map +1 -0
- package/dist/{chunk-L5AMAEWX.js → chunk-2AID4P2C.js} +2 -2
- package/dist/chunk-2LN57UVR.js +28 -0
- package/dist/chunk-2LN57UVR.js.map +1 -0
- package/dist/{chunk-ZOHYNJUD.js → chunk-2MFBXSTL.js} +4 -4
- package/dist/chunk-2MFBXSTL.js.map +1 -0
- package/dist/{chunk-DBVGH55Z.js → chunk-2OSJHJV5.js} +2 -2
- package/dist/chunk-33MHEBQR.js +16 -0
- package/dist/chunk-33MHEBQR.js.map +1 -0
- package/dist/chunk-35IJG3T2.js +28 -0
- package/dist/chunk-35IJG3T2.js.map +1 -0
- package/dist/{chunk-DMFV2AL7.js → chunk-3IYGWL34.js} +13 -13
- package/dist/chunk-3IYGWL34.js.map +1 -0
- package/dist/{chunk-VXOQ7IG5.js → chunk-3KE6GK4R.js} +2 -2
- package/dist/{chunk-VXOQ7IG5.js.map → chunk-3KE6GK4R.js.map} +1 -1
- package/dist/chunk-3S6TSXZ3.js +18 -0
- package/dist/chunk-3S6TSXZ3.js.map +1 -0
- package/dist/chunk-426MJGNT.js +19 -0
- package/dist/chunk-426MJGNT.js.map +1 -0
- package/dist/{chunk-MENMDB6M.js → chunk-44EIUFJB.js} +2 -2
- package/dist/chunk-44EIUFJB.js.map +1 -0
- package/dist/{chunk-OQNFKOPA.js → chunk-4E5OJUMN.js} +2 -2
- package/dist/chunk-4E5OJUMN.js.map +1 -0
- package/dist/{chunk-KPB5ENNM.js → chunk-5FCHKIGV.js} +4 -4
- package/dist/chunk-5FCHKIGV.js.map +1 -0
- package/dist/{chunk-7SCQV77A.js → chunk-5KVFPVBT.js} +3 -3
- package/dist/chunk-5KVFPVBT.js.map +1 -0
- package/dist/chunk-5MB7UZCJ.js +66 -0
- package/dist/chunk-5MB7UZCJ.js.map +1 -0
- package/dist/{chunk-4PGGOVSG.js → chunk-5ST6IOPN.js} +2 -2
- package/dist/chunk-5ST6IOPN.js.map +1 -0
- package/dist/{chunk-25CVKMFC.js → chunk-5WPQUOM4.js} +3 -3
- package/dist/chunk-5WPQUOM4.js.map +1 -0
- package/dist/{chunk-IONQ6TOR.js → chunk-5XJEKPO5.js} +2 -2
- package/dist/chunk-5XJEKPO5.js.map +1 -0
- package/dist/{chunk-PURKYS5T.js → chunk-6XEHR3MG.js} +2 -2
- package/dist/{chunk-RL2NW7HP.js → chunk-A34P5Z5O.js} +2 -2
- package/dist/chunk-A34P5Z5O.js.map +1 -0
- package/dist/{chunk-MM2HIW7M.js → chunk-AA56LFMF.js} +4 -6
- package/dist/{chunk-MM2HIW7M.js.map → chunk-AA56LFMF.js.map} +1 -1
- package/dist/chunk-ADPVFELS.js +16 -0
- package/dist/{chunk-NEHYVVTH.js.map → chunk-ADPVFELS.js.map} +1 -1
- package/dist/chunk-ASIYAAQV.js +42 -0
- package/dist/chunk-ASIYAAQV.js.map +1 -0
- package/dist/{chunk-RLVCSGRU.js → chunk-AVPV4BA5.js} +2 -2
- package/dist/{chunk-YNLBS34B.js → chunk-B6VZ2AKN.js} +4 -4
- package/dist/chunk-BMX7CIRD.js +9 -0
- package/dist/chunk-BMX7CIRD.js.map +1 -0
- package/dist/{chunk-R7ZCA6AQ.js → chunk-BSVOJYJ7.js} +7 -3
- package/dist/chunk-BSVOJYJ7.js.map +1 -0
- package/dist/{chunk-BTXU3OGV.js → chunk-C5OJIIJP.js} +2 -2
- package/dist/chunk-C5OJIIJP.js.map +1 -0
- package/dist/chunk-CDKIT7D3.js +9 -0
- package/dist/chunk-CDKIT7D3.js.map +1 -0
- package/dist/chunk-CN3OICYB.js +13 -0
- package/dist/chunk-CN3OICYB.js.map +1 -0
- package/dist/{chunk-EBVLBLR3.js → chunk-D3BJEYTR.js} +4 -7
- package/dist/chunk-D3BJEYTR.js.map +1 -0
- package/dist/{chunk-OVSCDXYN.js → chunk-DCZDGS5G.js} +3 -3
- package/dist/{chunk-OVSCDXYN.js.map → chunk-DCZDGS5G.js.map} +1 -1
- package/dist/{chunk-WTLAKRCT.js → chunk-DHVGDIIO.js} +3 -3
- package/dist/chunk-DHVGDIIO.js.map +1 -0
- package/dist/{chunk-3LTTYG6N.js → chunk-DXSRRBJO.js} +2 -2
- package/dist/chunk-DXSRRBJO.js.map +1 -0
- package/dist/chunk-E5HJJFUI.js +26 -0
- package/dist/chunk-E5HJJFUI.js.map +1 -0
- package/dist/{chunk-SDW4W3XE.js → chunk-EBQ25TEY.js} +2 -2
- package/dist/chunk-EBQ25TEY.js.map +1 -0
- package/dist/chunk-EH4GVGXD.js +16 -0
- package/dist/{chunk-OKXCGA4Y.js.map → chunk-EH4GVGXD.js.map} +1 -1
- package/dist/{chunk-WGLZHBJG.js → chunk-ETO77GIW.js} +2 -2
- package/dist/chunk-ETO77GIW.js.map +1 -0
- package/dist/{chunk-S7L5KBI4.js → chunk-FAVYJIRM.js} +3 -3
- package/dist/chunk-FL33IWLY.js +19 -0
- package/dist/chunk-FL33IWLY.js.map +1 -0
- package/dist/{chunk-6UMISP3B.js → chunk-FLVULRGY.js} +2 -2
- package/dist/chunk-FLVULRGY.js.map +1 -0
- package/dist/{chunk-SCD2JNY3.js → chunk-FUVG6A7U.js} +2 -2
- package/dist/chunk-FUVG6A7U.js.map +1 -0
- package/dist/chunk-GQXJICRA.js +26 -0
- package/dist/chunk-GQXJICRA.js.map +1 -0
- package/dist/chunk-H544BC2X.js +16 -0
- package/dist/chunk-H544BC2X.js.map +1 -0
- package/dist/{chunk-H5BHFVEN.js → chunk-HCVE7FSF.js} +2 -2
- package/dist/chunk-HCVE7FSF.js.map +1 -0
- package/dist/{chunk-BV32K227.js → chunk-HQ3YMKQ5.js} +3 -3
- package/dist/chunk-HSJMG5T7.js +16 -0
- package/dist/chunk-HSJMG5T7.js.map +1 -0
- package/dist/{chunk-M7Y67IAB.js → chunk-HT6L4VRQ.js} +2 -2
- package/dist/chunk-HT6L4VRQ.js.map +1 -0
- package/dist/{chunk-3TS3D7WD.js → chunk-ITQ6OJAL.js} +4 -4
- package/dist/chunk-ITQ6OJAL.js.map +1 -0
- package/dist/{chunk-NTMT5XGC.js → chunk-JNAWZ4RN.js} +2 -2
- package/dist/chunk-JNAWZ4RN.js.map +1 -0
- package/dist/chunk-JQ4Z4JTW.js +16 -0
- package/dist/chunk-JQ4Z4JTW.js.map +1 -0
- package/dist/chunk-JWYRXPR4.js +53 -0
- package/dist/chunk-JWYRXPR4.js.map +1 -0
- package/dist/{chunk-NX7MXLFS.js → chunk-KTMCYEU5.js} +2 -2
- package/dist/{chunk-JQFD563S.js → chunk-LKF7U4O4.js} +2 -2
- package/dist/chunk-LKF7U4O4.js.map +1 -0
- package/dist/{chunk-2E4KCD3Y.js → chunk-LQ3EQYIX.js} +4 -3
- package/dist/chunk-LQ3EQYIX.js.map +1 -0
- package/dist/{chunk-ELUSLRWQ.js → chunk-LRIVI5ZC.js} +2 -2
- package/dist/{chunk-M4KDJ4I4.js → chunk-LXOLIOAD.js} +2 -2
- package/dist/{chunk-T5WSO6US.js → chunk-MCPKXTX7.js} +2 -2
- package/dist/chunk-MCPKXTX7.js.map +1 -0
- package/dist/chunk-MWUVGTKC.js +23 -0
- package/dist/chunk-MWUVGTKC.js.map +1 -0
- package/dist/chunk-MXUGDXSG.js +28 -0
- package/dist/chunk-MXUGDXSG.js.map +1 -0
- package/dist/chunk-NKXMLC6T.js +56 -0
- package/dist/chunk-NKXMLC6T.js.map +1 -0
- package/dist/{chunk-PX2I4GCF.js → chunk-NL5MQVGD.js} +2 -2
- package/dist/chunk-NMMMAMKP.js +9 -0
- package/dist/chunk-NMMMAMKP.js.map +1 -0
- package/dist/chunk-NNUATTN7.js +16 -0
- package/dist/chunk-NNUATTN7.js.map +1 -0
- package/dist/{chunk-7OEGJCW7.js → chunk-NRYKSDVP.js} +4 -4
- package/dist/{chunk-7OEGJCW7.js.map → chunk-NRYKSDVP.js.map} +1 -1
- package/dist/{chunk-VC7RTDJP.js → chunk-NST7NM5Q.js} +2 -2
- package/dist/{chunk-FCJO72WG.js → chunk-NYM3EW3M.js} +2 -2
- package/dist/chunk-NYM3EW3M.js.map +1 -0
- package/dist/chunk-NZLRMN35.js +13 -0
- package/dist/chunk-NZLRMN35.js.map +1 -0
- package/dist/{chunk-CCVPCHUO.js → chunk-O4YU4N6Q.js} +4 -4
- package/dist/chunk-O4YU4N6Q.js.map +1 -0
- package/dist/chunk-OMYVTYHI.js +47 -0
- package/dist/chunk-OMYVTYHI.js.map +1 -0
- package/dist/chunk-OOOVMKOG.js +13 -0
- package/dist/chunk-OOOVMKOG.js.map +1 -0
- package/dist/{chunk-EMZFQEWM.js → chunk-OYTQWJ2O.js} +4 -7
- package/dist/chunk-OYTQWJ2O.js.map +1 -0
- package/dist/{chunk-IAXVREU5.js → chunk-PU6PU2JM.js} +2 -2
- package/dist/chunk-PU6PU2JM.js.map +1 -0
- package/dist/{chunk-CSOSM46M.js → chunk-PYV7MWJJ.js} +2 -2
- package/dist/chunk-PYV7MWJJ.js.map +1 -0
- package/dist/chunk-QD3ROUIT.js +20 -0
- package/dist/chunk-QD3ROUIT.js.map +1 -0
- package/dist/{chunk-TQUKIG26.js → chunk-QJYU5TLL.js} +2 -2
- package/dist/{chunk-VQAGV72H.js → chunk-QVSHSIA3.js} +2 -2
- package/dist/{chunk-OSBVYUOQ.js → chunk-R3PZ56AD.js} +4 -4
- package/dist/chunk-R3PZ56AD.js.map +1 -0
- package/dist/chunk-RDMDCTHJ.js +13 -0
- package/dist/chunk-RDMDCTHJ.js.map +1 -0
- package/dist/chunk-RQ5CX67T.js +30 -0
- package/dist/chunk-RQ5CX67T.js.map +1 -0
- package/dist/{chunk-MNV2H4N6.js → chunk-SATEE2TL.js} +2 -2
- package/dist/chunk-SATEE2TL.js.map +1 -0
- package/dist/chunk-SLBDEPBP.js +16 -0
- package/dist/chunk-SLBDEPBP.js.map +1 -0
- package/dist/chunk-SMMVTXL4.js +22 -0
- package/dist/chunk-SMMVTXL4.js.map +1 -0
- package/dist/{chunk-GR7322AQ.js → chunk-SUONQGAH.js} +3 -3
- package/dist/chunk-SUONQGAH.js.map +1 -0
- package/dist/{chunk-VKXN4FQD.js → chunk-SXR2SO42.js} +2 -2
- package/dist/chunk-T775UWIV.js +32 -0
- package/dist/chunk-T775UWIV.js.map +1 -0
- package/dist/chunk-TEL44S5A.js +16 -0
- package/dist/chunk-TEL44S5A.js.map +1 -0
- package/dist/{chunk-VS2VCQLP.js → chunk-TUZHOWSN.js} +2 -2
- package/dist/chunk-TUZHOWSN.js.map +1 -0
- package/dist/{chunk-6RETOV6A.js → chunk-TWRJEIBO.js} +3 -3
- package/dist/{chunk-PXF3RMFH.js → chunk-TWXUGWYX.js} +5 -3
- package/dist/{chunk-PXF3RMFH.js.map → chunk-TWXUGWYX.js.map} +1 -1
- package/dist/chunk-U7VOIXLY.js +13 -0
- package/dist/chunk-U7VOIXLY.js.map +1 -0
- package/dist/chunk-V2NSN6ET.js +13 -0
- package/dist/chunk-V2NSN6ET.js.map +1 -0
- package/dist/chunk-V36MCE25.js +19 -0
- package/dist/chunk-V36MCE25.js.map +1 -0
- package/dist/chunk-VDV24TWQ.js +13 -0
- package/dist/chunk-VDV24TWQ.js.map +1 -0
- package/dist/{chunk-YOSCEJ36.js → chunk-VM2YJ5PN.js} +2 -2
- package/dist/{chunk-MTDZG4HK.js → chunk-W27GPK6Q.js} +5 -5
- package/dist/chunk-W27GPK6Q.js.map +1 -0
- package/dist/{chunk-OLLX6YCN.js → chunk-W5FFJSCD.js} +2 -2
- package/dist/chunk-W5FFJSCD.js.map +1 -0
- package/dist/chunk-WJZHUNF5.js +19 -0
- package/dist/chunk-WJZHUNF5.js.map +1 -0
- package/dist/{chunk-XWBOD6MD.js → chunk-WTLMIOKZ.js} +2 -2
- package/dist/{chunk-LAITZAIG.js → chunk-WY5I452J.js} +2 -2
- package/dist/chunk-WY5I452J.js.map +1 -0
- package/dist/{chunk-URC6AG2N.js → chunk-XIVWFVVX.js} +2 -2
- package/dist/chunk-XIVWFVVX.js.map +1 -0
- package/dist/{chunk-RKEZOXD3.js → chunk-XR7Q6IP6.js} +2 -2
- package/dist/chunk-XR7Q6IP6.js.map +1 -0
- package/dist/{chunk-DHFBKOFZ.js → chunk-XTS6LZBP.js} +2 -2
- package/dist/chunk-XTS6LZBP.js.map +1 -0
- package/dist/{chunk-A42NID5P.js → chunk-XXB6HJ2R.js} +4 -4
- package/dist/chunk-XXB6HJ2R.js.map +1 -0
- package/dist/{chunk-5Y5JH32Z.js → chunk-XZS6J4LM.js} +3 -3
- package/dist/chunk-XZS6J4LM.js.map +1 -0
- package/dist/chunk-YHQSI4WC.js +65 -0
- package/dist/chunk-YHQSI4WC.js.map +1 -0
- package/dist/chunk-YMJHVVM4.js +13 -0
- package/dist/chunk-YMJHVVM4.js.map +1 -0
- package/dist/{chunk-UQ2F3I2S.js → chunk-YR26F7OA.js} +3 -3
- package/dist/chunk-YR26F7OA.js.map +1 -0
- package/dist/chunk-YSDLXJHE.js +16 -0
- package/dist/chunk-YSDLXJHE.js.map +1 -0
- package/dist/chunk-Z7I7YCKN.js +36 -0
- package/dist/chunk-Z7I7YCKN.js.map +1 -0
- package/dist/chunk-ZM32S3YU.js +16 -0
- package/dist/{chunk-UXMNCRG7.js.map → chunk-ZM32S3YU.js.map} +1 -1
- package/dist/{chunk-PWIEPZVO.js → chunk-ZO2MTD2E.js} +2 -2
- package/dist/chunk-ZO2MTD2E.js.map +1 -0
- package/dist/{chunk-PYALKKWZ.js → chunk-ZYRUL5E7.js} +4 -4
- package/dist/clamp.d.ts +36 -0
- package/dist/clamp.d.ts.map +1 -0
- package/dist/clamp.js +9 -0
- package/dist/clamp.js.map +1 -0
- package/dist/closestTo.d.ts +30 -0
- package/dist/closestTo.d.ts.map +1 -0
- package/dist/closestTo.js +9 -0
- package/dist/closestTo.js.map +1 -0
- package/dist/compareAsc.d.ts +28 -0
- package/dist/compareAsc.d.ts.map +1 -0
- package/dist/compareAsc.js +9 -0
- package/dist/compareAsc.js.map +1 -0
- package/dist/compareDesc.d.ts +28 -0
- package/dist/compareDesc.d.ts.map +1 -0
- package/dist/compareDesc.js +9 -0
- package/dist/compareDesc.js.map +1 -0
- package/dist/differenceInBusinessDays.d.ts +26 -0
- package/dist/differenceInBusinessDays.d.ts.map +1 -0
- package/dist/differenceInBusinessDays.js +10 -0
- package/dist/differenceInBusinessDays.js.map +1 -0
- package/dist/differenceInDays.d.ts +7 -3
- package/dist/differenceInDays.d.ts.map +1 -1
- package/dist/differenceInDays.js +3 -3
- package/dist/differenceInHours.d.ts +3 -0
- package/dist/differenceInHours.d.ts.map +1 -1
- package/dist/differenceInHours.js +3 -4
- package/dist/differenceInMicroseconds.js +3 -3
- package/dist/differenceInMilliseconds.d.ts +3 -0
- package/dist/differenceInMilliseconds.d.ts.map +1 -1
- package/dist/differenceInMilliseconds.js +4 -4
- package/dist/differenceInMinutes.d.ts +3 -0
- package/dist/differenceInMinutes.d.ts.map +1 -1
- package/dist/differenceInMinutes.js +3 -4
- package/dist/differenceInMonths.d.ts +5 -1
- package/dist/differenceInMonths.d.ts.map +1 -1
- package/dist/differenceInMonths.js +3 -3
- package/dist/differenceInNanoseconds.js +3 -3
- package/dist/differenceInQuarters.d.ts +1 -1
- package/dist/differenceInQuarters.d.ts.map +1 -1
- package/dist/differenceInQuarters.js +4 -4
- package/dist/differenceInSeconds.d.ts +3 -0
- package/dist/differenceInSeconds.d.ts.map +1 -1
- package/dist/differenceInSeconds.js +3 -4
- package/dist/differenceInWeeks.d.ts +4 -0
- package/dist/differenceInWeeks.d.ts.map +1 -1
- package/dist/differenceInWeeks.js +3 -3
- package/dist/differenceInYears.d.ts +6 -2
- package/dist/differenceInYears.d.ts.map +1 -1
- package/dist/differenceInYears.js +3 -3
- package/dist/eachDayOfInterval.d.ts +11 -4
- package/dist/eachDayOfInterval.d.ts.map +1 -1
- package/dist/eachDayOfInterval.js +4 -3
- package/dist/eachHourOfInterval.d.ts +5 -3
- package/dist/eachHourOfInterval.d.ts.map +1 -1
- package/dist/eachHourOfInterval.js +3 -3
- package/dist/eachMinuteOfInterval.d.ts.map +1 -1
- package/dist/eachMinuteOfInterval.js +3 -3
- package/dist/eachMonthOfInterval.d.ts +10 -0
- package/dist/eachMonthOfInterval.d.ts.map +1 -1
- package/dist/eachMonthOfInterval.js +5 -3
- package/dist/eachQuarterOfInterval.d.ts +3 -0
- package/dist/eachQuarterOfInterval.d.ts.map +1 -1
- package/dist/eachQuarterOfInterval.js +4 -3
- package/dist/eachWeekOfInterval.d.ts +7 -0
- package/dist/eachWeekOfInterval.d.ts.map +1 -1
- package/dist/eachWeekOfInterval.js +5 -3
- package/dist/eachYearOfInterval.d.ts +10 -0
- package/dist/eachYearOfInterval.d.ts.map +1 -1
- package/dist/eachYearOfInterval.js +5 -3
- package/dist/endOfDay.js +6 -6
- package/dist/endOfMonth.js +6 -6
- package/dist/endOfQuarter.d.ts +1 -1
- package/dist/endOfQuarter.d.ts.map +1 -1
- package/dist/endOfQuarter.js +6 -6
- package/dist/endOfWeek.d.ts +1 -1
- package/dist/endOfWeek.d.ts.map +1 -1
- package/dist/endOfWeek.js +5 -5
- package/dist/endOfYear.d.ts +1 -1
- package/dist/endOfYear.js +6 -6
- package/dist/format.d.ts +9 -4
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +4 -3
- package/dist/formatPlainDate.js +2 -2
- package/dist/getQuarter.d.ts +1 -1
- package/dist/getQuarter.d.ts.map +1 -1
- package/dist/getQuarter.js +3 -3
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +201 -142
- package/dist/intlFormatDistance.d.ts +1 -1
- package/dist/intlFormatDistance.d.ts.map +1 -1
- package/dist/intlFormatDistance.js +10 -11
- package/dist/isAfter.d.ts +8 -5
- package/dist/isAfter.d.ts.map +1 -1
- package/dist/isAfter.js +3 -4
- package/dist/isBefore.d.ts +9 -6
- package/dist/isBefore.d.ts.map +1 -1
- package/dist/isBefore.js +3 -4
- package/dist/isEqual.d.ts +27 -0
- package/dist/isEqual.d.ts.map +1 -0
- package/dist/isEqual.js +9 -0
- package/dist/isEqual.js.map +1 -0
- package/dist/isFuture.d.ts +1 -1
- package/dist/isFuture.d.ts.map +1 -1
- package/dist/isFuture.js +5 -5
- package/dist/isPast.d.ts +1 -1
- package/dist/isPast.d.ts.map +1 -1
- package/dist/isPast.js +5 -5
- package/dist/isPlainDateAfter.d.ts.map +1 -1
- package/dist/isPlainDateAfter.js +2 -2
- package/dist/isPlainDateBefore.d.ts.map +1 -1
- package/dist/isPlainDateBefore.js +2 -2
- package/dist/isPlainDateEqual.d.ts.map +1 -1
- package/dist/isPlainDateEqual.js +2 -2
- package/dist/isPlainTimeAfter.js +2 -2
- package/dist/isPlainTimeBefore.js +2 -2
- package/dist/isPlainTimeEqual.js +2 -2
- package/dist/isSameDay.js +3 -3
- package/dist/isSameHour.d.ts +1 -1
- package/dist/isSameHour.d.ts.map +1 -1
- package/dist/isSameHour.js +3 -3
- package/dist/isSameMicrosecond.d.ts +3 -3
- package/dist/isSameMicrosecond.d.ts.map +1 -1
- package/dist/isSameMicrosecond.js +3 -3
- package/dist/isSameMillisecond.d.ts +3 -3
- package/dist/isSameMillisecond.d.ts.map +1 -1
- package/dist/isSameMillisecond.js +3 -3
- package/dist/isSameMinute.d.ts +1 -1
- package/dist/isSameMinute.d.ts.map +1 -1
- package/dist/isSameMinute.js +3 -3
- package/dist/isSameMonth.d.ts +1 -1
- package/dist/isSameMonth.d.ts.map +1 -1
- package/dist/isSameMonth.js +3 -3
- package/dist/isSameNanosecond.d.ts +3 -3
- package/dist/isSameNanosecond.d.ts.map +1 -1
- package/dist/isSameNanosecond.js +3 -3
- package/dist/isSameQuarter.d.ts +1 -1
- package/dist/isSameQuarter.d.ts.map +1 -1
- package/dist/isSameQuarter.js +3 -3
- package/dist/isSameSecond.d.ts +1 -1
- package/dist/isSameSecond.d.ts.map +1 -1
- package/dist/isSameSecond.js +3 -3
- package/dist/isSameWeek.d.ts +1 -1
- package/dist/isSameWeek.d.ts.map +1 -1
- package/dist/isSameWeek.js +3 -3
- package/dist/isSameYear.d.ts +1 -1
- package/dist/isSameYear.d.ts.map +1 -1
- package/dist/isSameYear.js +3 -3
- package/dist/isToday.d.ts +21 -0
- package/dist/isToday.d.ts.map +1 -0
- package/dist/isToday.js +12 -0
- package/dist/isToday.js.map +1 -0
- package/dist/isTomorrow.d.ts +20 -0
- package/dist/isTomorrow.d.ts.map +1 -0
- package/dist/isTomorrow.js +12 -0
- package/dist/isTomorrow.js.map +1 -0
- package/dist/isWeekend.d.ts +18 -0
- package/dist/isWeekend.d.ts.map +1 -0
- package/dist/isWeekend.js +10 -0
- package/dist/isWeekend.js.map +1 -0
- package/dist/isWithinInterval.js +5 -5
- package/dist/isYesterday.d.ts +20 -0
- package/dist/isYesterday.d.ts.map +1 -0
- package/dist/isYesterday.js +12 -0
- package/dist/isYesterday.js.map +1 -0
- package/dist/max.d.ts +25 -0
- package/dist/max.d.ts.map +1 -0
- package/dist/max.js +9 -0
- package/dist/max.js.map +1 -0
- package/dist/min.d.ts +27 -0
- package/dist/min.d.ts.map +1 -0
- package/dist/min.js +9 -0
- package/dist/min.js.map +1 -0
- package/dist/now.js +2 -2
- package/dist/roundToNearestHour.d.ts +1 -1
- package/dist/roundToNearestHour.d.ts.map +1 -1
- package/dist/roundToNearestHour.js +3 -3
- package/dist/roundToNearestMinute.d.ts +1 -1
- package/dist/roundToNearestMinute.d.ts.map +1 -1
- package/dist/roundToNearestMinute.js +3 -3
- package/dist/roundToNearestSecond.d.ts +1 -1
- package/dist/roundToNearestSecond.d.ts.map +1 -1
- package/dist/roundToNearestSecond.js +3 -3
- package/dist/shared/businessDays.d.ts +24 -0
- package/dist/shared/businessDays.d.ts.map +1 -0
- package/dist/shared/businessDays.js +13 -0
- package/dist/shared/businessDays.js.map +1 -0
- package/dist/shared/compare.d.ts +22 -0
- package/dist/shared/compare.d.ts.map +1 -0
- package/dist/shared/compare.js +12 -0
- package/dist/shared/compare.js.map +1 -0
- package/dist/shared/differenceInMilliseconds.js +2 -2
- package/dist/shared/endOfDay.d.ts +1 -1
- package/dist/shared/endOfDay.d.ts.map +1 -1
- package/dist/shared/endOfDay.js +1 -1
- package/dist/shared/isAfter.d.ts +1 -1
- package/dist/shared/isAfter.d.ts.map +1 -1
- package/dist/shared/isAfter.js +1 -2
- package/dist/shared/isBefore.d.ts +1 -1
- package/dist/shared/isBefore.d.ts.map +1 -1
- package/dist/shared/isBefore.js +1 -2
- package/dist/shared/normalizeTemporalInput.d.ts +1 -1
- package/dist/shared/normalizeTemporalInput.d.ts.map +1 -1
- package/dist/shared/normalizeTemporalInput.js +2 -2
- package/dist/shared/normalizeWithPlainDate.d.ts +1 -1
- package/dist/shared/normalizeWithPlainDate.d.ts.map +1 -1
- package/dist/shared/normalizeWithPlainDate.js +4 -4
- package/dist/shared/nowZoned.js +3 -3
- package/dist/shared/plainDateToZonedDateTime.js +2 -2
- package/dist/shared/relativeDay.d.ts +9 -0
- package/dist/shared/relativeDay.d.ts.map +1 -0
- package/dist/shared/relativeDay.js +11 -0
- package/dist/shared/relativeDay.js.map +1 -0
- package/dist/shared/temporal.d.ts +1 -0
- package/dist/shared/temporal.d.ts.map +1 -1
- package/dist/shared/temporal.js +3 -1
- package/dist/simpleFormat.js +2 -2
- package/dist/startOfDay.js +5 -5
- package/dist/startOfMonth.js +5 -5
- package/dist/startOfQuarter.d.ts +2 -2
- package/dist/startOfQuarter.d.ts.map +1 -1
- package/dist/startOfQuarter.js +5 -5
- package/dist/startOfWeek.d.ts +1 -1
- package/dist/startOfWeek.d.ts.map +1 -1
- package/dist/startOfWeek.js +4 -4
- package/dist/startOfYear.d.ts +1 -1
- package/dist/startOfYear.js +5 -5
- package/dist/subBusinessDays.d.ts +23 -0
- package/dist/subBusinessDays.d.ts.map +1 -0
- package/dist/subBusinessDays.js +11 -0
- package/dist/subBusinessDays.js.map +1 -0
- package/dist/subDays.d.ts +7 -4
- package/dist/subDays.d.ts.map +1 -1
- package/dist/subDays.js +4 -4
- package/dist/subHours.d.ts +1 -1
- package/dist/subHours.d.ts.map +1 -1
- package/dist/subHours.js +4 -4
- package/dist/subMicroseconds.d.ts +1 -1
- package/dist/subMicroseconds.d.ts.map +1 -1
- package/dist/subMicroseconds.js +4 -4
- package/dist/subMilliseconds.d.ts +1 -1
- package/dist/subMilliseconds.d.ts.map +1 -1
- package/dist/subMilliseconds.js +4 -4
- package/dist/subMinutes.d.ts +1 -1
- package/dist/subMinutes.d.ts.map +1 -1
- package/dist/subMinutes.js +4 -4
- package/dist/subMonths.d.ts +7 -4
- package/dist/subMonths.d.ts.map +1 -1
- package/dist/subMonths.js +4 -4
- package/dist/subNanoseconds.d.ts +1 -1
- package/dist/subNanoseconds.d.ts.map +1 -1
- package/dist/subNanoseconds.js +4 -4
- package/dist/subQuarters.d.ts +3 -3
- package/dist/subQuarters.d.ts.map +1 -1
- package/dist/subQuarters.js +4 -4
- package/dist/subSeconds.d.ts +1 -1
- package/dist/subSeconds.d.ts.map +1 -1
- package/dist/subSeconds.js +4 -4
- package/dist/subWeeks.d.ts +7 -4
- package/dist/subWeeks.d.ts.map +1 -1
- package/dist/subWeeks.js +4 -4
- package/dist/subYears.d.ts +7 -4
- package/dist/subYears.d.ts.map +1 -1
- package/dist/subYears.js +4 -4
- package/dist/toDate.d.ts +4 -4
- package/dist/toDate.d.ts.map +1 -1
- package/dist/toDate.js +2 -2
- package/dist/toInstant.js +2 -2
- package/dist/toIso.d.ts +1 -1
- package/dist/toIso.d.ts.map +1 -1
- package/dist/toIso.js +2 -2
- package/dist/toIso9075.d.ts +1 -1
- package/dist/toIso9075.d.ts.map +1 -1
- package/dist/toIso9075.js +2 -2
- package/dist/toPlainDate.d.ts.map +1 -1
- package/dist/toPlainDate.js +2 -2
- package/dist/toPlainTime.js +2 -2
- package/dist/toZonedTime.js +2 -2
- package/dist/today.js +2 -2
- package/package.json +6 -3
- package/dist/chunk-25CVKMFC.js.map +0 -1
- package/dist/chunk-2E4KCD3Y.js.map +0 -1
- package/dist/chunk-2EFJSF2R.js +0 -13
- package/dist/chunk-2EFJSF2R.js.map +0 -1
- package/dist/chunk-3LTTYG6N.js.map +0 -1
- package/dist/chunk-3TS3D7WD.js.map +0 -1
- package/dist/chunk-4PGGOVSG.js.map +0 -1
- package/dist/chunk-567DXBLA.js +0 -27
- package/dist/chunk-567DXBLA.js.map +0 -1
- package/dist/chunk-5Y5JH32Z.js.map +0 -1
- package/dist/chunk-6UMISP3B.js.map +0 -1
- package/dist/chunk-6YU6BQOZ.js +0 -14
- package/dist/chunk-6YU6BQOZ.js.map +0 -1
- package/dist/chunk-7K5BJ6F7.js +0 -18
- package/dist/chunk-7K5BJ6F7.js.map +0 -1
- package/dist/chunk-7SCQV77A.js.map +0 -1
- package/dist/chunk-A42NID5P.js.map +0 -1
- package/dist/chunk-AVGNRINZ.js +0 -9
- package/dist/chunk-AVGNRINZ.js.map +0 -1
- package/dist/chunk-BEGD73DT.js.map +0 -1
- package/dist/chunk-BTXU3OGV.js.map +0 -1
- package/dist/chunk-CCVPCHUO.js.map +0 -1
- package/dist/chunk-CIA46DWB.js +0 -17
- package/dist/chunk-CIA46DWB.js.map +0 -1
- package/dist/chunk-CSOSM46M.js.map +0 -1
- package/dist/chunk-DCCHY45G.js +0 -17
- package/dist/chunk-DCCHY45G.js.map +0 -1
- package/dist/chunk-DCFRBZBY.js +0 -32
- package/dist/chunk-DCFRBZBY.js.map +0 -1
- package/dist/chunk-DHFBKOFZ.js.map +0 -1
- package/dist/chunk-DMFV2AL7.js.map +0 -1
- package/dist/chunk-EBVLBLR3.js.map +0 -1
- package/dist/chunk-EMZFQEWM.js.map +0 -1
- package/dist/chunk-EU3SYJHM.js +0 -17
- package/dist/chunk-EU3SYJHM.js.map +0 -1
- package/dist/chunk-EVEMK2K2.js +0 -13
- package/dist/chunk-EVEMK2K2.js.map +0 -1
- package/dist/chunk-FCJO72WG.js.map +0 -1
- package/dist/chunk-G2U5WGRP.js +0 -14
- package/dist/chunk-G2U5WGRP.js.map +0 -1
- package/dist/chunk-GR7322AQ.js.map +0 -1
- package/dist/chunk-H5BHFVEN.js.map +0 -1
- package/dist/chunk-IAXVREU5.js.map +0 -1
- package/dist/chunk-IONQ6TOR.js.map +0 -1
- package/dist/chunk-JBM7DESQ.js +0 -13
- package/dist/chunk-JBM7DESQ.js.map +0 -1
- package/dist/chunk-JK4WDDWU.js +0 -28
- package/dist/chunk-JK4WDDWU.js.map +0 -1
- package/dist/chunk-JQFD563S.js.map +0 -1
- package/dist/chunk-KGO3G2QB.js +0 -18
- package/dist/chunk-KGO3G2QB.js.map +0 -1
- package/dist/chunk-KPB5ENNM.js.map +0 -1
- package/dist/chunk-LAITZAIG.js.map +0 -1
- package/dist/chunk-LODULPI3.js +0 -17
- package/dist/chunk-LODULPI3.js.map +0 -1
- package/dist/chunk-LSKER4FN.js +0 -13
- package/dist/chunk-LSKER4FN.js.map +0 -1
- package/dist/chunk-M7Y67IAB.js.map +0 -1
- package/dist/chunk-MDXN3WMH.js +0 -13
- package/dist/chunk-MDXN3WMH.js.map +0 -1
- package/dist/chunk-MENMDB6M.js.map +0 -1
- package/dist/chunk-MNV2H4N6.js.map +0 -1
- package/dist/chunk-MTDZG4HK.js.map +0 -1
- package/dist/chunk-NEHYVVTH.js +0 -13
- package/dist/chunk-NTMT5XGC.js.map +0 -1
- package/dist/chunk-OFIPZPEA.js.map +0 -1
- package/dist/chunk-OKXCGA4Y.js +0 -13
- package/dist/chunk-OLLX6YCN.js.map +0 -1
- package/dist/chunk-OQNFKOPA.js.map +0 -1
- package/dist/chunk-OSBVYUOQ.js.map +0 -1
- package/dist/chunk-PWIEPZVO.js.map +0 -1
- package/dist/chunk-R7ZCA6AQ.js.map +0 -1
- package/dist/chunk-RKEZOXD3.js.map +0 -1
- package/dist/chunk-RL2NW7HP.js.map +0 -1
- package/dist/chunk-SCD2JNY3.js.map +0 -1
- package/dist/chunk-SDW4W3XE.js.map +0 -1
- package/dist/chunk-T5WSO6US.js.map +0 -1
- package/dist/chunk-UQ2F3I2S.js.map +0 -1
- package/dist/chunk-URC6AG2N.js.map +0 -1
- package/dist/chunk-UTN7ZKL4.js +0 -30
- package/dist/chunk-UTN7ZKL4.js.map +0 -1
- package/dist/chunk-UXMNCRG7.js +0 -13
- package/dist/chunk-VQPIPLHX.js +0 -14
- package/dist/chunk-VQPIPLHX.js.map +0 -1
- package/dist/chunk-VS2VCQLP.js.map +0 -1
- package/dist/chunk-WGLZHBJG.js.map +0 -1
- package/dist/chunk-WTLAKRCT.js.map +0 -1
- package/dist/chunk-X3ARINEH.js +0 -19
- package/dist/chunk-X3ARINEH.js.map +0 -1
- package/dist/chunk-YRCFMGBH.js +0 -54
- package/dist/chunk-YRCFMGBH.js.map +0 -1
- package/dist/chunk-ZG4ROOWI.js +0 -14
- package/dist/chunk-ZG4ROOWI.js.map +0 -1
- package/dist/chunk-ZGWLIISB.js +0 -40
- package/dist/chunk-ZGWLIISB.js.map +0 -1
- package/dist/chunk-ZOHYNJUD.js.map +0 -1
- package/dist/chunk-ZYU3P74L.js +0 -13
- package/dist/chunk-ZYU3P74L.js.map +0 -1
- package/dist/temporal.d.js +0 -1
- /package/dist/{temporal.d.js.map → addBusinessDays.js.map} +0 -0
- /package/dist/{chunk-L5AMAEWX.js.map → chunk-2AID4P2C.js.map} +0 -0
- /package/dist/{chunk-DBVGH55Z.js.map → chunk-2OSJHJV5.js.map} +0 -0
- /package/dist/{chunk-PURKYS5T.js.map → chunk-6XEHR3MG.js.map} +0 -0
- /package/dist/{chunk-RLVCSGRU.js.map → chunk-AVPV4BA5.js.map} +0 -0
- /package/dist/{chunk-YNLBS34B.js.map → chunk-B6VZ2AKN.js.map} +0 -0
- /package/dist/{chunk-S7L5KBI4.js.map → chunk-FAVYJIRM.js.map} +0 -0
- /package/dist/{chunk-BV32K227.js.map → chunk-HQ3YMKQ5.js.map} +0 -0
- /package/dist/{chunk-NX7MXLFS.js.map → chunk-KTMCYEU5.js.map} +0 -0
- /package/dist/{chunk-ELUSLRWQ.js.map → chunk-LRIVI5ZC.js.map} +0 -0
- /package/dist/{chunk-M4KDJ4I4.js.map → chunk-LXOLIOAD.js.map} +0 -0
- /package/dist/{chunk-PX2I4GCF.js.map → chunk-NL5MQVGD.js.map} +0 -0
- /package/dist/{chunk-VC7RTDJP.js.map → chunk-NST7NM5Q.js.map} +0 -0
- /package/dist/{chunk-TQUKIG26.js.map → chunk-QJYU5TLL.js.map} +0 -0
- /package/dist/{chunk-VQAGV72H.js.map → chunk-QVSHSIA3.js.map} +0 -0
- /package/dist/{chunk-VKXN4FQD.js.map → chunk-SXR2SO42.js.map} +0 -0
- /package/dist/{chunk-6RETOV6A.js.map → chunk-TWRJEIBO.js.map} +0 -0
- /package/dist/{chunk-YOSCEJ36.js.map → chunk-VM2YJ5PN.js.map} +0 -0
- /package/dist/{chunk-XWBOD6MD.js.map → chunk-WTLMIOKZ.js.map} +0 -0
- /package/dist/{chunk-PYALKKWZ.js.map → chunk-ZYRUL5E7.js.map} +0 -0
package/dist/subYears.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Temporal } from './shared/temporal.js';
|
|
2
2
|
/**
|
|
3
|
-
* Subtracts the specified number of years from a datetime.
|
|
3
|
+
* Subtracts the specified number of years from a datetime or date.
|
|
4
4
|
*
|
|
5
5
|
* This is a convenience wrapper around addYears with negated value.
|
|
6
6
|
* Properly handles leap years and calendar edge cases through Temporal API.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* PlainDate inputs stay in calendar space, preserving their calendar without a timezone.
|
|
9
|
+
*
|
|
10
|
+
* @param input - A Temporal.Instant (UTC), Temporal.ZonedDateTime, or Temporal.PlainDate
|
|
9
11
|
* @param years - Number of years to subtract
|
|
10
|
-
* @returns
|
|
12
|
+
* @returns PlainDate for a date input; otherwise ZonedDateTime with years subtracted
|
|
11
13
|
*
|
|
12
14
|
* @example
|
|
13
15
|
* ```ts
|
|
@@ -16,5 +18,6 @@ import type { Temporal } from '@js-temporal/polyfill';
|
|
|
16
18
|
* // 2023-01-20T12:00:00Z[UTC] (2 years earlier)
|
|
17
19
|
* ```
|
|
18
20
|
*/
|
|
21
|
+
export declare function subYears(input: Temporal.PlainDate, years: number): Temporal.PlainDate;
|
|
19
22
|
export declare function subYears(input: Temporal.Instant | Temporal.ZonedDateTime, years: number): Temporal.ZonedDateTime;
|
|
20
23
|
//# sourceMappingURL=subYears.d.ts.map
|
package/dist/subYears.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subYears.d.ts","sourceRoot":"","sources":["../src/subYears.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"subYears.d.ts","sourceRoot":"","sources":["../src/subYears.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAe,MAAM,mBAAmB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;AACvF,wBAAgB,QAAQ,CACtB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC,aAAa,CAAC"}
|
package/dist/subYears.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
subYears
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-TEL44S5A.js";
|
|
4
|
+
import "./chunk-FL33IWLY.js";
|
|
5
|
+
import "./chunk-JNAWZ4RN.js";
|
|
6
|
+
import "./chunk-BSVOJYJ7.js";
|
|
7
7
|
export {
|
|
8
8
|
subYears
|
|
9
9
|
};
|
package/dist/toDate.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Temporal } from './shared/temporal.js';
|
|
2
2
|
/**
|
|
3
3
|
* Convert a Temporal.Instant or ZonedDateTime to a Date object.
|
|
4
4
|
*
|
|
@@ -18,9 +18,9 @@ import type { Temporal } from '@js-temporal/polyfill';
|
|
|
18
18
|
* // date2.toISOString() === "2025-01-20T20:00:00.000Z"
|
|
19
19
|
*
|
|
20
20
|
* // Use with Drizzle ORM (for storing back to database)
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* async function publish(id: string, at: Temporal.Instant) {
|
|
22
|
+
* await db.update(posts).set({ publishedAt: toDate(at) }).where(eq(posts.id, id));
|
|
23
|
+
* }
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
export declare function toDate(input: Temporal.Instant | Temporal.ZonedDateTime): Date;
|
package/dist/toDate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toDate.d.ts","sourceRoot":"","sources":["../src/toDate.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/toDate.js
CHANGED
package/dist/toInstant.js
CHANGED
package/dist/toIso.d.ts
CHANGED
package/dist/toIso.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toIso.d.ts","sourceRoot":"","sources":["../src/toIso.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/toIso.js
CHANGED
package/dist/toIso9075.d.ts
CHANGED
package/dist/toIso9075.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toIso9075.d.ts","sourceRoot":"","sources":["../src/toIso9075.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/toIso9075.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toPlainDate.d.ts","sourceRoot":"","sources":["../src/toPlainDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"toPlainDate.d.ts","sourceRoot":"","sources":["../src/toPlainDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA2C,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC/E,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChE,QAAQ,EAAE,QAAQ,GACjB,QAAQ,CAAC,SAAS,CAAC;AACtB,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC"}
|
package/dist/toPlainDate.js
CHANGED
package/dist/toPlainTime.js
CHANGED
package/dist/toZonedTime.js
CHANGED
package/dist/today.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gobrand/tiempo",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.2",
|
|
4
|
+
"packageManager": "pnpm@10.33.4",
|
|
4
5
|
"description": "Lightweight timezone-safe date and time utilities built on the Temporal API",
|
|
5
6
|
"private": false,
|
|
6
7
|
"publishConfig": {
|
|
@@ -38,7 +39,8 @@
|
|
|
38
39
|
"smoke:package": "tsc -p smoke/tsconfig.json && tsx smoke/consumer.ts",
|
|
39
40
|
"test": "vitest",
|
|
40
41
|
"typecheck": "tsc --noEmit",
|
|
41
|
-
"release": "bash scripts/release.sh"
|
|
42
|
+
"release": "bash scripts/release.sh",
|
|
43
|
+
"smoke:tarball": "node scripts/smoke-tarball.mjs"
|
|
42
44
|
},
|
|
43
45
|
"dependencies": {
|
|
44
46
|
"@js-temporal/polyfill": "^0.5.1"
|
|
@@ -48,7 +50,8 @@
|
|
|
48
50
|
"tsup": "^8.5.0",
|
|
49
51
|
"tsx": "^4.21.0",
|
|
50
52
|
"typescript": "^5.9.3",
|
|
51
|
-
"vitest": "^3.2.4"
|
|
53
|
+
"vitest": "^3.2.4",
|
|
54
|
+
"esbuild": "^0.27.2"
|
|
52
55
|
},
|
|
53
56
|
"keywords": [
|
|
54
57
|
"temporal",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/isSameQuarter.ts"],"sourcesContent":["import type { Temporal } from \"@js-temporal/polyfill\";\nimport { 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:00Z[UTC]');\n * const mar = Temporal.ZonedDateTime.from('2025-03-31T23:59:59Z[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":";;;;;;;;;;;AAsCO,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/toPlainDate.ts"],"sourcesContent":["import { Temporal, isInstant, isZonedDateTime } 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 // PlainDateLike object - pass directly to Temporal.PlainDate.from()\n return Temporal.PlainDate.from(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;AAGA,SAAO,SAAS,UAAU,KAAK,KAAK;AACtC;","names":[]}
|
package/dist/chunk-2EFJSF2R.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/subMonths.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { addMonths } from './addMonths';\n\n/**\n * Subtracts the specified number of months from a datetime.\n *\n * This is a convenience wrapper around addMonths with negated value.\n * Properly handles month-end dates and calendar edge cases through Temporal API.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param months - Number of months to subtract\n * @returns ZonedDateTime with months subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-04-20T12:00:00Z');\n * const result = subMonths(instant, 3);\n * // 2025-01-20T12:00:00Z[UTC] (3 months earlier)\n * ```\n */\nexport function subMonths(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n months: number\n): Temporal.ZonedDateTime {\n return addMonths(input, -months);\n}\n"],"mappings":";;;;;AAoBO,SAAS,UACd,OACA,QACwB;AACxB,SAAO,UAAU,OAAO,CAAC,MAAM;AACjC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/isSameNanosecond.ts"],"sourcesContent":["import type{ Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Returns true if both datetimes represent the exact same nanosecond.\n * Compares all time fields: year, month, day, hour, minute, second, millisecond, microsecond, and nanosecond.\n * This is the most precise comparison possible, representing exact instant equality in their respective timezones.\n *\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their\n * timezone is preserved. Convert to a common timezone before calling if\n * you need to compare from a specific perspective.\n *\n * @param date1 - First datetime (Instant or ZonedDateTime)\n * @param date2 - Second datetime (Instant or ZonedDateTime)\n * @returns true if both dates are in the exact same nanosecond, false otherwise\n *\n * @example\n * ```ts\n * // Same timezone, exact same nanosecond\n * const time1 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789Z[UTC]');\n * const time2 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789Z[UTC]');\n *\n * isSameNanosecond(time1, time2); // true\n * ```\n *\n * @example\n * ```ts\n * // Same timezone, different nanoseconds\n * const ns789 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789Z[UTC]');\n * const ns790 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456790Z[UTC]');\n *\n * isSameNanosecond(ns789, ns790); // false\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares their local nanoseconds\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T04:30:45.987654321+09:00[Asia/Tokyo]');\n *\n * // Same instant, different local nanoseconds from each person's perspective\n * isSameNanosecond(ny, tokyo); // false (14:30:45.123456789 in NY, 04:30:45.987654321 in Tokyo)\n *\n * // Convert to UTC to compare in UTC timezone\n * isSameNanosecond(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 19:30:45.123456789 in UTC)\n *\n * // Convert to NY timezone to compare from NY perspective\n * isSameNanosecond(ny, tokyo.withTimeZone('America/New_York')); // true (both 14:30:45.123456789 in NY)\n * ```\n *\n * @example\n * ```ts\n * // Instant inputs are converted to UTC\n * const instant1 = Temporal.Instant.from('2025-01-20T14:30:45.123456789Z');\n * const instant2 = Temporal.Instant.from('2025-01-20T14:30:45.123456789Z');\n *\n * isSameNanosecond(instant1, instant2); // true\n * ```\n */\nexport function isSameNanosecond(\n date1: Temporal.Instant | Temporal.ZonedDateTime,\n date2: Temporal.Instant | Temporal.ZonedDateTime\n): boolean {\n const zoned1 = normalizeTemporalInput(date1);\n const zoned2 = normalizeTemporalInput(date2);\n\n return (\n zoned1.year === zoned2.year &&\n zoned1.month === zoned2.month &&\n zoned1.day === zoned2.day &&\n zoned1.hour === zoned2.hour &&\n zoned1.minute === zoned2.minute &&\n zoned1.second === zoned2.second &&\n zoned1.millisecond === zoned2.millisecond &&\n zoned1.microsecond === zoned2.microsecond &&\n zoned1.nanosecond === zoned2.nanosecond\n );\n}\n"],"mappings":";;;;;AA2DO,SAAS,iBACd,OACA,OACS;AACT,QAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAM,SAAS,uBAAuB,KAAK;AAE3C,SACE,OAAO,SAAS,OAAO,QACvB,OAAO,UAAU,OAAO,SACxB,OAAO,QAAQ,OAAO,OACtB,OAAO,SAAS,OAAO,QACvB,OAAO,WAAW,OAAO,UACzB,OAAO,WAAW,OAAO,UACzB,OAAO,gBAAgB,OAAO,eAC9B,OAAO,gBAAgB,OAAO,eAC9B,OAAO,eAAe,OAAO;AAEjC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/startOfWeek.ts"],"sourcesContent":["import { isPlainDate } from './shared/temporal';\nimport type { Temporal } from '@js-temporal/polyfill';\nimport type { Timezone } from './types';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { plainDateToZonedDateTime } from './shared/plainDateToZonedDateTime';\n\n/**\n * Returns the first boundary of the week (Monday).\n * Uses ISO 8601 week definition: weeks start on Monday.\n * PlainDate inputs stay in calendar space unless a timezone is provided.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @returns ZonedDateTime at Monday 00:00:00.000000000\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z'); // Monday\n * const start = startOfWeek(instant);\n * // 2025-01-20T00:00:00Z[UTC] (same day, it's already Monday)\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-22T15:30:00-05:00[America/New_York]'); // Wednesday\n * const start = startOfWeek(zoned);\n * // 2025-01-20T00:00:00-05:00[America/New_York] (previous Monday)\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate (stays a date)\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const start = startOfWeek(date);\n * // 2025-01-20 (previous Monday)\n * ```\n *\n * @example\n * ```ts\n * // From PlainDate with a timezone (returns a ZonedDateTime)\n * const date = Temporal.PlainDate.from('2025-01-22'); // Wednesday\n * const start = startOfWeek(date, 'America/New_York');\n * // 2025-01-20T00:00:00-05:00[America/New_York] (previous Monday)\n * ```\n */\nexport function startOfWeek(\n input: Temporal.Instant | Temporal.ZonedDateTime\n): Temporal.ZonedDateTime;\nexport function startOfWeek(input: Temporal.PlainDate): Temporal.PlainDate;\nexport function startOfWeek(\n input: Temporal.PlainDate,\n timezone: Timezone\n): Temporal.ZonedDateTime;\nexport function startOfWeek(\n input: Temporal.Instant | Temporal.ZonedDateTime | Temporal.PlainDate,\n timezone?: Timezone\n): Temporal.ZonedDateTime | Temporal.PlainDate {\n if (isPlainDate(input) && timezone === undefined) {\n return input.subtract({ days: input.dayOfWeek - 1 });\n }\n\n const zonedDateTime =\n isPlainDate(input)\n ? plainDateToZonedDateTime(input, timezone!)\n : normalizeTemporalInput(input);\n\n // Get the day of week (1 = Monday, 7 = Sunday in ISO 8601)\n const dayOfWeek = zonedDateTime.dayOfWeek;\n\n // Calculate days to subtract to get to Monday\n const daysToSubtract = dayOfWeek - 1;\n\n // Go to Monday, then get start of that day\n const monday = zonedDateTime.subtract({ days: daysToSubtract });\n\n return monday.startOfDay();\n}\n"],"mappings":";;;;;;;;;;;AAsDO,SAAS,YACd,OACA,UAC6C;AAC7C,MAAI,YAAY,KAAK,KAAK,aAAa,QAAW;AAChD,WAAO,MAAM,SAAS,EAAE,MAAM,MAAM,YAAY,EAAE,CAAC;AAAA,EACrD;AAEA,QAAM,gBACJ,YAAY,KAAK,IACb,yBAAyB,OAAO,QAAS,IACzC,uBAAuB,KAAK;AAGlC,QAAM,YAAY,cAAc;AAGhC,QAAM,iBAAiB,YAAY;AAGnC,QAAM,SAAS,cAAc,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D,SAAO,OAAO,WAAW;AAC3B;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/addMinutes.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Adds the specified number of minutes to a datetime.\n *\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param minutes - Number of minutes to add (can be negative to subtract)\n * @returns ZonedDateTime with minutes added, in the same timezone as input\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const result = addMinutes(instant, 30);\n * // 2025-01-20T12:30:00Z[UTC] (30 minutes later)\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (preserves timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-20T15:30:00-05:00[America/New_York]');\n * const result = addMinutes(zoned, 90);\n * // 2025-01-20T17:00:00-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // Negative values subtract minutes\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const result = addMinutes(instant, -15);\n * // 2025-01-20T11:45:00Z[UTC] (15 minutes earlier)\n * ```\n */\nexport function addMinutes(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n minutes: number\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n return zonedDateTime.add({ minutes });\n}\n"],"mappings":";;;;;AAoCO,SAAS,WACd,OACA,SACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,SAAO,cAAc,IAAI,EAAE,QAAQ,CAAC;AACtC;","names":[]}
|
package/dist/chunk-567DXBLA.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeTemporalInput
|
|
3
|
-
} from "./chunk-NTMT5XGC.js";
|
|
4
|
-
import {
|
|
5
|
-
Temporal
|
|
6
|
-
} from "./chunk-R7ZCA6AQ.js";
|
|
7
|
-
|
|
8
|
-
// src/eachDayOfInterval.ts
|
|
9
|
-
function eachDayOfInterval(interval) {
|
|
10
|
-
const startZoned = normalizeTemporalInput(interval.start);
|
|
11
|
-
const endZoned = normalizeTemporalInput(interval.end);
|
|
12
|
-
const timezone = startZoned.timeZoneId;
|
|
13
|
-
const startDate = startZoned.toPlainDate();
|
|
14
|
-
const endDate = endZoned.withTimeZone(timezone).toPlainDate();
|
|
15
|
-
const days = [];
|
|
16
|
-
let current = startDate;
|
|
17
|
-
while (Temporal.PlainDate.compare(current, endDate) <= 0) {
|
|
18
|
-
days.push(current.toZonedDateTime({ timeZone: timezone, plainTime: new Temporal.PlainTime() }));
|
|
19
|
-
current = current.add({ days: 1 });
|
|
20
|
-
}
|
|
21
|
-
return days;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export {
|
|
25
|
-
eachDayOfInterval
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=chunk-567DXBLA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/eachDayOfInterval.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Returns an array of ZonedDateTime objects for each calendar day within the interval.\n * Each element represents the start of day (midnight) in the timezone of the interval start.\n * The interval is inclusive of both start and end days.\n *\n * For Instant inputs, UTC is used as the timezone.\n * For ZonedDateTime inputs, the timezone of the start date is preserved.\n *\n * @param interval - The interval with start and end datetimes\n * @returns Array of ZonedDateTime at start of each day in the interval\n *\n * @example\n * ```ts\n * const start = Temporal.ZonedDateTime.from('2025-01-06T10:00:00Z[UTC]');\n * const end = Temporal.ZonedDateTime.from('2025-01-10T14:00:00Z[UTC]');\n *\n * const days = eachDayOfInterval({ start, end });\n * // [\n * // 2025-01-06T00:00:00Z[UTC],\n * // 2025-01-07T00:00:00Z[UTC],\n * // 2025-01-08T00:00:00Z[UTC],\n * // 2025-01-09T00:00:00Z[UTC],\n * // 2025-01-10T00:00:00Z[UTC]\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // With timezone - preserves the timezone from start\n * const start = Temporal.ZonedDateTime.from('2025-01-06T10:00:00-05:00[America/New_York]');\n * const end = Temporal.ZonedDateTime.from('2025-01-08T14:00:00-05:00[America/New_York]');\n *\n * const days = eachDayOfInterval({ start, end });\n * // [\n * // 2025-01-06T00:00:00-05:00[America/New_York],\n * // 2025-01-07T00:00:00-05:00[America/New_York],\n * // 2025-01-08T00:00:00-05:00[America/New_York]\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // With Instant (uses UTC)\n * const start = Temporal.Instant.from('2025-01-06T00:00:00Z');\n * const end = Temporal.Instant.from('2025-01-08T00:00:00Z');\n *\n * const days = eachDayOfInterval({ start, end });\n * // [\n * // 2025-01-06T00:00:00Z[UTC],\n * // 2025-01-07T00:00:00Z[UTC],\n * // 2025-01-08T00:00:00Z[UTC]\n * // ]\n * ```\n *\n * @example\n * ```ts\n * // Single day interval\n * const date = Temporal.ZonedDateTime.from('2025-01-15T12:00:00Z[UTC]');\n *\n * eachDayOfInterval({ start: date, end: date });\n * // [2025-01-15T00:00:00Z[UTC]]\n * ```\n */\nexport function eachDayOfInterval(interval: {\n start: Temporal.Instant | Temporal.ZonedDateTime;\n end: Temporal.Instant | Temporal.ZonedDateTime;\n}): Temporal.ZonedDateTime[] {\n const startZoned = normalizeTemporalInput(interval.start);\n const endZoned = normalizeTemporalInput(interval.end);\n\n const timezone = startZoned.timeZoneId;\n const startDate = startZoned.toPlainDate();\n const endDate = endZoned.withTimeZone(timezone).toPlainDate();\n\n const days: Temporal.ZonedDateTime[] = [];\n let current = startDate;\n\n while (Temporal.PlainDate.compare(current, endDate) <= 0) {\n days.push(current.toZonedDateTime({ timeZone: timezone, plainTime: new Temporal.PlainTime() }));\n current = current.add({ days: 1 });\n }\n\n return days;\n}\n"],"mappings":";;;;;;;;AAkEO,SAAS,kBAAkB,UAGL;AAC3B,QAAM,aAAa,uBAAuB,SAAS,KAAK;AACxD,QAAM,WAAW,uBAAuB,SAAS,GAAG;AAEpD,QAAM,WAAW,WAAW;AAC5B,QAAM,YAAY,WAAW,YAAY;AACzC,QAAM,UAAU,SAAS,aAAa,QAAQ,EAAE,YAAY;AAE5D,QAAM,OAAiC,CAAC;AACxC,MAAI,UAAU;AAEd,SAAO,SAAS,UAAU,QAAQ,SAAS,OAAO,KAAK,GAAG;AACxD,SAAK,KAAK,QAAQ,gBAAgB,EAAE,UAAU,UAAU,WAAW,IAAI,SAAS,UAAU,EAAE,CAAC,CAAC;AAC9F,cAAU,QAAQ,IAAI,EAAE,MAAM,EAAE,CAAC;AAAA,EACnC;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/subQuarters.ts"],"sourcesContent":["import type { Temporal } from \"@js-temporal/polyfill\";\nimport { 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) or Temporal.ZonedDateTime\n * @param quarters - Number of quarters to subtract\n * @returns A ZonedDateTime (for Instant/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:00Z[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":";;;;;;;;AAgCO,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/roundToNearestHour.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\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":[]}
|
package/dist/chunk-6YU6BQOZ.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeTemporalInput
|
|
3
|
-
} from "./chunk-NTMT5XGC.js";
|
|
4
|
-
|
|
5
|
-
// src/addYears.ts
|
|
6
|
-
function addYears(input, years) {
|
|
7
|
-
const zonedDateTime = normalizeTemporalInput(input);
|
|
8
|
-
return zonedDateTime.add({ years });
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
addYears
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=chunk-6YU6BQOZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/addYears.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Adds the specified number of years to a datetime.\n *\n * Properly handles leap years and calendar edge cases through Temporal API.\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param years - Number of years to add (can be negative to subtract)\n * @returns ZonedDateTime with years added, in the same timezone as input\n *\n * @example\n * ```ts\n * // From Instant (always UTC)\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');\n * const result = addYears(instant, 2);\n * // 2027-01-20T12:00:00Z[UTC] (2 years later)\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (preserves timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-01-20T15:30:00-05:00[America/New_York]');\n * const result = addYears(zoned, 1);\n * // 2026-01-20T15:30:00-05:00[America/New_York]\n * ```\n *\n * @example\n * ```ts\n * // Leap year handling\n * const instant = Temporal.Instant.from('2024-02-29T12:00:00Z');\n * const result = addYears(instant, 1);\n * // 2025-02-28T12:00:00Z[UTC] (Feb 29 → Feb 28)\n * ```\n */\nexport function addYears(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n years: number\n): Temporal.ZonedDateTime {\n const zonedDateTime = normalizeTemporalInput(input);\n return zonedDateTime.add({ years });\n}\n"],"mappings":";;;;;AAqCO,SAAS,SACd,OACA,OACwB;AACxB,QAAM,gBAAgB,uBAAuB,KAAK;AAClD,SAAO,cAAc,IAAI,EAAE,MAAM,CAAC;AACpC;","names":[]}
|
package/dist/chunk-7K5BJ6F7.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isAfter
|
|
3
|
-
} from "./chunk-LSKER4FN.js";
|
|
4
|
-
import {
|
|
5
|
-
normalizeTemporalInput
|
|
6
|
-
} from "./chunk-NTMT5XGC.js";
|
|
7
|
-
|
|
8
|
-
// src/isAfter.ts
|
|
9
|
-
function isAfter2(date1, date2) {
|
|
10
|
-
const zoned1 = normalizeTemporalInput(date1);
|
|
11
|
-
const zoned2 = normalizeTemporalInput(date2);
|
|
12
|
-
return isAfter(zoned1, zoned2);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export {
|
|
16
|
-
isAfter2 as isAfter
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=chunk-7K5BJ6F7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/isAfter.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { isAfter as isAfterInternal } from './shared/isAfter';\n\n/**\n * Returns true if the first datetime is after the second datetime.\n * Compares by the underlying instant (epoch time), not by calendar date/time.\n *\n * @param date1 - First datetime (Instant or ZonedDateTime)\n * @param date2 - Second datetime (Instant or ZonedDateTime)\n * @returns true if date1 is after date2, false otherwise\n *\n * @example\n * ```ts\n * const earlier = Temporal.ZonedDateTime.from('2025-01-20T10:00:00-05:00[America/New_York]');\n * const later = Temporal.ZonedDateTime.from('2025-01-20T16:00:00-05:00[America/New_York]');\n *\n * isAfter(later, earlier); // true\n * isAfter(earlier, later); // false\n * isAfter(earlier, earlier); // false\n * ```\n *\n * @example\n * ```ts\n * // Works with Instant too\n * const instant1 = Temporal.Instant.from('2025-01-20T15:00:00Z');\n * const instant2 = Temporal.Instant.from('2025-01-20T16:00:00Z');\n *\n * isAfter(instant2, instant1); // true\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares by instant\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T10:00:00-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T00:00:00+09:00[Asia/Tokyo]');\n *\n * isAfter(tokyo, ny); // false\n * // NY 10:00 is 15:00 UTC, Tokyo 00:00 is 15:00 UTC the previous day (same instant)\n * ```\n */\nexport function isAfter(\n date1: Temporal.Instant | Temporal.ZonedDateTime,\n date2: Temporal.Instant | Temporal.ZonedDateTime\n): boolean {\n const zoned1 = normalizeTemporalInput(date1);\n const zoned2 = normalizeTemporalInput(date2);\n\n return isAfterInternal(zoned1, zoned2);\n}\n"],"mappings":";;;;;;;;AAyCO,SAASA,SACd,OACA,OACS;AACT,QAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAM,SAAS,uBAAuB,KAAK;AAE3C,SAAO,QAAgB,QAAQ,MAAM;AACvC;","names":["isAfter"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/startOfQuarter.ts"],"sourcesContent":["import { isPlainDate } from \"./shared/temporal\";\nimport type { Temporal } from \"@js-temporal/polyfill\";\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:00Z[UTC]\n * ```\n *\n * @example\n * ```ts\n * // From ZonedDateTime (uses its timezone)\n * const zoned = Temporal.ZonedDateTime.from('2025-08-15T15:30:00-05: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 PlainDate (requires 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":";;;;;;;;;;;AA+CO,SAAS,eACd,OACA,UAC6C;AAE7C,MAAI,YAAY,KAAK,KAAK,aAAa,QAAW;AAChD,WAAO,MAAM,KAAK,EAAE,OAAO,kBAAkB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;AAAA,EACrE;AACA,QAAM,gBAAgB,uBAAuB,OAAO,QAAS;AAC7D,QAAM,WAAW,cAAc,KAAK;AAAA,IAClC,OAAO,kBAAkB,cAAc,KAAK;AAAA,IAC5C,KAAK;AAAA,EACP,CAAC;AACD,SAAO,SAAS,WAAW;AAC7B;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/isPast.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { isBefore } from './shared/isBefore';\nimport { nowZoned } from './shared/nowZoned';\n\n/**\n * Returns true if the given datetime is in the past.\n * Compares by the underlying instant (epoch time) against the current time.\n *\n * @param date - Datetime to check (Instant or ZonedDateTime)\n * @returns true if date is before the current instant, false otherwise\n *\n * @example\n * ```ts\n * const yesterday = Temporal.Now.zonedDateTimeISO().subtract({ days: 1 });\n * const tomorrow = Temporal.Now.zonedDateTimeISO().add({ days: 1 });\n *\n * isPast(yesterday); // true\n * isPast(tomorrow); // false\n * ```\n *\n * @example\n * ```ts\n * // Works with Instant too\n * const pastInstant = Temporal.Now.instant().subtract({ hours: 1 });\n *\n * isPast(pastInstant); // true\n * ```\n *\n * @example\n * ```ts\n * // Works with any timezone\n * const pastInTokyo = Temporal.ZonedDateTime.from('1970-01-01T00:00:00+09:00[Asia/Tokyo]');\n *\n * isPast(pastInTokyo); // true\n * ```\n */\nexport function isPast(\n date: Temporal.Instant | Temporal.ZonedDateTime\n): boolean {\n const zoned = normalizeTemporalInput(date);\n\n return isBefore(zoned, nowZoned());\n}\n"],"mappings":";;;;;;;;;;;AAqCO,SAAS,OACd,MACS;AACT,QAAM,QAAQ,uBAAuB,IAAI;AAEzC,SAAO,SAAS,OAAO,SAAS,CAAC;AACnC;","names":[]}
|
package/dist/chunk-AVGNRINZ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/shared/endOfDay.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\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 .subtract({ nanoseconds: 1 });\n}\n"],"mappings":";AAMO,SAAS,YACd,eACwB;AACxB,SAAO,cACJ,WAAW,EACX,IAAI,EAAE,MAAM,EAAE,CAAC,EACf,SAAS,EAAE,aAAa,EAAE,CAAC;AAChC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/format.ts"],"sourcesContent":["import { isInstant } from './shared/temporal';\nimport type { Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport type { Timezone } from './types';\n\nexport interface FormatOptions {\n locale?: string;\n timeZone?: Timezone;\n}\n\n/**\n * Format a Temporal.Instant or ZonedDateTime using date-fns-like format tokens.\n * Uses Intl.DateTimeFormat under the hood via Temporal's toLocaleString() for zero dependencies.\n *\n * @param input - A Temporal.Instant or Temporal.ZonedDateTime to format\n * @param formatStr - Format string using date-fns tokens (e.g., \"yyyy-MM-dd HH:mm:ss\")\n * @param options - Optional configuration for locale and timezone\n * @returns Formatted date string\n *\n * @example\n * ```typescript\n * const zoned = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n *\n * format(zoned, \"yyyy-MM-dd\"); // \"2025-01-20\"\n * format(zoned, \"MMMM d, yyyy\"); // \"January 20, 2025\"\n * format(zoned, \"h:mm a\"); // \"3:00 PM\"\n * format(zoned, \"EEEE, MMMM do, yyyy 'at' h:mm a\"); // \"Monday, January 20th, 2025 at 3:00 PM\"\n *\n * // With locale\n * format(zoned, \"MMMM d, yyyy\", { locale: \"es-ES\" }); // \"enero 20, 2025\"\n * ```\n */\nexport function format(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n formatStr: string,\n options: FormatOptions = {}\n): string {\n const { locale = 'en-US', timeZone } = options;\n\n // Convert to ZonedDateTime, applying custom timezone if provided\n let zonedDateTime: Temporal.ZonedDateTime;\n if (timeZone) {\n // If custom timezone specified, convert via Instant\n const instant = isInstant(input) ? input : input.toInstant();\n zonedDateTime = instant.toZonedDateTimeISO(timeZone);\n } else {\n // No custom timezone: normalize to ZonedDateTime (Instant -> UTC, ZonedDateTime -> keep as-is)\n zonedDateTime = normalizeTemporalInput(input);\n }\n\n let result = '';\n let i = 0;\n const len = formatStr.length;\n\n while (i < len) {\n const char = formatStr[i];\n if (!char) break;\n\n // Handle escaped text\n if (char === \"'\") {\n // Check for double single quote (not inside a string, just '')\n if (i + 1 < len && formatStr[i + 1] === \"'\") {\n result += \"'\";\n i += 2;\n continue;\n }\n // Find closing quote, handling '' inside the string\n i++;\n while (i < len) {\n if (formatStr[i] === \"'\") {\n // Check if it's a doubled quote ''\n if (i + 1 < len && formatStr[i + 1] === \"'\") {\n result += \"'\";\n i += 2;\n } else {\n // End of quoted string\n i++;\n break;\n }\n } else {\n result += formatStr[i];\n i++;\n }\n }\n continue;\n }\n\n // Check for tokens by looking ahead\n const token = consumeToken(formatStr, i, char);\n if (token !== null) {\n result += formatToken(token, zonedDateTime, locale);\n i += token.length;\n } else {\n result += char;\n i++;\n }\n }\n\n return result;\n}\n\nfunction 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 // Check if this is a valid token pattern\n const validTokens = [\n 'GGGGG',\n 'GGGG',\n 'GGG',\n 'GG',\n 'G',\n 'yyyy',\n 'yyy',\n 'yy',\n 'y',\n 'QQQQQ',\n 'QQQQ',\n 'QQQ',\n 'QQ',\n 'Q',\n 'MMMMM',\n 'MMMM',\n 'MMM',\n 'MM',\n 'M',\n 'dd',\n 'd',\n 'EEEEEE',\n 'EEEEE',\n 'EEEE',\n 'EEE',\n 'EE',\n 'E',\n 'aaaaa',\n 'aaaa',\n 'aaa',\n 'aa',\n 'a',\n 'HH',\n 'H',\n 'hh',\n 'h',\n 'mm',\n 'm',\n 'ss',\n 's',\n 'SSS',\n 'SS',\n 'S',\n 'XXXXX',\n 'XXXX',\n 'XXX',\n 'XX',\n 'X',\n 'xxxxx',\n 'xxxx',\n 'xxx',\n 'xx',\n 'x',\n 'zzzz',\n 'zzz',\n 'zz',\n 'z',\n 'T',\n 't',\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, zonedDateTime: Temporal.ZonedDateTime, locale: string): string {\n switch (token) {\n // Era\n case 'GGGGG':\n return formatPart(zonedDateTime, 'era', 'narrow', locale);\n case 'GGGG':\n return formatPart(zonedDateTime, 'era', 'long', locale);\n case 'GGG':\n case 'GG':\n case 'G':\n return formatPart(zonedDateTime, 'era', 'short', locale);\n\n // Year\n case 'yyyy':\n return zonedDateTime.year.toString().padStart(4, '0');\n case 'yyy':\n return zonedDateTime.year.toString().padStart(3, '0');\n case 'yy':\n return (zonedDateTime.year % 100).toString().padStart(2, '0');\n case 'y':\n return zonedDateTime.year.toString();\n\n // Quarter\n case 'QQQQQ':\n return Math.ceil(zonedDateTime.month / 3).toString();\n case 'QQQQ': {\n const quarter = Math.ceil(zonedDateTime.month / 3);\n return `${quarter}${getOrdinalSuffix(quarter)} quarter`;\n }\n case 'QQQ':\n return `Q${Math.ceil(zonedDateTime.month / 3)}`;\n case 'QQ':\n return Math.ceil(zonedDateTime.month / 3)\n .toString()\n .padStart(2, '0');\n case 'Q':\n return Math.ceil(zonedDateTime.month / 3).toString();\n\n // Month\n case 'MMMMM':\n return formatPart(zonedDateTime, 'month', 'narrow', locale);\n case 'MMMM':\n return formatPart(zonedDateTime, 'month', 'long', locale);\n case 'MMM':\n return formatPart(zonedDateTime, 'month', 'short', locale);\n case 'MM':\n return zonedDateTime.month.toString().padStart(2, '0');\n case 'Mo':\n return `${zonedDateTime.month}${getOrdinalSuffix(zonedDateTime.month)}`;\n case 'M':\n return zonedDateTime.month.toString();\n\n // Day of month\n case 'do':\n return `${zonedDateTime.day}${getOrdinalSuffix(zonedDateTime.day)}`;\n case 'dd':\n return zonedDateTime.day.toString().padStart(2, '0');\n case 'd':\n return zonedDateTime.day.toString();\n\n // Day of week\n case 'EEEEEE':\n return formatPart(zonedDateTime, 'weekday', 'short', locale).slice(0, 2);\n case 'EEEEE':\n return formatPart(zonedDateTime, 'weekday', 'narrow', locale);\n case 'EEEE':\n return formatPart(zonedDateTime, 'weekday', 'long', locale);\n case 'EEE':\n case 'EE':\n case 'E':\n return formatPart(zonedDateTime, 'weekday', 'short', locale);\n\n // AM/PM (locale-aware; English widths applied only for ASCII AM/PM)\n case 'aaaaa': {\n const period = getDayPeriod(zonedDateTime, locale);\n if (isAsciiAmPm(period)) return isAm(period) ? 'a' : 'p';\n return period.charAt(0).toLowerCase();\n }\n case 'aaaa': {\n const period = getDayPeriod(zonedDateTime, locale);\n if (isAsciiAmPm(period)) return isAm(period) ? 'a.m.' : 'p.m.';\n return period;\n }\n case 'aaa':\n return getDayPeriod(zonedDateTime, locale).toLowerCase();\n case 'aa':\n case 'a':\n return getDayPeriod(zonedDateTime, locale);\n\n // Hour [0-23]\n case 'HH':\n return zonedDateTime.hour.toString().padStart(2, '0');\n case 'H':\n return zonedDateTime.hour.toString();\n\n // Hour [1-12]\n case 'hh': {\n const hour12 = zonedDateTime.hour % 12 || 12;\n return hour12.toString().padStart(2, '0');\n }\n case 'h': {\n const hour12 = zonedDateTime.hour % 12 || 12;\n return hour12.toString();\n }\n\n // Minute\n case 'mm':\n return zonedDateTime.minute.toString().padStart(2, '0');\n case 'm':\n return zonedDateTime.minute.toString();\n\n // Second\n case 'ss':\n return zonedDateTime.second.toString().padStart(2, '0');\n case 's':\n return zonedDateTime.second.toString();\n\n // Fractional seconds\n case 'SSS':\n return zonedDateTime.millisecond.toString().padStart(3, '0');\n case 'SS':\n return Math.floor(zonedDateTime.millisecond / 10)\n .toString()\n .padStart(2, '0');\n case 'S':\n return Math.floor(zonedDateTime.millisecond / 100).toString();\n\n // Timezone\n case 'XXXXX': {\n const offset = getTimezoneOffset(zonedDateTime);\n return offset === '+00:00' ? 'Z' : offset;\n }\n case 'XXXX': {\n const offset = getTimezoneOffset(zonedDateTime).replace(':', '');\n return offset === '+0000' ? 'Z' : offset;\n }\n case 'XXX': {\n const offset = getTimezoneOffset(zonedDateTime);\n return offset === '+00:00' ? 'Z' : offset;\n }\n case 'XX': {\n const offset = getTimezoneOffset(zonedDateTime).replace(':', '');\n return offset === '+0000' ? 'Z' : offset;\n }\n case 'X': {\n const offset = getTimezoneOffset(zonedDateTime); // \"+05:30\" / \"+00:00\"\n if (offset === '+00:00') return 'Z';\n const [hours, minutes] = offset.split(':');\n return minutes === '00' ? hours! : `${hours}${minutes}`;\n }\n case 'xxxxx':\n return getTimezoneOffset(zonedDateTime);\n case 'xxxx':\n return getTimezoneOffset(zonedDateTime).replace(':', '');\n case 'xxx':\n return getTimezoneOffset(zonedDateTime);\n case 'xx':\n return getTimezoneOffset(zonedDateTime).replace(':', '');\n case 'x': {\n const offset = getTimezoneOffset(zonedDateTime); // \"+05:30\" / \"+00:00\"\n const [hours, minutes] = offset.split(':');\n return minutes === '00' ? hours! : `${hours}${minutes}`;\n }\n case 'zzzz':\n return formatPart(zonedDateTime, 'timeZoneName', 'long', locale);\n case 'zzz':\n case 'zz':\n case 'z':\n return formatPart(zonedDateTime, 'timeZoneName', 'short', locale);\n\n // Timestamps\n case 'T':\n return zonedDateTime.epochMilliseconds.toString();\n case 't':\n return Math.floor(zonedDateTime.epochMilliseconds / 1000).toString();\n\n default:\n return token;\n }\n}\n\nfunction formatPart(\n zonedDateTime: Temporal.ZonedDateTime,\n part: 'era' | 'year' | 'month' | 'weekday' | 'day' | 'hour' | 'minute' | 'second' | 'timeZoneName',\n style: 'narrow' | 'short' | 'long' | 'numeric' | '2-digit',\n locale: string\n): string {\n const options: Intl.DateTimeFormatOptions = {};\n options[part] = style as any;\n return zonedDateTime.toLocaleString(locale, options);\n}\n\nfunction getOrdinalSuffix(num: number): string {\n const j = num % 10;\n const k = num % 100;\n if (j === 1 && k !== 11) return 'st';\n if (j === 2 && k !== 12) return 'nd';\n if (j === 3 && k !== 13) return 'rd';\n return 'th';\n}\n\nfunction getTimezoneOffset(zonedDateTime: Temporal.ZonedDateTime): string {\n const offsetNs = zonedDateTime.offsetNanoseconds;\n const offsetMinutes = offsetNs / (60 * 1e9);\n const sign = offsetMinutes >= 0 ? '+' : '-';\n const absMinutes = Math.abs(offsetMinutes);\n const hours = Math.floor(absMinutes / 60);\n const minutes = absMinutes % 60;\n return `${sign}${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n}\n\n/**\n * Locale-correct day period (AM/PM equivalent) via Intl.formatToParts.\n * Returns the locale's own value, e.g. \"AM\"/\"PM\" (en), \"p. m.\" (es), \"午後\" (ja).\n */\nfunction getDayPeriod(zonedDateTime: Temporal.ZonedDateTime, locale: string): string {\n const parts = new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n hour12: true,\n timeZone: zonedDateTime.timeZoneId,\n }).formatToParts(new Date(zonedDateTime.epochMilliseconds));\n return parts.find((p) => p.type === 'dayPeriod')?.value ?? '';\n}\n\n/** True when the day-period is recognizably ASCII AM/PM (so English widths apply). */\nfunction isAsciiAmPm(period: string): boolean {\n const normalized = period.toUpperCase().replace(/[.\\s]/g, '');\n return normalized === 'AM' || normalized === 'PM';\n}\n\n/** True for the AM half (only meaningful when isAsciiAmPm is true). */\nfunction isAm(period: string): boolean {\n return period.toUpperCase().replace(/[.\\s]/g, '').startsWith('A');\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/subNanoseconds.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { addNanoseconds } from './addNanoseconds';\n\n/**\n * Subtracts the specified number of nanoseconds from a datetime.\n *\n * This is a convenience wrapper around addNanoseconds with negated value.\n *\n * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime\n * @param nanoseconds - Number of nanoseconds to subtract\n * @returns ZonedDateTime with nanoseconds subtracted, in the same timezone as input\n *\n * @example\n * ```ts\n * const instant = Temporal.Instant.from('2025-01-20T12:00:00.000001Z');\n * const result = subNanoseconds(instant, 500);\n * // 2025-01-20T12:00:00.000000500Z[UTC] (500 nanoseconds earlier)\n * ```\n */\nexport function subNanoseconds(\n input: Temporal.Instant | Temporal.ZonedDateTime,\n nanoseconds: number\n): Temporal.ZonedDateTime {\n return addNanoseconds(input, -nanoseconds);\n}\n"],"mappings":";;;;;AAmBO,SAAS,eACd,OACA,aACwB;AACxB,SAAO,eAAe,OAAO,CAAC,WAAW;AAC3C;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/isFuture.ts"],"sourcesContent":["import type { Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport { isAfter } from './shared/isAfter';\nimport { nowZoned } from './shared/nowZoned';\n\n/**\n * Returns true if the given datetime is in the future.\n * Compares by the underlying instant (epoch time) against the current time.\n *\n * @param date - Datetime to check (Instant or ZonedDateTime)\n * @returns true if date is after the current instant, false otherwise\n *\n * @example\n * ```ts\n * const tomorrow = Temporal.Now.zonedDateTimeISO().add({ days: 1 });\n * const yesterday = Temporal.Now.zonedDateTimeISO().subtract({ days: 1 });\n *\n * isFuture(tomorrow); // true\n * isFuture(yesterday); // false\n * ```\n *\n * @example\n * ```ts\n * // Works with Instant too\n * const futureInstant = Temporal.Now.instant().add({ hours: 1 });\n *\n * isFuture(futureInstant); // true\n * ```\n *\n * @example\n * ```ts\n * // Works with any timezone\n * const futureInTokyo = Temporal.ZonedDateTime.from('2100-01-01T00:00:00+09:00[Asia/Tokyo]');\n *\n * isFuture(futureInTokyo); // true\n * ```\n */\nexport function isFuture(\n date: Temporal.Instant | Temporal.ZonedDateTime\n): boolean {\n const zoned = normalizeTemporalInput(date);\n\n return isAfter(zoned, nowZoned());\n}\n"],"mappings":";;;;;;;;;;;AAqCO,SAAS,SACd,MACS;AACT,QAAM,QAAQ,uBAAuB,IAAI;AAEzC,SAAO,QAAQ,OAAO,SAAS,CAAC;AAClC;","names":[]}
|
package/dist/chunk-CIA46DWB.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeTemporalInput
|
|
3
|
-
} from "./chunk-NTMT5XGC.js";
|
|
4
|
-
|
|
5
|
-
// src/differenceInMonths.ts
|
|
6
|
-
function differenceInMonths(laterDate, earlierDate, options) {
|
|
7
|
-
const zoned1 = normalizeTemporalInput(laterDate);
|
|
8
|
-
const zoned2 = normalizeTemporalInput(earlierDate);
|
|
9
|
-
const duration = zoned2.until(zoned1, { largestUnit: "hours" });
|
|
10
|
-
const precise = duration.total({ unit: "months", relativeTo: zoned2 });
|
|
11
|
-
return options?.fractional ? precise : Math.trunc(precise);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export {
|
|
15
|
-
differenceInMonths
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=chunk-CIA46DWB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/differenceInMonths.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport type { DifferenceOptions } from './shared/differenceOptions';\n\n/**\n * Returns the number of months between two datetimes.\n * The result is positive if laterDate is after earlierDate, negative if before.\n *\n * This function uses calendar-aware calculation, which means it properly handles\n * months with different numbers of days (28, 29, 30, or 31).\n *\n * Instant inputs are converted to UTC for calendar calculations.\n * For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param laterDate - The later datetime (Instant or ZonedDateTime)\n * @param earlierDate - The earlier datetime (Instant or ZonedDateTime)\n * @param options - Optional { fractional } to return the precise value\n * @returns The number of months between the dates, truncated toward zero (pass { fractional: true } for the precise value)\n *\n * @example\n * ```ts\n * const later = Temporal.Instant.from('2025-04-20T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInMonths(later, earlier); // 3\n * ```\n *\n * @example\n * ```ts\n * // Works with ZonedDateTime\n * const later = Temporal.ZonedDateTime.from('2025-06-15T15:00:00-05:00[America/New_York]');\n * const earlier = Temporal.ZonedDateTime.from('2025-01-15T15:00:00-05:00[America/New_York]');\n *\n * differenceInMonths(later, earlier); // 5\n * ```\n *\n * @example\n * ```ts\n * // Pass { fractional: true } for partial-unit precision\n * const later = Temporal.Instant.from('2025-02-05T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInMonths(later, earlier); // 0\n * differenceInMonths(later, earlier, { fractional: true }); // ~0.5\n * ```\n */\nexport function differenceInMonths(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: DifferenceOptions\n): number {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n const duration = zoned2.until(zoned1, { largestUnit: 'hours' });\n const precise = duration.total({ unit: 'months', relativeTo: zoned2 });\n return options?.fractional ? precise : Math.trunc(precise);\n}\n"],"mappings":";;;;;AA8CO,SAAS,mBACd,WACA,aACA,SACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAEjD,QAAM,WAAW,OAAO,MAAM,QAAQ,EAAE,aAAa,QAAQ,CAAC;AAC9D,QAAM,UAAU,SAAS,MAAM,EAAE,MAAM,UAAU,YAAY,OAAO,CAAC;AACrE,SAAO,SAAS,aAAa,UAAU,KAAK,MAAM,OAAO;AAC3D;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/isSameSecond.ts"],"sourcesContent":["import type{ Temporal } from '@js-temporal/polyfill';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\n\n/**\n * Returns true if both datetimes fall in the same second.\n * Compares the year, month, day, hour, minute, and second fields directly.\n * Ignores sub-second precision (milliseconds, microseconds, nanoseconds).\n *\n * Instant inputs are converted to UTC. For ZonedDateTime inputs, their\n * timezone is preserved. Convert to a common timezone before calling if\n * you need to compare from a specific perspective.\n *\n * @param date1 - First datetime (Instant or ZonedDateTime)\n * @param date2 - Second datetime (Instant or ZonedDateTime)\n * @returns true if both dates are in the same second, false otherwise\n *\n * @example\n * ```ts\n * // Same timezone, same second\n * const time1 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.000Z[UTC]');\n * const time2 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.999Z[UTC]');\n *\n * isSameSecond(time1, time2); // true\n * ```\n *\n * @example\n * ```ts\n * // Same timezone, different seconds\n * const sec45 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45Z[UTC]');\n * const sec46 = Temporal.ZonedDateTime.from('2025-01-20T14:30:46Z[UTC]');\n *\n * isSameSecond(sec45, sec46); // false\n * ```\n *\n * @example\n * ```ts\n * // Different timezones - compares their local seconds\n * const ny = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123-05:00[America/New_York]');\n * const tokyo = Temporal.ZonedDateTime.from('2025-01-21T04:30:45.987+09:00[Asia/Tokyo]');\n *\n * // Same instant, different local seconds from each person's perspective\n * isSameSecond(ny, tokyo); // false (14:30:45 in NY, 04:30:45 in Tokyo)\n *\n * // Convert to UTC to compare in UTC timezone\n * isSameSecond(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 19:30:45 in UTC)\n *\n * // Convert to NY timezone to compare from NY perspective\n * isSameSecond(ny, tokyo.withTimeZone('America/New_York')); // true (both 14:30:45 in NY)\n * ```\n *\n * @example\n * ```ts\n * // Instant inputs are converted to UTC\n * const instant1 = Temporal.Instant.from('2025-01-20T14:30:45.123Z');\n * const instant2 = Temporal.Instant.from('2025-01-20T14:30:45.999Z');\n *\n * isSameSecond(instant1, instant2); // true (both 14:30:45 in UTC)\n * ```\n */\nexport function isSameSecond(\n date1: Temporal.Instant | Temporal.ZonedDateTime,\n date2: Temporal.Instant | Temporal.ZonedDateTime\n): boolean {\n const zoned1 = normalizeTemporalInput(date1);\n const zoned2 = normalizeTemporalInput(date2);\n\n return (\n zoned1.year === zoned2.year &&\n zoned1.month === zoned2.month &&\n zoned1.day === zoned2.day &&\n zoned1.hour === zoned2.hour &&\n zoned1.minute === zoned2.minute &&\n zoned1.second === zoned2.second\n );\n}\n"],"mappings":";;;;;AA2DO,SAAS,aACd,OACA,OACS;AACT,QAAM,SAAS,uBAAuB,KAAK;AAC3C,QAAM,SAAS,uBAAuB,KAAK;AAE3C,SACE,OAAO,SAAS,OAAO,QACvB,OAAO,UAAU,OAAO,SACxB,OAAO,QAAQ,OAAO,OACtB,OAAO,SAAS,OAAO,QACvB,OAAO,WAAW,OAAO,UACzB,OAAO,WAAW,OAAO;AAE7B;","names":[]}
|
package/dist/chunk-DCCHY45G.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeTemporalInput
|
|
3
|
-
} from "./chunk-NTMT5XGC.js";
|
|
4
|
-
|
|
5
|
-
// src/differenceInYears.ts
|
|
6
|
-
function differenceInYears(laterDate, earlierDate, options) {
|
|
7
|
-
const zoned1 = normalizeTemporalInput(laterDate);
|
|
8
|
-
const zoned2 = normalizeTemporalInput(earlierDate);
|
|
9
|
-
const duration = zoned2.until(zoned1, { largestUnit: "hours" });
|
|
10
|
-
const precise = duration.total({ unit: "years", relativeTo: zoned2 });
|
|
11
|
-
return options?.fractional ? precise : Math.trunc(precise);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export {
|
|
15
|
-
differenceInYears
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=chunk-DCCHY45G.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/differenceInYears.ts"],"sourcesContent":["import { Temporal } from './shared/temporal';\nimport { normalizeTemporalInput } from './shared/normalizeTemporalInput';\nimport type { DifferenceOptions } from './shared/differenceOptions';\n\n/**\n * Returns the number of years between two datetimes.\n * The result is positive if laterDate is after earlierDate, negative if before.\n *\n * This function uses calendar-aware calculation, which means it properly handles\n * leap years (366 days) and regular years (365 days).\n *\n * Instant inputs are converted to UTC for calendar calculations.\n * For ZonedDateTime inputs, their timezone is preserved.\n *\n * @param laterDate - The later datetime (Instant or ZonedDateTime)\n * @param earlierDate - The earlier datetime (Instant or ZonedDateTime)\n * @param options - Optional { fractional } to return the precise value\n * @returns The number of years between the dates, truncated toward zero (pass { fractional: true } for the precise value)\n *\n * @example\n * ```ts\n * const later = Temporal.Instant.from('2028-01-20T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInYears(later, earlier); // 3\n * ```\n *\n * @example\n * ```ts\n * // Works with ZonedDateTime\n * const later = Temporal.ZonedDateTime.from('2030-06-15T15:00:00-05:00[America/New_York]');\n * const earlier = Temporal.ZonedDateTime.from('2025-06-15T15:00:00-05:00[America/New_York]');\n *\n * differenceInYears(later, earlier); // 5\n * ```\n *\n * @example\n * ```ts\n * // Pass { fractional: true } for partial-unit precision\n * const later = Temporal.Instant.from('2025-07-20T12:00:00Z');\n * const earlier = Temporal.Instant.from('2025-01-20T12:00:00Z');\n *\n * differenceInYears(later, earlier); // 0\n * differenceInYears(later, earlier, { fractional: true }); // ~0.5\n * ```\n */\nexport function differenceInYears(\n laterDate: Temporal.Instant | Temporal.ZonedDateTime,\n earlierDate: Temporal.Instant | Temporal.ZonedDateTime,\n options?: DifferenceOptions\n): number {\n const zoned1 = normalizeTemporalInput(laterDate);\n const zoned2 = normalizeTemporalInput(earlierDate);\n\n const duration = zoned2.until(zoned1, { largestUnit: 'hours' });\n const precise = duration.total({ unit: 'years', relativeTo: zoned2 });\n return options?.fractional ? precise : Math.trunc(precise);\n}\n"],"mappings":";;;;;AA8CO,SAAS,kBACd,WACA,aACA,SACQ;AACR,QAAM,SAAS,uBAAuB,SAAS;AAC/C,QAAM,SAAS,uBAAuB,WAAW;AAEjD,QAAM,WAAW,OAAO,MAAM,QAAQ,EAAE,aAAa,QAAQ,CAAC;AAC9D,QAAM,UAAU,SAAS,MAAM,EAAE,MAAM,SAAS,YAAY,OAAO,CAAC;AACpE,SAAO,SAAS,aAAa,UAAU,KAAK,MAAM,OAAO;AAC3D;","names":[]}
|
package/dist/chunk-DCFRBZBY.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeTemporalInput
|
|
3
|
-
} from "./chunk-NTMT5XGC.js";
|
|
4
|
-
import {
|
|
5
|
-
Temporal
|
|
6
|
-
} from "./chunk-R7ZCA6AQ.js";
|
|
7
|
-
|
|
8
|
-
// src/eachYearOfInterval.ts
|
|
9
|
-
function eachYearOfInterval(interval) {
|
|
10
|
-
const startZoned = normalizeTemporalInput(interval.start);
|
|
11
|
-
const endZoned = normalizeTemporalInput(interval.end);
|
|
12
|
-
const timezone = startZoned.timeZoneId;
|
|
13
|
-
const startYear = startZoned.year;
|
|
14
|
-
const endInTimezone = endZoned.withTimeZone(timezone);
|
|
15
|
-
const endYear = endInTimezone.year;
|
|
16
|
-
const years = [];
|
|
17
|
-
for (let year = startYear; year <= endYear; year++) {
|
|
18
|
-
const firstOfYear = Temporal.PlainDate.from({ year, month: 1, day: 1 });
|
|
19
|
-
years.push(
|
|
20
|
-
firstOfYear.toZonedDateTime({
|
|
21
|
-
timeZone: timezone,
|
|
22
|
-
plainTime: new Temporal.PlainTime()
|
|
23
|
-
})
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
return years;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export {
|
|
30
|
-
eachYearOfInterval
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=chunk-DCFRBZBY.js.map
|