@northguild/gmt 1.19.0 → 1.20.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 +12 -12
- package/dist/calendar/business/businessDaysBetween.d.ts +2 -2
- package/dist/calendar/business/businessDaysBetween.js +11 -35
- package/dist/calendar/business/mergeCalendars.d.ts +1 -1
- package/dist/calendar/business/mergeCalendars.js +8 -9
- package/dist/calendar/business/nextBusinessDay.d.ts +2 -2
- package/dist/calendar/business/nextBusinessDay.js +2 -2
- package/dist/calendar/business/previousBusinessDay.d.ts +2 -2
- package/dist/calendar/business/previousBusinessDay.js +2 -2
- package/dist/calendar/business/rollDate.d.ts +3 -3
- package/dist/calendar/business/rollDate.js +10 -43
- package/dist/calendar/calculate/bucketRange.d.ts +9 -9
- package/dist/calendar/calculate/bucketRange.js +9 -9
- package/dist/calendar/calculate/floorToZone.d.ts +2 -2
- package/dist/calendar/calculate/floorToZone.js +1 -1
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +50 -40
- package/dist/calendar/calculate/getFiscalPeriod.js +78 -57
- package/dist/calendar/calculate/getQuarter.d.ts +26 -21
- package/dist/calendar/calculate/getQuarter.js +48 -19
- package/dist/calendar/hours/addOperatingTime.d.ts +3 -3
- package/dist/calendar/hours/addOperatingTime.js +3 -3
- package/dist/calendar/hours/isOpenAt.d.ts +3 -3
- package/dist/calendar/hours/isOpenAt.js +3 -3
- package/dist/calendar/hours/nextCloseAt.d.ts +2 -2
- package/dist/calendar/hours/nextCloseAt.js +2 -2
- package/dist/calendar/hours/nextOpenAt.d.ts +3 -3
- package/dist/calendar/hours/nextOpenAt.js +3 -3
- package/dist/calendar/hours/operatingIntervals.d.ts +2 -2
- package/dist/calendar/hours/operatingIntervals.js +4 -6
- package/dist/calendar/hours/operatingTimeBetween.d.ts +3 -3
- package/dist/calendar/hours/operatingTimeBetween.js +6 -8
- package/dist/calendar/hours/recurringWindows.d.ts +5 -5
- package/dist/calendar/hours/recurringWindows.js +9 -10
- package/dist/calendar/index.d.ts +1 -1
- package/dist/calendar/index.js +2 -2
- package/dist/calendar/validate/index.d.ts +3 -0
- package/dist/calendar/validate/index.js +3 -0
- package/dist/calendar/validate/isValidFiscalCalendar.d.ts +23 -0
- package/dist/calendar/validate/isValidFiscalCalendar.js +44 -0
- package/dist/calendar/validate/isValidFiscalExtraWeek.d.ts +19 -0
- package/dist/calendar/validate/isValidFiscalExtraWeek.js +23 -0
- package/dist/calendar/validate/isValidFiscalPattern.d.ts +7 -7
- package/dist/calendar/validate/isValidFiscalPattern.js +7 -7
- package/dist/calendar/validate/isValidFiscalYearLabel.d.ts +20 -0
- package/dist/calendar/validate/isValidFiscalYearLabel.js +24 -0
- package/dist/calendar/validate/isValidRollConvention.js +2 -10
- package/dist/calendar/validate/isValidZoneBucketUnit.d.ts +1 -1
- package/dist/duration/calculate/absDuration.js +1 -1
- package/dist/duration/calculate/addDuration.js +1 -1
- package/dist/duration/calculate/durationFromUnits.js +1 -1
- package/dist/duration/calculate/getDurationSign.js +1 -1
- package/dist/duration/calculate/getDurationUnit.d.ts +1 -1
- package/dist/duration/calculate/getDurationUnit.js +1 -1
- package/dist/duration/calculate/negateDuration.js +1 -1
- package/dist/duration/calculate/subtractDuration.js +1 -1
- package/dist/duration/calculate/totalDuration.d.ts +4 -4
- package/dist/duration/calculate/totalDuration.js +4 -4
- package/dist/duration/calculate/totalUnits.js +1 -1
- package/dist/duration/compare/compareDurations.d.ts +3 -3
- package/dist/duration/compare/compareDurations.js +3 -3
- package/dist/duration/format/formatDuration.d.ts +9 -9
- package/dist/duration/format/formatDuration.js +14 -13
- package/dist/duration/index.d.ts +1 -1
- package/dist/duration/index.js +2 -2
- package/dist/duration/normalize/normalizeDuration.d.ts +3 -3
- package/dist/duration/normalize/normalizeDuration.js +3 -3
- package/dist/duration/parse/parseDuration.d.ts +1 -1
- package/dist/duration/parse/parseDuration.js +1 -1
- package/dist/duration/validate/isValidDuration.js +2 -11
- package/dist/gnss/convert/gnssToUtc.d.ts +24 -0
- package/dist/gnss/convert/gnssToUtc.js +39 -0
- package/dist/gnss/convert/gnssWeekToUtc.d.ts +53 -0
- package/dist/gnss/convert/gnssWeekToUtc.js +80 -0
- package/dist/gnss/convert/index.d.ts +6 -0
- package/dist/gnss/convert/index.js +6 -0
- package/dist/gnss/convert/rinexWeekToUtc.d.ts +34 -0
- package/dist/gnss/convert/rinexWeekToUtc.js +57 -0
- package/dist/gnss/convert/utcToGnss.d.ts +38 -0
- package/dist/gnss/convert/utcToGnss.js +53 -0
- package/dist/gnss/convert/utcToGnssWeek.d.ts +24 -0
- package/dist/gnss/convert/utcToGnssWeek.js +40 -0
- package/dist/gnss/convert/utcToRinexWeek.d.ts +19 -0
- package/dist/gnss/convert/utcToRinexWeek.js +45 -0
- package/dist/gnss/index.d.ts +2 -0
- package/dist/gnss/index.js +3 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/instant/convert/classifyLocal.d.ts +4 -4
- package/dist/instant/convert/classifyLocal.js +8 -19
- package/dist/instant/convert/fromOffsetInstant.d.ts +4 -4
- package/dist/instant/convert/fromOffsetInstant.js +5 -5
- package/dist/instant/convert/resolveLocal.d.ts +9 -9
- package/dist/instant/convert/resolveLocal.js +9 -9
- package/dist/instant/convert/toOffsetInstant.d.ts +11 -11
- package/dist/instant/convert/toOffsetInstant.js +11 -28
- package/dist/instant/index.d.ts +1 -1
- package/dist/instant/index.js +2 -2
- package/dist/instant/validate/isValidUtcOffset.d.ts +1 -1
- package/dist/instant/validate/isValidUtcOffset.js +1 -1
- package/dist/intermodal/calculate/billingTimeline.js +1 -1
- package/dist/intermodal/calculate/chargeableDays.d.ts +12 -12
- package/dist/intermodal/calculate/chargeableDays.js +17 -16
- package/dist/intermodal/calculate/demurrageClock.d.ts +1 -1
- package/dist/intermodal/calculate/demurrageClock.js +2 -2
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +10 -10
- package/dist/intermodal/calculate/freeTimeExpiry.js +19 -15
- package/dist/intermodal/calculate/multimodalETA.d.ts +1 -1
- package/dist/intermodal/calculate/multimodalETA.js +2 -2
- package/dist/intermodal/format/bolTimestamp.d.ts +6 -6
- package/dist/intermodal/format/bolTimestamp.js +6 -6
- package/dist/intermodal/format/formatEpcisEvent.d.ts +1 -1
- package/dist/intermodal/format/formatEpcisEvent.js +2 -2
- package/dist/intermodal/index.d.ts +1 -1
- package/dist/intermodal/index.js +2 -2
- package/dist/intermodal/parse/parseEpcisEvent.js +1 -1
- package/dist/intermodal/validate/isValidEpcisEventTime.js +1 -1
- package/dist/internal/advanceToWeekday.d.ts +1 -1
- package/dist/internal/businessCalendar.d.ts +28 -12
- package/dist/internal/businessCalendar.js +129 -118
- package/dist/internal/businessDayValues.js +1 -1
- package/dist/internal/calendarDatePairPolicy.d.ts +1 -1
- package/dist/internal/calendarDateString.d.ts +1 -1
- package/dist/internal/calendarDateString.js +1 -1
- package/dist/internal/calendarSystemIds.js +1 -1
- package/dist/internal/calendarValueOfDate.js +1 -1
- package/dist/internal/calendarZonedPairPolicy.d.ts +1 -1
- package/dist/internal/calendarZonedString.d.ts +3 -3
- package/dist/internal/calendarZonedString.js +4 -4
- package/dist/internal/compareUnixEpochs.js +1 -1
- package/dist/internal/cutoffAtResolved.d.ts +62 -0
- package/dist/internal/cutoffAtResolved.js +162 -0
- package/dist/internal/cycleFieldValue.d.ts +0 -2
- package/dist/internal/cycleFieldValue.js +0 -2
- package/dist/internal/dateTimeUnitHelpers.d.ts +1 -1
- package/dist/internal/dateUnitHelpers.d.ts +1 -1
- package/dist/internal/daylightTime.d.ts +1 -1
- package/dist/internal/differenceRecord.d.ts +1 -1
- package/dist/internal/durationUntilString.d.ts +1 -1
- package/dist/internal/durationUntilString.js +1 -1
- package/dist/internal/dutyEngine.d.ts +6 -6
- package/dist/internal/dutyEngine.js +206 -197
- package/dist/internal/dutyPeriods.d.ts +1 -1
- package/dist/internal/dutyPeriods.js +8 -2
- package/dist/internal/dutyRules.d.ts +2 -1
- package/dist/internal/dutyRules.js +1 -1
- package/dist/internal/dutyRunIndex.d.ts +150 -0
- package/dist/internal/dutyRunIndex.js +398 -0
- package/dist/internal/earlierOccurrence.d.ts +41 -0
- package/dist/internal/earlierOccurrence.js +57 -0
- package/dist/internal/ediDateTimeFields.js +1 -1
- package/dist/internal/ediDateTimeWriter.js +1 -1
- package/dist/internal/englishCalendarNames.d.ts +1 -1
- package/dist/internal/epochDay.d.ts +41 -0
- package/dist/internal/epochDay.js +129 -0
- package/dist/internal/exactDuration.js +1 -1
- package/dist/internal/exactMoment.d.ts +4 -4
- package/dist/internal/exactMoment.js +5 -5
- package/dist/internal/fiscalCalendar.d.ts +41 -7
- package/dist/internal/fiscalCalendar.js +77 -9
- package/dist/internal/foreignEpochs.d.ts +5 -0
- package/dist/internal/foreignEpochs.js +5 -0
- package/dist/internal/formatCalendarDays.d.ts +4 -4
- package/dist/internal/formatCalendarDays.js +6 -5
- package/dist/internal/formatDateInCalendar.d.ts +1 -1
- package/dist/internal/formatRelativeDuration.d.ts +7 -7
- package/dist/internal/formatRelativeDuration.js +8 -7
- package/dist/internal/formatterCache.d.ts +40 -0
- package/dist/internal/formatterCache.js +181 -0
- package/dist/internal/freeTimeLedger.d.ts +31 -43
- package/dist/internal/freeTimeLedger.js +322 -30
- package/dist/internal/getLocaleWeekYearBounds.d.ts +1 -1
- package/dist/internal/gnssTimeScales.d.ts +53 -0
- package/dist/internal/gnssTimeScales.js +128 -0
- package/dist/internal/gnssWeek.d.ts +92 -0
- package/dist/internal/gnssWeek.js +212 -0
- package/dist/internal/halfOpenIntervals.d.ts +1 -1
- package/dist/internal/halfOpenIntervals.js +1 -1
- package/dist/internal/hasCalendarAnnotation.d.ts +3 -3
- package/dist/internal/hasCalendarAnnotation.js +3 -3
- package/dist/internal/hourDurationString.js +1 -1
- package/dist/internal/httpDateFields.js +1 -1
- package/dist/internal/index.d.ts +9 -3
- package/dist/internal/index.js +9 -3
- package/dist/internal/inputChecks.d.ts +53 -0
- package/dist/internal/inputChecks.js +132 -0
- package/dist/internal/instantFormatOptions.d.ts +1 -1
- package/dist/internal/instantFormatOptions.js +4 -8
- package/dist/internal/instantIntervalText.js +1 -1
- package/dist/internal/instantNanoseconds.d.ts +2 -2
- package/dist/internal/instantNanoseconds.js +2 -2
- package/dist/internal/intervalCountHelpers.d.ts +1 -1
- package/dist/internal/isoStringBody.d.ts +2 -2
- package/dist/internal/isoStringBody.js +2 -2
- package/dist/internal/joinDateTimeConnector.js +3 -2
- package/dist/internal/leapSeconds.d.ts +63 -0
- package/dist/internal/leapSeconds.js +162 -0
- package/dist/internal/localeWeekInfo.d.ts +1 -1
- package/dist/internal/localeWeekInfo.js +1 -1
- package/dist/internal/monthGridWeekRow.d.ts +1 -1
- package/dist/internal/normalizeDateTime.d.ts +2 -1
- package/dist/internal/normalizeDateTime.js +3 -2
- package/dist/internal/normalizeTimeZone.d.ts +1 -1
- package/dist/internal/normalizeTimeZone.js +1 -1
- package/dist/internal/offsetTimeline.d.ts +56 -0
- package/dist/internal/offsetTimeline.js +166 -0
- package/dist/internal/operatingSchedule.d.ts +28 -32
- package/dist/internal/operatingSchedule.js +538 -176
- package/dist/internal/patternToken.js +10 -7
- package/dist/internal/plainDateAdd.d.ts +1 -1
- package/dist/internal/plainDateAdd.js +1 -1
- package/dist/internal/plainDateUntil.d.ts +1 -1
- package/dist/internal/plainDateUntil.js +1 -1
- package/dist/internal/readSetFields.js +1 -1
- package/dist/internal/resolveDurationRelativeTo.d.ts +1 -1
- package/dist/internal/resolveDurationRelativeTo.js +1 -1
- package/dist/internal/resolveLocale.d.ts +2 -2
- package/dist/internal/resolveLocale.js +2 -2
- package/dist/internal/resolveManualRoundingOptions.d.ts +1 -1
- package/dist/internal/resolveUnixIntervalPair.d.ts +1 -1
- package/dist/internal/rinexWeek.d.ts +22 -0
- package/dist/internal/rinexWeek.js +30 -0
- package/dist/internal/rollBusinessDate.d.ts +15 -0
- package/dist/internal/rollBusinessDate.js +46 -0
- package/dist/internal/splitStep.d.ts +1 -1
- package/dist/internal/splitStep.js +1 -1
- package/dist/internal/startOrEndOfUnix.d.ts +1 -1
- package/dist/internal/startOrEndOfUtc.d.ts +1 -1
- package/dist/internal/startOrEndOfUtc.js +1 -1
- package/dist/internal/startOrEndOfZoned.d.ts +1 -1
- package/dist/internal/temporal.d.ts +5 -0
- package/dist/internal/temporal.js +5 -0
- package/dist/internal/temporalCompat/calendarDateArithmetic.d.ts +1 -1
- package/dist/internal/temporalCompat/calendarDateFromFields.d.ts +1 -1
- package/dist/internal/temporalCompat/calendarDateFromFields.js +1 -1
- package/dist/internal/temporalCompat/calendarFields.d.ts +1 -1
- package/dist/internal/temporalCompat/capabilities.d.ts +27 -5
- package/dist/internal/temporalCompat/capabilities.js +28 -4
- package/dist/internal/temporalCompat/fieldSearch.d.ts +1 -1
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/fixedDay.d.ts +1 -1
- package/dist/internal/temporalCompat/fixedDay.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/largeMonthSpan.js +1 -1
- package/dist/internal/temporalCompat/nonIsoArithmetic.d.ts +1 -1
- package/dist/internal/temporalCompat/nonIsoArithmetic.js +1 -1
- package/dist/internal/temporalCompat/probeRepros.d.ts +35 -0
- package/dist/internal/temporalCompat/probeRepros.js +571 -0
- package/dist/internal/temporalCompat/readArithmeticModel.js +2 -2
- package/dist/internal/temporalCompat/repros.d.ts +3 -10
- package/dist/internal/temporalCompat/repros.js +13 -520
- package/dist/internal/timeScaleString.d.ts +47 -0
- package/dist/internal/timeScaleString.js +86 -0
- package/dist/internal/toInstantFromUtc.d.ts +1 -1
- package/dist/internal/toInstantFromUtc.js +1 -1
- package/dist/internal/unixEpochValue.d.ts +1 -1
- package/dist/internal/unixEpochValue.js +1 -1
- package/dist/internal/unixFormatReference.d.ts +1 -1
- package/dist/internal/unixFormatReference.js +1 -1
- package/dist/internal/unixWallClock.d.ts +1 -1
- package/dist/internal/utcOffsetString.d.ts +16 -0
- package/dist/internal/utcOffsetString.js +31 -1
- package/dist/internal/utcReading.d.ts +59 -0
- package/dist/internal/utcReading.js +113 -0
- package/dist/internal/utcWallClock.d.ts +1 -1
- package/dist/internal/utcWallClock.js +1 -1
- package/dist/internal/validatedZones.d.ts +20 -0
- package/dist/internal/validatedZones.js +33 -0
- package/dist/internal/wallClockAtOffset.d.ts +1 -1
- package/dist/internal/yearWindowStart.js +1 -1
- package/dist/internal/zoneBucketCap.d.ts +1 -1
- package/dist/internal/zoneBucketCap.js +2 -2
- package/dist/internal/zoneFrame.d.ts +4 -4
- package/dist/internal/zoneFrame.js +4 -4
- package/dist/internal/zonedBucket.d.ts +2 -2
- package/dist/internal/zonedBucket.js +92 -21
- package/dist/internal/zonedFormatReference.d.ts +1 -1
- package/dist/internal/zonedFormatReference.js +1 -1
- package/dist/internal/zonedLocalDates.d.ts +1 -1
- package/dist/internal/zonedLocalDates.js +22 -19
- package/dist/internal/zonedNowUnitValue.d.ts +1 -1
- package/dist/internal/zonedNowUnitValue.js +1 -1
- package/dist/internal/zonedTransitionSearch.d.ts +2 -0
- package/dist/internal/zonedTransitionSearch.js +165 -16
- package/dist/internal/zonedWallClock.d.ts +15 -4
- package/dist/internal/zonedWallClock.js +34 -6
- package/dist/internal/zonedWallClockDifference.d.ts +1 -1
- package/dist/internal/zonedWallClockDifference.js +2 -2
- package/dist/internal/zonedWallClockOperations.d.ts +2 -2
- package/dist/internal/zonedWallClockOperations.js +51 -6
- package/dist/internal/zonelessCalendarDate.d.ts +1 -1
- package/dist/internal/zonelessCalendarDate.js +1 -1
- package/dist/interval/index.d.ts +1 -1
- package/dist/interval/index.js +2 -2
- package/dist/plain/calculate/addBusinessDays.d.ts +2 -2
- package/dist/plain/calculate/addBusinessDays.js +2 -2
- package/dist/plain/calculate/addDateTime.js +1 -1
- package/dist/plain/calculate/addTime.js +1 -1
- package/dist/plain/calculate/clampDate.js +1 -1
- package/dist/plain/calculate/closestDateTo.js +1 -1
- package/dist/plain/calculate/cycleDate.js +1 -1
- package/dist/plain/calculate/cycleDateTime.js +1 -1
- package/dist/plain/calculate/cycleTime.js +1 -1
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +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 +1 -1
- package/dist/plain/calculate/endOfDate.js +1 -1
- package/dist/plain/calculate/endOfDateTime.d.ts +1 -1
- package/dist/plain/calculate/endOfDateTime.js +1 -1
- package/dist/plain/calculate/endOfQuarterForDate.js +1 -1
- package/dist/plain/calculate/endOfQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/endOfTime.d.ts +1 -1
- package/dist/plain/calculate/endOfTime.js +1 -1
- package/dist/plain/calculate/getDayOfYear.js +1 -1
- package/dist/plain/calculate/getDaysInMonth.js +1 -1
- package/dist/plain/calculate/getDaysInYear.js +1 -1
- package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +6 -6
- package/dist/plain/calculate/getLocaleDayOfWeek.js +7 -7
- package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +4 -4
- package/dist/plain/calculate/getLocaleEndOfWeek.js +5 -5
- package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +5 -5
- package/dist/plain/calculate/getLocaleStartOfWeek.js +6 -6
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +10 -10
- package/dist/plain/calculate/getLocaleWeekYear.js +11 -11
- package/dist/plain/calculate/getQuarterForDate.js +1 -1
- package/dist/plain/calculate/getQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/getWeekNumber.js +1 -1
- package/dist/plain/calculate/getWeekOfMonth.d.ts +10 -14
- package/dist/plain/calculate/getWeekOfMonth.js +11 -15
- package/dist/plain/calculate/getWeekYear.js +1 -1
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +7 -7
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +8 -8
- package/dist/plain/calculate/getWeeksInMonth.d.ts +8 -11
- package/dist/plain/calculate/getWeeksInMonth.js +9 -12
- package/dist/plain/calculate/getWeeksInYear.js +1 -1
- package/dist/plain/calculate/maxDate.js +1 -1
- package/dist/plain/calculate/maxDateTime.js +1 -1
- package/dist/plain/calculate/maxTime.js +1 -1
- package/dist/plain/calculate/minDate.js +1 -1
- package/dist/plain/calculate/minDateTime.js +1 -1
- package/dist/plain/calculate/minTime.js +1 -1
- package/dist/plain/calculate/nextWeekday.d.ts +14 -12
- package/dist/plain/calculate/nextWeekday.js +15 -13
- package/dist/plain/calculate/previousWeekday.d.ts +14 -12
- package/dist/plain/calculate/previousWeekday.js +15 -13
- package/dist/plain/calculate/roundDate.d.ts +1 -1
- package/dist/plain/calculate/roundDate.js +1 -1
- package/dist/plain/calculate/roundDateTime.d.ts +1 -1
- package/dist/plain/calculate/roundDateTime.js +1 -1
- package/dist/plain/calculate/roundTime.d.ts +1 -1
- package/dist/plain/calculate/roundTime.js +1 -1
- package/dist/plain/calculate/setDate.d.ts +1 -1
- package/dist/plain/calculate/setDate.js +1 -1
- package/dist/plain/calculate/setDateTime.d.ts +1 -1
- package/dist/plain/calculate/setDateTime.js +1 -1
- package/dist/plain/calculate/setTime.d.ts +1 -1
- package/dist/plain/calculate/setTime.js +1 -1
- package/dist/plain/calculate/sortDateTimes.js +1 -1
- package/dist/plain/calculate/sortDates.js +1 -1
- package/dist/plain/calculate/sortTimes.js +1 -1
- package/dist/plain/calculate/startOfDate.d.ts +1 -1
- package/dist/plain/calculate/startOfDate.js +1 -1
- package/dist/plain/calculate/startOfDateTime.d.ts +1 -1
- package/dist/plain/calculate/startOfDateTime.js +1 -1
- package/dist/plain/calculate/startOfQuarterForDate.js +1 -1
- package/dist/plain/calculate/startOfQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/startOfTime.d.ts +1 -1
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractBusinessDays.d.ts +2 -2
- package/dist/plain/calculate/subtractBusinessDays.js +2 -2
- package/dist/plain/calculate/subtractDate.js +1 -1
- package/dist/plain/calculate/subtractDateTime.js +1 -1
- package/dist/plain/calculate/subtractTime.js +1 -1
- package/dist/plain/calculate/weekOfYearForDate.js +1 -1
- package/dist/plain/calculate/weekOfYearForDateTime.js +1 -1
- package/dist/plain/chop/chopDate.js +1 -1
- package/dist/plain/chop/chopMilliseconds.js +1 -1
- package/dist/plain/chop/chopSeconds.js +1 -1
- package/dist/plain/chop/chopTime.js +1 -1
- package/dist/plain/compare/areDateTimesEqual.js +1 -1
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +2 -4
- package/dist/plain/compare/areDateTimesEqualBy.js +2 -4
- package/dist/plain/compare/areDatesEqual.js +1 -1
- package/dist/plain/compare/areDatesEqualBy.d.ts +5 -5
- package/dist/plain/compare/areDatesEqualBy.js +5 -5
- package/dist/plain/compare/areTimesEqual.js +1 -1
- package/dist/plain/compare/isAfterDate.js +1 -1
- package/dist/plain/compare/isAfterDateTime.js +1 -1
- package/dist/plain/compare/isAfterTime.js +1 -1
- package/dist/plain/compare/isBeforeDate.js +1 -1
- package/dist/plain/compare/isBeforeDateTime.js +1 -1
- package/dist/plain/compare/isBeforeTime.js +1 -1
- package/dist/plain/compare/isBetweenDate.js +1 -1
- package/dist/plain/compare/isBetweenDateTime.js +1 -1
- package/dist/plain/compare/isBetweenTime.js +1 -1
- package/dist/plain/compare/isBusinessDay.d.ts +2 -2
- package/dist/plain/compare/isBusinessDay.js +3 -3
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +8 -6
- package/dist/plain/compare/isThisUnit.js +7 -5
- package/dist/plain/compare/isWeekend.d.ts +5 -5
- package/dist/plain/compare/isWeekend.js +6 -6
- package/dist/plain/format/formatCalendar.d.ts +3 -5
- package/dist/plain/format/formatCalendar.js +10 -9
- package/dist/plain/format/formatDate.d.ts +4 -4
- package/dist/plain/format/formatDate.js +8 -7
- package/dist/plain/format/formatDateRange.d.ts +4 -4
- package/dist/plain/format/formatDateRange.js +8 -7
- package/dist/plain/format/formatDateTime.d.ts +4 -4
- package/dist/plain/format/formatDateTime.js +8 -7
- package/dist/plain/format/formatDateTimeRange.d.ts +4 -4
- package/dist/plain/format/formatDateTimeRange.js +8 -7
- package/dist/plain/format/formatDateTimeToParts.d.ts +6 -6
- package/dist/plain/format/formatDateTimeToParts.js +10 -9
- package/dist/plain/format/formatDateToParts.d.ts +6 -6
- package/dist/plain/format/formatDateToParts.js +10 -9
- package/dist/plain/format/formatRelativeDate.d.ts +3 -3
- package/dist/plain/format/formatRelativeDate.js +4 -4
- package/dist/plain/format/formatRelativeDateTime.d.ts +3 -3
- package/dist/plain/format/formatRelativeDateTime.js +4 -4
- package/dist/plain/format/formatRelativeTime.d.ts +3 -3
- package/dist/plain/format/formatRelativeTime.js +4 -4
- package/dist/plain/format/formatSqlDateTime.js +1 -1
- package/dist/plain/format/formatTime.d.ts +4 -4
- package/dist/plain/format/formatTime.js +8 -7
- package/dist/plain/get/getDay.js +1 -1
- package/dist/plain/get/getDayOfWeek.js +1 -1
- package/dist/plain/get/getHour.js +1 -1
- package/dist/plain/get/getMicrosecond.js +1 -1
- package/dist/plain/get/getMillisecond.js +1 -1
- package/dist/plain/get/getMinute.js +1 -1
- package/dist/plain/get/getMonth.js +1 -1
- package/dist/plain/get/getNanosecond.js +1 -1
- package/dist/plain/get/getNow.js +1 -1
- package/dist/plain/get/getNowUnit.js +1 -1
- package/dist/plain/get/getSecond.js +1 -1
- package/dist/plain/get/getToday.js +1 -1
- package/dist/plain/get/getWeekOfYear.js +1 -1
- package/dist/plain/get/getYear.js +1 -1
- package/dist/plain/index.d.ts +1 -1
- package/dist/plain/index.js +2 -2
- package/dist/plain/interval/intervalAbutsDate.d.ts +1 -2
- package/dist/plain/interval/intervalAbutsDate.js +2 -3
- package/dist/plain/interval/intervalAbutsDateTime.js +1 -1
- package/dist/plain/interval/intervalAbutsTime.js +1 -1
- package/dist/plain/interval/intervalContainsDate.d.ts +1 -1
- package/dist/plain/interval/intervalContainsDate.js +2 -2
- package/dist/plain/interval/intervalContainsDateTime.js +1 -1
- package/dist/plain/interval/intervalContainsTime.js +1 -1
- package/dist/plain/interval/intervalCountDate.js +1 -1
- package/dist/plain/interval/intervalCountDateTime.js +1 -1
- package/dist/plain/interval/intervalCountTime.js +1 -1
- package/dist/plain/interval/intervalDifferenceDate.d.ts +1 -1
- package/dist/plain/interval/intervalDifferenceDate.js +2 -2
- package/dist/plain/interval/intervalDifferenceDateTime.js +1 -1
- package/dist/plain/interval/intervalDifferenceTime.js +1 -1
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +3 -3
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -3
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +1 -1
- package/dist/plain/interval/intervalDivideEquallyTime.js +1 -1
- package/dist/plain/interval/intervalEngulfsDate.d.ts +1 -1
- package/dist/plain/interval/intervalEngulfsDate.js +2 -2
- package/dist/plain/interval/intervalEngulfsDateTime.js +1 -1
- package/dist/plain/interval/intervalEngulfsTime.js +1 -1
- package/dist/plain/interval/intervalFromDurationDate.js +1 -1
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -1
- package/dist/plain/interval/intervalFromDurationTime.js +1 -1
- package/dist/plain/interval/intervalIntersectionDate.d.ts +1 -1
- package/dist/plain/interval/intervalIntersectionDate.js +2 -2
- package/dist/plain/interval/intervalIntersectionDateTime.js +1 -1
- package/dist/plain/interval/intervalIntersectionTime.js +1 -1
- package/dist/plain/interval/intervalLengthDateTime.js +1 -1
- package/dist/plain/interval/intervalLengthTime.js +1 -1
- package/dist/plain/interval/intervalOverlappingDaysDate.js +1 -1
- package/dist/plain/interval/intervalOverlappingDaysDateTime.js +1 -1
- package/dist/plain/interval/intervalSplitAtDate.d.ts +1 -1
- package/dist/plain/interval/intervalSplitAtDate.js +2 -2
- package/dist/plain/interval/intervalSplitAtDateTime.js +1 -1
- package/dist/plain/interval/intervalSplitAtTime.js +1 -1
- package/dist/plain/interval/intervalUnionDate.d.ts +2 -2
- package/dist/plain/interval/intervalUnionDate.js +3 -3
- package/dist/plain/interval/intervalUnionDateTime.js +1 -1
- package/dist/plain/interval/intervalUnionTime.js +1 -1
- package/dist/plain/interval/intervalXorAllDate.d.ts +1 -1
- package/dist/plain/interval/intervalXorAllDate.js +2 -2
- package/dist/plain/interval/intervalXorAllDateTime.js +1 -1
- package/dist/plain/interval/intervalXorAllTime.js +1 -1
- package/dist/plain/interval/intervalXorDate.d.ts +1 -1
- package/dist/plain/interval/intervalXorDate.js +2 -2
- package/dist/plain/interval/intervalXorDateTime.js +1 -1
- package/dist/plain/interval/intervalXorTime.js +1 -1
- package/dist/plain/interval/intervalsOverlapDate.d.ts +1 -1
- package/dist/plain/interval/intervalsOverlapDate.js +2 -2
- package/dist/plain/interval/intervalsOverlapDateTime.js +1 -1
- package/dist/plain/interval/intervalsOverlapTime.js +1 -1
- package/dist/plain/interval/mergeIntervalsDate.d.ts +1 -1
- package/dist/plain/interval/mergeIntervalsDate.js +2 -2
- package/dist/plain/interval/mergeIntervalsDateTime.js +1 -1
- package/dist/plain/interval/mergeIntervalsTime.js +1 -1
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +2 -3
- package/dist/plain/interval/splitIntervalByUnitDate.js +3 -4
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +2 -1
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +3 -2
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -1
- package/dist/plain/interval/validate/isValidDateInterval.d.ts +1 -1
- package/dist/plain/interval/validate/isValidDateInterval.js +2 -2
- package/dist/plain/interval/validate/isValidDateTimeInterval.js +1 -1
- package/dist/plain/interval/validate/isValidTimeInterval.js +1 -1
- package/dist/plain/locale/getLocaleEraNames.d.ts +6 -6
- package/dist/plain/locale/getLocaleEraNames.js +8 -7
- package/dist/plain/locale/getLocaleMeridiems.d.ts +5 -5
- package/dist/plain/locale/getLocaleMeridiems.js +7 -6
- package/dist/plain/locale/getLocaleMonthNames.d.ts +6 -6
- package/dist/plain/locale/getLocaleMonthNames.js +17 -11
- package/dist/plain/locale/getLocaleWeekdayNames.d.ts +3 -3
- package/dist/plain/locale/getLocaleWeekdayNames.js +12 -5
- package/dist/plain/map/mapDatesInRange.js +1 -1
- package/dist/plain/map/mapDaysInMonth.js +1 -1
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +14 -13
- package/dist/plain/parse/parseDateTimeWithPattern.js +15 -14
- package/dist/plain/parse/parseDateWithPattern.d.ts +18 -17
- package/dist/plain/parse/parseDateWithPattern.js +19 -18
- package/dist/plain/parse/parseDayFromDate.js +1 -1
- package/dist/plain/parse/parseDayFromDateTime.js +1 -1
- package/dist/plain/parse/parseDayOfWeekFromDate.js +1 -1
- package/dist/plain/parse/parseDayOfWeekFromDateTime.js +1 -1
- package/dist/plain/parse/parseHourFromDateTime.js +1 -1
- package/dist/plain/parse/parseHourFromTime.js +1 -1
- package/dist/plain/parse/parseMicrosecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseMicrosecondFromTime.js +1 -1
- package/dist/plain/parse/parseMillisecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseMillisecondFromTime.js +1 -1
- package/dist/plain/parse/parseMinuteFromDateTime.js +1 -1
- package/dist/plain/parse/parseMinuteFromTime.js +1 -1
- package/dist/plain/parse/parseMonthFromDate.js +1 -1
- package/dist/plain/parse/parseMonthFromDateTime.js +1 -1
- package/dist/plain/parse/parseNanosecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseNanosecondFromTime.js +1 -1
- package/dist/plain/parse/parseSecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseSecondFromTime.js +1 -1
- package/dist/plain/parse/parseSqlDateTime.js +1 -1
- package/dist/plain/parse/parseTimeWithPattern.d.ts +6 -4
- package/dist/plain/parse/parseTimeWithPattern.js +7 -5
- package/dist/plain/parse/parseUnitFromDate.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromDate.js +1 -1
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromDateTime.js +1 -1
- package/dist/plain/parse/parseUnitFromTime.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromTime.js +1 -1
- package/dist/plain/parse/parseWeekFromDateTime.js +1 -1
- package/dist/plain/parse/parseYearFromDate.js +1 -1
- package/dist/plain/parse/parseYearFromDateTime.js +1 -1
- package/dist/plain/validate/{isLeapSecond.d.ts → hasSecond60.d.ts} +16 -14
- package/dist/plain/validate/{isLeapSecond.js → hasSecond60.js} +16 -14
- package/dist/plain/validate/index.d.ts +1 -1
- package/dist/plain/validate/index.js +1 -1
- package/dist/plain/validate/isLeapYear.js +1 -1
- package/dist/plain/validate/isValidDate.js +2 -17
- package/dist/plain/validate/isValidDateRange.js +1 -1
- package/dist/plain/validate/isValidDateTime.d.ts +1 -1
- package/dist/plain/validate/isValidDateTime.js +4 -4
- package/dist/plain/validate/isValidDateTimeRange.js +1 -1
- package/dist/plain/validate/isValidIsoDateLike.js +3 -3
- package/dist/plain/validate/isValidTime.js +2 -18
- package/dist/plain/validate/isValidTimeRange.js +1 -1
- package/dist/precision/convert/fromNanoseconds.d.ts +2 -2
- package/dist/precision/convert/fromNanoseconds.js +3 -3
- package/dist/precision/convert/toNanoseconds.d.ts +2 -2
- package/dist/precision/convert/toNanoseconds.js +2 -2
- package/dist/precision/index.d.ts +1 -1
- package/dist/precision/index.js +2 -2
- package/dist/precision/validate/isValidInstant.d.ts +1 -1
- package/dist/precision/validate/isValidInstant.js +1 -1
- package/dist/regex/calendar-zoned-date-time.d.ts +4 -4
- package/dist/regex/calendar-zoned-date-time.js +4 -4
- package/dist/regex/index.d.ts +1 -1
- package/dist/regex/index.js +2 -2
- package/dist/regex/leap-second.d.ts +1 -1
- package/dist/regex/leap-second.js +1 -1
- package/dist/regex/time-zone-like.d.ts +2 -2
- package/dist/regex/time-zone-like.js +2 -2
- package/dist/span/calculate/spanMs.d.ts +4 -3
- package/dist/span/calculate/spanMs.js +4 -3
- package/dist/span/calculate/spanNs.d.ts +4 -3
- package/dist/span/calculate/spanNs.js +4 -3
- package/dist/span/calculate/spanWallClock.d.ts +12 -12
- package/dist/span/calculate/spanWallClock.js +13 -13
- package/dist/span/index.d.ts +1 -1
- package/dist/span/index.js +2 -2
- package/dist/span/validate/isValidSpan.d.ts +3 -3
- package/dist/span/validate/isValidSpan.js +3 -3
- package/dist/timescale/calculate/index.d.ts +3 -0
- package/dist/timescale/calculate/index.js +3 -0
- package/dist/timescale/calculate/leapSecondsBetween.d.ts +26 -0
- package/dist/timescale/calculate/leapSecondsBetween.js +62 -0
- package/dist/timescale/calculate/nextLeapSecond.d.ts +18 -0
- package/dist/timescale/calculate/nextLeapSecond.js +33 -0
- package/dist/timescale/calculate/taiMinusUtc.d.ts +21 -0
- package/dist/timescale/calculate/taiMinusUtc.js +38 -0
- package/dist/timescale/convert/fromTAI.d.ts +22 -0
- package/dist/timescale/convert/fromTAI.js +35 -0
- package/dist/timescale/convert/index.d.ts +2 -0
- package/dist/timescale/convert/index.js +2 -0
- package/dist/timescale/convert/toTAI.d.ts +23 -0
- package/dist/timescale/convert/toTAI.js +39 -0
- package/dist/timescale/index.d.ts +4 -0
- package/dist/timescale/index.js +5 -0
- package/dist/timescale/validate/index.d.ts +1 -0
- package/dist/timescale/validate/index.js +1 -0
- package/dist/timescale/validate/isLeapSecond.d.ts +25 -0
- package/dist/timescale/validate/isLeapSecond.js +36 -0
- package/dist/transport/calculate/crossingTime.d.ts +2 -2
- package/dist/transport/calculate/crossingTime.js +3 -3
- package/dist/transport/calculate/cutoffAt.d.ts +4 -4
- package/dist/transport/calculate/cutoffAt.js +24 -133
- package/dist/transport/calculate/cutoffSchedule.d.ts +2 -2
- package/dist/transport/calculate/cutoffSchedule.js +52 -20
- package/dist/transport/calculate/dwellTime.d.ts +3 -3
- package/dist/transport/calculate/dwellTime.js +4 -4
- package/dist/transport/calculate/estimateDrift.d.ts +1 -1
- package/dist/transport/calculate/estimateDrift.js +1 -1
- package/dist/transport/calculate/nextDeparture.d.ts +2 -2
- package/dist/transport/calculate/nextDeparture.js +2 -2
- package/dist/transport/calculate/scheduleDelivery.d.ts +2 -2
- package/dist/transport/calculate/scheduleDelivery.js +3 -3
- package/dist/transport/calculate/transitTime.d.ts +11 -11
- package/dist/transport/calculate/transitTime.js +11 -11
- package/dist/transport/compare/classifyPunctuality.d.ts +1 -1
- package/dist/transport/compare/classifyPunctuality.js +1 -1
- package/dist/transport/compare/isPastCutoff.d.ts +1 -1
- package/dist/transport/compare/isPastCutoff.js +2 -2
- package/dist/transport/compare/scheduleDeviation.d.ts +1 -1
- package/dist/transport/compare/scheduleDeviation.js +1 -1
- package/dist/transport/compare/timeToCutoff.d.ts +1 -1
- package/dist/transport/compare/timeToCutoff.js +1 -1
- package/dist/transport/convert/etaAtZone.d.ts +2 -2
- package/dist/transport/convert/etaAtZone.js +2 -2
- package/dist/transport/index.d.ts +1 -1
- package/dist/transport/index.js +2 -2
- package/dist/types/date-duration-unit.d.ts +1 -1
- package/dist/types/date-time-duration-units.d.ts +1 -1
- package/dist/types/date-time-unit.d.ts +1 -1
- package/dist/types/date-unit.d.ts +1 -1
- package/dist/types/disambiguation.d.ts +1 -1
- package/dist/types/duration-relative-to.d.ts +1 -1
- package/dist/types/duration-string-options.d.ts +1 -1
- package/dist/types/exact-duration-unit.d.ts +1 -1
- package/dist/types/fiscal-calendar.d.ts +40 -4
- package/dist/types/gnss.d.ts +51 -0
- package/dist/types/gnss.js +0 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/now-unit.d.ts +1 -1
- package/dist/types/offset.d.ts +1 -1
- package/dist/types/overflow.d.ts +1 -1
- package/dist/types/rounding-options.d.ts +1 -1
- package/dist/types/stored-zoned-classification.d.ts +83 -0
- package/dist/types/stored-zoned-classification.js +0 -0
- package/dist/types/time-duration-unit.d.ts +1 -1
- package/dist/types/time-unit.d.ts +1 -1
- package/dist/types/utc-now-unit.d.ts +1 -1
- package/dist/unix/calculate/diffUnix.d.ts +1 -1
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +1 -1
- package/dist/unix/calculate/endOfUnix.d.ts +2 -2
- package/dist/unix/calculate/endOfUnix.js +1 -1
- package/dist/unix/calculate/isBetweenUnix.js +1 -1
- package/dist/unix/calculate/roundUnix.d.ts +7 -5
- package/dist/unix/calculate/roundUnix.js +6 -4
- package/dist/unix/calculate/setUnix.d.ts +3 -3
- package/dist/unix/calculate/setUnix.js +2 -2
- package/dist/unix/calculate/startOfUnix.d.ts +2 -2
- package/dist/unix/calculate/startOfUnix.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +6 -6
- package/dist/unix/compare/areUnixEqualBy.js +5 -5
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +1 -1
- package/dist/unix/convert/convertUnixToPlainTime.js +1 -1
- package/dist/unix/convert/convertUnixToZoned.d.ts +1 -1
- package/dist/unix/convert/convertUnixToZoned.js +1 -1
- package/dist/unix/format/formatCalendarUnix.d.ts +10 -9
- package/dist/unix/format/formatCalendarUnix.js +6 -6
- package/dist/unix/format/formatRelativeUnix.d.ts +7 -7
- package/dist/unix/format/formatRelativeUnix.js +7 -7
- package/dist/unix/format/formatUnix.d.ts +9 -9
- package/dist/unix/format/formatUnix.js +9 -9
- package/dist/unix/get/getUnixDay.js +1 -1
- package/dist/unix/get/getUnixHour.js +1 -1
- package/dist/unix/get/getUnixMicrosecond.js +1 -1
- package/dist/unix/get/getUnixMillisecond.js +1 -1
- package/dist/unix/get/getUnixMinute.js +1 -1
- package/dist/unix/get/getUnixMonth.js +1 -1
- package/dist/unix/get/getUnixNanosecond.js +1 -1
- package/dist/unix/get/getUnixNow.js +1 -1
- package/dist/unix/get/getUnixNowUnit.d.ts +1 -1
- package/dist/unix/get/getUnixNowUnit.js +1 -1
- package/dist/unix/get/getUnixSecond.js +1 -1
- package/dist/unix/get/getUnixYear.js +1 -1
- package/dist/unix/index.d.ts +1 -1
- package/dist/unix/index.js +2 -2
- package/dist/unix/interval/intervalFromDurationUnix.js +1 -1
- package/dist/unix/interval/intervalLengthUnix.d.ts +2 -2
- package/dist/unix/interval/intervalLengthUnix.js +2 -2
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +3 -2
- package/dist/unix/interval/splitIntervalByUnitUnix.js +4 -3
- package/dist/unix/parse/parseUnitFromUnix.d.ts +1 -1
- package/dist/utc/calculate/addUtc.js +1 -1
- 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/endOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +1 -1
- package/dist/utc/calculate/isBetweenUtc.js +1 -1
- package/dist/utc/calculate/maxUtc.js +1 -1
- package/dist/utc/calculate/minUtc.js +1 -1
- package/dist/utc/calculate/roundUtc.d.ts +1 -1
- package/dist/utc/calculate/roundUtc.js +1 -1
- package/dist/utc/calculate/setUtc.d.ts +1 -1
- package/dist/utc/calculate/setUtc.js +1 -1
- package/dist/utc/calculate/sortUtc.js +1 -1
- package/dist/utc/calculate/startOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/startOfUtc.d.ts +1 -1
- package/dist/utc/calculate/subtractUtc.js +1 -1
- package/dist/utc/compare/areUtcEqual.js +1 -1
- package/dist/utc/compare/areUtcEqualBy.d.ts +2 -2
- package/dist/utc/compare/areUtcEqualBy.js +2 -2
- package/dist/utc/compare/isAfterUtc.js +1 -1
- package/dist/utc/compare/isBeforeUtc.js +1 -1
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +1 -1
- package/dist/utc/convert/convertUtcToPlainDate.js +2 -2
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +1 -1
- package/dist/utc/convert/convertUtcToPlainDateTime.js +2 -2
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +1 -1
- package/dist/utc/convert/convertUtcToPlainTime.js +2 -2
- package/dist/utc/convert/convertUtcToUnix.js +1 -1
- package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
- package/dist/utc/convert/convertUtcToZoned.js +2 -2
- package/dist/utc/format/formatCalendarUtc.d.ts +6 -5
- package/dist/utc/format/formatCalendarUtc.js +3 -3
- package/dist/utc/format/formatHttpDate.js +1 -1
- package/dist/utc/format/formatRelativeUtc.d.ts +5 -5
- package/dist/utc/format/formatRelativeUtc.js +5 -5
- package/dist/utc/format/formatUtc.d.ts +8 -8
- package/dist/utc/format/formatUtc.js +8 -8
- package/dist/utc/get/getUtcDay.js +1 -1
- package/dist/utc/get/getUtcHour.js +1 -1
- package/dist/utc/get/getUtcMicrosecond.js +1 -1
- package/dist/utc/get/getUtcMillisecond.js +1 -1
- package/dist/utc/get/getUtcMinute.js +1 -1
- package/dist/utc/get/getUtcMonth.js +1 -1
- package/dist/utc/get/getUtcNanosecond.js +1 -1
- package/dist/utc/get/getUtcNow.js +1 -1
- package/dist/utc/get/getUtcNowUnit.js +1 -1
- package/dist/utc/get/getUtcSecond.js +1 -1
- package/dist/utc/get/getUtcYear.js +1 -1
- package/dist/utc/index.d.ts +1 -1
- package/dist/utc/index.js +2 -2
- package/dist/utc/interval/intervalAbutsUtc.js +1 -1
- package/dist/utc/interval/intervalContainsUtc.js +1 -1
- package/dist/utc/interval/intervalCountUtc.js +1 -1
- package/dist/utc/interval/intervalDivideEquallyUtc.js +1 -1
- package/dist/utc/interval/intervalEngulfsUtc.js +1 -1
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -1
- package/dist/utc/interval/intervalLengthUtc.js +1 -1
- package/dist/utc/interval/intervalOverlappingDaysUtc.js +1 -1
- package/dist/utc/interval/intervalSplitAtUtc.js +1 -1
- package/dist/utc/interval/intervalXorAllUtc.js +1 -1
- package/dist/utc/interval/intervalXorUtc.js +1 -1
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +2 -1
- package/dist/utc/interval/splitIntervalByUnitUtc.js +3 -2
- package/dist/utc/interval/validate/isValidUtcInterval.js +1 -1
- package/dist/utc/parse/parseDateFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseDateFromUtc.js +1 -1
- package/dist/utc/parse/parseDayFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseDayFromUtc.js +1 -1
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +2 -2
- package/dist/utc/parse/parseHourFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseHourFromUtc.js +1 -1
- package/dist/utc/parse/parseHttpDate.js +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -1
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseMillisecondFromUtc.js +1 -1
- package/dist/utc/parse/parseMonthFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseMonthFromUtc.js +1 -1
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseNanosecondFromUtc.js +1 -1
- package/dist/utc/parse/parseSecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseSecondFromUtc.js +1 -1
- package/dist/utc/parse/parseTimeFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseTimeFromUtc.js +2 -2
- package/dist/utc/parse/parseUnitFromUtc.d.ts +2 -2
- package/dist/utc/parse/parseUnitFromUtc.js +2 -2
- package/dist/utc/parse/parseWeekFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseWeekFromUtc.js +2 -2
- package/dist/utc/parse/parseYearFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseYearFromUtc.js +1 -1
- package/dist/utc/validate/isValidUtc.js +3 -3
- package/dist/utc/validate/isValidUtcRange.js +1 -1
- package/dist/{duty → workforce}/calculate/dutyDayFor.js +1 -1
- package/dist/{duty → workforce}/calculate/evaluateDutyLog.js +1 -1
- package/dist/{duty → workforce}/calculate/longestRun.js +1 -1
- package/dist/{duty → workforce}/calculate/qualifyingRestPairs.js +1 -1
- package/dist/{duty → workforce}/calculate/qualifyingRests.js +1 -1
- package/dist/workforce/index.d.ts +3 -0
- package/dist/workforce/index.js +4 -0
- package/dist/{duty → workforce}/validate/isValidDutyLog.d.ts +2 -2
- package/dist/{duty → workforce}/validate/isValidDutyLog.js +2 -2
- package/dist/zoned/calculate/addZoned.d.ts +15 -15
- package/dist/zoned/calculate/addZoned.js +15 -15
- package/dist/zoned/calculate/addZonedBusinessDays.d.ts +5 -4
- package/dist/zoned/calculate/addZonedBusinessDays.js +5 -4
- package/dist/zoned/calculate/clampZoned.js +1 -1
- package/dist/zoned/calculate/diffZoned.d.ts +8 -8
- package/dist/zoned/calculate/diffZoned.js +7 -7
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +5 -5
- package/dist/zoned/calculate/diffZonedAsDuration.js +4 -4
- package/dist/zoned/calculate/endOfZoned.d.ts +3 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -2
- package/dist/zoned/calculate/getHoursInZonedDay.d.ts +2 -2
- package/dist/zoned/calculate/getHoursInZonedDay.js +2 -2
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +6 -5
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +6 -5
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +5 -5
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -5
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +6 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +6 -6
- package/dist/zoned/calculate/maxZoned.d.ts +2 -2
- package/dist/zoned/calculate/maxZoned.js +3 -3
- package/dist/zoned/calculate/minZoned.d.ts +2 -2
- package/dist/zoned/calculate/minZoned.js +3 -3
- package/dist/zoned/calculate/roundZoned.d.ts +11 -9
- package/dist/zoned/calculate/roundZoned.js +11 -9
- package/dist/zoned/calculate/setZoned.d.ts +8 -8
- package/dist/zoned/calculate/setZoned.js +8 -8
- package/dist/zoned/calculate/sortZoned.d.ts +3 -3
- package/dist/zoned/calculate/sortZoned.js +4 -4
- package/dist/zoned/calculate/startOfZoned.d.ts +3 -3
- package/dist/zoned/calculate/startOfZoned.js +2 -2
- package/dist/zoned/calculate/subtractZoned.d.ts +14 -14
- package/dist/zoned/calculate/subtractZoned.js +14 -14
- package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +5 -4
- package/dist/zoned/calculate/subtractZonedBusinessDays.js +5 -4
- package/dist/zoned/chop/chopZonedDate.d.ts +1 -1
- package/dist/zoned/chop/chopZonedDate.js +1 -1
- package/dist/zoned/chop/chopZonedMilliseconds.d.ts +1 -1
- package/dist/zoned/chop/chopZonedMilliseconds.js +1 -1
- package/dist/zoned/chop/chopZonedSeconds.d.ts +1 -1
- package/dist/zoned/chop/chopZonedSeconds.js +1 -1
- package/dist/zoned/chop/chopZonedTime.d.ts +1 -1
- package/dist/zoned/chop/chopZonedTime.js +1 -1
- package/dist/zoned/chop/chopZonedTimezone.d.ts +1 -1
- package/dist/zoned/chop/chopZonedTimezone.js +1 -1
- package/dist/zoned/classify/classifyStoredZoned.d.ts +46 -0
- package/dist/zoned/classify/classifyStoredZoned.js +177 -0
- package/dist/zoned/classify/index.d.ts +1 -0
- package/dist/zoned/classify/index.js +1 -0
- package/dist/zoned/compare/areZonedEqual.js +1 -1
- package/dist/zoned/compare/areZonedEqualBy.d.ts +8 -10
- package/dist/zoned/compare/areZonedEqualBy.js +8 -10
- package/dist/zoned/compare/isAfterZoned.js +1 -1
- package/dist/zoned/compare/isBeforeZoned.d.ts +2 -2
- package/dist/zoned/compare/isBeforeZoned.js +3 -3
- package/dist/zoned/compare/isBetweenZoned.js +1 -1
- package/dist/zoned/compare/isInDaylightSaving.d.ts +2 -2
- package/dist/zoned/compare/isInDaylightSaving.js +2 -2
- package/dist/zoned/compare/isZonedBusinessDay.d.ts +7 -6
- package/dist/zoned/compare/isZonedBusinessDay.js +7 -6
- package/dist/zoned/compare/isZonedFuture.js +1 -1
- package/dist/zoned/compare/isZonedPast.js +1 -1
- package/dist/zoned/compare/isZonedRelativeDay.d.ts +2 -2
- package/dist/zoned/compare/isZonedRelativeDay.js +3 -3
- package/dist/zoned/compare/isZonedThisUnit.d.ts +7 -7
- package/dist/zoned/compare/isZonedThisUnit.js +7 -7
- package/dist/zoned/compare/isZonedWeekend.d.ts +5 -5
- package/dist/zoned/compare/isZonedWeekend.js +5 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +6 -6
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -6
- package/dist/zoned/convert/convertZonedToCalendar.d.ts +5 -5
- package/dist/zoned/convert/convertZonedToCalendar.js +5 -5
- package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +3 -3
- package/dist/zoned/convert/convertZonedToPlainDateTime.js +3 -3
- package/dist/zoned/convert/convertZonedToZoned.d.ts +2 -2
- package/dist/zoned/convert/convertZonedToZoned.js +2 -2
- package/dist/zoned/format/formatCalendarZoned.d.ts +7 -6
- package/dist/zoned/format/formatCalendarZoned.js +5 -5
- package/dist/zoned/format/formatRelativeZoned.d.ts +3 -3
- package/dist/zoned/format/formatRelativeZoned.js +4 -4
- package/dist/zoned/format/formatRfc2822.d.ts +3 -3
- package/dist/zoned/format/formatRfc2822.js +3 -3
- package/dist/zoned/format/formatRfc3339.d.ts +2 -2
- package/dist/zoned/format/formatRfc3339.js +2 -2
- package/dist/zoned/format/formatTimeZoneName.d.ts +17 -17
- package/dist/zoned/format/formatTimeZoneName.js +13 -12
- package/dist/zoned/format/formatZonedDateTime.d.ts +10 -10
- package/dist/zoned/format/formatZonedDateTime.js +12 -11
- package/dist/zoned/format/formatZonedRange.d.ts +7 -7
- package/dist/zoned/format/formatZonedRange.js +9 -8
- package/dist/zoned/format/formatZonedToParts.d.ts +11 -11
- package/dist/zoned/format/formatZonedToParts.js +13 -12
- package/dist/zoned/get/getDstTransitions.d.ts +9 -9
- package/dist/zoned/get/getDstTransitions.js +3 -3
- package/dist/zoned/get/getSystemTimeZone.d.ts +2 -2
- package/dist/zoned/get/getSystemTimeZone.js +2 -2
- package/dist/zoned/get/getTimeZoneOffset.d.ts +5 -5
- package/dist/zoned/get/getTimeZoneOffset.js +5 -5
- package/dist/zoned/get/getTimeZones.d.ts +1 -1
- package/dist/zoned/get/getTimeZones.js +1 -1
- package/dist/zoned/get/getZonedDay.d.ts +1 -1
- package/dist/zoned/get/getZonedDay.js +1 -1
- package/dist/zoned/get/getZonedDayOfWeek.d.ts +1 -1
- package/dist/zoned/get/getZonedDayOfWeek.js +1 -1
- package/dist/zoned/get/getZonedHour.d.ts +1 -1
- package/dist/zoned/get/getZonedHour.js +1 -1
- package/dist/zoned/get/getZonedMicrosecond.d.ts +1 -1
- package/dist/zoned/get/getZonedMicrosecond.js +1 -1
- package/dist/zoned/get/getZonedMillisecond.d.ts +1 -1
- package/dist/zoned/get/getZonedMillisecond.js +1 -1
- package/dist/zoned/get/getZonedMinute.d.ts +1 -1
- package/dist/zoned/get/getZonedMinute.js +1 -1
- package/dist/zoned/get/getZonedMonth.d.ts +1 -1
- package/dist/zoned/get/getZonedMonth.js +1 -1
- package/dist/zoned/get/getZonedNanosecond.d.ts +1 -1
- package/dist/zoned/get/getZonedNanosecond.js +1 -1
- package/dist/zoned/get/getZonedNow.d.ts +4 -4
- package/dist/zoned/get/getZonedNow.js +4 -4
- package/dist/zoned/get/getZonedNowUnit.d.ts +2 -2
- package/dist/zoned/get/getZonedNowUnit.js +1 -1
- package/dist/zoned/get/getZonedSecond.d.ts +1 -1
- package/dist/zoned/get/getZonedSecond.js +1 -1
- package/dist/zoned/get/getZonedToday.d.ts +1 -1
- package/dist/zoned/get/getZonedToday.js +1 -1
- package/dist/zoned/get/getZonedWeekOfYear.d.ts +1 -1
- package/dist/zoned/get/getZonedWeekOfYear.js +1 -1
- package/dist/zoned/get/getZonedYear.d.ts +1 -1
- package/dist/zoned/get/getZonedYear.js +1 -1
- package/dist/zoned/index.d.ts +2 -1
- package/dist/zoned/index.js +3 -2
- package/dist/zoned/interval/intervalAbutsZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalAbutsZoned.js +3 -3
- package/dist/zoned/interval/intervalContainsZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalContainsZoned.js +2 -2
- package/dist/zoned/interval/intervalCountZoned.d.ts +4 -4
- package/dist/zoned/interval/intervalCountZoned.js +5 -5
- package/dist/zoned/interval/intervalDifferenceZoned.js +1 -1
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +2 -2
- package/dist/zoned/interval/intervalEngulfsZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalEngulfsZoned.js +2 -2
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +6 -6
- package/dist/zoned/interval/intervalFromDurationZoned.js +7 -7
- package/dist/zoned/interval/intervalIntersectionZoned.js +1 -1
- package/dist/zoned/interval/intervalLengthZoned.d.ts +5 -5
- package/dist/zoned/interval/intervalLengthZoned.js +5 -5
- package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalOverlappingDaysZoned.js +3 -3
- package/dist/zoned/interval/intervalSplitAtZoned.js +14 -16
- package/dist/zoned/interval/intervalUnionZoned.js +1 -1
- package/dist/zoned/interval/intervalXorAllZoned.js +1 -1
- package/dist/zoned/interval/intervalXorZoned.js +1 -1
- package/dist/zoned/interval/intervalsOverlapZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalsOverlapZoned.js +3 -3
- package/dist/zoned/interval/mergeIntervalsZoned.js +1 -1
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +2 -1
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +3 -2
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +2 -2
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +3 -3
- package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +1 -1
- package/dist/zoned/interval/validate/isValidZonedInterval.js +2 -2
- package/dist/zoned/map/mapZonedDatesInRange.js +1 -1
- package/dist/zoned/map/mapZonedHoursInDay.d.ts +1 -1
- package/dist/zoned/map/mapZonedHoursInDay.js +2 -2
- package/dist/zoned/parse/getZonedOffset.d.ts +1 -1
- package/dist/zoned/parse/getZonedOffset.js +1 -1
- package/dist/zoned/parse/getZonedOffsetAs.d.ts +6 -6
- package/dist/zoned/parse/getZonedOffsetAs.js +3 -3
- package/dist/zoned/parse/parseDateTimeFromZoned.js +2 -2
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseRfc3339.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +1 -1
- package/dist/zoned/validate/hasDaylightSaving.d.ts +2 -2
- package/dist/zoned/validate/hasDaylightSaving.js +3 -3
- package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +8 -8
- package/dist/zoned/validate/isValidCalendarZonedDateTime.js +8 -8
- package/dist/zoned/validate/isValidTimeZone.d.ts +1 -1
- package/dist/zoned/validate/isValidTimeZone.js +3 -18
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +7 -7
- package/dist/zoned/validate/isValidZonedDateTime.js +9 -9
- package/dist/zoned/validate/isValidZonedRange.d.ts +1 -1
- package/dist/zoned/validate/isValidZonedRange.js +5 -5
- package/package.json +71 -21
- package/skills/gmt-arithmetic/SKILL.md +18 -59
- package/skills/gmt-basics/SKILL.md +32 -12
- package/skills/gmt-gnss/SKILL.md +92 -0
- package/skills/gmt-integration/SKILL.md +48 -15
- package/skills/gmt-intermodal/SKILL.md +189 -0
- package/skills/gmt-timezone/SKILL.md +34 -257
- package/skills/gmt-transport/SKILL.md +133 -0
- package/skills/gmt-workforce/SKILL.md +84 -0
- package/dist/duty/index.d.ts +0 -3
- package/dist/duty/index.js +0 -4
- /package/dist/{duty → workforce}/calculate/dutyDayFor.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/dutyTotals.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/dutyTotals.js +0 -0
- /package/dist/{duty → workforce}/calculate/dutyViolations.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/dutyViolations.js +0 -0
- /package/dist/{duty → workforce}/calculate/evaluateDutyLog.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/index.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/index.js +0 -0
- /package/dist/{duty → workforce}/calculate/longestRun.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/qualifyingRestPairs.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/qualifyingRests.d.ts +0 -0
- /package/dist/{duty → workforce}/validate/index.d.ts +0 -0
- /package/dist/{duty → workforce}/validate/index.js +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@northguild/gmt",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "Temporal-based date and time utilities with timezone support and polyfill integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"date",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"time",
|
|
12
12
|
"timezone"
|
|
13
13
|
],
|
|
14
|
-
"homepage": "https://
|
|
14
|
+
"homepage": "https://northguild.dev/gmt/",
|
|
15
15
|
"bugs": {
|
|
16
16
|
"url": "https://github.com/northguild/gmt/issues"
|
|
17
17
|
},
|
|
@@ -81,14 +81,11 @@
|
|
|
81
81
|
"duration/validate": [
|
|
82
82
|
"./dist/duration/validate/index.d.ts"
|
|
83
83
|
],
|
|
84
|
-
"
|
|
85
|
-
"./dist/
|
|
84
|
+
"gnss": [
|
|
85
|
+
"./dist/gnss/index.d.ts"
|
|
86
86
|
],
|
|
87
|
-
"
|
|
88
|
-
"./dist/
|
|
89
|
-
],
|
|
90
|
-
"duty/validate": [
|
|
91
|
-
"./dist/duty/validate/index.d.ts"
|
|
87
|
+
"gnss/convert": [
|
|
88
|
+
"./dist/gnss/convert/index.d.ts"
|
|
92
89
|
],
|
|
93
90
|
"instant": [
|
|
94
91
|
"./dist/instant/index.d.ts"
|
|
@@ -192,6 +189,18 @@
|
|
|
192
189
|
"span/validate": [
|
|
193
190
|
"./dist/span/validate/index.d.ts"
|
|
194
191
|
],
|
|
192
|
+
"timescale": [
|
|
193
|
+
"./dist/timescale/index.d.ts"
|
|
194
|
+
],
|
|
195
|
+
"timescale/calculate": [
|
|
196
|
+
"./dist/timescale/calculate/index.d.ts"
|
|
197
|
+
],
|
|
198
|
+
"timescale/convert": [
|
|
199
|
+
"./dist/timescale/convert/index.d.ts"
|
|
200
|
+
],
|
|
201
|
+
"timescale/validate": [
|
|
202
|
+
"./dist/timescale/validate/index.d.ts"
|
|
203
|
+
],
|
|
195
204
|
"transport": [
|
|
196
205
|
"./dist/transport/index.d.ts"
|
|
197
206
|
],
|
|
@@ -264,6 +273,15 @@
|
|
|
264
273
|
"utc/validate": [
|
|
265
274
|
"./dist/utc/validate/index.d.ts"
|
|
266
275
|
],
|
|
276
|
+
"workforce": [
|
|
277
|
+
"./dist/workforce/index.d.ts"
|
|
278
|
+
],
|
|
279
|
+
"workforce/calculate": [
|
|
280
|
+
"./dist/workforce/calculate/index.d.ts"
|
|
281
|
+
],
|
|
282
|
+
"workforce/validate": [
|
|
283
|
+
"./dist/workforce/validate/index.d.ts"
|
|
284
|
+
],
|
|
267
285
|
"zoned": [
|
|
268
286
|
"./dist/zoned/index.d.ts"
|
|
269
287
|
],
|
|
@@ -273,6 +291,9 @@
|
|
|
273
291
|
"zoned/chop": [
|
|
274
292
|
"./dist/zoned/chop/index.d.ts"
|
|
275
293
|
],
|
|
294
|
+
"zoned/classify": [
|
|
295
|
+
"./dist/zoned/classify/index.d.ts"
|
|
296
|
+
],
|
|
276
297
|
"zoned/compare": [
|
|
277
298
|
"./dist/zoned/compare/index.d.ts"
|
|
278
299
|
],
|
|
@@ -352,17 +373,13 @@
|
|
|
352
373
|
"types": "./dist/duration/validate/index.d.ts",
|
|
353
374
|
"default": "./dist/duration/validate/index.js"
|
|
354
375
|
},
|
|
355
|
-
"./
|
|
356
|
-
"types": "./dist/
|
|
357
|
-
"default": "./dist/
|
|
376
|
+
"./gnss": {
|
|
377
|
+
"types": "./dist/gnss/index.d.ts",
|
|
378
|
+
"default": "./dist/gnss/index.js"
|
|
358
379
|
},
|
|
359
|
-
"./
|
|
360
|
-
"types": "./dist/
|
|
361
|
-
"default": "./dist/
|
|
362
|
-
},
|
|
363
|
-
"./duty/validate": {
|
|
364
|
-
"types": "./dist/duty/validate/index.d.ts",
|
|
365
|
-
"default": "./dist/duty/validate/index.js"
|
|
380
|
+
"./gnss/convert": {
|
|
381
|
+
"types": "./dist/gnss/convert/index.d.ts",
|
|
382
|
+
"default": "./dist/gnss/convert/index.js"
|
|
366
383
|
},
|
|
367
384
|
"./instant": {
|
|
368
385
|
"types": "./dist/instant/index.d.ts",
|
|
@@ -500,6 +517,22 @@
|
|
|
500
517
|
"types": "./dist/span/validate/index.d.ts",
|
|
501
518
|
"default": "./dist/span/validate/index.js"
|
|
502
519
|
},
|
|
520
|
+
"./timescale": {
|
|
521
|
+
"types": "./dist/timescale/index.d.ts",
|
|
522
|
+
"default": "./dist/timescale/index.js"
|
|
523
|
+
},
|
|
524
|
+
"./timescale/calculate": {
|
|
525
|
+
"types": "./dist/timescale/calculate/index.d.ts",
|
|
526
|
+
"default": "./dist/timescale/calculate/index.js"
|
|
527
|
+
},
|
|
528
|
+
"./timescale/convert": {
|
|
529
|
+
"types": "./dist/timescale/convert/index.d.ts",
|
|
530
|
+
"default": "./dist/timescale/convert/index.js"
|
|
531
|
+
},
|
|
532
|
+
"./timescale/validate": {
|
|
533
|
+
"types": "./dist/timescale/validate/index.d.ts",
|
|
534
|
+
"default": "./dist/timescale/validate/index.js"
|
|
535
|
+
},
|
|
503
536
|
"./transport": {
|
|
504
537
|
"types": "./dist/transport/index.d.ts",
|
|
505
538
|
"default": "./dist/transport/index.js"
|
|
@@ -596,6 +629,18 @@
|
|
|
596
629
|
"types": "./dist/utc/validate/index.d.ts",
|
|
597
630
|
"default": "./dist/utc/validate/index.js"
|
|
598
631
|
},
|
|
632
|
+
"./workforce": {
|
|
633
|
+
"types": "./dist/workforce/index.d.ts",
|
|
634
|
+
"default": "./dist/workforce/index.js"
|
|
635
|
+
},
|
|
636
|
+
"./workforce/calculate": {
|
|
637
|
+
"types": "./dist/workforce/calculate/index.d.ts",
|
|
638
|
+
"default": "./dist/workforce/calculate/index.js"
|
|
639
|
+
},
|
|
640
|
+
"./workforce/validate": {
|
|
641
|
+
"types": "./dist/workforce/validate/index.d.ts",
|
|
642
|
+
"default": "./dist/workforce/validate/index.js"
|
|
643
|
+
},
|
|
599
644
|
"./zoned": {
|
|
600
645
|
"types": "./dist/zoned/index.d.ts",
|
|
601
646
|
"default": "./dist/zoned/index.js"
|
|
@@ -608,6 +653,10 @@
|
|
|
608
653
|
"types": "./dist/zoned/chop/index.d.ts",
|
|
609
654
|
"default": "./dist/zoned/chop/index.js"
|
|
610
655
|
},
|
|
656
|
+
"./zoned/classify": {
|
|
657
|
+
"types": "./dist/zoned/classify/index.d.ts",
|
|
658
|
+
"default": "./dist/zoned/classify/index.js"
|
|
659
|
+
},
|
|
611
660
|
"./zoned/compare": {
|
|
612
661
|
"types": "./dist/zoned/compare/index.d.ts",
|
|
613
662
|
"default": "./dist/zoned/compare/index.js"
|
|
@@ -649,10 +698,10 @@
|
|
|
649
698
|
"@js-temporal/polyfill": "^0.5.1"
|
|
650
699
|
},
|
|
651
700
|
"devDependencies": {
|
|
701
|
+
"@northguild/gmt-oxlint": "1.2.1",
|
|
652
702
|
"@tanstack/intent": "^0.4.0",
|
|
653
703
|
"oxfmt": "^0.62.0",
|
|
654
|
-
"oxlint": "^1.78.0"
|
|
655
|
-
"@northguild/gmt-oxlint": "1.2.1"
|
|
704
|
+
"oxlint": "^1.78.0"
|
|
656
705
|
},
|
|
657
706
|
"engines": {
|
|
658
707
|
"node": ">=22.16.0"
|
|
@@ -663,6 +712,7 @@
|
|
|
663
712
|
"typecheck": "tsc --noEmit",
|
|
664
713
|
"test": "vitest run",
|
|
665
714
|
"test:watch": "vitest",
|
|
715
|
+
"bench": "vitest bench --run --config vitest.bench.config.ts",
|
|
666
716
|
"lint": "oxlint",
|
|
667
717
|
"format": "oxfmt"
|
|
668
718
|
}
|
|
@@ -12,9 +12,8 @@ description: >
|
|
|
12
12
|
subtractBusinessDays, businessDaysBetween, nextBusinessDay,
|
|
13
13
|
previousBusinessDay, rollDate, mergeCalendars), overflow "constrain" month-end
|
|
14
14
|
clamping, splitIntervalByUnit* anchor stepping, maxPieces limits,
|
|
15
|
-
intervalCount* matching bucketRange, RFC 9557 calendar strings,
|
|
16
|
-
correct-at-the-edges guarantees at the
|
|
17
|
-
rules over a duty log (evaluateDutyLog, dutyViolations, dutyDayFor).
|
|
15
|
+
intervalCount* matching bucketRange, RFC 9557 calendar strings,
|
|
16
|
+
correct-at-the-edges guarantees at the limits.
|
|
18
17
|
sources:
|
|
19
18
|
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/plain-arithmetic.mdx'
|
|
20
19
|
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/durations.mdx'
|
|
@@ -35,12 +34,10 @@ sources:
|
|
|
35
34
|
- 'northguild/gmt:packages/gmt/src/calendar/business/index.ts'
|
|
36
35
|
- 'northguild/gmt:packages/gmt/src/types/business-calendar.ts'
|
|
37
36
|
- 'northguild/gmt:packages/gmt/src/types/roll-convention.ts'
|
|
38
|
-
- 'northguild/gmt:packages/gmt/src/duty/index.ts'
|
|
39
|
-
- 'northguild/gmt:packages/gmt/src/types/duty.ts'
|
|
40
37
|
metadata:
|
|
41
38
|
type: core
|
|
42
39
|
library: '@northguild/gmt'
|
|
43
|
-
library_version: '1.
|
|
40
|
+
library_version: '1.20.0'
|
|
44
41
|
---
|
|
45
42
|
|
|
46
43
|
# GMT Arithmetic
|
|
@@ -61,8 +58,6 @@ and full interval set operations.
|
|
|
61
58
|
these windows?".
|
|
62
59
|
- The user is measuring elapsed time — a profile, a trace span, a sensor
|
|
63
60
|
interval — and wants milliseconds or nanoseconds rather than a `Duration`.
|
|
64
|
-
- The user checks hours of work against rules: driving or duty caps, rest in
|
|
65
|
-
every 24 hours, a free day in seven, a monthly record of violations.
|
|
66
61
|
|
|
67
62
|
## Core rules
|
|
68
63
|
|
|
@@ -149,6 +144,8 @@ and full interval set operations.
|
|
|
149
144
|
"hours")` measures what the clock face did. Across a DST transition they
|
|
150
145
|
differ by the size of the shift — a wall-clock day is 23, 24.5 or 25 real
|
|
151
146
|
hours. Reaching for the wrong one is the most common span bug there is.
|
|
147
|
+
`spanMs` and `spanNs` do not count leap seconds: for a leap-second-exact span, convert both ends
|
|
148
|
+
with `toTAI` or add `leapSecondsBetween(start, end)` (see `gmt-integration`).
|
|
152
149
|
7. **Span sentinels are `null`, not `0`.** `0` and `0n` are valid spans, so all
|
|
153
150
|
three span functions return `null` on invalid input rather than a zero —
|
|
154
151
|
`spanMs` also returns it past `Number.MAX_SAFE_INTEGER` milliseconds, where
|
|
@@ -236,10 +233,10 @@ and full interval set operations.
|
|
|
236
233
|
caller-supplied — GMT bundles no holiday table on the default import path.
|
|
237
234
|
|
|
238
235
|
```typescript
|
|
239
|
-
const
|
|
240
|
-
addBusinessDays("2024-
|
|
241
|
-
businessDaysBetween("2024-
|
|
242
|
-
rollDate("2024-
|
|
236
|
+
const tokyo = { weekend: [6, 7], holidays: ["2024-05-03", "2024-05-06"], timeZone: "Asia/Tokyo" };
|
|
237
|
+
addBusinessDays("2024-05-02", 1, tokyo); // "2024-05-07" — skips both holidays and the weekend
|
|
238
|
+
businessDaysBetween("2024-05-01", "2024-05-07", tokyo); // 2 — start exclusive, end inclusive
|
|
239
|
+
rollDate("2024-08-31", "modifiedFollowing", tokyo); // "2024-08-30" — backward when forward leaves the month
|
|
243
240
|
```
|
|
244
241
|
|
|
245
242
|
These are **local-date in, local-date out**: `calendar.timeZone` records the
|
|
@@ -250,43 +247,11 @@ and full interval set operations.
|
|
|
250
247
|
survives only if it is a working day in every input, and returns `null` for an
|
|
251
248
|
empty list. Narrow inputs with `isValidBusinessCalendar` /
|
|
252
249
|
`isValidRollConvention`.
|
|
253
|
-
13. **
|
|
254
|
-
caller's.** A log is `{ status, start, end }[]` in the caller's own status
|
|
255
|
-
words, ordered and non-overlapping (`isValidDutyLog`). A rule is one of 13
|
|
256
|
-
`DutyRule` kinds (`cumulativeCap`, `elapsedWindow`, `requiredInterruption`,
|
|
257
|
-
`rollingCap`, `fixedPeriodCap`, `restRequirement`, `freePeriod`,
|
|
258
|
-
`restBeforeDuty`, `quota`, `dueBy`, `pattern`, `occurrenceCap`,
|
|
259
|
-
`usageLookback`) with no default limit; GMT names no regulation.
|
|
260
|
-
`evaluateDutyLog(log, at, rules, { timeZone, dayStartTime?, disambiguation? })`
|
|
261
|
-
reports every rule at one instant; `dutyViolations` lists each violation in a
|
|
262
|
-
range once, by its worst window, in the range it began in.
|
|
263
|
-
|
|
264
|
-
```typescript
|
|
265
|
-
evaluateDutyLog(log, "2024-01-01T21:30:00Z", [{ label: "11 driving", kind: "cumulativeCap",
|
|
266
|
-
statuses: ["driving"], cap: "PT11H", since: { statuses: ["off"], consecutive: "PT10H" } }],
|
|
267
|
-
{ timeZone: "UTC" }).violations; // [{ label: "11 driving", used: "PT11H30M", limit: "PT11H", … }]
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
- `{ elapsed: "PT24H" }` slides; `{ operatorDays }`, `{ calendarDays }`,
|
|
271
|
-
`{ isoWeeks }`, `{ calendarMonths }`, `{ calendarYears }` are whole local
|
|
272
|
-
periods in `timeZone` (28 calendar days across a fall-back are 673 hours).
|
|
273
|
-
- The operator day is `dutyDayFor(instant, { timeZone, dayStartTime })`,
|
|
274
|
-
never local midnight; a rule counting `operatorDays` needs `dayStartTime`.
|
|
275
|
-
- The log is read up to `at`; unlogged time is neither work nor rest. To
|
|
276
|
-
check a roster, append the plan and set `at` to its end.
|
|
277
|
-
- A paired rest is three floors (`PairSpec`), not two integers:
|
|
278
|
-
`qualifyingRestPairs`.
|
|
279
|
-
- A count of periods is 10,000 at most, alone or times `adjacent`,
|
|
280
|
-
`lookback` or `periods`. `fixedPeriodCap.period` and `occurrenceCap.per`
|
|
281
|
-
are a `LocalPeriod`: a count, never `elapsed`.
|
|
282
|
-
- `dutyViolations` reads only the time the log covers, and each check reads
|
|
283
|
-
the log as it stood then, so a record only grows as the log does.
|
|
284
|
-
- Nested caps are separate rules, reported separately.
|
|
285
|
-
14. **Read the docs site.** This skill is a routing pointer. For full option
|
|
250
|
+
13. **Read the docs site.** This skill is a routing pointer. For full option
|
|
286
251
|
shapes, locale matrices, and code examples, read these:
|
|
287
|
-
- `https://
|
|
252
|
+
- `https://northguild.dev/gmt/llms.txt` is the map of every docs page.
|
|
288
253
|
- Each page has a `.md` twin that holds its text, for example
|
|
289
|
-
`https://
|
|
254
|
+
`https://northguild.dev/gmt/guides/core-date-operations/plain-arithmetic.md`.
|
|
290
255
|
- The JSDoc of the function you intend to call ships in the installed
|
|
291
256
|
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
292
257
|
|
|
@@ -323,11 +288,6 @@ and full interval set operations.
|
|
|
323
288
|
`intervalLengthDate`, `intervalDivideEquallyDate`, `mergeIntervalsDate` (each
|
|
324
289
|
with `DateTime`/`Zoned`/`Unix`/`Utc` variants where the type supports it)
|
|
325
290
|
|
|
326
|
-
- **Hours of work**: `evaluateDutyLog`, `dutyViolations`, `dutyDayFor`,
|
|
327
|
-
`dutyTotals`, `longestRun`, `qualifyingRests`, `qualifyingRestPairs`,
|
|
328
|
-
`isValidDutyLog`, types `DutyEntry`, `DutyRule`, `Period`, `LocalPeriod`,
|
|
329
|
-
`DutyReport`
|
|
330
|
-
|
|
331
291
|
## Namespace selection
|
|
332
292
|
|
|
333
293
|
- `plain/*` — timezone-free dates, times, datetimes
|
|
@@ -337,15 +297,14 @@ and full interval set operations.
|
|
|
337
297
|
- `duration/*` — ISO 8601 duration strings
|
|
338
298
|
- `span/*` — elapsed and wall-clock spans as raw numbers
|
|
339
299
|
- `interval/*` — half-open interval algebra over instant strings
|
|
340
|
-
- `
|
|
300
|
+
- `workforce/*` — see the `gmt-workforce` skill
|
|
341
301
|
|
|
342
302
|
## References
|
|
343
303
|
|
|
344
|
-
- [Docs map for agents (llms.txt)](https://
|
|
345
|
-
- [Plain arithmetic guide](https://
|
|
346
|
-
- [Durations guide](https://
|
|
347
|
-
- [Spans guide](https://
|
|
348
|
-
- [Business calendars guide](https://
|
|
304
|
+
- [Docs map for agents (llms.txt)](https://northguild.dev/gmt/llms.txt)
|
|
305
|
+
- [Plain arithmetic guide](https://northguild.dev/gmt/guides/core-date-operations/plain-arithmetic/)
|
|
306
|
+
- [Durations guide](https://northguild.dev/gmt/guides/core-date-operations/durations/)
|
|
307
|
+
- [Spans guide](https://northguild.dev/gmt/guides/core-date-operations/spans/)
|
|
308
|
+
- [Business calendars guide](https://northguild.dev/gmt/guides/core-date-operations/business-calendars/)
|
|
349
309
|
- [Interval algebra reference](/reference/interval/calculate/intersectIntervals)
|
|
350
310
|
- [Interval guides](/guides/intervals/interval-basics/)
|
|
351
|
-
- [Hours of work guide](https://gmt-dox.northguild.workers.dev/guides/intervals/hours-of-work/)
|
|
@@ -34,7 +34,7 @@ sources:
|
|
|
34
34
|
metadata:
|
|
35
35
|
type: core
|
|
36
36
|
library: '@northguild/gmt'
|
|
37
|
-
library_version: '1.
|
|
37
|
+
library_version: '1.20.0'
|
|
38
38
|
---
|
|
39
39
|
|
|
40
40
|
# GMT Basics
|
|
@@ -64,9 +64,9 @@ input before you act on it.
|
|
|
64
64
|
`try`/`catch` around a GMT call is dead code.
|
|
65
65
|
3. **Read the docs site.** This skill is a routing pointer. For full API
|
|
66
66
|
signatures, locale matrices, and code examples, read these:
|
|
67
|
-
- `https://
|
|
67
|
+
- `https://northguild.dev/gmt/llms.txt` is the map of every docs page.
|
|
68
68
|
- Each page has a `.md` twin that holds its text, for example
|
|
69
|
-
`https://
|
|
69
|
+
`https://northguild.dev/gmt/guides/core-date-operations/parsing.md`.
|
|
70
70
|
- The JSDoc of the function you intend to call ships in the installed
|
|
71
71
|
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
72
72
|
|
|
@@ -87,7 +87,9 @@ input before you act on it.
|
|
|
87
87
|
- **Comparison**: `isAfterDate`, `isBeforeDate`, `areDatesEqual`,
|
|
88
88
|
`areDatesEqualBy`, `isWeekend`, `isBusinessDay`, `nextWeekday`
|
|
89
89
|
- **Validation**: `isValidDate`, `isValidTime`, `isValidTimeZone`,
|
|
90
|
-
`isValidZonedDateTime`, `isValidDateInterval`, `isValidFiscalPattern
|
|
90
|
+
`isValidZonedDateTime`, `isValidDateInterval`, `isValidFiscalPattern`,
|
|
91
|
+
`isValidFiscalCalendar`, `isValidFiscalExtraWeek`, `isValidFiscalYearLabel`,
|
|
92
|
+
`hasSecond60`
|
|
91
93
|
- **Interchange-format validation**: `isValidRfc3339DateTime`,
|
|
92
94
|
`isValidRfc2822DateTime`, `isValidHttpDate`, `isValidSqlDateTime`
|
|
93
95
|
- **UTC timestamp validation**: `isValidUtcTimestamp` (a UTC instant written
|
|
@@ -146,8 +148,14 @@ input before you act on it.
|
|
|
146
148
|
lacks (`timeStyle` on `formatDate`, `dateStyle` on `formatTime`) returns `""`.
|
|
147
149
|
Zoned formatters return `""`/`[]` for a `timeZone` option: to show an instant
|
|
148
150
|
in another zone, use `formatUtc(value, locale, { timeZone })`.
|
|
149
|
-
-
|
|
150
|
-
format)
|
|
151
|
+
- A second of `60` is invalid in every spelling (`T`, `t`, space, basic
|
|
152
|
+
format), and validators return `false` for it. Two functions tell you about
|
|
153
|
+
one. `hasSecond60` is the shape test: it is true for any second 60, real or
|
|
154
|
+
not (`"2024-06-15T12:34:60Z"` is `true`). `isLeapSecond`, from `timescale/`,
|
|
155
|
+
is the table lookup: it is true only for the 27 inserted leap seconds
|
|
156
|
+
(`"2016-12-31T23:59:60Z"` is `true`, `"2024-06-15T12:34:60Z"` is `false`).
|
|
157
|
+
Only the `timescale/` and `gnss/` functions accept a second 60, and only a
|
|
158
|
+
listed one; see the `gmt-integration` and `gmt-gnss` skills.
|
|
151
159
|
- `isValidTimeZone` accepts every IANA name, including single-component links
|
|
152
160
|
such as `Japan`, `Zulu` and `EST5EDT`, and ignores case. It also accepts
|
|
153
161
|
offset zone ids such as `"+05:00"`, as Temporal does.
|
|
@@ -163,16 +171,28 @@ input before you act on it.
|
|
|
163
171
|
instant has no calendar date until you name a zone — floor it with
|
|
164
172
|
`floorToZone` first, or convert it in the zone you mean.
|
|
165
173
|
- `getFiscalPeriod`'s `yearEndsOn` states the year-end **rule** by example, not
|
|
166
|
-
one year's end.
|
|
167
|
-
January
|
|
174
|
+
one year's end. One published 4-5-4 example (NRF, US) adds a 53rd week when
|
|
175
|
+
"there are four or more days left in January", which is the Saturday nearest
|
|
176
|
+
January 31: `"2026-01-31"`, a Saturday on January 31.
|
|
177
|
+
- `getFiscalPeriod` also requires `extraWeek` and `yearLabel`, with no default,
|
|
178
|
+
because published calendars disagree on both. `extraWeek` is the period a 53rd
|
|
179
|
+
week is added to: `"firstPeriod"` (ONS, UK) or `"lastPeriod"` (NRF, US).
|
|
180
|
+
`yearLabel` names the fiscal year: `"startYear"` (NRF, US), `"endYear"`, the
|
|
181
|
+
year its last day falls in, or `"majorityYear"`, the calendar year holding the
|
|
182
|
+
most of its days (ONS, UK); a 182/182 split goes to the end year. IFRS 18
|
|
183
|
+
¶27(c) (formerly IAS 1 ¶51(c)) lets a period be identified by the date it
|
|
184
|
+
ends, which supports `"endYear"` and the tie rule. `getQuarter` with options takes
|
|
185
|
+
`fiscalYearStartMonth` and `yearLabel`, both required. A calendar missing a
|
|
186
|
+
field returns `null`; check it with `isValidFiscalCalendar`.
|
|
168
187
|
- `isWeekend` is locale-aware via `Intl.Locale.weekInfo`; `isBusinessDay` is
|
|
169
|
-
fixed
|
|
188
|
+
a fixed Mon–Fri week (Sat–Sun off, CLDR's world default; ISO 8601 defines no
|
|
189
|
+
weekend) with no locale and no holidays **until you pass it a
|
|
170
190
|
`BusinessCalendar`** — `isBusinessDay(value, { weekend, holidays, timeZone })`
|
|
171
191
|
states the weekend and holidays itself. See the `gmt-arithmetic` skill.
|
|
172
192
|
|
|
173
193
|
## References
|
|
174
194
|
|
|
175
|
-
- [Docs map for agents (llms.txt)](https://
|
|
176
|
-
- [API reference](https://
|
|
177
|
-
- [Core date operations guides index](https://
|
|
195
|
+
- [Docs map for agents (llms.txt)](https://northguild.dev/gmt/llms.txt)
|
|
196
|
+
- [API reference](https://northguild.dev/gmt/reference/)
|
|
197
|
+
- [Core date operations guides index](https://northguild.dev/gmt/guides/core-date-operations/)
|
|
178
198
|
- [Core date operations guides](/guides/core-date-operations/get-current/)
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gmt-gnss
|
|
3
|
+
description: >
|
|
4
|
+
GNSS time in @northguild/gmt/gnss — the six RINEX GNSS time scales as peers
|
|
5
|
+
(GPS, GAL, BDT, QZS, GLO, IRN: utcToGnss, gnssToUtc), broadcast weeks by named
|
|
6
|
+
counter (GnssWeekCounter) with a required rolloverEra (integer, "rolling" or {
|
|
7
|
+
notBefore }) for gnssWeekToUtc/utcToGnssWeek, and continuous RINEX navigation
|
|
8
|
+
weeks (rinexWeekToUtc, utcToRinexWeek). Reads the docs site (llms.txt) and the
|
|
9
|
+
installed package's JSDoc; a routing pointer, not an API dump.
|
|
10
|
+
sources:
|
|
11
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/gnss-system-time-and-week-rollover.mdx'
|
|
12
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/maritime-gnss-time-and-week-rollover.mdx'
|
|
13
|
+
- 'northguild/gmt:packages/gmt/src/gnss/index.ts'
|
|
14
|
+
- 'northguild/gmt:packages/gmt/src/types/gnss.ts'
|
|
15
|
+
metadata:
|
|
16
|
+
type: core
|
|
17
|
+
library: '@northguild/gmt'
|
|
18
|
+
library_version: '1.20.0'
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# GMT GNSS
|
|
22
|
+
|
|
23
|
+
Use this skill when the task is reading satellite receiver output: a GNSS
|
|
24
|
+
time-scale string, a broadcast week and time of week, or a RINEX navigation
|
|
25
|
+
file week. TAI and the leap-second table are in the `gmt-integration` skill.
|
|
26
|
+
|
|
27
|
+
## When to load
|
|
28
|
+
|
|
29
|
+
- The user is reading satellite receiver output: a GNSS time-scale string, a
|
|
30
|
+
broadcast week and time of week, or a RINEX navigation-file week.
|
|
31
|
+
|
|
32
|
+
## Core rules
|
|
33
|
+
|
|
34
|
+
1. **The six GNSS time scales are peers, named by their RINEX 4.02 tokens.**
|
|
35
|
+
`GPS`, `GAL` (Galileo), `BDT` (BeiDou), `QZS` (QZSS), `GLO` (GLONASS) and
|
|
36
|
+
`IRN` (NavIC). No system is a default; each goes through the same functions,
|
|
37
|
+
with the system first.
|
|
38
|
+
```typescript
|
|
39
|
+
utcToGnss("GAL", "2024-01-01T00:00:00Z"); // "2024-01-01T00:00:18 GAL"
|
|
40
|
+
utcToGnss("BDT", "2024-01-01T00:00:00Z"); // "2024-01-01T00:00:04 BDT"
|
|
41
|
+
utcToGnss("GPS", "1980-01-06T00:00:00Z"); // "1980-01-06T00:00:00 GPS" (0 s at the epoch)
|
|
42
|
+
gnssToUtc("IRN", "2024-01-01T00:00:18 IRN"); // "2024-01-01T00:00:00Z"
|
|
43
|
+
```
|
|
44
|
+
- `GLO` is GLONASS time as RINEX reports it: UTC's own hours, leap seconds
|
|
45
|
+
included, not UTC + 3 h. Remove the three hours from raw system time first.
|
|
46
|
+
- Each system returns the sentinel before its own epoch. Offsets are nominal:
|
|
47
|
+
broadcast nanosecond corrections are not applied.
|
|
48
|
+
2. **A broadcast week needs its counter and its era.** `GnssWeekCounter` names
|
|
49
|
+
one counter with one modulus: `"GPS-LNAV"`, `"QZS-LNAV"`, `"IRN-LNAV"` 1024
|
|
50
|
+
weeks; `"GAL"` 4096; `"GPS-CNAV"`, `"QZS-CNAV"`, `"BDT"`, `"IRN-L1NV"` 8192.
|
|
51
|
+
GLONASS has no week counter. `rolloverEra` is required: an integer era for
|
|
52
|
+
stored data, `"rolling"` for live output (the era within half a counter
|
|
53
|
+
period of today, so it reads the clock), or `{ notBefore }`, the earliest
|
|
54
|
+
match at or after an instant you state, such as a firmware build date.
|
|
55
|
+
```typescript
|
|
56
|
+
gnssWeekToUtc("GPS-LNAV", 100, 0, 0); // "1981-12-05T23:59:59Z"
|
|
57
|
+
gnssWeekToUtc("GPS-LNAV", 100, 0, 1); // "2001-07-21T23:59:47Z"
|
|
58
|
+
gnssWeekToUtc("GPS-LNAV", 1020, 0, { notBefore: "2019-04-07T00:00:00Z" }); // "2038-10-23T23:59:42Z"
|
|
59
|
+
utcToGnssWeek("GAL", "2019-04-07T00:00:00Z"); // { week: 1024, timeOfWeekSeconds: 18, era: 0 }
|
|
60
|
+
```
|
|
61
|
+
A RINEX navigation record's week is continuous and never wraps: read it with
|
|
62
|
+
`rinexWeekToUtc` / `utcToRinexWeek`, not the broadcast functions. A RINEX
|
|
63
|
+
NavIC week read as a broadcast week is 1024 weeks off.
|
|
64
|
+
```typescript
|
|
65
|
+
rinexWeekToUtc("IRN", 2295, 86418); // "2024-01-01T00:00:00Z"
|
|
66
|
+
gnssWeekToUtc("IRN-L1NV", 2295, 86418, 0); // "2043-08-17T00:00:00Z" (not the same week)
|
|
67
|
+
```
|
|
68
|
+
3. **Second 60 is accepted only on a listed insertion day.** `gnss/` and
|
|
69
|
+
`timescale/` accept `:60` only on a listed insertion day, and may return
|
|
70
|
+
`…T23:59:60Z`. Every other GMT function rejects `:60`, so do not pass that
|
|
71
|
+
result on.
|
|
72
|
+
4. **Convert at the boundary and store the era rule.** Convert a GNSS label to
|
|
73
|
+
a UTC instant on the way in (`gnssToUtc`, `gnssWeekToUtc`, `rinexWeekToUtc`),
|
|
74
|
+
and back on the way out. Store the era rule you used with any week you
|
|
75
|
+
decode.
|
|
76
|
+
5. **Read the docs site.** This skill is a routing pointer. The map of the
|
|
77
|
+
docs is `https://northguild.dev/gmt/llms.txt`, and each page
|
|
78
|
+
has a `.md` twin that holds its text. The JSDoc ships in the installed
|
|
79
|
+
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
80
|
+
|
|
81
|
+
## Key functions
|
|
82
|
+
|
|
83
|
+
- **GNSS time scales** (`@northguild/gmt/gnss`): `utcToGnss`, `gnssToUtc`,
|
|
84
|
+
`gnssWeekToUtc`, `utcToGnssWeek`, `rinexWeekToUtc`, `utcToRinexWeek`, types
|
|
85
|
+
`GnssSystem`, `GnssWeekCounter`, `RolloverEra`, `GnssWeek`,
|
|
86
|
+
`RinexWeekSystem`, `RinexWeek`
|
|
87
|
+
|
|
88
|
+
## References
|
|
89
|
+
|
|
90
|
+
- [gnss reference](https://northguild.dev/gmt/reference/gnss/)
|
|
91
|
+
- [Docs map for agents (llms.txt)](https://northguild.dev/gmt/llms.txt)
|
|
92
|
+
- [GMT Integration skill](../gmt-integration/SKILL.md)
|
|
@@ -3,11 +3,13 @@ name: gmt-integration
|
|
|
3
3
|
description: >
|
|
4
4
|
Application integration patterns — stable cache keys, router/query params,
|
|
5
5
|
table-sort keys, nanosecond timestamps across JSON and storage boundaries,
|
|
6
|
-
foreign epoch bridges (NTP, FILETIME, .NET ticks, Excel, PostgreSQL), and
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
foreign epoch bridges (NTP, FILETIME, .NET ticks, Excel, PostgreSQL), TAI and
|
|
7
|
+
the closed IERS leap-second table (taiMinusUtc, leapSecondsBetween,
|
|
8
|
+
nextLeapSecond, isLeapSecond, toTAI, fromTAI), and lint package selection
|
|
9
|
+
(ESLint, Biome, Oxlint). GNSS time is in gmt-gnss. Reads the docs site
|
|
10
|
+
(llms.txt and each page's .md twin) and the installed package's JSDoc for API
|
|
11
|
+
details, and the lint-package READMEs for lint setup; this skill is a routing
|
|
12
|
+
pointer, not an API dump.
|
|
11
13
|
sources:
|
|
12
14
|
- 'northguild/gmt:apps/dox/src/content/docs/install.mdx'
|
|
13
15
|
- 'northguild/gmt:apps/dox/src/content/docs/guides/integration/app-integration.mdx'
|
|
@@ -19,10 +21,11 @@ sources:
|
|
|
19
21
|
- 'northguild/gmt:packages/gmt/src/precision/format/index.ts'
|
|
20
22
|
- 'northguild/gmt:packages/gmt/src/precision/calculate/index.ts'
|
|
21
23
|
- 'northguild/gmt:packages/gmt/src/precision/validate/index.ts'
|
|
24
|
+
- 'northguild/gmt:packages/gmt/src/timescale/index.ts'
|
|
22
25
|
metadata:
|
|
23
26
|
type: composition
|
|
24
27
|
library: '@northguild/gmt'
|
|
25
|
-
library_version: '1.
|
|
28
|
+
library_version: '1.20.0'
|
|
26
29
|
---
|
|
27
30
|
|
|
28
31
|
# GMT Integration
|
|
@@ -37,6 +40,8 @@ which lint package to install for Date-ban enforcement.
|
|
|
37
40
|
- The user is moving nanosecond timestamps across a JSON wire or into a database.
|
|
38
41
|
- The user is reading or writing another system's epoch — NTP, Windows `FILETIME`,
|
|
39
42
|
.NET ticks, an Excel day serial, or PostgreSQL's internal microseconds.
|
|
43
|
+
- The user needs TAI, TAI − UTC on a date, or whether a `23:59:60` was a real
|
|
44
|
+
leap second.
|
|
40
45
|
- The user is picking an ESLint, Biome, or Oxlint plugin to ban `Date` APIs.
|
|
41
46
|
- The user has a lint package but not the gmt runtime (or vice versa).
|
|
42
47
|
|
|
@@ -87,13 +92,32 @@ which lint package to install for Date-ban enforcement.
|
|
|
87
92
|
bracketed zone annotation. One thing is read from it: an offset written to the
|
|
88
93
|
minute that is the zone's sub-minute offset rounded (`-00:45[Africa/Monrovia]`)
|
|
89
94
|
names the instant the zone gives.
|
|
90
|
-
6. **
|
|
95
|
+
6. **Leap seconds come from the built-in table, never a literal.** `timescale/`
|
|
96
|
+
holds the IERS leap-second table as a closed record: 27 insertions, the last
|
|
97
|
+
on 2016-12-31, and TAI − UTC stays 37 s for every later date, because UTC
|
|
98
|
+
becomes continuous on 20 May 2027 (CGPM 2026). No function takes a table.
|
|
99
|
+
```typescript
|
|
100
|
+
taiMinusUtc("2024-01-01T00:00:00Z"); // 37
|
|
101
|
+
leapSecondsBetween("2000-01-01T00:00:00Z", "2024-01-01T00:00:00Z"); // 5
|
|
102
|
+
isLeapSecond("2016-12-31T23:59:60Z"); // true (a table lookup)
|
|
103
|
+
isLeapSecond("2024-06-15T12:34:60Z"); // false (hasSecond60 is the shape test)
|
|
104
|
+
toTAI("2026-01-01T00:00:00Z"); // "2026-01-01T00:00:37 TAI"
|
|
105
|
+
fromTAI("2017-01-01T00:00:36 TAI"); // "2016-12-31T23:59:60Z"
|
|
106
|
+
```
|
|
107
|
+
- Before 1972-01-01 TAI − UTC was fractional, so every function returns its
|
|
108
|
+
sentinel there.
|
|
109
|
+
- `timescale/` and `gnss/` accept a second 60 only on a listed insertion
|
|
110
|
+
day (for `gnss/`, see the `gmt-gnss` skill), and may return `…T23:59:60Z`. Every other GMT function rejects `:60`,
|
|
111
|
+
so do not pass that result on.
|
|
112
|
+
- A smeared clock never reads `23:59:60` and is up to a second off UTC
|
|
113
|
+
around an insertion. GMT cannot detect smearing.
|
|
114
|
+
7. **Lint packages are toolchain-specific, not mutually exclusive.** Recommend
|
|
91
115
|
only the one matching the project's existing linter; do not force all three.
|
|
92
|
-
|
|
116
|
+
8. **Read the docs site and the lint README.** This skill is a routing pointer.
|
|
93
117
|
For full integration guidance, read these:
|
|
94
|
-
- `https://
|
|
118
|
+
- `https://northguild.dev/gmt/llms.txt` is the map of every docs page.
|
|
95
119
|
- Each page has a `.md` twin that holds its text, for example
|
|
96
|
-
`https://
|
|
120
|
+
`https://northguild.dev/gmt/guides/integration/app-integration.md`.
|
|
97
121
|
- The JSDoc ships in the installed package:
|
|
98
122
|
`node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
99
123
|
- For lint setup, read the matching `@northguild/gmt-eslint` / `gmt-oxlint` /
|
|
@@ -127,13 +151,22 @@ the pattern.
|
|
|
127
151
|
- **Foreign epochs at the boundary**: convert on the way in and on the way out with
|
|
128
152
|
the `precision/convert/` bridges, and keep ISO strings or `bigint` nanoseconds
|
|
129
153
|
everywhere in between — never carry another system's serial through your own code.
|
|
154
|
+
- **Atomic time at the boundary**: convert a TAI label to a UTC instant on the
|
|
155
|
+
way in (`fromTAI`), and back on the way out. GNSS time scales and weeks are in
|
|
156
|
+
the `gmt-gnss` skill.
|
|
157
|
+
|
|
158
|
+
## Key functions
|
|
159
|
+
|
|
160
|
+
- **Leap seconds and TAI** (`@northguild/gmt/timescale`): `taiMinusUtc`,
|
|
161
|
+
`leapSecondsBetween`, `nextLeapSecond`, `isLeapSecond`, `toTAI`, `fromTAI`
|
|
130
162
|
|
|
131
163
|
## References
|
|
132
164
|
|
|
133
|
-
- [Docs map for agents (llms.txt)](https://
|
|
134
|
-
- [Install](https://
|
|
135
|
-
- [App integration guide](https://
|
|
136
|
-
- [Nanosecond precision guide](https://
|
|
137
|
-
- [Foreign epoch bridges guide](https://
|
|
165
|
+
- [Docs map for agents (llms.txt)](https://northguild.dev/gmt/llms.txt)
|
|
166
|
+
- [Install](https://northguild.dev/gmt/install/)
|
|
167
|
+
- [App integration guide](https://northguild.dev/gmt/guides/integration/app-integration/)
|
|
168
|
+
- [Nanosecond precision guide](https://northguild.dev/gmt/guides/core-date-operations/nanosecond-precision/)
|
|
169
|
+
- [Foreign epoch bridges guide](https://northguild.dev/gmt/guides/conversion/foreign-epoch-bridges/)
|
|
170
|
+
- [timescale reference](https://northguild.dev/gmt/reference/timescale/)
|
|
138
171
|
- [Lint Package Selection guide](/guides/integration/linting/)
|
|
139
172
|
- [Core Rules](/core-rules/)
|