@northguild/gmt 1.16.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 +742 -21
- 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/index.d.ts +2 -0
- package/dist/index.js +2 -0
- 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 +6 -12
- package/dist/instant/convert/resolveLocal.d.ts +12 -7
- package/dist/instant/convert/resolveLocal.js +6 -10
- package/dist/instant/convert/toOffsetInstant.d.ts +37 -1
- package/dist/instant/convert/toOffsetInstant.js +12 -28
- package/dist/intermodal/calculate/billingTimeline.d.ts +114 -0
- package/dist/intermodal/calculate/billingTimeline.js +168 -0
- package/dist/intermodal/calculate/chargeableDays.d.ts +100 -0
- package/dist/intermodal/calculate/chargeableDays.js +96 -0
- package/dist/intermodal/calculate/demurrageClock.d.ts +102 -0
- package/dist/intermodal/calculate/demurrageClock.js +140 -0
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +67 -0
- package/dist/intermodal/calculate/freeTimeExpiry.js +82 -0
- package/dist/intermodal/calculate/index.d.ts +4 -0
- package/dist/intermodal/calculate/index.js +4 -0
- package/dist/intermodal/index.d.ts +2 -0
- package/dist/intermodal/index.js +3 -0
- 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/freeTimeLedger.d.ts +93 -0
- package/dist/internal/freeTimeLedger.js +262 -0
- package/dist/internal/index.d.ts +10 -3
- package/dist/internal/index.js +10 -3
- 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/isoStringBody.d.ts +26 -0
- package/dist/internal/isoStringBody.js +22 -2
- 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/wallClockAtOffset.d.ts +22 -0
- package/dist/internal/wallClockAtOffset.js +26 -0
- 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/zonedWallClockDifference.js +5 -4
- 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 +81 -0
- package/dist/transport/calculate/dwellTime.js +130 -0
- package/dist/transport/calculate/estimateDrift.d.ts +65 -0
- package/dist/transport/calculate/estimateDrift.js +75 -0
- package/dist/transport/calculate/index.d.ts +10 -0
- package/dist/transport/calculate/index.js +10 -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 +71 -0
- package/dist/transport/calculate/transitTime.js +101 -0
- 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 +43 -0
- package/dist/transport/convert/etaAtZone.js +58 -0
- package/dist/transport/convert/index.d.ts +1 -0
- package/dist/transport/convert/index.js +1 -0
- package/dist/transport/index.d.ts +4 -0
- package/dist/transport/index.js +5 -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 +44 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.js +3 -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/operating-schedule.js +0 -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 +53 -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 +210 -14
- 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 → free-time-options.js} +0 -0
package/dist/types/index.js
CHANGED
|
@@ -11,12 +11,13 @@ export * from "./datetime-format-options.js";
|
|
|
11
11
|
export * from "./disambiguation.js";
|
|
12
12
|
export * from "./duration-relative-to.js";
|
|
13
13
|
export * from "./duration-string-options.js";
|
|
14
|
-
export * from "./duration-unit.js";
|
|
15
14
|
export * from "./fiscal-calendar.js";
|
|
16
15
|
export * from "./fractional-digit.js";
|
|
16
|
+
export * from "./free-time-options.js";
|
|
17
17
|
export * from "./interval.js";
|
|
18
18
|
export * from "./now-unit.js";
|
|
19
19
|
export * from "./offset.js";
|
|
20
|
+
export * from "./operating-schedule.js";
|
|
20
21
|
export * from "./overflow.js";
|
|
21
22
|
export * from "./relative-date-time-unit.js";
|
|
22
23
|
export * from "./relative-date-unit.js";
|
|
@@ -29,6 +30,7 @@ export * from "./rounding-options.js";
|
|
|
29
30
|
export * from "./time-cycle-field.js";
|
|
30
31
|
export * from "./time-duration-unit.js";
|
|
31
32
|
export * from "./time-unit.js";
|
|
33
|
+
export * from "./transport-timestamps.js";
|
|
32
34
|
export * from "./unix-now-unit.js";
|
|
33
35
|
export * from "./utc-now-unit.js";
|
|
34
36
|
export * from "./zone-bucket-unit.js";
|
package/dist/types/interval.d.ts
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* RFC 5545 `DTEND` is non-inclusive). Intervals that touch share no instant.
|
|
6
6
|
* - Both endpoints are instants: an offset (`Z`, `±HH:MM`) is required, a bracketed IANA zone is
|
|
7
7
|
* optional, and the two may name different zones. Leap seconds are rejected; a `[u-ca=...]`
|
|
8
|
-
* annotation is ignored, as `Temporal.Instant.from` ignores it.
|
|
8
|
+
* annotation is ignored, as `Temporal.Instant.from` ignores it. The offset fixes the instant;
|
|
9
|
+
* an offset written to the minute that is the bracketed zone's sub-minute offset rounded
|
|
10
|
+
* (`-00:45[Africa/Monrovia]`, for −00:44:30) names the instant the zone gives.
|
|
9
11
|
* - `start === end` (as instants) is a valid, empty interval: it has a position but contains no
|
|
10
12
|
* instant. `start` after `end` is invalid.
|
|
11
13
|
*
|
|
@@ -13,6 +15,11 @@
|
|
|
13
15
|
* `plain|utc|zoned|unix/interval` functions take positional strings and a different model.
|
|
14
16
|
*/
|
|
15
17
|
export type Interval = {
|
|
18
|
+
/** The first instant inside the interval, as an ISO 8601 instant string with an offset. */
|
|
16
19
|
start: string;
|
|
20
|
+
/**
|
|
21
|
+
* The first instant after the interval, as an ISO 8601 instant string with an offset; it is
|
|
22
|
+
* not itself inside. It may equal `start`, which makes the interval empty, but not precede it.
|
|
23
|
+
*/
|
|
17
24
|
end: string;
|
|
18
25
|
};
|
package/dist/types/offset.d.ts
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
/**
|
|
3
|
+
* What to do when the UTC offset written in a zoned value disagrees with its time zone, as
|
|
4
|
+
* Temporal's `offset` option (`Temporal.ZonedDateTime.prototype.with(item, { offset })`). It is
|
|
5
|
+
* used alongside `Disambiguation`.
|
|
6
|
+
*
|
|
7
|
+
* `"use"` keeps the instant the offset names, `"ignore"` keeps the wall time and takes the offset
|
|
8
|
+
* from the zone, `"prefer"` keeps the offset when it is valid for the zone and otherwise takes
|
|
9
|
+
* the zone's, and `"reject"` refuses the mismatch.
|
|
10
|
+
*/
|
|
2
11
|
export type Offset = Temporal.ZonedDateTimeAssignmentOptions["offset"];
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { BusinessCalendar } from "./business-calendar.js";
|
|
2
|
+
/**
|
|
3
|
+
* An ISO weekday number: 1 (Monday) through 7 (Sunday), as `Temporal.PlainDate#dayOfWeek`
|
|
4
|
+
* reads it.
|
|
5
|
+
*/
|
|
6
|
+
export type IsoWeekday = 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
7
|
+
/**
|
|
8
|
+
* A daily window of local wall time, half-open: open from `from` up to (not including) `to`.
|
|
9
|
+
*
|
|
10
|
+
* - `from` and `to` are wall-clock readings in the schedule's zone, not instants.
|
|
11
|
+
* - A window belongs to the date it starts on. A Friday night window listed under weekday 5
|
|
12
|
+
* runs into Saturday morning; a holiday or override on Friday removes or replaces it, and one
|
|
13
|
+
* on Saturday does not.
|
|
14
|
+
*/
|
|
15
|
+
export type LocalWindow = {
|
|
16
|
+
/**
|
|
17
|
+
* The wall time the window opens, as an ISO PlainTime string (`"09:00"`, `"17:30:00"`) that
|
|
18
|
+
* `isValidTime` accepts.
|
|
19
|
+
*/
|
|
20
|
+
from: string;
|
|
21
|
+
/**
|
|
22
|
+
* The wall time the window closes, as an ISO PlainTime string; the window does not include it.
|
|
23
|
+
* A value after `from` keeps the window inside one local date. A value at or before `from`
|
|
24
|
+
* wraps past midnight into the next local date: `{ from: "23:00", to: "06:00" }` is a night,
|
|
25
|
+
* and `{ from: "00:00", to: "00:00" }` is a whole day.
|
|
26
|
+
*/
|
|
27
|
+
to: string;
|
|
28
|
+
};
|
|
29
|
+
/** One local date whose windows differ from the weekly pattern. */
|
|
30
|
+
export type OperatingOverride = {
|
|
31
|
+
/** The local date the override applies to, as an ISO PlainDate string in the schedule's zone. */
|
|
32
|
+
date: string;
|
|
33
|
+
/**
|
|
34
|
+
* The windows that date has instead of its weekly ones, holiday or not. `[]` closes the date
|
|
35
|
+
* for the whole day.
|
|
36
|
+
*/
|
|
37
|
+
windows: LocalWindow[];
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Weekly opening hours in one zone, with dated exceptions.
|
|
41
|
+
*
|
|
42
|
+
* This is deliberately a weekly pattern with dated exceptions, not an RFC 5545 recurrence rule:
|
|
43
|
+
* there is no monthly or yearly recurrence.
|
|
44
|
+
*/
|
|
45
|
+
export type OperatingSchedule = {
|
|
46
|
+
/**
|
|
47
|
+
* The time zone the windows are read in: an IANA name or a UTC offset. A UTC offset such as
|
|
48
|
+
* `"+02:00"` observes no DST.
|
|
49
|
+
*/
|
|
50
|
+
timeZone: string;
|
|
51
|
+
/**
|
|
52
|
+
* The windows of each ISO weekday. A missing weekday, or `[]`, is closed all day. Windows of
|
|
53
|
+
* one weekday may overlap or touch; they are merged.
|
|
54
|
+
*/
|
|
55
|
+
weekly: Partial<Record<IsoWeekday, LocalWindow[]>>;
|
|
56
|
+
/**
|
|
57
|
+
* The local dates that are closed, as ISO PlainDate strings. A `BusinessCalendar` can be passed
|
|
58
|
+
* directly: its `holidays` are read, and its `weekend` and `timeZone` are not, because `weekly`
|
|
59
|
+
* already says which weekdays open and `timeZone` above is the zone.
|
|
60
|
+
*
|
|
61
|
+
* @defaultValue None. No date is closed as a holiday.
|
|
62
|
+
*/
|
|
63
|
+
holidays?: string[] | BusinessCalendar;
|
|
64
|
+
/**
|
|
65
|
+
* The single dates whose windows replace the weekly ones. An override wins over a holiday on the
|
|
66
|
+
* same date, and two overrides for one date make the schedule invalid.
|
|
67
|
+
*
|
|
68
|
+
* @defaultValue None. Every date follows the weekly pattern and the holidays.
|
|
69
|
+
*/
|
|
70
|
+
overrides?: OperatingOverride[];
|
|
71
|
+
};
|
|
File without changes
|
package/dist/types/overflow.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
/**
|
|
3
|
+
* What to do when a date or time field is out of range, as Temporal's `overflow` option
|
|
4
|
+
* (`Temporal.PlainDate.prototype.add(item, { overflow })`). `"constrain"` clamps the field to the
|
|
5
|
+
* nearest valid value, so January 31 plus one month is the last day of February; `"reject"`
|
|
6
|
+
* refuses the value.
|
|
7
|
+
*/
|
|
2
8
|
export type Overflow = Temporal.ArithmeticOptions["overflow"];
|
|
@@ -1 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How the `formatRelative*` functions round a fractional distance to a whole number of the unit
|
|
3
|
+
* displayed. It is applied to the signed value, where a past distance is negative: `"floor"`
|
|
4
|
+
* rounds toward negative infinity, `"ceil"` toward positive infinity, and `"round"` to the nearest
|
|
5
|
+
* whole number, a half going toward positive infinity.
|
|
6
|
+
*/
|
|
1
7
|
export type RelativeRoundingMethod = "floor" | "ceil" | "round";
|
|
@@ -5,14 +5,42 @@ import type { RelativeRoundingMethod } from "./relative-rounding-method.js";
|
|
|
5
5
|
* restrict `largestUnit` or add domain-specific fields.
|
|
6
6
|
*/
|
|
7
7
|
export interface RelativeTimeFormatOptions {
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* The length of the unit name, as the `style` of `Intl.RelativeTimeFormat`: `"long"` ("in 3
|
|
10
|
+
* months"), `"short"` ("in 3 mo.") or `"narrow"` (the locale's most compact form).
|
|
11
|
+
*
|
|
12
|
+
* @defaultValue `"long"`
|
|
13
|
+
*/
|
|
9
14
|
style?: "long" | "short" | "narrow";
|
|
10
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Whether a distance may be written as a word instead of a number, as the `numeric` option of
|
|
17
|
+
* `Intl.RelativeTimeFormat`. `"auto"` uses the locale's word where it has one ("yesterday",
|
|
18
|
+
* "next year"); `"always"` writes the number every time ("1 day ago").
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"auto"`
|
|
21
|
+
*/
|
|
11
22
|
numeric?: "always" | "auto";
|
|
12
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The one unit the distance is written in, whatever its size, so `"hour"` renders a day and a
|
|
25
|
+
* half as "in 36 hours". Each domain restricts the allowed values to the units its values have,
|
|
26
|
+
* singular or plural; any other value returns `""`.
|
|
27
|
+
*
|
|
28
|
+
* @defaultValue None. The unit is picked from the distance.
|
|
29
|
+
*/
|
|
13
30
|
largestUnit?: string;
|
|
14
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* The way a fractional distance becomes the whole number displayed: `"round"` goes to the nearest
|
|
33
|
+
* whole number, `"floor"` down and `"ceil"` up. It applies to the signed value, where a past
|
|
34
|
+
* distance is negative, so `"floor"` turns −1.5 hours into "2 hours ago".
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue `"round"`
|
|
37
|
+
*/
|
|
15
38
|
roundingMethod?: RelativeRoundingMethod;
|
|
16
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* The moment the distance is measured from, as an ISO string in the same form as the value
|
|
41
|
+
* being formatted.
|
|
42
|
+
*
|
|
43
|
+
* @defaultValue The current date and time.
|
|
44
|
+
*/
|
|
17
45
|
reference?: string;
|
|
18
46
|
}
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
/**
|
|
3
|
+
* How a difference is rounded, as the rounding options of Temporal's `until()` and `since()`
|
|
4
|
+
* (`Temporal.PlainDate.prototype.until(other, options)`). `Unit` is the set of units the values
|
|
5
|
+
* being compared have: date units for dates, time units for times.
|
|
6
|
+
*/
|
|
2
7
|
export type RoundingOptions<Unit extends Temporal.DateTimeUnit> = {
|
|
8
|
+
/**
|
|
9
|
+
* The smallest unit kept in the difference; anything smaller is rounded into it. It may not be
|
|
10
|
+
* larger than the largest unit asked for.
|
|
11
|
+
*
|
|
12
|
+
* @defaultValue None. The difference is not rounded: Temporal uses the smallest unit the
|
|
13
|
+
* values have, `"day"` for dates and `"nanosecond"` otherwise.
|
|
14
|
+
*/
|
|
3
15
|
smallestUnit?: Temporal.SmallestUnit<Unit>;
|
|
16
|
+
/**
|
|
17
|
+
* The step the smallest unit is rounded to, so `15` with `"minute"` rounds to a quarter of an
|
|
18
|
+
* hour. For a time unit it must divide the next larger unit evenly and be smaller than it (`15`
|
|
19
|
+
* or `30` minutes, not `7` or `60`); a date unit takes any whole number from 1 up. A non-integer
|
|
20
|
+
* is truncated first, as Temporal does, and any other value is invalid input.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `1`, Temporal's default.
|
|
23
|
+
*/
|
|
4
24
|
roundingIncrement?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Which way a value between two steps goes. `"trunc"` rounds toward zero and `"halfExpand"` to
|
|
27
|
+
* the nearest step, a half going away from zero; the other modes are those of Temporal's
|
|
28
|
+
* `roundingMode` option.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `"trunc"`, Temporal's default for a difference.
|
|
31
|
+
*/
|
|
5
32
|
roundingMode?: Temporal.RoundingMode;
|
|
6
33
|
};
|
|
@@ -1 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A time field `cycleTime`, `cycleDateTime` and `cycleZoned` can step and wrap, from `"hour"`
|
|
3
|
+
* down to `"nanosecond"`: the fields of Temporal's `PlainTime`.
|
|
4
|
+
*/
|
|
1
5
|
export type TimeCycleField = "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond";
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
/**
|
|
3
|
+
* A time field of an ISO 8601 duration, in the plural, from `"hours"` down to `"nanoseconds"`.
|
|
4
|
+
* It names the unit an amount of time is given in or a time difference is measured in.
|
|
5
|
+
*/
|
|
2
6
|
export type TimeDurationUnit = keyof Pick<Temporal.DurationLike, "hours" | "minutes" | "seconds" | "milliseconds" | "microseconds" | "nanoseconds">;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a transport timestamp claims to be, in DCSA's `eventClassifierCode` vocabulary:
|
|
3
|
+
*
|
|
4
|
+
* - `PLN`: planned, the schedule.
|
|
5
|
+
* - `EST`: estimated, a prediction that may be revised.
|
|
6
|
+
* - `REQ`: requested, the time one party asked another for.
|
|
7
|
+
* - `ACT`: actual, an observation of what happened.
|
|
8
|
+
*
|
|
9
|
+
* One field can hold all four. A value is only comparable with another once its class is known:
|
|
10
|
+
* an estimate compared with an actual as though both were observations is the standard
|
|
11
|
+
* visibility-dashboard error.
|
|
12
|
+
*/
|
|
13
|
+
export type TimestampClass = "PLN" | "EST" | "REQ" | "ACT";
|
|
14
|
+
/**
|
|
15
|
+
* One recorded timestamp of an event: what it claims, when it claims it, and when that claim was
|
|
16
|
+
* recorded.
|
|
17
|
+
*/
|
|
18
|
+
export type TimestampEvent = {
|
|
19
|
+
/** What the timestamp claims to be: planned, estimated, requested or actual. */
|
|
20
|
+
classifier: TimestampClass;
|
|
21
|
+
/**
|
|
22
|
+
* The moment the timestamp names, as an ISO 8601 instant (`Z` or an offset) or zoned string.
|
|
23
|
+
* Functions that return it echo it exactly as written.
|
|
24
|
+
*/
|
|
25
|
+
at: string;
|
|
26
|
+
/**
|
|
27
|
+
* When the timestamp was recorded or received, as an ISO 8601 instant or zoned string. It
|
|
28
|
+
* orders revisions of the same class: the latest recorded is the current one.
|
|
29
|
+
*/
|
|
30
|
+
recordedAt: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The caller's punctuality tolerance, as ISO 8601 durations of exact time (a day is 24 hours;
|
|
34
|
+
* years, months and weeks are refused; neither may be negative).
|
|
35
|
+
*
|
|
36
|
+
* GMT holds no default: "on time" without a stated tolerance is not a measurement. A 15-minute
|
|
37
|
+
* tolerance is `{ late: "PT15M" }`; a day-based one is `{ late: "P1D", early: "P1D" }`.
|
|
38
|
+
*/
|
|
39
|
+
export type PunctualityTolerance = {
|
|
40
|
+
/**
|
|
41
|
+
* How far after the plan an arrival may be before it is late: a deviation of this much or more
|
|
42
|
+
* is late. `"PT0S"` makes every arrival at or after the plan late.
|
|
43
|
+
*/
|
|
44
|
+
late: string;
|
|
45
|
+
/**
|
|
46
|
+
* How far before the plan an arrival may be before it is early: a deviation of this much or
|
|
47
|
+
* more ahead of the plan is early.
|
|
48
|
+
*
|
|
49
|
+
* @defaultValue None. An early arrival is on time.
|
|
50
|
+
*/
|
|
51
|
+
early?: string;
|
|
52
|
+
};
|
|
53
|
+
/** An arrival's punctuality against a `PunctualityTolerance`. */
|
|
54
|
+
export type Punctuality = "early" | "onTime" | "late";
|
|
File without changes
|
|
@@ -6,15 +6,11 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
6
6
|
* - Converts to ZonedDateTime, adds the duration, then converts back to epoch.
|
|
7
7
|
* - Validates duration units and values.
|
|
8
8
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
9
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone.
|
|
10
9
|
* - Returns null for invalid input.
|
|
11
10
|
*
|
|
12
|
-
* `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
|
|
13
|
-
* to Jan 31: "constrain" clamps to Feb 29/28, "reject" throws (resulting in null).
|
|
14
|
-
*
|
|
15
11
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
16
12
|
* @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to add
|
|
17
|
-
* @param options optional:
|
|
13
|
+
* @param options optional: how `value` is read and how an out-of-range result day is handled
|
|
18
14
|
* @returns Unix epoch number after addition, or null on invalid input
|
|
19
15
|
*
|
|
20
16
|
* @example addUnix(1706659200000, { days: 1 }) // 1706745600000
|
|
@@ -25,7 +21,25 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
25
21
|
* @example addUnix(1706659200000, { days: 1 }, { timeZone: "Mars/Olympus" }) // null (unknown zone)
|
|
26
22
|
*/
|
|
27
23
|
export declare function addUnix(value: number | string, units: Partial<Record<DateTimeDurationUnit, number>>, options?: {
|
|
24
|
+
/**
|
|
25
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
26
|
+
* plural. Any other value returns `null`. The result is in the same unit.
|
|
27
|
+
*
|
|
28
|
+
* @defaultValue `"milliseconds"`
|
|
29
|
+
*/
|
|
28
30
|
epochUnit?: UnixUnit;
|
|
31
|
+
/**
|
|
32
|
+
* The time zone the calendar arithmetic runs in: an IANA name, a UTC offset, or `"local"` for
|
|
33
|
+
* the system time zone. An unknown zone returns `null`.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue `"UTC"`
|
|
36
|
+
*/
|
|
29
37
|
timeZone?: string;
|
|
38
|
+
/**
|
|
39
|
+
* How a result day that does not exist in its month is handled, such as January 31 plus one
|
|
40
|
+
* month. `"constrain"` clamps to the last valid day, and `"reject"` returns `null`.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue `"constrain"`, Temporal's default.
|
|
43
|
+
*/
|
|
30
44
|
overflow?: Overflow;
|
|
31
45
|
}): number | null;
|
|
@@ -9,15 +9,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
9
9
|
* - Converts to ZonedDateTime, adds the duration, then converts back to epoch.
|
|
10
10
|
* - Validates duration units and values.
|
|
11
11
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
12
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone.
|
|
13
12
|
* - Returns null for invalid input.
|
|
14
13
|
*
|
|
15
|
-
* `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
|
|
16
|
-
* to Jan 31: "constrain" clamps to Feb 29/28, "reject" throws (resulting in null).
|
|
17
|
-
*
|
|
18
14
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
19
15
|
* @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to add
|
|
20
|
-
* @param options optional:
|
|
16
|
+
* @param options optional: how `value` is read and how an out-of-range result day is handled
|
|
21
17
|
* @returns Unix epoch number after addition, or null on invalid input
|
|
22
18
|
*
|
|
23
19
|
* @example addUnix(1706659200000, { days: 1 }) // 1706745600000
|
|
@@ -33,15 +33,13 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
33
33
|
* gives the same number back. For an exact count use the `bigint` APIs: `spanNs` in `span/`,
|
|
34
34
|
* or `toNanoseconds` in `precision/`.
|
|
35
35
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
36
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
|
|
37
|
-
* invalid.
|
|
38
36
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal; a record result
|
|
39
37
|
* keeps the plural keys.
|
|
40
38
|
*
|
|
41
39
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
42
40
|
* @param value2 second Unix epoch, in the same form and unit
|
|
43
41
|
* @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
|
|
44
|
-
* @param options optional:
|
|
42
|
+
* @param options optional: how the epochs are read and how the difference is rounded; a non-object value (such as `null`) is invalid
|
|
45
43
|
* @returns numeric difference in the requested unit, or null on invalid input
|
|
46
44
|
*
|
|
47
45
|
* @example diffUnix(1706745600000, 1706659200000, "days", { timeZone: "UTC" }) // -1 (measured from the first value to the second)
|
|
@@ -52,6 +50,18 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
52
50
|
* @example diffUnix(1704067200000, 1740787200000, ["years", "days"], { timeZone: "UTC" }) // { years: 1, days: 59 } (P1Y2M; the 2 months are carried into days)
|
|
53
51
|
*/
|
|
54
52
|
export declare function diffUnix(value1: number | string, value2: number | string, units: DateTimeDurationUnit | Temporal.DateTimeUnit | Array<DateTimeDurationUnit | Temporal.DateTimeUnit>, options?: {
|
|
53
|
+
/**
|
|
54
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
55
|
+
* plural. Any other value returns `null`.
|
|
56
|
+
*
|
|
57
|
+
* @defaultValue `"milliseconds"`
|
|
58
|
+
*/
|
|
55
59
|
epochUnit?: UnixUnit;
|
|
60
|
+
/**
|
|
61
|
+
* The time zone calendar units are measured in: an IANA name, a UTC offset, or `"local"` for
|
|
62
|
+
* the system time zone. An unknown zone returns `null`.
|
|
63
|
+
*
|
|
64
|
+
* @defaultValue `"UTC"`
|
|
65
|
+
*/
|
|
56
66
|
timeZone?: string;
|
|
57
67
|
} & RoundingOptions<Temporal.DateTimeUnit>): number | Record<DateTimeDurationUnit, number> | null;
|
|
@@ -37,15 +37,13 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
37
37
|
* gives the same number back. For an exact count use the `bigint` APIs: `spanNs` in `span/`,
|
|
38
38
|
* or `toNanoseconds` in `precision/`.
|
|
39
39
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
40
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
|
|
41
|
-
* invalid.
|
|
42
40
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal; a record result
|
|
43
41
|
* keeps the plural keys.
|
|
44
42
|
*
|
|
45
43
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
46
44
|
* @param value2 second Unix epoch, in the same form and unit
|
|
47
45
|
* @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
|
|
48
|
-
* @param options optional:
|
|
46
|
+
* @param options optional: how the epochs are read and how the difference is rounded; a non-object value (such as `null`) is invalid
|
|
49
47
|
* @returns numeric difference in the requested unit, or null on invalid input
|
|
50
48
|
*
|
|
51
49
|
* @example diffUnix(1706745600000, 1706659200000, "days", { timeZone: "UTC" }) // -1 (measured from the first value to the second)
|
|
@@ -23,14 +23,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
23
23
|
* above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
|
|
24
24
|
* different Temporal types.
|
|
25
25
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
26
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
|
|
27
|
-
* invalid.
|
|
28
26
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal.
|
|
29
27
|
*
|
|
30
28
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
31
29
|
* @param value2 second Unix epoch, in the same form and unit
|
|
32
30
|
* @param unit DateTimeDurationUnit to use as the duration's largestUnit
|
|
33
|
-
* @param options optional:
|
|
31
|
+
* @param options optional: how the epochs are read, how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
|
|
34
32
|
* @returns ISO 8601 duration string, or "" on invalid input
|
|
35
33
|
*
|
|
36
34
|
* @example diffUnixAsDuration(1706659200000, 1706745600000, "days") // "P1D"
|
|
@@ -40,6 +38,18 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
40
38
|
* @example diffUnixAsDuration(NaN, 1706745600000, "days") // ""
|
|
41
39
|
*/
|
|
42
40
|
export declare function diffUnixAsDuration(value1: number | string, value2: number | string, unit: DateTimeDurationUnit | Temporal.DateTimeUnit, options?: {
|
|
41
|
+
/**
|
|
42
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
43
|
+
* plural. Any other value returns `""`.
|
|
44
|
+
*
|
|
45
|
+
* @defaultValue `"milliseconds"`
|
|
46
|
+
*/
|
|
43
47
|
epochUnit?: UnixUnit;
|
|
48
|
+
/**
|
|
49
|
+
* The time zone calendar units are measured in: an IANA name, a UTC offset, or `"local"` for
|
|
50
|
+
* the system time zone. An unknown zone returns `""`.
|
|
51
|
+
*
|
|
52
|
+
* @defaultValue `"UTC"`
|
|
53
|
+
*/
|
|
44
54
|
timeZone?: string;
|
|
45
55
|
} & RoundingOptions<Temporal.DateTimeUnit> & DurationStringOptions): string;
|
|
@@ -25,14 +25,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
25
25
|
* above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
|
|
26
26
|
* different Temporal types.
|
|
27
27
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
28
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
|
|
29
|
-
* invalid.
|
|
30
28
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal.
|
|
31
29
|
*
|
|
32
30
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
33
31
|
* @param value2 second Unix epoch, in the same form and unit
|
|
34
32
|
* @param unit DateTimeDurationUnit to use as the duration's largestUnit
|
|
35
|
-
* @param options optional:
|
|
33
|
+
* @param options optional: how the epochs are read, how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
|
|
36
34
|
* @returns ISO 8601 duration string, or "" on invalid input
|
|
37
35
|
*
|
|
38
36
|
* @example diffUnixAsDuration(1706659200000, 1706745600000, "days") // "P1D"
|
|
@@ -9,11 +9,9 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
9
9
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
10
10
|
* - Returns null for invalid input.
|
|
11
11
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
12
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
|
|
13
|
-
* null.
|
|
14
12
|
*
|
|
15
13
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
16
|
-
* @param options optional:
|
|
14
|
+
* @param options optional: how `value` is read and the zone the quarter is found in
|
|
17
15
|
* @returns Unix epoch number representing the end of the quarter, or null on invalid input
|
|
18
16
|
*
|
|
19
17
|
* @example endOfQuarterForUnix(1706659200000, { timeZone: "UTC" }) // 1711929599999
|
|
@@ -22,6 +20,18 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
22
20
|
* @example endOfQuarterForUnix(NaN) // null
|
|
23
21
|
*/
|
|
24
22
|
export declare function endOfQuarterForUnix(value: number | string, options?: {
|
|
23
|
+
/**
|
|
24
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
25
|
+
* plural. Any other value returns `null`. The result is in the same unit.
|
|
26
|
+
*
|
|
27
|
+
* @defaultValue `"milliseconds"`
|
|
28
|
+
*/
|
|
25
29
|
epochUnit?: UnixUnit;
|
|
30
|
+
/**
|
|
31
|
+
* The time zone the unit boundaries are found in: an IANA name, a UTC offset, or `"local"` for
|
|
32
|
+
* the system time zone. An unknown zone returns `null`.
|
|
33
|
+
*
|
|
34
|
+
* @defaultValue `"UTC"`
|
|
35
|
+
*/
|
|
26
36
|
timeZone?: string;
|
|
27
37
|
}): number | null;
|
|
@@ -10,11 +10,9 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
10
10
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
11
11
|
* - Returns null for invalid input.
|
|
12
12
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
13
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
|
|
14
|
-
* null.
|
|
15
13
|
*
|
|
16
14
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
17
|
-
* @param options optional:
|
|
15
|
+
* @param options optional: how `value` is read and the zone the quarter is found in
|
|
18
16
|
* @returns Unix epoch number representing the end of the quarter, or null on invalid input
|
|
19
17
|
*
|
|
20
18
|
* @example endOfQuarterForUnix(1706659200000, { timeZone: "UTC" }) // 1711929599999
|
|
@@ -8,15 +8,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
8
8
|
* - Returns the last millisecond of the real local `unit` containing `value` in `timeZone` — just before the next bucket `floorToZone` would return — so the result is never before `value`: the second pass of a repeated fall-back hour ends at its own 1:59:59.999.
|
|
9
9
|
* - Takes no `disambiguation` or `offset`: a boundary is always a real instant, as TC39's `startOfDay()`
|
|
10
10
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
11
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null, for every unit.
|
|
12
11
|
* - Returns null for invalid input.
|
|
13
12
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
14
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
|
|
15
|
-
* null.
|
|
16
13
|
*
|
|
17
14
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
18
15
|
* @param unit Temporal.DateUnit | Temporal.TimeUnit to specify the end
|
|
19
|
-
* @param options optional:
|
|
16
|
+
* @param options optional: how `value` is read, the zone the unit is found in and the first day of the week
|
|
20
17
|
* @returns Unix epoch number representing the end of the unit, or null on invalid input
|
|
21
18
|
*
|
|
22
19
|
* @example endOfUnix(1706659200000, "year", { timeZone: "UTC" }) // 1735689599999
|
|
@@ -29,7 +26,26 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
29
26
|
* @example endOfUnix(NaN, "day") // null
|
|
30
27
|
*/
|
|
31
28
|
export declare function endOfUnix(value: number | string, unit: Temporal.DateTimeUnit | Temporal.PluralUnit<Temporal.DateTimeUnit>, options?: {
|
|
29
|
+
/**
|
|
30
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
31
|
+
* plural. Any other value returns `null`. The result is in the same unit.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `"milliseconds"`
|
|
34
|
+
*/
|
|
32
35
|
epochUnit?: UnixUnit;
|
|
36
|
+
/**
|
|
37
|
+
* The time zone the unit boundaries are found in: an IANA name, a UTC offset, or `"local"` for
|
|
38
|
+
* the system time zone. An unknown zone returns `null`.
|
|
39
|
+
*
|
|
40
|
+
* @defaultValue `"UTC"`
|
|
41
|
+
*/
|
|
33
42
|
timeZone?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The first day of the week, which sets where a `"week"` unit starts. `"monday"` is the ISO
|
|
45
|
+
* 8601 week, Monday to Sunday; `"sunday"` runs Sunday to Saturday. Any other value returns
|
|
46
|
+
* null, whatever the unit.
|
|
47
|
+
*
|
|
48
|
+
* @defaultValue `"monday"`
|
|
49
|
+
*/
|
|
34
50
|
weekStartsOn?: "monday" | "sunday";
|
|
35
51
|
}): number | null;
|
|
@@ -10,15 +10,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
10
10
|
* - Returns the last millisecond of the real local `unit` containing `value` in `timeZone` — just before the next bucket `floorToZone` would return — so the result is never before `value`: the second pass of a repeated fall-back hour ends at its own 1:59:59.999.
|
|
11
11
|
* - Takes no `disambiguation` or `offset`: a boundary is always a real instant, as TC39's `startOfDay()`
|
|
12
12
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
13
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null, for every unit.
|
|
14
13
|
* - Returns null for invalid input.
|
|
15
14
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
16
|
-
* - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
|
|
17
|
-
* null.
|
|
18
15
|
*
|
|
19
16
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
20
17
|
* @param unit Temporal.DateUnit | Temporal.TimeUnit to specify the end
|
|
21
|
-
* @param options optional:
|
|
18
|
+
* @param options optional: how `value` is read, the zone the unit is found in and the first day of the week
|
|
22
19
|
* @returns Unix epoch number representing the end of the unit, or null on invalid input
|
|
23
20
|
*
|
|
24
21
|
* @example endOfUnix(1706659200000, "year", { timeZone: "UTC" }) // 1735689599999
|