@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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@northguild/gmt",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Temporal-based date and time utilities with timezone support and polyfill integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"date",
|
|
@@ -35,10 +35,9 @@
|
|
|
35
35
|
"dist",
|
|
36
36
|
"LICENSE",
|
|
37
37
|
"README.md",
|
|
38
|
-
"skills
|
|
39
|
-
"skills/
|
|
40
|
-
"skills/
|
|
41
|
-
"skills/gmt-integration"
|
|
38
|
+
"skills",
|
|
39
|
+
"!skills/_artifacts",
|
|
40
|
+
"!skills/contributor"
|
|
42
41
|
],
|
|
43
42
|
"type": "module",
|
|
44
43
|
"sideEffects": false,
|
|
@@ -55,6 +54,9 @@
|
|
|
55
54
|
"calendar/calculate": [
|
|
56
55
|
"./dist/calendar/calculate/index.d.ts"
|
|
57
56
|
],
|
|
57
|
+
"calendar/hours": [
|
|
58
|
+
"./dist/calendar/hours/index.d.ts"
|
|
59
|
+
],
|
|
58
60
|
"calendar/validate": [
|
|
59
61
|
"./dist/calendar/validate/index.d.ts"
|
|
60
62
|
],
|
|
@@ -85,6 +87,12 @@
|
|
|
85
87
|
"instant/convert": [
|
|
86
88
|
"./dist/instant/convert/index.d.ts"
|
|
87
89
|
],
|
|
90
|
+
"intermodal": [
|
|
91
|
+
"./dist/intermodal/index.d.ts"
|
|
92
|
+
],
|
|
93
|
+
"intermodal/calculate": [
|
|
94
|
+
"./dist/intermodal/calculate/index.d.ts"
|
|
95
|
+
],
|
|
88
96
|
"interval": [
|
|
89
97
|
"./dist/interval/index.d.ts"
|
|
90
98
|
],
|
|
@@ -163,6 +171,18 @@
|
|
|
163
171
|
"span/validate": [
|
|
164
172
|
"./dist/span/validate/index.d.ts"
|
|
165
173
|
],
|
|
174
|
+
"transport": [
|
|
175
|
+
"./dist/transport/index.d.ts"
|
|
176
|
+
],
|
|
177
|
+
"transport/calculate": [
|
|
178
|
+
"./dist/transport/calculate/index.d.ts"
|
|
179
|
+
],
|
|
180
|
+
"transport/compare": [
|
|
181
|
+
"./dist/transport/compare/index.d.ts"
|
|
182
|
+
],
|
|
183
|
+
"transport/convert": [
|
|
184
|
+
"./dist/transport/convert/index.d.ts"
|
|
185
|
+
],
|
|
166
186
|
"types": [
|
|
167
187
|
"./dist/types/index.d.ts"
|
|
168
188
|
],
|
|
@@ -275,6 +295,10 @@
|
|
|
275
295
|
"types": "./dist/calendar/calculate/index.d.ts",
|
|
276
296
|
"default": "./dist/calendar/calculate/index.js"
|
|
277
297
|
},
|
|
298
|
+
"./calendar/hours": {
|
|
299
|
+
"types": "./dist/calendar/hours/index.d.ts",
|
|
300
|
+
"default": "./dist/calendar/hours/index.js"
|
|
301
|
+
},
|
|
278
302
|
"./calendar/validate": {
|
|
279
303
|
"types": "./dist/calendar/validate/index.d.ts",
|
|
280
304
|
"default": "./dist/calendar/validate/index.js"
|
|
@@ -315,6 +339,14 @@
|
|
|
315
339
|
"types": "./dist/instant/convert/index.d.ts",
|
|
316
340
|
"default": "./dist/instant/convert/index.js"
|
|
317
341
|
},
|
|
342
|
+
"./intermodal": {
|
|
343
|
+
"types": "./dist/intermodal/index.d.ts",
|
|
344
|
+
"default": "./dist/intermodal/index.js"
|
|
345
|
+
},
|
|
346
|
+
"./intermodal/calculate": {
|
|
347
|
+
"types": "./dist/intermodal/calculate/index.d.ts",
|
|
348
|
+
"default": "./dist/intermodal/calculate/index.js"
|
|
349
|
+
},
|
|
318
350
|
"./interval": {
|
|
319
351
|
"types": "./dist/interval/index.d.ts",
|
|
320
352
|
"default": "./dist/interval/index.js"
|
|
@@ -419,6 +451,22 @@
|
|
|
419
451
|
"types": "./dist/span/validate/index.d.ts",
|
|
420
452
|
"default": "./dist/span/validate/index.js"
|
|
421
453
|
},
|
|
454
|
+
"./transport": {
|
|
455
|
+
"types": "./dist/transport/index.d.ts",
|
|
456
|
+
"default": "./dist/transport/index.js"
|
|
457
|
+
},
|
|
458
|
+
"./transport/calculate": {
|
|
459
|
+
"types": "./dist/transport/calculate/index.d.ts",
|
|
460
|
+
"default": "./dist/transport/calculate/index.js"
|
|
461
|
+
},
|
|
462
|
+
"./transport/compare": {
|
|
463
|
+
"types": "./dist/transport/compare/index.d.ts",
|
|
464
|
+
"default": "./dist/transport/compare/index.js"
|
|
465
|
+
},
|
|
466
|
+
"./transport/convert": {
|
|
467
|
+
"types": "./dist/transport/convert/index.d.ts",
|
|
468
|
+
"default": "./dist/transport/convert/index.js"
|
|
469
|
+
},
|
|
422
470
|
"./types": {
|
|
423
471
|
"types": "./dist/types/index.d.ts",
|
|
424
472
|
"default": "./dist/types/index.js"
|
|
@@ -24,7 +24,7 @@ sources:
|
|
|
24
24
|
metadata:
|
|
25
25
|
type: core
|
|
26
26
|
library: '@northguild/gmt'
|
|
27
|
-
library_version: '1.
|
|
27
|
+
library_version: '1.18.0'
|
|
28
28
|
---
|
|
29
29
|
|
|
30
30
|
# GMT Basics
|
|
@@ -77,6 +77,15 @@ input before you act on it.
|
|
|
77
77
|
|
|
78
78
|
- `formatRelative*` measure from now when `reference` is omitted, so the output
|
|
79
79
|
changes from day to day. Pass `reference` whenever the result must be deterministic.
|
|
80
|
+
`largestUnit` takes a singular or plural unit name (`"hour"` or `"hours"`) from the
|
|
81
|
+
units the function's values have: `formatRelativeDate` day to year, `formatRelativeTime`
|
|
82
|
+
second to hour, the others second to year. Any other unit returns `""`.
|
|
83
|
+
`roundingMethod` is `"floor"`, `"ceil"` or `"round"`: any other value returns `""`.
|
|
84
|
+
- In a `parse*WithPattern` pattern, `''` is one literal quote, inside or outside
|
|
85
|
+
quoted text (UTS #35): `"MMM d, ''yy"` reads `"Mar 15, '24"`. It is not an empty
|
|
86
|
+
separator. Write adjacent fields with nothing between them, as in `"yyyyMMdd"`.
|
|
87
|
+
- `getZonedNow` reads `smallestUnit` only, and writes milliseconds when it is
|
|
88
|
+
omitted or `undefined`. The string always carries the offset and the zone.
|
|
80
89
|
- `parseDateWithPattern`, `parseRfc2822` and `parseHttp` return `""` on
|
|
81
90
|
shape-valid-but-unreal dates such as 31 February (regex only proves shape;
|
|
82
91
|
Temporal validates the real value). Parsers reject; only arithmetic clamps.
|
|
@@ -17,7 +17,7 @@ sources:
|
|
|
17
17
|
metadata:
|
|
18
18
|
type: composition
|
|
19
19
|
library: '@northguild/gmt'
|
|
20
|
-
library_version: '1.
|
|
20
|
+
library_version: '1.18.0'
|
|
21
21
|
---
|
|
22
22
|
|
|
23
23
|
# GMT Integration
|
|
@@ -48,8 +48,11 @@ which lint package to install for Date-ban enforcement.
|
|
|
48
48
|
`convertUtcToUnix(value, { epochUnit: "seconds" })` rather than
|
|
49
49
|
dividing/multiplying by hand. An `epochUnit` option must be `"seconds"` or
|
|
50
50
|
`"milliseconds"` (singular accepted): any other value returns the sentinel
|
|
51
|
-
instead of being read as milliseconds. `unix/`
|
|
52
|
-
UTC unless you pass `timeZone` (`"local"` for the system zone)
|
|
51
|
+
instead of being read as milliseconds. `unix/` and `utc/` read zone-dependent
|
|
52
|
+
fields in UTC unless you pass `timeZone` (`"local"` for the system zone); that
|
|
53
|
+
holds for the `utc/` readers and converters too, such as `parseHourFromUtc` and
|
|
54
|
+
`convertUtcToPlainDate`. `convertUtcToZoned` and `convertUnixToZoned` take a
|
|
55
|
+
required zone and do not accept `"local"`. A
|
|
53
56
|
blank epoch string is invalid, not `1970`, and `sortUnix`/`minUnix`/`maxUnix`
|
|
54
57
|
skip values that are not integer epochs in Temporal's range.
|
|
55
58
|
4. **Nanoseconds are `bigint`, never `number`.** A `number` is exact only to
|
|
@@ -75,8 +78,10 @@ which lint package to install for Date-ban enforcement.
|
|
|
75
78
|
unsynchronized" marker. Check for `0n` yourself before trusting it as 1900.
|
|
76
79
|
- .NET ticks name an instant only when `DateTimeKind` is `Utc`. `Local` and
|
|
77
80
|
`Unspecified` ticks count wall-clock time.
|
|
78
|
-
- `toNanoseconds` and `isValidInstant` read the offset and
|
|
79
|
-
zone annotation
|
|
81
|
+
- `toNanoseconds` and `isValidInstant` read the offset and do not validate a
|
|
82
|
+
bracketed zone annotation. One thing is read from it: an offset written to the
|
|
83
|
+
minute that is the zone's sub-minute offset rounded (`-00:45[Africa/Monrovia]`)
|
|
84
|
+
names the instant the zone gives.
|
|
80
85
|
6. **Lint packages are toolchain-specific, not mutually exclusive.** Recommend
|
|
81
86
|
only the one matching the project's existing linter; do not force all three.
|
|
82
87
|
7. **Read the READMEs.** This skill is a routing pointer. For full integration
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gmt-timezone
|
|
3
3
|
description: >
|
|
4
|
-
Timezone-aware operations —
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
Timezone-aware operations — zoned now, formatting zoned values/ranges,
|
|
5
|
+
plain↔zoned↔UTC↔Unix conversion, DST disambiguation on construction and
|
|
6
|
+
arithmetic, the instant-plus-offset pair, classifyLocal/resolveLocal, real
|
|
7
|
+
unit boundaries (startOfZoned/endOfZoned/startOfUnix/endOfUnix), hours in a
|
|
8
|
+
local day, floorToZone/bucketRange, calendar-annotated zoned strings, range
|
|
9
|
+
limits, transport legs (transitTime, etaAtZone, dwellTime, crossingTime,
|
|
10
|
+
scheduleDelivery), cut-offs (cutoffAt, cutoffSchedule, isPastCutoff,
|
|
11
|
+
timeToCutoff), planned versus actual (scheduleDeviation, classifyPunctuality,
|
|
12
|
+
punctualityRate, bestAvailable and estimateDrift over PLN/EST/REQ/ACT,
|
|
13
|
+
nextDeparture), intermodal free time (freeTimeExpiry, chargeableDays,
|
|
14
|
+
demurrageClock), billingTimeline, and operating hours (OperatingSchedule,
|
|
15
|
+
recurringWindows, operatingIntervals, isOpenAt, nextOpenAt, nextCloseAt,
|
|
16
|
+
operatingTimeBetween, addOperatingTime), and daylight time
|
|
17
|
+
(isInDaylightSaving, hasDaylightSaving). Points to the README and JSDoc.
|
|
15
18
|
sources:
|
|
16
19
|
- 'northguild/gmt:README.md'
|
|
17
20
|
- 'northguild/gmt:packages/gmt/src/zoned/get/index.ts'
|
|
@@ -30,10 +33,17 @@ sources:
|
|
|
30
33
|
- 'northguild/gmt:packages/gmt/src/instant/convert/index.ts'
|
|
31
34
|
- 'northguild/gmt:packages/gmt/src/calendar/calculate/index.ts'
|
|
32
35
|
- 'northguild/gmt:packages/gmt/src/calendar/validate/index.ts'
|
|
36
|
+
- 'northguild/gmt:packages/gmt/src/calendar/hours/index.ts'
|
|
37
|
+
- 'northguild/gmt:packages/gmt/src/types/operating-schedule.ts'
|
|
38
|
+
- 'northguild/gmt:packages/gmt/src/types/transport-timestamps.ts'
|
|
39
|
+
- 'northguild/gmt:packages/gmt/src/transport/calculate/index.ts'
|
|
40
|
+
- 'northguild/gmt:packages/gmt/src/transport/compare/index.ts'
|
|
41
|
+
- 'northguild/gmt:packages/gmt/src/transport/convert/index.ts'
|
|
42
|
+
- 'northguild/gmt:packages/gmt/src/intermodal/calculate/index.ts'
|
|
33
43
|
metadata:
|
|
34
44
|
type: core
|
|
35
45
|
library: '@northguild/gmt'
|
|
36
|
-
library_version: '1.
|
|
46
|
+
library_version: '1.18.0'
|
|
37
47
|
---
|
|
38
48
|
|
|
39
49
|
# GMT Timezone
|
|
@@ -53,6 +63,16 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
53
63
|
- The user needs the start or end of a local hour, day, week, month or quarter.
|
|
54
64
|
- The user is grouping or aggregating UTC timestamps by local day, hour, week or
|
|
55
65
|
month — an observability rollup, a chargeable-days count.
|
|
66
|
+
- The user is adding a leg's transit time to a departure, showing an arrival in
|
|
67
|
+
the zone where it lands, or counting how long cargo, a vessel or a patient sat
|
|
68
|
+
somewhere in local calendar days.
|
|
69
|
+
- The user is working out when a container's free time ends, how many days of
|
|
70
|
+
demurrage or detention are chargeable and for which dates, or which events a
|
|
71
|
+
charge's clock runs between.
|
|
72
|
+
- The user is asking whether a gate, desk, office or venue is open at an
|
|
73
|
+
instant, when it next opens or closes, how many working hours passed between
|
|
74
|
+
two instants, or when an SLA measured in open hours falls due — or is
|
|
75
|
+
expanding a recurring local window such as a night curfew.
|
|
56
76
|
|
|
57
77
|
## Core rules
|
|
58
78
|
|
|
@@ -164,7 +184,171 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
164
184
|
`formatZonedRange` and `formatZonedToParts` return `""`/`[]` for a
|
|
165
185
|
`timeZone` option. To show an instant in another zone, use
|
|
166
186
|
`formatUtc(convertZonedToUtc(value), locale, { timeZone })`.
|
|
167
|
-
15. **
|
|
187
|
+
15. **Transport legs are exact time; dwell is counted in local days.**
|
|
188
|
+
`transitTime(departure, duration)` adds hours, minutes and seconds as
|
|
189
|
+
elapsed time (`P1D` is 24 exact hours) in the departure's own zone, so a leg
|
|
190
|
+
across a DST transition lands at the wall time the vehicle really arrives;
|
|
191
|
+
years, months and weeks return `""`, and a bracketed zone that contradicts
|
|
192
|
+
its offset is rejected rather than reinterpreted. `etaAtZone(instant, zone)`
|
|
193
|
+
renders a moment in the zone the caller names — no disambiguation arises,
|
|
194
|
+
the offset in the result tells the two passes of a fall-back hour apart, and
|
|
195
|
+
GMT never resolves a port, airport or station code to a zone.
|
|
196
|
+
`dwellTime(entry, exit, targetZone?)` returns `{ duration, enter, exit,
|
|
197
|
+
calendarDays }`; `calendarDays` is the number of distinct local dates the
|
|
198
|
+
half-open `[entry, exit)` touches, walked across the zone's real transitions
|
|
199
|
+
(a skipped date is not counted, a re-entered one only once), and is the
|
|
200
|
+
library's one "local days crossed" count.
|
|
201
|
+
Bare instants with no `targetZone` return `null`: an offset is not a place.
|
|
202
|
+
`crossingTime(entry, exit, targetZone)` returns `{ duration, enter, exit }`
|
|
203
|
+
with no day count (a crossing that needs one is a dwell); `targetZone` is
|
|
204
|
+
required and always the rendering zone — a bracket on the input never
|
|
205
|
+
supplies it.
|
|
206
|
+
`scheduleDelivery(legs, { startTimeZone? })` chains legs into `{ eta,
|
|
207
|
+
legTimes }`: each leg leaves at its explicit `departure` or at the previous
|
|
208
|
+
arrival plus that leg's `dwellAfter`, the minimum connect time. A scheduled
|
|
209
|
+
departure earlier than that is a missed connection and returns `null`
|
|
210
|
+
(equal passes). A departure is exact (instant or zoned string) or a
|
|
211
|
+
zoneless wall time: on the first leg it is read in `startTimeZone`, on a
|
|
212
|
+
later leg in the previous leg's `timeZone` (where that leg leaves from),
|
|
213
|
+
both with `"compatible"` resolution (ambiguous → earlier, skipped →
|
|
214
|
+
later). On a later leg, a repeated hour instead takes the earliest pass
|
|
215
|
+
at or after the previous arrival plus its dwell. A
|
|
216
|
+
negative leg `duration` is `null`; the last leg's `dwellAfter` is echoed,
|
|
217
|
+
never added. `mode`, `origin` and `destination` are opaque tags echoed on
|
|
218
|
+
each `LegTime`. An empty array returns `{ eta: "", legTimes: [] }`.
|
|
219
|
+
16. **Cut-offs count back from the caller's event.**
|
|
220
|
+
`cutoffAt(anchor, offset, { timeZone, atLocalTime?, calendar?, roll? })`
|
|
221
|
+
takes an offset off the anchor (loading, departure or arrival are
|
|
222
|
+
different instants; it never guesses which). With `atLocalTime` the
|
|
223
|
+
offset's exact part comes off the anchor's instant first, its calendar
|
|
224
|
+
part off the local date, and the cut-off is that time of day: `P2D` at
|
|
225
|
+
`"17:00"` is 17:00 two days before, not 48 hours. Without it the offset
|
|
226
|
+
is `ZonedDateTime#subtract` (`P2D` keeps the wall clock, `PT96H` is 96
|
|
227
|
+
exact hours). `calendar` and `roll` go together or not at all — there is
|
|
228
|
+
no default roll, as in `rollDate`; either alone is `""`. A repeated hour
|
|
229
|
+
takes the first pass (RFC 5545 §3.3.5); a skipped hour is `""`. It does
|
|
230
|
+
not check that the cut-off is before the anchor.
|
|
231
|
+
`cutoffSchedule(anchor, [{ name, offset, atLocalTime? }], options)`
|
|
232
|
+
sorts the stack by instant and returns `[]` if any entry fails.
|
|
233
|
+
`isPastCutoff(now, cutoff)` is `true` from the cut-off instant on;
|
|
234
|
+
`timeToCutoff(now, cutoff)` is exact hours, `PT0S` at it, negative after.
|
|
235
|
+
17. **Planned versus actual is exact time under the caller's tolerance.**
|
|
236
|
+
`scheduleDeviation(planned, actual)` is `actual − planned` in exact hours
|
|
237
|
+
(`"PT14M"` late, `"-PT5M"` early; a fall-back delay is `PT1H`, never
|
|
238
|
+
`PT0S`). `classifyPunctuality(planned, actual, { late, early? })` returns
|
|
239
|
+
`"early" | "onTime" | "late"`, or `null` on invalid input: both edges are
|
|
240
|
+
outside (exactly `late` is late), and without `early` every early arrival
|
|
241
|
+
is on time. There is no default tolerance; tolerances are exact durations
|
|
242
|
+
(a day is 24 hours; years, months, weeks or negative return `null`).
|
|
243
|
+
`punctualityRate(pairs, tolerance)` returns `{ onTime, total, rate }`,
|
|
244
|
+
judging every pair under a tolerance read once; an empty list or any
|
|
245
|
+
invalid pair is `null`. A `TimestampEvent` is `{ classifier: "PLN" |
|
|
246
|
+
"EST" | "REQ" | "ACT", at, recordedAt }` (DCSA vocabulary).
|
|
247
|
+
`bestAvailable(events)` returns `{ at, classifier }`: `ACT` whenever one
|
|
248
|
+
exists, else `PLN`, else `REQ`, else `EST`, newest `recordedAt` within the
|
|
249
|
+
class — never an `EST` shown as an actual. `estimateDrift(events, {
|
|
250
|
+
tolerance? })` reports first-to-last `EST` drift, `revisions` and
|
|
251
|
+
`exceedsTolerance` (strictly greater, either direction; `null` without a
|
|
252
|
+
tolerance), and is `null` with fewer than two `EST`s.
|
|
253
|
+
`nextDeparture(after, timetable, { minimumConnection? })` returns the
|
|
254
|
+
first departure at or after `after + minimumConnection`: a list entry
|
|
255
|
+
echoed as written (ready for `scheduleDelivery`'s `departure`), or for
|
|
256
|
+
`{ headway, from, to }` (a GTFS `frequencies.txt` row) `from + k × headway`
|
|
257
|
+
in the half-open `[from, to)`, written the way `from` was. Every moment
|
|
258
|
+
must carry its offset; a wall time without one is `""`.
|
|
259
|
+
18. **Free time is counted in the terminal's local days; the start day and the
|
|
260
|
+
basis are tariff terms, never defaults.**
|
|
261
|
+
`freeTimeExpiry(clockStart, freeDays, { basis, timeZone, firstDay, calendar? })`
|
|
262
|
+
returns `{ freeTimeStart, lastFreeDay, expiresAt }`: local dates in
|
|
263
|
+
`timeZone`, and the first instant of the day after the last free day.
|
|
264
|
+
`firstDay` (`"eventDay"` | `"nextDay"`) has no default because the two
|
|
265
|
+
differ by a day of charges; `basis: "working"` needs a `BusinessCalendar`
|
|
266
|
+
and returns `null` without one. `chargeableDays(clockStart, clockEnd,
|
|
267
|
+
freeDays, options)` also needs `chargeBasis` (no default): many tariffs
|
|
268
|
+
count both in calendar days; where a tariff grants free time in working
|
|
269
|
+
days the days after it are mostly charged as calendar days, and some
|
|
270
|
+
tariffs charge working days only. It counts the days on or after
|
|
271
|
+
`expiresAt` the half-open dwell touched, lists them as `chargedDates`, and
|
|
272
|
+
splits them into `tiers` bands; `freeDays: 0` is allowed there.
|
|
273
|
+
`demurrageClock(events, scope, { direction, startEvent? })` selects the
|
|
274
|
+
events per leg: import demurrage and storage run discharge (or
|
|
275
|
+
availability) to gate-out, detention gate-out to empty return; export
|
|
276
|
+
demurrage gate-in to loaded, detention empty release to gate-in; `combined`
|
|
277
|
+
runs both as one period. No standard fixes how these days are counted;
|
|
278
|
+
every term is the tariff's.
|
|
279
|
+
19. **Billing deadlines are dates counted from an anchor, and every window is
|
|
280
|
+
the caller's.** `billingTimeline({ anchorOn, invoiceIssuedOn?,
|
|
281
|
+
requestReceivedOn? }, { issueDays, disputeDays, resolutionDays,
|
|
282
|
+
agreedResolutionOn? })` returns `{ invoiceDeadline, issuedByDeadline,
|
|
283
|
+
disputeDeadline, requestedByDeadline, resolutionDeadline }`. Day zero is
|
|
284
|
+
the anchor and each deadline is `date + days` on the ISO calendar; a date
|
|
285
|
+
is by the deadline when it is on or before it. No window has a default (a
|
|
286
|
+
missing one returns `null`); fields whose input does not exist yet are
|
|
287
|
+
`null`, so an anchor alone is a forecast. The anchor is whatever date the
|
|
288
|
+
caller counts from: the last charged date
|
|
289
|
+
(`chargedDates.at(-1)`), or for a re-bill the issuance date of the invoice
|
|
290
|
+
received. Reduce an instant to the billing party's local date first with
|
|
291
|
+
`convertUtcToPlainDate(instant, { timeZone })`. A request before its
|
|
292
|
+
invoice, or an agreed date before the request, returns `null`. GMT
|
|
293
|
+
computes dates, not liability.
|
|
294
|
+
20. **Operating hours are local windows resolved in the schedule's zone.** An
|
|
295
|
+
`OperatingSchedule` is `{ timeZone, weekly, holidays?, overrides? }`:
|
|
296
|
+
`weekly` maps ISO weekdays `1`–`7` to half-open `LocalWindow`s
|
|
297
|
+
(`{ from: "09:00", to: "17:00" }`); a `to` at or before `from` wraps past
|
|
298
|
+
midnight and the window belongs to the date it starts on. Holidays are local
|
|
299
|
+
dates (a `BusinessCalendar` is accepted; only its `holidays` are read); an
|
|
300
|
+
override replaces one date's windows, holiday or not. Every edge goes
|
|
301
|
+
through `resolveLocal` with `disambiguation` (default `"compatible"`), so a
|
|
302
|
+
23:00–06:00 window is 8 real hours across New York's fall-back night.
|
|
303
|
+
`recurringWindows(weekly, range, zone)` and `operatingIntervals(schedule,
|
|
304
|
+
range)` return merged open intervals; `isOpenAt`, `nextOpenAt` and
|
|
305
|
+
`nextCloseAt` answer point questions; `operatingTimeBetween(start, end,
|
|
306
|
+
schedule)` is open time elapsed (hours as the largest unit), and
|
|
307
|
+
`addOperatingTime(start, "PT8H", schedule)` is the SLA deadline. Searches
|
|
308
|
+
stop at `within` (default `"P1Y"`) and return `""` past it; `P1D` is not
|
|
309
|
+
open time and returns `""`.
|
|
310
|
+
21. **A zoned string names one instant in every reader.** Temporal writes a
|
|
311
|
+
zone's offset rounded to the minute, so a zone with a sub-minute offset
|
|
312
|
+
(`Africa/Monrovia` stood at −00:44:30 until 1972) is written `-00:45`.
|
|
313
|
+
Every function that reads a moment (`toNanoseconds`, `spanNs`, `Interval`
|
|
314
|
+
endpoints, `floorToZone`, `getTimeZoneOffset`, `scheduleDeviation`,
|
|
315
|
+
`timeToCutoff`, `dwellTime`) reads an offset written to the minute as the
|
|
316
|
+
bracketed zone's real offset when it is that offset rounded (TC39
|
|
317
|
+
`ToTemporalZonedDateTime`, match-minutes):
|
|
318
|
+
`1960-01-01T00:20:00-00:45[Africa/Monrovia]` is `01:04:30Z`. So a zoned
|
|
319
|
+
string GMT wrote reads back as the instant it was written for. Otherwise
|
|
320
|
+
the written offset fixes the instant. A function that reads only the
|
|
321
|
+
instant does not validate the bracket, and the bracket never supplies its
|
|
322
|
+
rendering zone. A function that keeps the zone (`isValidZonedDateTime`,
|
|
323
|
+
`transitTime`, `toOffsetInstant`, every `zoned/` function, a zoned
|
|
324
|
+
`relativeTo`) rejects a bracket that contradicts the offset, and an offset
|
|
325
|
+
written with seconds must be the zone's offset exactly:
|
|
326
|
+
`-00:45:00[Africa/Monrovia]` is invalid, `-00:44:30[Africa/Monrovia]` is
|
|
327
|
+
valid. Two limits are Temporal's own. A wall time repeated inside a
|
|
328
|
+
sub-minute offset change, written to the minute, reads as its first pass
|
|
329
|
+
(`1952-10-15T23:59:59-11:20[Pacific/Niue]`); write the offset with seconds
|
|
330
|
+
to name the second. A zoned read refuses a local date of −271821-04-19,
|
|
331
|
+
which an instant reader accepts; pass that instant in `Z` form.
|
|
332
|
+
22. **Daylight time is read from the zone's clock changes.**
|
|
333
|
+
`isInDaylightSaving(zoned)` and `hasDaylightSaving(timeZone, { at })`
|
|
334
|
+
apply one rule, GMT's own definition and not the tz database's daylight
|
|
335
|
+
flag (no JavaScript API exposes it): daylight time runs from a forward
|
|
336
|
+
change of the zone's clocks to the backward change of the same size that
|
|
337
|
+
undoes it, less than 365 days later. A forward change never undone is a
|
|
338
|
+
change of standard time, so
|
|
339
|
+
`isInDaylightSaving("2016-12-01T12:00:00+03:00[Europe/Istanbul]")` is
|
|
340
|
+
`false`. The higher of two alternating offsets is the daylight one:
|
|
341
|
+
`Europe/Dublin` in summer, `Africa/Casablanca` at `+01:00`.
|
|
342
|
+
`hasDaylightSaving` is `true` when the zone is in daylight time at `at`
|
|
343
|
+
or a daylight period begins less than 365 days after it. Pass `at` (an
|
|
344
|
+
ISO 8601 instant string) for an answer that does not depend on the day
|
|
345
|
+
the code runs: `hasDaylightSaving("Europe/Istanbul", { at:
|
|
346
|
+
"2015-06-15T12:00:00Z" })` is `true`, and with `"2016-06-15T12:00:00Z"`
|
|
347
|
+
it is `false`. Without `at` the reference is the current instant. Both
|
|
348
|
+
read the runtime's time zone data, so an answer can change when that data
|
|
349
|
+
does. The JSDoc of `isInDaylightSaving` lists what the rule reads as
|
|
350
|
+
standard time.
|
|
351
|
+
23. **Read the README.** This skill is a routing pointer. For the full DST
|
|
168
352
|
disambiguation walkthrough, code examples, and locale ICU notes, read the
|
|
169
353
|
installed package's `README.md` and the source JSDoc.
|
|
170
354
|
|
|
@@ -174,7 +358,7 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
174
358
|
- **Formatting**: `formatZonedDateTime`, `formatZonedRange`,
|
|
175
359
|
`formatRelativeZoned`, `formatTimeZoneName`
|
|
176
360
|
- **Validation**: `isValidTimeZone`, `isValidZonedDateTime`,
|
|
177
|
-
`hasDaylightSaving
|
|
361
|
+
`hasDaylightSaving` (`{ at }`), `getDstTransitions`, `isInDaylightSaving`
|
|
178
362
|
- **Conversion**: `convertPlainDateTimeToZoned`, `convertZonedToPlainDateTime`,
|
|
179
363
|
`convertUtcToZoned`, `convertZonedToUtc`, `convertZonedToCalendar`,
|
|
180
364
|
`convertUtcToUnix`, `convertUnixToUtc`
|
|
@@ -190,6 +374,18 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
190
374
|
- **Local-time resolution**: `classifyLocal`, `resolveLocal`
|
|
191
375
|
- **Zone-aware buckets**: `floorToZone`, `bucketRange`,
|
|
192
376
|
`isValidZoneBucketUnit`
|
|
377
|
+
- **Transport legs and dwell**: `transitTime`, `etaAtZone`, `dwellTime`,
|
|
378
|
+
`crossingTime`, `scheduleDelivery`
|
|
379
|
+
- **Cut-offs and deadlines**: `cutoffAt`, `cutoffSchedule`, `isPastCutoff`,
|
|
380
|
+
`timeToCutoff`
|
|
381
|
+
- **Punctuality and timestamp classes**: `scheduleDeviation`,
|
|
382
|
+
`classifyPunctuality`, `punctualityRate`, `bestAvailable`, `estimateDrift`,
|
|
383
|
+
`nextDeparture`
|
|
384
|
+
- **Free time and demurrage**: `freeTimeExpiry`, `chargeableDays`,
|
|
385
|
+
`demurrageClock`
|
|
386
|
+
- **Billing deadlines**: `billingTimeline`
|
|
387
|
+
- **Operating hours**: `recurringWindows`, `operatingIntervals`, `isOpenAt`,
|
|
388
|
+
`nextOpenAt`, `nextCloseAt`, `operatingTimeBetween`, `addOperatingTime`
|
|
193
389
|
|
|
194
390
|
## References
|
|
195
391
|
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve the `timeZone` option a UTC reader uses to read a value's wall-clock fields.
|
|
3
|
-
*
|
|
4
|
-
* - `undefined` (the option omitted) resolves to `"UTC"`.
|
|
5
|
-
* - A valid IANA zone (or `"UTC"`) resolves to itself.
|
|
6
|
-
* - Any other value is invalid and resolves to `null`, which callers map to their sentinel.
|
|
7
|
-
*
|
|
8
|
-
* @param timeZone raw option value from caller input
|
|
9
|
-
* @returns the zone to read in, or `null` when the value is invalid
|
|
10
|
-
*/
|
|
11
|
-
export declare function resolveReadingTimeZone(timeZone: unknown): string | null;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { isValidTimeZone } from "../zoned/validate/isValidTimeZone.js";
|
|
2
|
-
/**
|
|
3
|
-
* Resolve the `timeZone` option a UTC reader uses to read a value's wall-clock fields.
|
|
4
|
-
*
|
|
5
|
-
* - `undefined` (the option omitted) resolves to `"UTC"`.
|
|
6
|
-
* - A valid IANA zone (or `"UTC"`) resolves to itself.
|
|
7
|
-
* - Any other value is invalid and resolves to `null`, which callers map to their sentinel.
|
|
8
|
-
*
|
|
9
|
-
* @param timeZone raw option value from caller input
|
|
10
|
-
* @returns the zone to read in, or `null` when the value is invalid
|
|
11
|
-
*/
|
|
12
|
-
export function resolveReadingTimeZone(timeZone) {
|
|
13
|
-
if (timeZone === undefined || timeZone === "UTC")
|
|
14
|
-
return "UTC";
|
|
15
|
-
return typeof timeZone === "string" && isValidTimeZone(timeZone)
|
|
16
|
-
? timeZone
|
|
17
|
-
: null;
|
|
18
|
-
}
|
|
File without changes
|