@northguild/gmt 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +462 -22
- package/dist/calendar/calculate/bucketRange.d.ts +3 -3
- package/dist/calendar/calculate/bucketRange.js +6 -6
- package/dist/calendar/calculate/floorToZone.d.ts +5 -3
- package/dist/calendar/calculate/floorToZone.js +6 -5
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +21 -8
- package/dist/calendar/calculate/getFiscalPeriod.js +9 -8
- package/dist/calendar/calculate/getIsoWeekDate.d.ts +10 -5
- package/dist/calendar/calculate/getIsoWeekDate.js +1 -5
- package/dist/calendar/calculate/getOrdinalDate.d.ts +10 -3
- package/dist/calendar/calculate/getOrdinalDate.js +2 -3
- package/dist/calendar/calculate/getQuarter.d.ts +21 -9
- package/dist/calendar/calculate/getQuarter.js +8 -12
- package/dist/calendar/hours/addOperatingTime.d.ts +53 -0
- package/dist/calendar/hours/addOperatingTime.js +59 -0
- package/dist/calendar/hours/index.d.ts +7 -0
- package/dist/calendar/hours/index.js +7 -0
- package/dist/calendar/hours/isOpenAt.d.ts +39 -0
- package/dist/calendar/hours/isOpenAt.js +44 -0
- package/dist/calendar/hours/nextCloseAt.d.ts +49 -0
- package/dist/calendar/hours/nextCloseAt.js +51 -0
- package/dist/calendar/hours/nextOpenAt.d.ts +45 -0
- package/dist/calendar/hours/nextOpenAt.js +47 -0
- package/dist/calendar/hours/operatingIntervals.d.ts +43 -0
- package/dist/calendar/hours/operatingIntervals.js +52 -0
- package/dist/calendar/hours/operatingTimeBetween.d.ts +40 -0
- package/dist/calendar/hours/operatingTimeBetween.js +49 -0
- package/dist/calendar/hours/recurringWindows.d.ts +61 -0
- package/dist/calendar/hours/recurringWindows.js +80 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +1 -0
- package/dist/duration/calculate/durationAs.d.ts +13 -8
- package/dist/duration/calculate/durationAs.js +4 -8
- package/dist/duration/compare/compareDurations.d.ts +12 -6
- package/dist/duration/compare/compareDurations.js +3 -6
- package/dist/duration/format/formatDuration.d.ts +16 -4
- package/dist/duration/format/formatDuration.js +4 -5
- package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
- package/dist/duration/normalize/normalizeDuration.js +6 -15
- package/dist/duration/parse/parseDuration.d.ts +21 -3
- package/dist/duration/parse/parseDuration.js +1 -3
- package/dist/instant/convert/classifyLocal.d.ts +1 -1
- package/dist/instant/convert/classifyLocal.js +1 -1
- package/dist/instant/convert/fromOffsetInstant.d.ts +3 -1
- package/dist/instant/convert/fromOffsetInstant.js +3 -1
- package/dist/instant/convert/resolveLocal.d.ts +12 -7
- package/dist/instant/convert/resolveLocal.js +6 -10
- package/dist/instant/convert/toOffsetInstant.d.ts +22 -9
- package/dist/instant/convert/toOffsetInstant.js +10 -3
- package/dist/intermodal/calculate/billingTimeline.d.ts +31 -11
- package/dist/intermodal/calculate/billingTimeline.js +2 -2
- package/dist/intermodal/calculate/chargeableDays.d.ts +13 -11
- package/dist/intermodal/calculate/chargeableDays.js +4 -9
- package/dist/intermodal/calculate/demurrageClock.d.ts +16 -7
- package/dist/intermodal/calculate/demurrageClock.js +7 -7
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +5 -4
- package/dist/intermodal/calculate/freeTimeExpiry.js +6 -6
- package/dist/internal/businessCalendar.d.ts +5 -0
- package/dist/internal/businessCalendar.js +5 -1
- package/dist/internal/cycleFieldValue.d.ts +6 -4
- package/dist/internal/cycleFieldValue.js +6 -4
- package/dist/internal/daylightTime.d.ts +33 -0
- package/dist/internal/daylightTime.js +164 -0
- package/dist/internal/durationUntilString.js +4 -3
- package/dist/internal/englishCalendarNames.js +1 -2
- package/dist/internal/epochNanoseconds.d.ts +2 -0
- package/dist/internal/epochNanoseconds.js +2 -0
- package/dist/internal/exactDuration.d.ts +37 -0
- package/dist/internal/exactDuration.js +64 -0
- package/dist/internal/exactMoment.d.ts +72 -0
- package/dist/internal/exactMoment.js +114 -0
- package/dist/internal/fiscalCalendar.d.ts +4 -3
- package/dist/internal/fiscalCalendar.js +4 -3
- package/dist/internal/formatCalendarDays.d.ts +2 -2
- package/dist/internal/formatRelativeDuration.d.ts +21 -1
- package/dist/internal/formatRelativeDuration.js +47 -7
- package/dist/internal/index.d.ts +9 -4
- package/dist/internal/index.js +9 -4
- package/dist/internal/instantFormatOptions.js +2 -1
- package/dist/internal/instantNanoseconds.d.ts +75 -9
- package/dist/internal/instantNanoseconds.js +192 -11
- package/dist/internal/joinDateTimeConnector.d.ts +1 -1
- package/dist/internal/monthGridWeekRow.d.ts +2 -1
- package/dist/internal/monthGridWeekRow.js +2 -1
- package/dist/internal/normalizeTimeZone.d.ts +2 -2
- package/dist/internal/normalizeTimeZone.js +2 -2
- package/dist/internal/operatingSchedule.d.ts +129 -0
- package/dist/internal/operatingSchedule.js +668 -0
- package/dist/internal/optionOrDefault.d.ts +18 -0
- package/dist/internal/optionOrDefault.js +20 -0
- package/dist/internal/patternToken.d.ts +2 -2
- package/dist/internal/patternToken.js +28 -13
- package/dist/internal/plainDateUntil.js +10 -6
- package/dist/internal/punctuality.d.ts +38 -0
- package/dist/internal/punctuality.js +59 -0
- package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
- package/dist/internal/readDateTimeFormatOptions.js +93 -0
- package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
- package/dist/internal/resolveDurationRelativeTo.js +11 -1
- package/dist/internal/resolveRelativeRounding.d.ts +17 -6
- package/dist/internal/resolveRelativeRounding.js +27 -7
- package/dist/internal/resolveRelativeUnit.d.ts +30 -0
- package/dist/internal/resolveRelativeUnit.js +40 -0
- package/dist/internal/splitStep.d.ts +24 -1
- package/dist/internal/splitStep.js +34 -2
- package/dist/internal/startOrEndOfZoned.js +2 -3
- package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
- package/dist/internal/temporalCompat/capabilities.js +35 -3
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/repros.d.ts +1 -1
- package/dist/internal/temporalCompat/repros.js +157 -0
- package/dist/internal/timestampEvents.d.ts +32 -0
- package/dist/internal/timestampEvents.js +76 -0
- package/dist/internal/utcZonedDateTime.d.ts +5 -2
- package/dist/internal/utcZonedDateTime.js +8 -5
- package/dist/internal/zonedBucket.js +8 -6
- package/dist/internal/zonedLocalDates.js +1 -1
- package/dist/internal/zonedTransitionSearch.d.ts +27 -0
- package/dist/internal/zonedTransitionSearch.js +218 -0
- package/dist/internal/zonedWallClock.d.ts +21 -7
- package/dist/internal/zonedWallClock.js +87 -18
- package/dist/internal/zonedWallClockOperations.d.ts +26 -13
- package/dist/internal/zonedWallClockOperations.js +87 -34
- package/dist/interval/validate/isValidInterval.d.ts +6 -3
- package/dist/interval/validate/isValidInterval.js +6 -3
- package/dist/plain/calculate/addDate.d.ts +11 -8
- package/dist/plain/calculate/addDate.js +5 -8
- package/dist/plain/calculate/addDateTime.d.ts +7 -4
- package/dist/plain/calculate/addDateTime.js +1 -4
- package/dist/plain/calculate/cycleDate.d.ts +16 -7
- package/dist/plain/calculate/cycleDate.js +3 -7
- package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
- package/dist/plain/calculate/cycleDateTime.js +1 -4
- package/dist/plain/calculate/cycleTime.d.ts +10 -5
- package/dist/plain/calculate/cycleTime.js +3 -5
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDate.js +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.js +1 -1
- package/dist/plain/calculate/diffDateTime.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.js +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
- package/dist/plain/calculate/diffTime.d.ts +1 -1
- package/dist/plain/calculate/diffTime.js +1 -1
- package/dist/plain/calculate/endOfDate.d.ts +8 -3
- package/dist/plain/calculate/endOfDate.js +1 -3
- package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
- package/dist/plain/calculate/endOfDateTime.js +1 -5
- package/dist/plain/calculate/endOfTime.d.ts +8 -2
- package/dist/plain/calculate/endOfTime.js +1 -2
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
- package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
- package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
- package/dist/plain/calculate/getWeekOfMonth.js +7 -4
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
- package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
- package/dist/plain/calculate/getWeeksInMonth.js +5 -2
- package/dist/plain/calculate/nextWeekday.d.ts +7 -3
- package/dist/plain/calculate/nextWeekday.js +1 -3
- package/dist/plain/calculate/previousWeekday.d.ts +7 -3
- package/dist/plain/calculate/previousWeekday.js +1 -3
- package/dist/plain/calculate/roundDate.d.ts +20 -7
- package/dist/plain/calculate/roundDate.js +3 -10
- package/dist/plain/calculate/roundDateTime.d.ts +22 -8
- package/dist/plain/calculate/roundDateTime.js +3 -11
- package/dist/plain/calculate/roundTime.d.ts +20 -4
- package/dist/plain/calculate/roundTime.js +3 -7
- package/dist/plain/calculate/setDate.d.ts +7 -5
- package/dist/plain/calculate/setDate.js +1 -5
- package/dist/plain/calculate/setDateTime.d.ts +8 -5
- package/dist/plain/calculate/setDateTime.js +1 -5
- package/dist/plain/calculate/setTime.d.ts +10 -6
- package/dist/plain/calculate/setTime.js +4 -6
- package/dist/plain/calculate/startOfDate.d.ts +8 -2
- package/dist/plain/calculate/startOfDate.js +1 -2
- package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
- package/dist/plain/calculate/startOfDateTime.js +1 -2
- package/dist/plain/calculate/startOfTime.d.ts +8 -1
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractDate.d.ts +7 -4
- package/dist/plain/calculate/subtractDate.js +1 -4
- package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
- package/dist/plain/calculate/subtractDateTime.js +1 -4
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
- package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
- package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
- package/dist/plain/compare/areDatesEqualBy.js +8 -6
- package/dist/plain/compare/isBetweenDate.d.ts +13 -2
- package/dist/plain/compare/isBetweenDate.js +4 -4
- package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenDateTime.js +4 -4
- package/dist/plain/compare/isBetweenTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenTime.js +4 -4
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +1 -1
- package/dist/plain/compare/isThisUnit.js +1 -1
- package/dist/plain/format/formatCalendar.d.ts +21 -14
- package/dist/plain/format/formatCalendar.js +21 -16
- package/dist/plain/format/formatDate.js +5 -3
- package/dist/plain/format/formatDateRange.js +4 -2
- package/dist/plain/format/formatDateTime.js +4 -2
- package/dist/plain/format/formatDateTimeRange.js +4 -2
- package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
- package/dist/plain/format/formatDateTimeToParts.js +10 -6
- package/dist/plain/format/formatDateToParts.d.ts +13 -2
- package/dist/plain/format/formatDateToParts.js +8 -4
- package/dist/plain/format/formatRelativeDate.d.ts +16 -3
- package/dist/plain/format/formatRelativeDate.js +26 -15
- package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeDateTime.js +8 -5
- package/dist/plain/format/formatRelativeTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeTime.js +21 -13
- package/dist/plain/format/formatTime.js +4 -2
- package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
- package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDate.js +1 -3
- package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
- package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
- package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDate.js +2 -0
- package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
- package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtTime.js +2 -0
- package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
- package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
- package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
- package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
- package/dist/plain/map/mapDatesInRange.d.ts +8 -4
- package/dist/plain/map/mapDatesInRange.js +1 -4
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseDateTimeWithPattern.js +10 -7
- package/dist/plain/parse/parseDateWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseDateWithPattern.js +10 -7
- package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseTimeWithPattern.js +10 -7
- package/dist/plain/parse/parseUnitFromDate.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDate.js +3 -3
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDateTime.js +3 -3
- package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDate.js +2 -6
- package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
- package/dist/plain/validate/isValidDateRange.d.ts +19 -4
- package/dist/plain/validate/isValidDateRange.js +1 -4
- package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidDateTimeRange.js +2 -5
- package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidTimeRange.js +2 -5
- package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
- package/dist/precision/convert/fromExcelSerial.js +4 -5
- package/dist/precision/convert/fromNanoseconds.d.ts +1 -1
- package/dist/precision/convert/fromNanoseconds.js +1 -1
- package/dist/precision/convert/toExcelSerial.d.ts +9 -3
- package/dist/precision/convert/toExcelSerial.js +3 -4
- package/dist/precision/convert/toNanoseconds.d.ts +11 -6
- package/dist/precision/convert/toNanoseconds.js +11 -6
- package/dist/precision/validate/isValidInstant.d.ts +12 -3
- package/dist/precision/validate/isValidInstant.js +12 -3
- package/dist/span/calculate/spanMs.d.ts +10 -4
- package/dist/span/calculate/spanMs.js +10 -4
- package/dist/span/calculate/spanNs.d.ts +10 -4
- package/dist/span/calculate/spanNs.js +10 -4
- package/dist/span/validate/isValidSpan.d.ts +8 -3
- package/dist/span/validate/isValidSpan.js +8 -3
- package/dist/transport/calculate/bestAvailable.d.ts +47 -0
- package/dist/transport/calculate/bestAvailable.js +76 -0
- package/dist/transport/calculate/crossingTime.d.ts +58 -0
- package/dist/transport/calculate/crossingTime.js +76 -0
- package/dist/transport/calculate/cutoffAt.d.ts +90 -0
- package/dist/transport/calculate/cutoffAt.js +209 -0
- package/dist/transport/calculate/cutoffSchedule.d.ts +70 -0
- package/dist/transport/calculate/cutoffSchedule.js +71 -0
- package/dist/transport/calculate/dwellTime.d.ts +16 -7
- package/dist/transport/calculate/dwellTime.js +12 -8
- package/dist/transport/calculate/estimateDrift.d.ts +65 -0
- package/dist/transport/calculate/estimateDrift.js +75 -0
- package/dist/transport/calculate/index.d.ts +8 -0
- package/dist/transport/calculate/index.js +8 -0
- package/dist/transport/calculate/nextDeparture.d.ts +78 -0
- package/dist/transport/calculate/nextDeparture.js +131 -0
- package/dist/transport/calculate/punctualityRate.d.ts +42 -0
- package/dist/transport/calculate/punctualityRate.js +59 -0
- package/dist/transport/calculate/scheduleDelivery.d.ts +150 -0
- package/dist/transport/calculate/scheduleDelivery.js +300 -0
- package/dist/transport/calculate/transitTime.d.ts +21 -3
- package/dist/transport/calculate/transitTime.js +29 -46
- package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
- package/dist/transport/compare/classifyPunctuality.js +64 -0
- package/dist/transport/compare/index.d.ts +4 -0
- package/dist/transport/compare/index.js +4 -0
- package/dist/transport/compare/isPastCutoff.d.ts +33 -0
- package/dist/transport/compare/isPastCutoff.js +48 -0
- package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
- package/dist/transport/compare/scheduleDeviation.js +53 -0
- package/dist/transport/compare/timeToCutoff.d.ts +31 -0
- package/dist/transport/compare/timeToCutoff.js +47 -0
- package/dist/transport/convert/etaAtZone.d.ts +7 -0
- package/dist/transport/convert/etaAtZone.js +9 -4
- package/dist/transport/index.d.ts +1 -0
- package/dist/transport/index.js +1 -0
- package/dist/types/business-calendar.d.ts +19 -14
- package/dist/types/calendar-options.d.ts +15 -3
- package/dist/types/date-cycle-field.d.ts +5 -0
- package/dist/types/date-duration-unit.d.ts +4 -0
- package/dist/types/date-time-cycle-field.d.ts +4 -0
- package/dist/types/date-time-duration-units.d.ts +4 -0
- package/dist/types/date-time-unit.d.ts +4 -0
- package/dist/types/date-unit.d.ts +4 -0
- package/dist/types/disambiguation.d.ts +8 -0
- package/dist/types/duration-relative-to.d.ts +8 -0
- package/dist/types/duration-string-options.d.ts +28 -0
- package/dist/types/fiscal-calendar.d.ts +1 -1
- package/dist/types/fractional-digit.d.ts +5 -0
- package/dist/types/free-time-options.d.ts +21 -11
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +2 -1
- package/dist/types/interval.d.ts +8 -1
- package/dist/types/offset.d.ts +9 -0
- package/dist/types/operating-schedule.d.ts +71 -0
- package/dist/types/overflow.d.ts +6 -0
- package/dist/types/relative-rounding-method.d.ts +6 -0
- package/dist/types/relative-time-options.d.ts +33 -5
- package/dist/types/rounding-options.d.ts +27 -0
- package/dist/types/time-cycle-field.d.ts +4 -0
- package/dist/types/time-duration-unit.d.ts +4 -0
- package/dist/types/time-unit.d.ts +4 -0
- package/dist/types/transport-timestamps.d.ts +54 -0
- package/dist/types/transport-timestamps.js +0 -0
- package/dist/unix/calculate/addUnix.d.ts +19 -5
- package/dist/unix/calculate/addUnix.js +1 -5
- package/dist/unix/calculate/diffUnix.d.ts +13 -3
- package/dist/unix/calculate/diffUnix.js +1 -3
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +13 -3
- package/dist/unix/calculate/diffUnixAsDuration.js +1 -3
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +13 -3
- package/dist/unix/calculate/endOfQuarterForUnix.js +1 -3
- package/dist/unix/calculate/endOfUnix.d.ts +20 -4
- package/dist/unix/calculate/endOfUnix.js +1 -4
- package/dist/unix/calculate/isBetweenUnix.d.ts +26 -4
- package/dist/unix/calculate/isBetweenUnix.js +4 -6
- package/dist/unix/calculate/roundUnix.d.ts +31 -3
- package/dist/unix/calculate/roundUnix.js +3 -6
- package/dist/unix/calculate/setUnix.d.ts +35 -9
- package/dist/unix/calculate/setUnix.js +4 -13
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +13 -3
- package/dist/unix/calculate/startOfQuarterForUnix.js +1 -3
- package/dist/unix/calculate/startOfUnix.d.ts +20 -4
- package/dist/unix/calculate/startOfUnix.js +1 -4
- package/dist/unix/calculate/subtractUnix.d.ts +19 -5
- package/dist/unix/calculate/subtractUnix.js +1 -5
- package/dist/unix/compare/areUnixEqual.d.ts +7 -1
- package/dist/unix/compare/areUnixEqual.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +24 -7
- package/dist/unix/compare/areUnixEqualBy.js +13 -9
- package/dist/unix/compare/isAfterUnix.d.ts +7 -1
- package/dist/unix/compare/isAfterUnix.js +1 -1
- package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
- package/dist/unix/compare/isBeforeUnix.js +1 -1
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainDate.js +2 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.js +2 -4
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainTime.js +2 -4
- package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
- package/dist/unix/convert/convertUnixToUtc.js +3 -4
- package/dist/unix/convert/convertUnixToZoned.d.ts +10 -5
- package/dist/unix/convert/convertUnixToZoned.js +4 -5
- package/dist/unix/format/formatCalendarUnix.d.ts +27 -19
- package/dist/unix/format/formatCalendarUnix.js +4 -5
- package/dist/unix/format/formatRelativeUnix.d.ts +54 -5
- package/dist/unix/format/formatRelativeUnix.js +3 -5
- package/dist/unix/format/formatUnix.d.ts +24 -6
- package/dist/unix/format/formatUnix.js +8 -7
- package/dist/unix/get/getUnixNow.d.ts +8 -3
- package/dist/unix/get/getUnixNow.js +1 -3
- package/dist/unix/interval/intervalCountUnix.d.ts +14 -5
- package/dist/unix/interval/intervalCountUnix.js +2 -5
- package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
- package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
- package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +33 -5
- package/dist/unix/interval/intervalFromDurationUnix.js +6 -5
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalLengthUnix.d.ts +16 -6
- package/dist/unix/interval/intervalLengthUnix.js +4 -6
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +13 -3
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +1 -3
- package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
- package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
- package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
- package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +42 -11
- package/dist/unix/interval/splitIntervalByUnitUnix.js +21 -16
- package/dist/unix/parse/parseDateFromUnix.d.ts +13 -2
- package/dist/unix/parse/parseDateFromUnix.js +1 -2
- package/dist/unix/parse/parseDayFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseDayFromUnix.js +2 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +13 -1
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +1 -1
- package/dist/unix/parse/parseHourFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseHourFromUnix.js +2 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMonthFromUnix.js +2 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseSecondFromUnix.js +2 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +13 -2
- package/dist/unix/parse/parseTimeFromUnix.js +1 -2
- package/dist/unix/parse/parseUnitFromUnix.d.ts +22 -3
- package/dist/unix/parse/parseUnitFromUnix.js +2 -3
- package/dist/unix/parse/parseWeekFromUnix.d.ts +23 -7
- package/dist/unix/parse/parseWeekFromUnix.js +3 -7
- package/dist/unix/parse/parseYearFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseYearFromUnix.js +2 -2
- package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
- package/dist/unix/validate/isValidUnixRange.js +1 -4
- package/dist/utc/calculate/addUtc.d.ts +7 -4
- package/dist/utc/calculate/addUtc.js +1 -4
- package/dist/utc/calculate/diffUtc.d.ts +1 -1
- package/dist/utc/calculate/diffUtc.js +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +16 -3
- package/dist/utc/calculate/endOfUtc.js +2 -3
- package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
- package/dist/utc/calculate/isBetweenUtc.js +4 -4
- package/dist/utc/calculate/roundUtc.d.ts +26 -9
- package/dist/utc/calculate/roundUtc.js +3 -12
- package/dist/utc/calculate/setUtc.d.ts +7 -4
- package/dist/utc/calculate/setUtc.js +1 -4
- package/dist/utc/calculate/startOfUtc.d.ts +15 -2
- package/dist/utc/calculate/startOfUtc.js +1 -2
- package/dist/utc/calculate/subtractUtc.d.ts +7 -4
- package/dist/utc/calculate/subtractUtc.js +1 -4
- package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
- package/dist/utc/compare/areUtcEqualBy.js +2 -3
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainDate.js +5 -6
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainDateTime.js +5 -6
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainTime.js +5 -6
- package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
- package/dist/utc/convert/convertUtcToUnix.js +3 -4
- package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
- package/dist/utc/convert/convertUtcToZoned.js +1 -1
- package/dist/utc/format/formatCalendarUtc.d.ts +19 -8
- package/dist/utc/format/formatCalendarUtc.js +8 -6
- package/dist/utc/format/formatHttp.d.ts +1 -1
- package/dist/utc/format/formatHttp.js +1 -1
- package/dist/utc/format/formatRelativeUtc.d.ts +30 -10
- package/dist/utc/format/formatRelativeUtc.js +9 -11
- package/dist/utc/format/formatUtc.d.ts +17 -15
- package/dist/utc/format/formatUtc.js +8 -8
- package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
- package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
- package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
- package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
- package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
- package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
- package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
- package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
- package/dist/utc/parse/parseDateFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDateFromUtc.js +1 -3
- package/dist/utc/parse/parseDayFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDayFromUtc.js +1 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -6
- package/dist/utc/parse/parseHourFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseHourFromUtc.js +1 -3
- package/dist/utc/parse/parseHttp.d.ts +1 -1
- package/dist/utc/parse/parseHttp.js +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -3
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMillisecondFromUtc.js +1 -3
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMinuteFromUtc.js +1 -3
- package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMonthFromUtc.js +1 -3
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseNanosecondFromUtc.js +1 -3
- package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseSecondFromUtc.js +1 -3
- package/dist/utc/parse/parseTimeFromUtc.d.ts +8 -3
- package/dist/utc/parse/parseTimeFromUtc.js +5 -6
- package/dist/utc/parse/parseUnitFromUtc.d.ts +17 -5
- package/dist/utc/parse/parseUnitFromUtc.js +6 -8
- package/dist/utc/parse/parseWeekFromUtc.d.ts +18 -10
- package/dist/utc/parse/parseWeekFromUtc.js +7 -13
- package/dist/utc/parse/parseYearFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseYearFromUtc.js +1 -3
- package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
- package/dist/utc/validate/isValidUtcRange.js +2 -5
- package/dist/zoned/calculate/addZoned.d.ts +20 -10
- package/dist/zoned/calculate/addZoned.js +6 -13
- package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
- package/dist/zoned/calculate/cycleZoned.js +1 -8
- package/dist/zoned/calculate/diffZoned.d.ts +1 -1
- package/dist/zoned/calculate/diffZoned.js +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
- package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
- package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
- package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
- package/dist/zoned/calculate/roundZoned.d.ts +21 -4
- package/dist/zoned/calculate/roundZoned.js +3 -7
- package/dist/zoned/calculate/setZoned.d.ts +25 -8
- package/dist/zoned/calculate/setZoned.js +4 -12
- package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
- package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
- package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
- package/dist/zoned/calculate/startOfZoned.js +1 -3
- package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
- package/dist/zoned/calculate/subtractZoned.js +6 -13
- package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
- package/dist/zoned/compare/areZonedEqualBy.js +7 -5
- package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
- package/dist/zoned/compare/isBetweenZoned.js +4 -3
- package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
- package/dist/zoned/compare/isInDaylightSaving.js +40 -44
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +18 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -11
- package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
- package/dist/zoned/convert/convertZonedToUnix.js +2 -4
- package/dist/zoned/convert/convertZonedToZoned.d.ts +1 -1
- package/dist/zoned/convert/convertZonedToZoned.js +1 -1
- package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
- package/dist/zoned/format/formatCalendarZoned.js +13 -9
- package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
- package/dist/zoned/format/formatRelativeZoned.js +7 -4
- package/dist/zoned/format/formatRfc2822.d.ts +2 -2
- package/dist/zoned/format/formatRfc2822.js +2 -2
- package/dist/zoned/format/formatRfc3339.d.ts +2 -3
- package/dist/zoned/format/formatRfc3339.js +2 -3
- package/dist/zoned/format/formatTimeZoneName.d.ts +12 -3
- package/dist/zoned/format/formatTimeZoneName.js +5 -4
- package/dist/zoned/format/formatZonedDateTime.js +2 -1
- package/dist/zoned/format/formatZonedRange.js +2 -1
- package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
- package/dist/zoned/format/formatZonedToParts.js +8 -5
- package/dist/zoned/get/getDstTransitions.d.ts +9 -10
- package/dist/zoned/get/getDstTransitions.js +12 -3
- package/dist/zoned/get/getTimeZoneOffset.d.ts +4 -1
- package/dist/zoned/get/getTimeZoneOffset.js +6 -3
- package/dist/zoned/get/getZonedNow.d.ts +13 -1
- package/dist/zoned/get/getZonedNow.js +12 -3
- package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
- package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
- package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
- package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
- package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
- package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
- package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
- package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +9 -3
- package/dist/zoned/parse/parseUnitFromZoned.js +1 -3
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
- package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +42 -11
- package/dist/zoned/validate/hasDaylightSaving.js +47 -31
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
- package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
- package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
- package/dist/zoned/validate/isValidZonedRange.js +1 -4
- package/package.json +18 -5
- package/skills/gmt-arithmetic/SKILL.md +1 -1
- package/skills/gmt-basics/SKILL.md +10 -1
- package/skills/gmt-integration/SKILL.md +10 -5
- package/skills/gmt-timezone/SKILL.md +150 -21
- package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
- package/dist/internal/resolveReadingTimeZone.js +0 -18
- package/dist/types/duration-unit.d.ts +0 -5
- /package/dist/types/{duration-unit.js → operating-schedule.js} +0 -0
|
@@ -24,7 +24,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
24
24
|
* @param dateTime1 ISO PlainDateTime string for the start
|
|
25
25
|
* @param dateTime2 ISO PlainDateTime string for the end
|
|
26
26
|
* @param unit DateTimeDurationUnit to use as the duration's largestUnit
|
|
27
|
-
* @param options optional:
|
|
27
|
+
* @param options optional: how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
|
|
28
28
|
* @returns ISO 8601 duration string, or "" on invalid input
|
|
29
29
|
*
|
|
30
30
|
* @example diffDateTimeAsDuration("2024-03-10T00:00:00", "2024-03-11T02:00:00", "days") // "P1DT2H"
|
|
@@ -28,7 +28,7 @@ import type { RoundingOptions, TimeDurationUnit } from "../../types/index.js";
|
|
|
28
28
|
* @param time1 ISO PlainTime string for the start
|
|
29
29
|
* @param time2 ISO PlainTime string for the end
|
|
30
30
|
* @param units TimeDurationUnit | TimeDurationUnit[] to measure the difference
|
|
31
|
-
* @param options optional:
|
|
31
|
+
* @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
|
|
32
32
|
* @returns numeric difference in the requested unit, or null on invalid input
|
|
33
33
|
*
|
|
34
34
|
* @example diffTime("12:00:00", "14:30:00", "hours") // 2
|
|
@@ -33,7 +33,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
33
33
|
* @param time1 ISO PlainTime string for the start
|
|
34
34
|
* @param time2 ISO PlainTime string for the end
|
|
35
35
|
* @param units TimeDurationUnit | TimeDurationUnit[] to measure the difference
|
|
36
|
-
* @param options optional:
|
|
36
|
+
* @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
|
|
37
37
|
* @returns numeric difference in the requested unit, or null on invalid input
|
|
38
38
|
*
|
|
39
39
|
* @example diffTime("12:00:00", "14:30:00", "hours") // 2
|
|
@@ -2,16 +2,14 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
2
2
|
/**
|
|
3
3
|
* Return the end of the specified date `unit` for a given ISO 8601 date string.
|
|
4
4
|
*
|
|
5
|
-
* - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
|
|
6
5
|
* - The end is computed forward from `value`, so it is returned even when the unit began before
|
|
7
6
|
* the first representable date (`-271821-04-19`).
|
|
8
7
|
* - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
|
|
9
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
|
|
10
8
|
* - Returns "" for invalid inputs.
|
|
11
9
|
*
|
|
12
10
|
* @param value ISO 8601 date string
|
|
13
11
|
* @param unit date unit, singular or plural, to specify the unit for the end
|
|
14
|
-
* @param optionsArg
|
|
12
|
+
* @param optionsArg How the week is defined
|
|
15
13
|
* @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
16
14
|
*
|
|
17
15
|
* @example endOfDate("2024-02-29", "month") // "2024-02-29"
|
|
@@ -21,5 +19,12 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
21
19
|
* @example endOfDate("invalid-date", "month") // ""
|
|
22
20
|
*/
|
|
23
21
|
export declare function endOfDate(value: string, unit: Temporal.SmallestUnit<Temporal.DateUnit>, optionsArg?: {
|
|
22
|
+
/**
|
|
23
|
+
* The first day of the week, which sets where a `"week"` unit starts. `"monday"` is the ISO
|
|
24
|
+
* 8601 week, Monday to Sunday; `"sunday"` runs Sunday to Saturday. Any other value returns
|
|
25
|
+
* `""`, whatever the unit.
|
|
26
|
+
*
|
|
27
|
+
* @defaultValue `"monday"`
|
|
28
|
+
*/
|
|
24
29
|
weekStartsOn?: "monday" | "sunday";
|
|
25
30
|
}): string;
|
|
@@ -8,16 +8,14 @@ const supported = ["year", "month", "week", "day"];
|
|
|
8
8
|
/**
|
|
9
9
|
* Return the end of the specified date `unit` for a given ISO 8601 date string.
|
|
10
10
|
*
|
|
11
|
-
* - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
|
|
12
11
|
* - The end is computed forward from `value`, so it is returned even when the unit began before
|
|
13
12
|
* the first representable date (`-271821-04-19`).
|
|
14
13
|
* - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
|
|
15
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
|
|
16
14
|
* - Returns "" for invalid inputs.
|
|
17
15
|
*
|
|
18
16
|
* @param value ISO 8601 date string
|
|
19
17
|
* @param unit date unit, singular or plural, to specify the unit for the end
|
|
20
|
-
* @param optionsArg
|
|
18
|
+
* @param optionsArg How the week is defined
|
|
21
19
|
* @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
22
20
|
*
|
|
23
21
|
* @example endOfDate("2024-02-29", "month") // "2024-02-29"
|
|
@@ -3,13 +3,9 @@ import type { FractionalDigit } from "../../types/index.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Return the end of the specified date-time `unit` for a given ISO 8601 datetime string.
|
|
5
5
|
*
|
|
6
|
-
* - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
|
|
7
6
|
* - The end is computed forward from `value`, so it is returned even when the unit began before
|
|
8
7
|
* the first representable date (`-271821-04-19`).
|
|
9
|
-
* - The end is written at nanosecond precision by default, so the string names the end itself; an
|
|
10
|
-
* explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
|
|
11
8
|
* - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
|
|
12
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
|
|
13
9
|
* - Returns "" for invalid inputs.
|
|
14
10
|
* - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
|
|
15
11
|
* `second` and coarser, 3 for `millisecond`, 6 for `microsecond` — which wrote a moment earlier
|
|
@@ -17,7 +13,7 @@ import type { FractionalDigit } from "../../types/index.js";
|
|
|
17
13
|
*
|
|
18
14
|
* @param value ISO 8601 datetime string
|
|
19
15
|
* @param unit date or time unit, singular or plural, to specify the unit for the end
|
|
20
|
-
* @param optionsArg
|
|
16
|
+
* @param optionsArg How the week is defined and how the result is written
|
|
21
17
|
* @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
22
18
|
*
|
|
23
19
|
* @example endOfDateTime("2024-02-29T12:34:56", "month") // "2024-02-29T23:59:59.999999999"
|
|
@@ -29,6 +25,20 @@ import type { FractionalDigit } from "../../types/index.js";
|
|
|
29
25
|
* @example endOfDateTime("invalid-date", "month") // ""
|
|
30
26
|
*/
|
|
31
27
|
export declare function endOfDateTime(value: string, unit: Temporal.SmallestUnit<Temporal.DateTimeUnit>, optionsArg?: {
|
|
28
|
+
/**
|
|
29
|
+
* The first day of the week, which sets where a `"week"` unit starts. `"monday"` is the ISO
|
|
30
|
+
* 8601 week, Monday to Sunday; `"sunday"` runs Sunday to Saturday. Any other value returns
|
|
31
|
+
* `""`, whatever the unit.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `"monday"`
|
|
34
|
+
*/
|
|
32
35
|
weekStartsOn?: "monday" | "sunday";
|
|
36
|
+
/**
|
|
37
|
+
* The number of fractional-second digits the result is written with, `0` to `9`, or `"auto"` to
|
|
38
|
+
* drop trailing zeros. Fewer than 9 digits truncate the string, as Temporal's `toString` does,
|
|
39
|
+
* so it names a moment before the end.
|
|
40
|
+
*
|
|
41
|
+
* @defaultValue `9`
|
|
42
|
+
*/
|
|
33
43
|
fractionalSecondDigits?: FractionalDigit;
|
|
34
44
|
}): string;
|
|
@@ -19,13 +19,9 @@ const supported = [
|
|
|
19
19
|
/**
|
|
20
20
|
* Return the end of the specified date-time `unit` for a given ISO 8601 datetime string.
|
|
21
21
|
*
|
|
22
|
-
* - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
|
|
23
22
|
* - The end is computed forward from `value`, so it is returned even when the unit began before
|
|
24
23
|
* the first representable date (`-271821-04-19`).
|
|
25
|
-
* - The end is written at nanosecond precision by default, so the string names the end itself; an
|
|
26
|
-
* explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
|
|
27
24
|
* - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
|
|
28
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
|
|
29
25
|
* - Returns "" for invalid inputs.
|
|
30
26
|
* - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
|
|
31
27
|
* `second` and coarser, 3 for `millisecond`, 6 for `microsecond` — which wrote a moment earlier
|
|
@@ -33,7 +29,7 @@ const supported = [
|
|
|
33
29
|
*
|
|
34
30
|
* @param value ISO 8601 datetime string
|
|
35
31
|
* @param unit date or time unit, singular or plural, to specify the unit for the end
|
|
36
|
-
* @param optionsArg
|
|
32
|
+
* @param optionsArg How the week is defined and how the result is written
|
|
37
33
|
* @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
38
34
|
*
|
|
39
35
|
* @example endOfDateTime("2024-02-29T12:34:56", "month") // "2024-02-29T23:59:59.999999999"
|
|
@@ -12,7 +12,6 @@ export type EndOfTimeUnit = Temporal.SmallestUnit<Temporal.TimeUnit | "day">;
|
|
|
12
12
|
/**
|
|
13
13
|
* Return the end of the specified time `unit` for a given ISO 8601 time string.
|
|
14
14
|
*
|
|
15
|
-
* - The end is written at nanosecond precision by default, so the string names the end itself; an explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
|
|
16
15
|
* - `unit` accepts the singular or plural name (`"hour"` or `"hours"`), as Temporal does.
|
|
17
16
|
* - Returns "" for invalid inputs.
|
|
18
17
|
* - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
|
|
@@ -21,7 +20,7 @@ export type EndOfTimeUnit = Temporal.SmallestUnit<Temporal.TimeUnit | "day">;
|
|
|
21
20
|
*
|
|
22
21
|
* @param value ISO 8601 time string
|
|
23
22
|
* @param unit EndOfTimeUnit to specify the unit for the end
|
|
24
|
-
* @param optionsArg
|
|
23
|
+
* @param optionsArg How the result is written
|
|
25
24
|
* @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
26
25
|
*
|
|
27
26
|
* @example endOfTime("12:34:56", "hour") // "12:59:59.999999999"
|
|
@@ -30,5 +29,12 @@ export type EndOfTimeUnit = Temporal.SmallestUnit<Temporal.TimeUnit | "day">;
|
|
|
30
29
|
* @example endOfTime("invalid", "hour") // ""
|
|
31
30
|
*/
|
|
32
31
|
export declare function endOfTime(value: string, unit: EndOfTimeUnit, optionsArg?: {
|
|
32
|
+
/**
|
|
33
|
+
* The number of fractional-second digits the result is written with, `0` to `9`, or `"auto"` to
|
|
34
|
+
* drop trailing zeros. Fewer than 9 digits truncate the string, as Temporal's `toString` does,
|
|
35
|
+
* so it names a moment before the end.
|
|
36
|
+
*
|
|
37
|
+
* @defaultValue `9`
|
|
38
|
+
*/
|
|
33
39
|
fractionalSecondDigits?: FractionalDigit;
|
|
34
40
|
}): string;
|
|
@@ -15,7 +15,6 @@ const supported = [
|
|
|
15
15
|
/**
|
|
16
16
|
* Return the end of the specified time `unit` for a given ISO 8601 time string.
|
|
17
17
|
*
|
|
18
|
-
* - The end is written at nanosecond precision by default, so the string names the end itself; an explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
|
|
19
18
|
* - `unit` accepts the singular or plural name (`"hour"` or `"hours"`), as Temporal does.
|
|
20
19
|
* - Returns "" for invalid inputs.
|
|
21
20
|
* - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
|
|
@@ -24,7 +23,7 @@ const supported = [
|
|
|
24
23
|
*
|
|
25
24
|
* @param value ISO 8601 time string
|
|
26
25
|
* @param unit EndOfTimeUnit to specify the unit for the end
|
|
27
|
-
* @param optionsArg
|
|
26
|
+
* @param optionsArg How the result is written
|
|
28
27
|
* @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
29
28
|
*
|
|
30
29
|
* @example endOfTime("12:34:56", "hour") // "12:59:59.999999999"
|
|
@@ -7,21 +7,21 @@
|
|
|
7
7
|
* - Week 1 is the week starting on `locale`'s first day of week that holds at least `minimalDays`
|
|
8
8
|
* days of January (UTS #35 Part 4, Week Data). The first day of week comes from
|
|
9
9
|
* `Intl.Locale.prototype.getWeekInfo`.
|
|
10
|
-
* -
|
|
11
|
-
* a locale's minimal days: Intl Locale Info returns only
|
|
12
|
-
* (tc39/proposal-intl-locale-info#86), so older runtimes that still
|
|
13
|
-
* newer ones about the same date. Pass CLDR's value when you need a
|
|
14
|
-
* `weekData`, the world default (`001`) is `1
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
17
|
-
* - Returns null if `value` or `locale` is invalid
|
|
10
|
+
* - The minimal-days rule comes from the caller, never the runtime, so one input has one answer
|
|
11
|
+
* everywhere. ECMA-402 does not expose a locale's minimal days: Intl Locale Info returns only
|
|
12
|
+
* `firstDay` and `weekend` (tc39/proposal-intl-locale-info#86), so older runtimes that still
|
|
13
|
+
* reported it disagreed with newer ones about the same date. Pass CLDR's value when you need a
|
|
14
|
+
* locale's own rule: in CLDR 48 `weekData`, the world default (`001`) is `1`, as in `US`, `CA`,
|
|
15
|
+
* `MX`, `JP` and `CN`, and `4` is set for a list of mostly European regions such as `GB`, `DE`
|
|
16
|
+
* and `FR`.
|
|
17
|
+
* - Returns null if `value` or `locale` is invalid.
|
|
18
18
|
* - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
|
|
19
19
|
* exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
|
|
20
20
|
* `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
|
|
21
21
|
*
|
|
22
22
|
* @param value ISO PlainDate string
|
|
23
23
|
* @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
|
|
24
|
-
* @param options
|
|
24
|
+
* @param options The minimal-days-in-first-week rule
|
|
25
25
|
* @returns locale-relative week-numbering year, or null on invalid input
|
|
26
26
|
*
|
|
27
27
|
* @example getLocaleWeekYear("2024-06-15", "en-US") // 2024
|
|
@@ -34,5 +34,12 @@
|
|
|
34
34
|
* @example getLocaleWeekYear("2024-12-29", ["en-US", "fr-FR"]) // 2025
|
|
35
35
|
*/
|
|
36
36
|
export declare function getLocaleWeekYear(value: string, locale: string | string[], options?: {
|
|
37
|
+
/**
|
|
38
|
+
* How many days of January the first week must hold to be week 1 (UTS #35 Part 4, Week
|
|
39
|
+
* Data). `4` is the ISO 8601 rule; `1` puts January 1 in week 1 every year, as CLDR's world
|
|
40
|
+
* default does. A value that is not an integer from 1 to 7 returns `null`.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue `4`
|
|
43
|
+
*/
|
|
37
44
|
minimalDays?: number;
|
|
38
45
|
}): number | null;
|
|
@@ -12,21 +12,21 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
12
12
|
* - Week 1 is the week starting on `locale`'s first day of week that holds at least `minimalDays`
|
|
13
13
|
* days of January (UTS #35 Part 4, Week Data). The first day of week comes from
|
|
14
14
|
* `Intl.Locale.prototype.getWeekInfo`.
|
|
15
|
-
* -
|
|
16
|
-
* a locale's minimal days: Intl Locale Info returns only
|
|
17
|
-
* (tc39/proposal-intl-locale-info#86), so older runtimes that still
|
|
18
|
-
* newer ones about the same date. Pass CLDR's value when you need a
|
|
19
|
-
* `weekData`, the world default (`001`) is `1
|
|
20
|
-
* `
|
|
21
|
-
*
|
|
22
|
-
* - Returns null if `value` or `locale` is invalid
|
|
15
|
+
* - The minimal-days rule comes from the caller, never the runtime, so one input has one answer
|
|
16
|
+
* everywhere. ECMA-402 does not expose a locale's minimal days: Intl Locale Info returns only
|
|
17
|
+
* `firstDay` and `weekend` (tc39/proposal-intl-locale-info#86), so older runtimes that still
|
|
18
|
+
* reported it disagreed with newer ones about the same date. Pass CLDR's value when you need a
|
|
19
|
+
* locale's own rule: in CLDR 48 `weekData`, the world default (`001`) is `1`, as in `US`, `CA`,
|
|
20
|
+
* `MX`, `JP` and `CN`, and `4` is set for a list of mostly European regions such as `GB`, `DE`
|
|
21
|
+
* and `FR`.
|
|
22
|
+
* - Returns null if `value` or `locale` is invalid.
|
|
23
23
|
* - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
|
|
24
24
|
* exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
|
|
25
25
|
* `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
|
|
26
26
|
*
|
|
27
27
|
* @param value ISO PlainDate string
|
|
28
28
|
* @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
|
|
29
|
-
* @param options
|
|
29
|
+
* @param options The minimal-days-in-first-week rule
|
|
30
30
|
* @returns locale-relative week-numbering year, or null on invalid input
|
|
31
31
|
*
|
|
32
32
|
* @example getLocaleWeekYear("2024-06-15", "en-US") // 2024
|
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
* grid, using `locale`'s first day of week.
|
|
4
4
|
*
|
|
5
5
|
* - Week 1 is the row containing the 1st of the month, even when that row
|
|
6
|
-
* is a partial week
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* is a partial week. This is GMT's own rule, not a standard's: a month
|
|
7
|
+
* grid draws every day of the month, so its first row always holds the 1st.
|
|
8
|
+
* - Not CLDR's week-of-month field (`W`, UTS #35): that count applies the
|
|
9
|
+
* locale's `minDays`, so a short leading week may not count as part of
|
|
10
|
+
* the month.
|
|
11
|
+
* - Comparison: date-fns's `getWeekOfMonth` returns the same number for the
|
|
12
|
+
* same first day of week.
|
|
10
13
|
* - Distinct from ISO `weekOfYear`: this counts rows within a single
|
|
11
14
|
* month's grid, reset every month, rather than weeks since Jan 1.
|
|
12
15
|
* - Resolves the locale's first day of week via
|
|
@@ -7,10 +7,13 @@ import { isValidDate } from "../validate/index.js";
|
|
|
7
7
|
* grid, using `locale`'s first day of week.
|
|
8
8
|
*
|
|
9
9
|
* - Week 1 is the row containing the 1st of the month, even when that row
|
|
10
|
-
* is a partial week
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* is a partial week. This is GMT's own rule, not a standard's: a month
|
|
11
|
+
* grid draws every day of the month, so its first row always holds the 1st.
|
|
12
|
+
* - Not CLDR's week-of-month field (`W`, UTS #35): that count applies the
|
|
13
|
+
* locale's `minDays`, so a short leading week may not count as part of
|
|
14
|
+
* the month.
|
|
15
|
+
* - Comparison: date-fns's `getWeekOfMonth` returns the same number for the
|
|
16
|
+
* same first day of week.
|
|
14
17
|
* - Distinct from ISO `weekOfYear`: this counts rows within a single
|
|
15
18
|
* month's grid, reset every month, rather than weeks since Jan 1.
|
|
16
19
|
* - Resolves the locale's first day of week via
|
|
@@ -7,18 +7,18 @@
|
|
|
7
7
|
* - Computed as the calendar days between this week-year's start and the next one's, divided by 7 —
|
|
8
8
|
* always whole, since both starts fall on the locale's first day of week. Counted by day
|
|
9
9
|
* arithmetic, so a start outside the representable range still counts.
|
|
10
|
-
* -
|
|
11
|
-
*
|
|
12
|
-
* (`US` included) and `4` is set for mostly European regions; pass the locale's value when
|
|
13
|
-
*
|
|
14
|
-
* - Returns null if `value` or `locale` is invalid
|
|
10
|
+
* - The minimal-days rule comes from the caller, never the runtime: ECMA-402 does not expose a
|
|
11
|
+
* locale's minimal days (tc39/proposal-intl-locale-info#86). CLDR 48's world default is `1`
|
|
12
|
+
* (`US` included) and `4` is set for mostly European regions; pass the locale's value when you
|
|
13
|
+
* need its own rule. See `getLocaleWeekYear`.
|
|
14
|
+
* - Returns null if `value` or `locale` is invalid.
|
|
15
15
|
* - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
|
|
16
16
|
* exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
|
|
17
17
|
* `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
|
|
18
18
|
*
|
|
19
19
|
* @param value ISO PlainDate string
|
|
20
20
|
* @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
|
|
21
|
-
* @param options
|
|
21
|
+
* @param options The minimal-days-in-first-week rule
|
|
22
22
|
* @returns 52 or 53, or null on invalid input
|
|
23
23
|
*
|
|
24
24
|
* @example getWeeksInLocaleWeekYear("2024-06-15", "en-US") // 52
|
|
@@ -31,5 +31,12 @@
|
|
|
31
31
|
* @example getWeeksInLocaleWeekYear("2024-12-29", ["fr-FR", "en-US"]) // 52
|
|
32
32
|
*/
|
|
33
33
|
export declare function getWeeksInLocaleWeekYear(value: string, locale: string | string[], options?: {
|
|
34
|
+
/**
|
|
35
|
+
* How many days of January the first week must hold to be week 1 (UTS #35 Part 4, Week
|
|
36
|
+
* Data). `4` is the ISO 8601 rule; `1` puts January 1 in week 1 every year, as CLDR's world
|
|
37
|
+
* default does. A value that is not an integer from 1 to 7 returns `null`.
|
|
38
|
+
*
|
|
39
|
+
* @defaultValue `4`
|
|
40
|
+
*/
|
|
34
41
|
minimalDays?: number;
|
|
35
42
|
}): number | null;
|
|
@@ -12,18 +12,18 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
12
12
|
* - Computed as the calendar days between this week-year's start and the next one's, divided by 7 —
|
|
13
13
|
* always whole, since both starts fall on the locale's first day of week. Counted by day
|
|
14
14
|
* arithmetic, so a start outside the representable range still counts.
|
|
15
|
-
* -
|
|
16
|
-
*
|
|
17
|
-
* (`US` included) and `4` is set for mostly European regions; pass the locale's value when
|
|
18
|
-
*
|
|
19
|
-
* - Returns null if `value` or `locale` is invalid
|
|
15
|
+
* - The minimal-days rule comes from the caller, never the runtime: ECMA-402 does not expose a
|
|
16
|
+
* locale's minimal days (tc39/proposal-intl-locale-info#86). CLDR 48's world default is `1`
|
|
17
|
+
* (`US` included) and `4` is set for mostly European regions; pass the locale's value when you
|
|
18
|
+
* need its own rule. See `getLocaleWeekYear`.
|
|
19
|
+
* - Returns null if `value` or `locale` is invalid.
|
|
20
20
|
* - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
|
|
21
21
|
* exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
|
|
22
22
|
* `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
|
|
23
23
|
*
|
|
24
24
|
* @param value ISO PlainDate string
|
|
25
25
|
* @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
|
|
26
|
-
* @param options
|
|
26
|
+
* @param options The minimal-days-in-first-week rule
|
|
27
27
|
* @returns 52 or 53, or null on invalid input
|
|
28
28
|
*
|
|
29
29
|
* @example getWeeksInLocaleWeekYear("2024-06-15", "en-US") // 52
|
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
* - The count depends on which day the week starts — the same month can
|
|
6
6
|
* span 4, 5, or 6 rows depending on locale (e.g. February 2026 is 4
|
|
7
7
|
* rows starting Sunday but 5 rows starting Monday).
|
|
8
|
-
* -
|
|
9
|
-
*
|
|
8
|
+
* - The count is the row the month's last day falls on, where row 1 holds
|
|
9
|
+
* the 1st (see `getWeekOfMonth`). This is GMT's own rule for sizing a
|
|
10
|
+
* month grid, not a standard's; CLDR's `minDays` plays no part.
|
|
11
|
+
* - Comparison: `@internationalized/date`'s `getWeeksInMonth` returns the
|
|
12
|
+
* same number for the same first day of week.
|
|
10
13
|
* - Resolves the locale's first day of week via
|
|
11
14
|
* `Intl.Locale.prototype.weekInfo`.
|
|
12
15
|
* - Returns null if `value` or `locale` is invalid.
|
|
@@ -9,8 +9,11 @@ import { isValidDate } from "../validate/index.js";
|
|
|
9
9
|
* - The count depends on which day the week starts — the same month can
|
|
10
10
|
* span 4, 5, or 6 rows depending on locale (e.g. February 2026 is 4
|
|
11
11
|
* rows starting Sunday but 5 rows starting Monday).
|
|
12
|
-
* -
|
|
13
|
-
*
|
|
12
|
+
* - The count is the row the month's last day falls on, where row 1 holds
|
|
13
|
+
* the 1st (see `getWeekOfMonth`). This is GMT's own rule for sizing a
|
|
14
|
+
* month grid, not a standard's; CLDR's `minDays` plays no part.
|
|
15
|
+
* - Comparison: `@internationalized/date`'s `getWeeksInMonth` returns the
|
|
16
|
+
* same number for the same first day of week.
|
|
14
17
|
* - Resolves the locale's first day of week via
|
|
15
18
|
* `Intl.Locale.prototype.weekInfo`.
|
|
16
19
|
* - Returns null if `value` or `locale` is invalid.
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - `dayOfWeek` uses Temporal's ISO numbering: 1 (Monday) through 7 (Sunday), consistent with
|
|
5
5
|
* `getDayOfWeek`/`parseDayOfWeekFromDate`.
|
|
6
|
-
* - `options.inclusive` (default `false`) controls what happens when `value` already falls on
|
|
7
|
-
* `dayOfWeek`: `false` advances a full week (matching date-fns), `true` returns `value` as-is.
|
|
8
6
|
* - Returns "" on invalid input.
|
|
9
7
|
*
|
|
10
8
|
* Replaces date-fns's sixteen `next*` functions with one parameterized call:
|
|
@@ -22,7 +20,7 @@
|
|
|
22
20
|
*
|
|
23
21
|
* @param value ISO PlainDate string
|
|
24
22
|
* @param dayOfWeek target ISO day of week (1-7, Monday-Sunday)
|
|
25
|
-
* @param options
|
|
23
|
+
* @param options Whether `value` itself can be the result
|
|
26
24
|
* @returns ISO PlainDate string for the next occurrence of `dayOfWeek`, or "" on invalid input
|
|
27
25
|
*
|
|
28
26
|
* @example nextWeekday("2024-03-15", 5) // "2024-03-22" (2024-03-15 is already a Friday, so it advances a full week)
|
|
@@ -32,5 +30,11 @@
|
|
|
32
30
|
* @example nextWeekday("2024-03-15", 8) // "" (dayOfWeek out of range)
|
|
33
31
|
*/
|
|
34
32
|
export declare function nextWeekday(value: string, dayOfWeek: number, options?: {
|
|
33
|
+
/**
|
|
34
|
+
* Whether `value` counts when it already falls on `dayOfWeek`. `true` returns `value`
|
|
35
|
+
* unchanged; `false` advances a full week.
|
|
36
|
+
*
|
|
37
|
+
* @defaultValue `false`
|
|
38
|
+
*/
|
|
35
39
|
inclusive?: boolean;
|
|
36
40
|
}): string;
|
|
@@ -8,8 +8,6 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
8
8
|
*
|
|
9
9
|
* - `dayOfWeek` uses Temporal's ISO numbering: 1 (Monday) through 7 (Sunday), consistent with
|
|
10
10
|
* `getDayOfWeek`/`parseDayOfWeekFromDate`.
|
|
11
|
-
* - `options.inclusive` (default `false`) controls what happens when `value` already falls on
|
|
12
|
-
* `dayOfWeek`: `false` advances a full week (matching date-fns), `true` returns `value` as-is.
|
|
13
11
|
* - Returns "" on invalid input.
|
|
14
12
|
*
|
|
15
13
|
* Replaces date-fns's sixteen `next*` functions with one parameterized call:
|
|
@@ -27,7 +25,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
27
25
|
*
|
|
28
26
|
* @param value ISO PlainDate string
|
|
29
27
|
* @param dayOfWeek target ISO day of week (1-7, Monday-Sunday)
|
|
30
|
-
* @param options
|
|
28
|
+
* @param options Whether `value` itself can be the result
|
|
31
29
|
* @returns ISO PlainDate string for the next occurrence of `dayOfWeek`, or "" on invalid input
|
|
32
30
|
*
|
|
33
31
|
* @example nextWeekday("2024-03-15", 5) // "2024-03-22" (2024-03-15 is already a Friday, so it advances a full week)
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - `dayOfWeek` uses Temporal's ISO numbering: 1 (Monday) through 7 (Sunday), consistent with
|
|
5
5
|
* `getDayOfWeek`/`parseDayOfWeekFromDate`.
|
|
6
|
-
* - `options.inclusive` (default `false`) controls what happens when `value` already falls on
|
|
7
|
-
* `dayOfWeek`: `false` goes back a full week (matching date-fns), `true` returns `value` as-is.
|
|
8
6
|
* - Returns "" on invalid input.
|
|
9
7
|
*
|
|
10
8
|
* Replaces date-fns's sixteen `previous*` functions with one parameterized call:
|
|
@@ -22,7 +20,7 @@
|
|
|
22
20
|
*
|
|
23
21
|
* @param value ISO PlainDate string
|
|
24
22
|
* @param dayOfWeek target ISO day of week (1-7, Monday-Sunday)
|
|
25
|
-
* @param options
|
|
23
|
+
* @param options Whether `value` itself can be the result
|
|
26
24
|
* @returns ISO PlainDate string for the previous occurrence of `dayOfWeek`, or "" on invalid input
|
|
27
25
|
*
|
|
28
26
|
* @example previousWeekday("2024-03-15", 5) // "2024-03-08" (2024-03-15 is already a Friday, so it goes back a full week)
|
|
@@ -32,5 +30,11 @@
|
|
|
32
30
|
* @example previousWeekday("2024-03-15", 0) // "" (dayOfWeek out of range)
|
|
33
31
|
*/
|
|
34
32
|
export declare function previousWeekday(value: string, dayOfWeek: number, options?: {
|
|
33
|
+
/**
|
|
34
|
+
* Whether `value` counts when it already falls on `dayOfWeek`. `true` returns `value`
|
|
35
|
+
* unchanged; `false` goes back a full week.
|
|
36
|
+
*
|
|
37
|
+
* @defaultValue `false`
|
|
38
|
+
*/
|
|
35
39
|
inclusive?: boolean;
|
|
36
40
|
}): string;
|
|
@@ -8,8 +8,6 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
8
8
|
*
|
|
9
9
|
* - `dayOfWeek` uses Temporal's ISO numbering: 1 (Monday) through 7 (Sunday), consistent with
|
|
10
10
|
* `getDayOfWeek`/`parseDayOfWeekFromDate`.
|
|
11
|
-
* - `options.inclusive` (default `false`) controls what happens when `value` already falls on
|
|
12
|
-
* `dayOfWeek`: `false` goes back a full week (matching date-fns), `true` returns `value` as-is.
|
|
13
11
|
* - Returns "" on invalid input.
|
|
14
12
|
*
|
|
15
13
|
* Replaces date-fns's sixteen `previous*` functions with one parameterized call:
|
|
@@ -27,7 +25,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
27
25
|
*
|
|
28
26
|
* @param value ISO PlainDate string
|
|
29
27
|
* @param dayOfWeek target ISO day of week (1-7, Monday-Sunday)
|
|
30
|
-
* @param options
|
|
28
|
+
* @param options Whether `value` itself can be the result
|
|
31
29
|
* @returns ISO PlainDate string for the previous occurrence of `dayOfWeek`, or "" on invalid input
|
|
32
30
|
*
|
|
33
31
|
* @example previousWeekday("2024-03-15", 5) // "2024-03-08" (2024-03-15 is already a Friday, so it goes back a full week)
|
|
@@ -4,9 +4,6 @@ import type { DateUnit } from "../../types/index.js";
|
|
|
4
4
|
* Round an ISO 8601 date string to the specified date unit.
|
|
5
5
|
*
|
|
6
6
|
* - Returns "" for invalid inputs.
|
|
7
|
-
* - Accepts date units: "year", "month", "week", "day", each in its singular or plural form
|
|
8
|
-
* ("month" or "months"), as Temporal's GetTemporalUnitValuedOption accepts both (§13.17).
|
|
9
|
-
* - Time units ("hour", "minute", etc.) are rejected and return "".
|
|
10
7
|
* - All date units use manual start-of-unit rounding. Weeks start on Monday.
|
|
11
8
|
* - The rounding grid is anchored at the unit containing `value`, so `"halfEven"` breaks an exact
|
|
12
9
|
* tie towards that unit's start (multiple 0, the even one).
|
|
@@ -15,13 +12,10 @@ import type { DateUnit } from "../../types/index.js";
|
|
|
15
12
|
* When it rounds down to that unrepresentable start, the result is "".
|
|
16
13
|
* - In the last representable year (`+275760`) a date that rounds down still returns its unit's
|
|
17
14
|
* start; only rounding up past `+275760-09-13` returns "".
|
|
18
|
-
* - `roundingIncrement` and `roundingMode` are read as Temporal reads them: a non-integer increment
|
|
19
|
-
* is truncated (`1.5` rounds by 1), an increment below 1 or not finite returns "", and a
|
|
20
|
-
* `roundingMode` outside Temporal's nine returns "" (previously it floored silently).
|
|
21
15
|
* - Wraps all Temporal calls in try-catch; returns "" on any error.
|
|
22
16
|
*
|
|
23
17
|
* @param value ISO 8601 date string
|
|
24
|
-
* @param options
|
|
18
|
+
* @param options The unit to round to and how to round
|
|
25
19
|
* @returns Rounded ISO 8601 date string, or "" on invalid input
|
|
26
20
|
*
|
|
27
21
|
* @example roundDate("2024-06-15", { smallestUnit: "year" }) // "2024-01-01"
|
|
@@ -38,7 +32,26 @@ import type { DateUnit } from "../../types/index.js";
|
|
|
38
32
|
* @example roundDate("invalid", { smallestUnit: "year" }) // ""
|
|
39
33
|
*/
|
|
40
34
|
export declare function roundDate(value: string, options: {
|
|
35
|
+
/**
|
|
36
|
+
* The unit to round to: `"year"`, `"month"`, `"week"` or `"day"`, singular or plural, as
|
|
37
|
+
* Temporal's GetTemporalUnitValuedOption accepts both (§13.17). A time unit such as `"hour"`
|
|
38
|
+
* returns `""`.
|
|
39
|
+
*/
|
|
41
40
|
smallestUnit: Temporal.SmallestUnit<DateUnit>;
|
|
41
|
+
/**
|
|
42
|
+
* How many units make one rounding step, counted from the unit that holds `value`. Read as
|
|
43
|
+
* Temporal reads it: a non-integer is truncated (`1.5` rounds by 1), and a value below 1 or not
|
|
44
|
+
* finite returns `""`.
|
|
45
|
+
*
|
|
46
|
+
* @defaultValue `1`, Temporal's default.
|
|
47
|
+
*/
|
|
42
48
|
roundingIncrement?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Which way a date between two steps goes: one of Temporal's nine rounding modes, such as
|
|
51
|
+
* `"floor"`, `"ceil"` or `"halfExpand"` (to the nearer step, a tie going up). Any other value
|
|
52
|
+
* returns `""`.
|
|
53
|
+
*
|
|
54
|
+
* @defaultValue `"halfExpand"`, Temporal's default.
|
|
55
|
+
*/
|
|
43
56
|
roundingMode?: Temporal.RoundingMode;
|
|
44
57
|
}): string;
|
|
@@ -10,9 +10,6 @@ import { isObject } from "../../internal/isObject.js";
|
|
|
10
10
|
* Round an ISO 8601 date string to the specified date unit.
|
|
11
11
|
*
|
|
12
12
|
* - Returns "" for invalid inputs.
|
|
13
|
-
* - Accepts date units: "year", "month", "week", "day", each in its singular or plural form
|
|
14
|
-
* ("month" or "months"), as Temporal's GetTemporalUnitValuedOption accepts both (§13.17).
|
|
15
|
-
* - Time units ("hour", "minute", etc.) are rejected and return "".
|
|
16
13
|
* - All date units use manual start-of-unit rounding. Weeks start on Monday.
|
|
17
14
|
* - The rounding grid is anchored at the unit containing `value`, so `"halfEven"` breaks an exact
|
|
18
15
|
* tie towards that unit's start (multiple 0, the even one).
|
|
@@ -21,13 +18,10 @@ import { isObject } from "../../internal/isObject.js";
|
|
|
21
18
|
* When it rounds down to that unrepresentable start, the result is "".
|
|
22
19
|
* - In the last representable year (`+275760`) a date that rounds down still returns its unit's
|
|
23
20
|
* start; only rounding up past `+275760-09-13` returns "".
|
|
24
|
-
* - `roundingIncrement` and `roundingMode` are read as Temporal reads them: a non-integer increment
|
|
25
|
-
* is truncated (`1.5` rounds by 1), an increment below 1 or not finite returns "", and a
|
|
26
|
-
* `roundingMode` outside Temporal's nine returns "" (previously it floored silently).
|
|
27
21
|
* - Wraps all Temporal calls in try-catch; returns "" on any error.
|
|
28
22
|
*
|
|
29
23
|
* @param value ISO 8601 date string
|
|
30
|
-
* @param options
|
|
24
|
+
* @param options The unit to round to and how to round
|
|
31
25
|
* @returns Rounded ISO 8601 date string, or "" on invalid input
|
|
32
26
|
*
|
|
33
27
|
* @example roundDate("2024-06-15", { smallestUnit: "year" }) // "2024-01-01"
|
|
@@ -48,9 +42,8 @@ export function roundDate(value, options) {
|
|
|
48
42
|
if (!isObject(options))
|
|
49
43
|
return "";
|
|
50
44
|
const { roundingIncrement, roundingMode } = options;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
: options.smallestUnit;
|
|
45
|
+
// One read (GetOption): resolveDateTimeUnit returns a value that is not a string unchanged.
|
|
46
|
+
const smallestUnit = resolveDateTimeUnit(options.smallestUnit);
|
|
54
47
|
if (!isValidDate(value) || !isValidDateUnit(smallestUnit))
|
|
55
48
|
return "";
|
|
56
49
|
try {
|