@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
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gmt-intermodal
|
|
3
|
+
description: >
|
|
4
|
+
Intermodal container and freight timing in @northguild/gmt/intermodal — free
|
|
5
|
+
time and demurrage (freeTimeExpiry, chargeableDays, demurrageClock), billing
|
|
6
|
+
deadlines (billingTimeline), bill of lading dates and multimodalETA
|
|
7
|
+
(bolTimestamp), and EDI and event timestamps: UN/EDIFACT DTM, X12 date, time
|
|
8
|
+
and time code readers and writers (parseEdifact*, parseX12*,
|
|
9
|
+
parseX12DateAndTime, x12TimeCodeOffset), EPCIS events (parseEpcisEvent). Every
|
|
10
|
+
tariff term is the caller's. Reads the docs site (llms.txt) and the installed
|
|
11
|
+
package's JSDoc; a routing pointer.
|
|
12
|
+
sources:
|
|
13
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-bill-of-lading-and-eta.mdx'
|
|
14
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-billing-deadlines.mdx'
|
|
15
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-edi-timestamps.mdx'
|
|
16
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-free-time-and-demurrage.mdx'
|
|
17
|
+
- 'northguild/gmt:packages/gmt/src/intermodal/calculate/index.ts'
|
|
18
|
+
- 'northguild/gmt:packages/gmt/src/intermodal/format/index.ts'
|
|
19
|
+
- 'northguild/gmt:packages/gmt/src/intermodal/parse/index.ts'
|
|
20
|
+
- 'northguild/gmt:packages/gmt/src/intermodal/validate/index.ts'
|
|
21
|
+
- 'northguild/gmt:packages/gmt/src/types/edi.ts'
|
|
22
|
+
- 'northguild/gmt:packages/gmt/src/types/epcis.ts'
|
|
23
|
+
- 'northguild/gmt:packages/gmt/src/types/two-digit-year.ts'
|
|
24
|
+
metadata:
|
|
25
|
+
type: core
|
|
26
|
+
library: '@northguild/gmt'
|
|
27
|
+
library_version: '1.20.0'
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# GMT Intermodal
|
|
31
|
+
|
|
32
|
+
Use this skill when the task is container free time and demurrage, billing
|
|
33
|
+
deadlines, bill of lading dates, a multimodal ETA, or reading and writing EDI
|
|
34
|
+
and EPCIS timestamps. The time zone rules it builds on are in the
|
|
35
|
+
`gmt-timezone` skill; leg timing is in the `gmt-transport` skill.
|
|
36
|
+
|
|
37
|
+
## When to load
|
|
38
|
+
|
|
39
|
+
- The user is working out when a container's free time ends, how many days of
|
|
40
|
+
demurrage or detention are chargeable and for which dates, or which events a
|
|
41
|
+
charge's clock runs between.
|
|
42
|
+
- The user is reading or writing a UN/EDIFACT `DTM` value, an X12 date, time,
|
|
43
|
+
time code or date time period, or a GS1 EPCIS event time, and must know
|
|
44
|
+
whether its offset was stated.
|
|
45
|
+
|
|
46
|
+
## Core rules
|
|
47
|
+
|
|
48
|
+
1. **Free time is counted in the terminal's local days; the start day and the
|
|
49
|
+
basis are tariff terms, never defaults.**
|
|
50
|
+
`freeTimeExpiry(clockStart, freeDays, { basis, timeZone, firstDay, calendar? })`
|
|
51
|
+
returns `{ freeTimeStart, lastFreeDay, expiresAt }`: local dates in
|
|
52
|
+
`timeZone`, and the first instant of the day after the last free day.
|
|
53
|
+
`firstDay` (`"eventDay"` | `"nextDay"`) has no default because the two
|
|
54
|
+
differ by a day of charges; `basis: "working"` needs a `BusinessCalendar`
|
|
55
|
+
and returns `null` without one. `chargeableDays(clockStart, clockEnd,
|
|
56
|
+
freeDays, options)` also needs `chargeBasis` (no default): many tariffs
|
|
57
|
+
count both in calendar days; where a tariff grants free time in working
|
|
58
|
+
days the days after it are mostly charged as calendar days, and some
|
|
59
|
+
tariffs charge working days only. It counts the days on or after
|
|
60
|
+
`expiresAt` the half-open dwell touched, lists them as `chargedDates`, and
|
|
61
|
+
splits them into `tiers` bands; `freeDays: 0` is allowed there.
|
|
62
|
+
`demurrageClock(events, scope, { direction, startEvent? })` selects the
|
|
63
|
+
events per leg: import demurrage and storage run discharge (or
|
|
64
|
+
availability) to gate-out, detention gate-out to empty return; export
|
|
65
|
+
demurrage gate-in to loaded, detention empty release to gate-in; `combined`
|
|
66
|
+
runs both as one period. No standard fixes how these days are counted;
|
|
67
|
+
every term is the tariff's.
|
|
68
|
+
2. **Billing deadlines are dates counted from an anchor, and every window is
|
|
69
|
+
the caller's.** `billingTimeline({ anchorOn, invoiceIssuedOn?,
|
|
70
|
+
requestReceivedOn? }, { issueDays, disputeDays, resolutionDays,
|
|
71
|
+
agreedResolutionOn? })` returns `{ invoiceDeadline, issuedByDeadline,
|
|
72
|
+
disputeDeadline, requestedByDeadline, resolutionDeadline }`. Day zero is
|
|
73
|
+
the anchor and each deadline is `date + days` on the ISO calendar; a date
|
|
74
|
+
is by the deadline when it is on or before it. No window has a default (a
|
|
75
|
+
missing one returns `null`); fields whose input does not exist yet are
|
|
76
|
+
`null`, so an anchor alone is a forecast. The anchor is whatever date the
|
|
77
|
+
caller counts from: the last charged date
|
|
78
|
+
(`chargedDates.at(-1)`), or for a re-bill the issuance date of the invoice
|
|
79
|
+
received. Reduce an instant to the billing party's local date first with
|
|
80
|
+
`convertUtcToPlainDate(instant, { timeZone })`. A request before its
|
|
81
|
+
invoice, or an agreed date before the request, returns `null`. GMT
|
|
82
|
+
computes dates, not liability.
|
|
83
|
+
3. **A B/L date is a local date; a multimodal ETA keeps transit and dwell
|
|
84
|
+
apart.** `bolTimestamp(value, event, { timeZone })` returns the
|
|
85
|
+
`YYYY-MM-DD` date on the local clock in `timeZone` at the instant `value`:
|
|
86
|
+
DCSA Bill of Lading 3.0 types `issueDate`, `receivedForShipmentDate` and
|
|
87
|
+
`shippedOnBoardDate` as dates with no time or offset. `event` is
|
|
88
|
+
`"issue" | "received" | "shippedOnBoard"`, one per DCSA date field; all
|
|
89
|
+
three render the same way and anything else is `""`. `timeZone` is
|
|
90
|
+
required (no UTC default): the place of issue for `issue`, the loading
|
|
91
|
+
terminal for `received` and `shippedOnBoard`. 21:00 in New York
|
|
92
|
+
is 01:00Z the next day, so the UTC date is wrong. Only the instant is read;
|
|
93
|
+
a zoneless value is `""`. `multimodalETA(legs, { startTimeZone? })` takes
|
|
94
|
+
`scheduleDelivery`'s `Leg[]` and returns `{ eta, totalLegs, totalTransit,
|
|
95
|
+
totalDwell }`: transit is the legs' durations added up, dwell the time
|
|
96
|
+
actually spent at handoffs (a wait for a scheduled departure included; the
|
|
97
|
+
last leg's `dwellAfter` excluded), both with hours as the largest unit, and
|
|
98
|
+
they sum to the elapsed time. Every `scheduleDelivery` rule applies, so a
|
|
99
|
+
missed connection is `null`. An empty array is `{ eta: "", totalLegs: 0,
|
|
100
|
+
totalTransit: "PT0S", totalDwell: "PT0S" }`. Dwell is never estimated.
|
|
101
|
+
4. **An EDI timestamp is read by the function for its kind of value, and
|
|
102
|
+
nothing the code does not state is guessed.** Each kind has a `parse…`,
|
|
103
|
+
`format…` and `isValid…` function named for it (`parseEdifactDate`,
|
|
104
|
+
`formatEdifactDate`, `isValidEdifactDate`), and `format` is typed to that
|
|
105
|
+
kind's codes. UN/EDIFACT `DTM` (value 2380 against format code 2379):
|
|
106
|
+
`EdifactDate` (`102`), `EdifactTime` (`401`, `402`), `EdifactDateTime`
|
|
107
|
+
(`203`, `204`), `EdifactOffsetDateTime` (`205`, `208`, `303`, `304`),
|
|
108
|
+
`EdifactDatePeriod` (`718`), `EdifactDateTimePeriod` (`719`). X12 (element
|
|
109
|
+
1251 against qualifier 1250, in `DTP` and `DTM-05`/`06`): `X12Date` (`D8`,
|
|
110
|
+
`DB`), `X12Time` (`TM`, `TS`), `X12DateTime` (`DT`, `RTS`), `X12DateRange`
|
|
111
|
+
(`RD8`, `RD`), `X12DateTimeRange` (`RDT`, `DTS`). `parseX12Time(value)`
|
|
112
|
+
with no `format` reads element 337, tenths and hundredths included
|
|
113
|
+
(`"14300012"` is `"14:30:00.12"`), and `formatX12TimeElement(value, form)`
|
|
114
|
+
writes it in the mask named: `HHMM`, `HHMMSS`, `HHMMSSD` or `HHMMSSDD`
|
|
115
|
+
(`"14:30:00"` under `HHMMSSDD` is `"14300000"`). A parser returns one value:
|
|
116
|
+
`"2024-06-15"`, `"14:30:00"`, `"2024-06-15T14:30:00"`,
|
|
117
|
+
`"2024-06-15T14:30:00+02:00"` (the string `toOffsetInstant` reads), or
|
|
118
|
+
`{ start, end }` for a period or range. The sentinel is `""`, or `null`
|
|
119
|
+
for a period, a range, a zone or a classifier. A period formatter takes
|
|
120
|
+
`(start, end, format)`. No EDI function takes options. X12 freight is
|
|
121
|
+
three calls: `parseX12DateAndTime("20240615", "1430")` is
|
|
122
|
+
`"2024-06-15T14:30:00"` (elements 373 and 337 of `AT7`, `G62` or `DTM`,
|
|
123
|
+
both required), `x12TimeCodeOffset("20")` is `"-05:00"`, and
|
|
124
|
+
`resolveLocal(local, offset)` is `"2024-06-15T19:30:00Z"`. For a code
|
|
125
|
+
held as a plain string, `classifyEdifactDtmFormat`,
|
|
126
|
+
`classifyX12DateTimePeriodFormat` and `classifyX12TimeCode` return
|
|
127
|
+
`{ kind, format }` or `{ kind, timeCode }`, or `null` for a code no
|
|
128
|
+
function reads; testing `kind` narrows the code with no cast.
|
|
129
|
+
`parseEpcisEvent({ eventTime, eventTimeZoneOffset })` returns
|
|
130
|
+
`{ instant, offset, local }`; both fields are required and need not
|
|
131
|
+
agree. Five no-guess rules. (a) An offsetless value never becomes UTC:
|
|
132
|
+
`203`, `204`, `DT`, `RTS` and `parseX12DateAndTime` return a local
|
|
133
|
+
date-time; pass it and an IANA zone to `resolveLocal`. (b) A named X12
|
|
134
|
+
time code is a zone name, not an offset: `x12TimeCodeZone("ES")` is
|
|
135
|
+
`{ zone: "Eastern", daylight: false }` and `ET` has `daylight: null`,
|
|
136
|
+
while `x12TimeCodeOffset` reads `01`–`29`, `UT` and `GM`, and `13`–`24`
|
|
137
|
+
count down (`13` is `-12:00`). Each returns its sentinel for the other's
|
|
138
|
+
codes. (c) The `ZZZ` of `303` and `304` is an offset only: `+02`, `UTC`
|
|
139
|
+
and `GMT` are read, and letters such as `CET` return `""`. (d) A
|
|
140
|
+
two-digit year is not read by any EDI function: `101`, `201`, `202`,
|
|
141
|
+
`206`, `207`, `301`, `302`, `713`, `717`, `D6`, `TT`, `TR`, `RD6` and
|
|
142
|
+
`TU`. Read one with `parseDateWithPattern` or `parseDateTimeWithPattern`,
|
|
143
|
+
a `yy` pattern and `{ yearWindow }`: a start year such as `2000` (a fixed
|
|
144
|
+
window, for stored data) or `"rolling"` (50 years before the current UTC
|
|
145
|
+
year to 49 after). Without `yearWindow` a `yy` pattern returns `""`. (e)
|
|
146
|
+
`209`, `404`, `406`, `TC`, `EH`, `DDT`, `DTD`, `RTM` and `UN` are not
|
|
147
|
+
read: none states one date, time or date-time. A UN/EDIFACT period has no
|
|
148
|
+
hyphen (`2024061520240620` under `718`) and an X12 range has one
|
|
149
|
+
(`20240615-20240620` under `RD8`); a reversed one returns the sentinel.
|
|
150
|
+
Pass a UN/EDIFACT parser the unescaped value (`+02`, not `?+02`). A
|
|
151
|
+
formatter cuts seconds and fractions to its mask and never rounds.
|
|
152
|
+
It writes `ZZZ` as `±HH`, and `+05:30` under `303` or `304` returns `""`:
|
|
153
|
+
use `205` or `208`. Each value validator is true exactly when its parser
|
|
154
|
+
returns a value (`isValidX12DateAndTime(date, time)` for the freight
|
|
155
|
+
pair), and `isValidEdifactDtmFormat`, `isValidX12DateTimePeriodFormat`
|
|
156
|
+
and `isValidX12TimeCode` check a code alone. `isValidEpcisEvent` is
|
|
157
|
+
`isValidEpcisEventTime` and `isValidEpcisTimeZoneOffset` together: the
|
|
158
|
+
`epcisEventTime` regex matches `2024-02-30`, the validator does not.
|
|
159
|
+
5. **Read the docs site.** This skill is a routing pointer. The map of the
|
|
160
|
+
docs is `https://northguild.dev/gmt/llms.txt`, and each page
|
|
161
|
+
has a `.md` twin that holds its text. The JSDoc ships in the installed
|
|
162
|
+
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
163
|
+
|
|
164
|
+
## Key functions
|
|
165
|
+
|
|
166
|
+
- **Free time and demurrage**: `freeTimeExpiry`, `chargeableDays`,
|
|
167
|
+
`demurrageClock`
|
|
168
|
+
- **Billing deadlines**: `billingTimeline`
|
|
169
|
+
- **Bill of lading dates and multimodal ETA**: `bolTimestamp`, `multimodalETA`
|
|
170
|
+
- **EDI and event timestamps**: `parseEdifactDate`, `parseEdifactTime`,
|
|
171
|
+
`parseEdifactDateTime`, `parseEdifactOffsetDateTime`,
|
|
172
|
+
`parseEdifactDatePeriod`, `parseEdifactDateTimePeriod`, `parseX12Date`,
|
|
173
|
+
`parseX12Time`, `parseX12DateTime`, `parseX12DateRange`,
|
|
174
|
+
`parseX12DateTimeRange`, `parseX12DateAndTime`, `x12TimeCodeOffset`,
|
|
175
|
+
`x12TimeCodeZone`, `classifyEdifactDtmFormat`,
|
|
176
|
+
`classifyX12DateTimePeriodFormat`, `classifyX12TimeCode`,
|
|
177
|
+
`parseEpcisEvent`; a `format…` and an `isValid…` for each `parseEdifact…`
|
|
178
|
+
kind, for `X12Date`, `X12Time`, `X12DateTime`, `X12DateRange` and
|
|
179
|
+
`X12DateTimeRange`, and for `EpcisEvent`; `formatX12TimeElement`,
|
|
180
|
+
`isValidX12DateAndTime`, `isValidEpcisEventTime`,
|
|
181
|
+
`isValidEpcisTimeZoneOffset`, `isValidEdifactDtmFormat`,
|
|
182
|
+
`isValidX12DateTimePeriodFormat`, `isValidX12TimeCode`
|
|
183
|
+
|
|
184
|
+
## References
|
|
185
|
+
|
|
186
|
+
- [intermodal reference](https://northguild.dev/gmt/reference/intermodal/)
|
|
187
|
+
- [Docs map for agents (llms.txt)](https://northguild.dev/gmt/llms.txt)
|
|
188
|
+
- [GMT Timezone skill](../gmt-timezone/SKILL.md)
|
|
189
|
+
- [GMT Transport skill](../gmt-transport/SKILL.md)
|
|
@@ -3,28 +3,23 @@ name: gmt-timezone
|
|
|
3
3
|
description: >
|
|
4
4
|
Timezone-aware operations — zoned now, zoned formatting, plain↔zoned↔UTC↔Unix
|
|
5
5
|
conversion, DST disambiguation, toOffsetInstant, classifyLocal/resolveLocal,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
(cutoffAt, cutoffSchedule, isPastCutoff, timeToCutoff), punctuality
|
|
10
|
-
(scheduleDeviation, classifyPunctuality, punctualityRate, bestAvailable,
|
|
11
|
-
estimateDrift over PLN/EST/REQ/ACT, nextDeparture), free time (freeTimeExpiry,
|
|
12
|
-
chargeableDays, demurrageClock), billingTimeline, bolTimestamp, multimodalETA,
|
|
13
|
-
EDI timestamps (parseEdifactDateTime, parseX12DateAndTime, x12TimeCodeOffset,
|
|
14
|
-
parseEpcisEvent, classify*/format*/isValid*), operating hours
|
|
6
|
+
classifyStoredZoned (why a stored offset+zone string no longer resolves), real
|
|
7
|
+
boundaries (startOfZoned/endOfZoned/startOfUnix/endOfUnix), hours in a local
|
|
8
|
+
day, floorToZone/bucketRange, calendar-annotated strings, operating hours
|
|
15
9
|
(OperatingSchedule, recurringWindows, operatingIntervals, isOpenAt,
|
|
16
10
|
nextOpenAt, nextCloseAt, operatingTimeBetween, addOperatingTime), and daylight
|
|
17
|
-
time (isInDaylightSaving, hasDaylightSaving).
|
|
11
|
+
time (isInDaylightSaving, hasDaylightSaving). Transport legs, intermodal free
|
|
12
|
+
time and EDI timestamps are in gmt-transport and gmt-intermodal.
|
|
18
13
|
sources:
|
|
19
14
|
- 'northguild/gmt:apps/dox/src/content/docs/guides/zoned-date-operations/*.mdx'
|
|
20
15
|
- 'northguild/gmt:apps/dox/src/content/docs/guides/concepts/dst-disambiguation.md'
|
|
21
16
|
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/operating-hours.mdx'
|
|
22
|
-
- 'northguild/gmt:apps/dox/src/content/docs/guides/industries/*.mdx'
|
|
23
17
|
- 'northguild/gmt:packages/gmt/src/zoned/get/index.ts'
|
|
24
18
|
- 'northguild/gmt:packages/gmt/src/zoned/format/index.ts'
|
|
25
19
|
- 'northguild/gmt:packages/gmt/src/zoned/compare/index.ts'
|
|
26
20
|
- 'northguild/gmt:packages/gmt/src/zoned/convert/index.ts'
|
|
27
21
|
- 'northguild/gmt:packages/gmt/src/zoned/validate/index.ts'
|
|
22
|
+
- 'northguild/gmt:packages/gmt/src/zoned/classify/index.ts'
|
|
28
23
|
- 'northguild/gmt:packages/gmt/src/zoned/calculate/addZoned.ts'
|
|
29
24
|
- 'northguild/gmt:packages/gmt/src/zoned/calculate/startOfZoned.ts'
|
|
30
25
|
- 'northguild/gmt:packages/gmt/src/zoned/calculate/roundZoned.ts'
|
|
@@ -39,21 +34,10 @@ sources:
|
|
|
39
34
|
- 'northguild/gmt:packages/gmt/src/calendar/validate/index.ts'
|
|
40
35
|
- 'northguild/gmt:packages/gmt/src/calendar/hours/index.ts'
|
|
41
36
|
- 'northguild/gmt:packages/gmt/src/types/operating-schedule.ts'
|
|
42
|
-
- 'northguild/gmt:packages/gmt/src/types/transport-timestamps.ts'
|
|
43
|
-
- 'northguild/gmt:packages/gmt/src/transport/calculate/index.ts'
|
|
44
|
-
- 'northguild/gmt:packages/gmt/src/transport/compare/index.ts'
|
|
45
|
-
- 'northguild/gmt:packages/gmt/src/transport/convert/index.ts'
|
|
46
|
-
- 'northguild/gmt:packages/gmt/src/intermodal/calculate/index.ts'
|
|
47
|
-
- 'northguild/gmt:packages/gmt/src/intermodal/format/index.ts'
|
|
48
|
-
- 'northguild/gmt:packages/gmt/src/intermodal/parse/index.ts'
|
|
49
|
-
- 'northguild/gmt:packages/gmt/src/intermodal/validate/index.ts'
|
|
50
|
-
- 'northguild/gmt:packages/gmt/src/types/edi.ts'
|
|
51
|
-
- 'northguild/gmt:packages/gmt/src/types/epcis.ts'
|
|
52
|
-
- 'northguild/gmt:packages/gmt/src/types/two-digit-year.ts'
|
|
53
37
|
metadata:
|
|
54
38
|
type: core
|
|
55
39
|
library: '@northguild/gmt'
|
|
56
|
-
library_version: '1.
|
|
40
|
+
library_version: '1.20.0'
|
|
57
41
|
---
|
|
58
42
|
|
|
59
43
|
# GMT Timezone
|
|
@@ -63,7 +47,7 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
63
47
|
|
|
64
48
|
## When to load
|
|
65
49
|
|
|
66
|
-
- The user needs the current time in a specific timezone (`"
|
|
50
|
+
- The user needs the current time in a specific timezone (`"Asia/Tokyo"`).
|
|
67
51
|
- The user wants to format a datetime with its zone attached.
|
|
68
52
|
- The user needs to convert a plain datetime to a zoned instant, or between
|
|
69
53
|
timezones, or between UTC and Unix epochs.
|
|
@@ -73,15 +57,6 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
73
57
|
- The user needs the start or end of a local hour, day, week, month or quarter.
|
|
74
58
|
- The user is grouping or aggregating UTC timestamps by local day, hour, week or
|
|
75
59
|
month — an observability rollup, a chargeable-days count.
|
|
76
|
-
- The user is adding a leg's transit time to a departure, showing an arrival in
|
|
77
|
-
the zone where it lands, or counting how long cargo, a vessel or a patient sat
|
|
78
|
-
somewhere in local calendar days.
|
|
79
|
-
- The user is working out when a container's free time ends, how many days of
|
|
80
|
-
demurrage or detention are chargeable and for which dates, or which events a
|
|
81
|
-
charge's clock runs between.
|
|
82
|
-
- The user is reading or writing a UN/EDIFACT `DTM` value, an X12 date, time,
|
|
83
|
-
time code or date time period, or a GS1 EPCIS event time, and must know
|
|
84
|
-
whether its offset was stated.
|
|
85
60
|
- The user is asking whether a gate, desk, office or venue is open at an
|
|
86
61
|
instant, when it next opens or closes, how many working hours passed between
|
|
87
62
|
two instants, or when an SLA measured in open hours falls due — or is
|
|
@@ -89,8 +64,8 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
89
64
|
|
|
90
65
|
## Core rules
|
|
91
66
|
|
|
92
|
-
1. **Use IANA timezone ids, not raw offsets.** `"2024-03-15T14:30:45[
|
|
93
|
-
is correct; bare `"
|
|
67
|
+
1. **Use IANA timezone ids, not raw offsets.** `"2024-03-15T14:30:45[Australia/Sydney]"`
|
|
68
|
+
is correct; bare `"+11:00"` loses the zone and can't observe DST rules.
|
|
94
69
|
2. **DST disambiguation.** `convertPlainDateTimeToZoned`, `addZoned` and
|
|
95
70
|
`setZoned` accept `disambiguation` (`"compatible"` | `"earlier"` |
|
|
96
71
|
`"later"` | `"reject"`) for gap/overlap resolution. On `addZoned`,
|
|
@@ -133,6 +108,15 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
133
108
|
EDIFACT DTM and DICOM exchange. Its `±HH:MM[:SS]` offset is a valid `timeZone`
|
|
134
109
|
for `resolveLocal` and every function whose result has no zone in it. One
|
|
135
110
|
that returns a zoned string or formats with `Intl` takes none with seconds.
|
|
111
|
+
**A stored string can stop agreeing with its zone.**
|
|
112
|
+
`classifyStoredZoned("2016-12-01T09:00:00+02:00[Europe/Istanbul]")` returns
|
|
113
|
+
`kind: "offsetMismatch"` with `storedOffset`, `zoneOffset` and the instant each
|
|
114
|
+
reading gives. The other kinds are `valid`, `validInOverlap`, `ambiguous` and
|
|
115
|
+
`nonexistent`; every one carries `atStoredOffset`, and it returns `null` for a
|
|
116
|
+
string without both an offset and a zone. It picks no reading: your policy
|
|
117
|
+
chooses among those returned. The answer follows the host's time zone rules, so
|
|
118
|
+
the same string can differ between hosts. Import it from
|
|
119
|
+
`@northguild/gmt/zoned/classify`.
|
|
136
120
|
7. **Bucket in the zone, not in UTC.** `floorToZone(instant, unit, zone)` and
|
|
137
121
|
`bucketRange(start, end, unit, zone)` floor on the zone's own calendar
|
|
138
122
|
boundaries. Flooring a UTC instant to a UTC day and calling it a local day is
|
|
@@ -155,7 +139,7 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
155
139
|
local day.
|
|
156
140
|
10. **Calendar annotations.** A calendar-annotated zoned string is RFC 9557,
|
|
157
141
|
`Temporal.ZonedDateTime#toString()`: ISO digits, then `[timeZone]`, then
|
|
158
|
-
`[u-ca=<id>]` (`"2024-10-03T14:30:45
|
|
142
|
+
`[u-ca=<id>]` (`"2024-10-03T14:30:45+03:00[Asia/Jerusalem][u-ca=hebrew]"`).
|
|
159
143
|
A calendar annotation before the zone is rejected. Only `addZoned`, `subtractZoned`,
|
|
160
144
|
`diffZoned`, `diffZonedAsDuration`, `convertZonedToCalendar`,
|
|
161
145
|
`isValidCalendarZonedDateTime` and `zoned/interval/*` (including
|
|
@@ -189,198 +173,15 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
189
173
|
fall-back into the previous date counts that date.
|
|
190
174
|
13. **Zone names and leap seconds.** Every IANA name is a zone, including
|
|
191
175
|
single-component links (`Japan`, `Zulu`, `EST5EDT`), in any case.
|
|
192
|
-
`toOffsetInstant` returns IANA casing (`"
|
|
193
|
-
`"
|
|
176
|
+
`toOffsetInstant` returns IANA casing (`"asia/kolkata"` gives
|
|
177
|
+
`"Asia/Kolkata"`). `:60` is invalid in every spelling (`T`, `t`, space,
|
|
194
178
|
basic format) and every zoned function returns its sentinel for it rather
|
|
195
|
-
than reading `:59
|
|
179
|
+
than reading `:59`; only `timescale/` and `gnss/` accept a listed one (for `gnss/`, see the `gmt-gnss` skill).
|
|
196
180
|
14. **A zoned value formats in its own zone.** `formatZonedDateTime`,
|
|
197
181
|
`formatZonedRange` and `formatZonedToParts` return `""`/`[]` for a
|
|
198
182
|
`timeZone` option. To show an instant in another zone, use
|
|
199
183
|
`formatUtc(convertZonedToUtc(value), locale, { timeZone })`.
|
|
200
|
-
15. **
|
|
201
|
-
`transitTime(departure, duration)` adds hours, minutes and seconds as
|
|
202
|
-
elapsed time (`P1D` is 24 exact hours) in the departure's own zone, so a leg
|
|
203
|
-
across a DST transition lands at the wall time the vehicle really arrives;
|
|
204
|
-
years, months and weeks return `""`, and a bracketed zone that contradicts
|
|
205
|
-
its offset is rejected rather than reinterpreted. `etaAtZone(instant, zone)`
|
|
206
|
-
renders a moment in the zone the caller names — no disambiguation arises,
|
|
207
|
-
the offset in the result tells the two passes of a fall-back hour apart, and
|
|
208
|
-
GMT never resolves a port, airport or station code to a zone.
|
|
209
|
-
`dwellTime(entry, exit, targetZone?)` returns `{ duration, enter, exit,
|
|
210
|
-
calendarDays }`; `calendarDays` is the number of distinct local dates the
|
|
211
|
-
half-open `[entry, exit)` touches, walked across the zone's real transitions
|
|
212
|
-
(a skipped date is not counted, a re-entered one only once), and is the
|
|
213
|
-
library's one "local days crossed" count.
|
|
214
|
-
Bare instants with no `targetZone` return `null`: an offset is not a place.
|
|
215
|
-
`crossingTime(entry, exit, targetZone)` returns `{ duration, enter, exit }`
|
|
216
|
-
with no day count (a crossing that needs one is a dwell); `targetZone` is
|
|
217
|
-
required and always the rendering zone — a bracket on the input never
|
|
218
|
-
supplies it.
|
|
219
|
-
`scheduleDelivery(legs, { startTimeZone? })` chains legs into `{ eta,
|
|
220
|
-
legTimes }`: each leg leaves at its explicit `departure` or at the previous
|
|
221
|
-
arrival plus that leg's `dwellAfter`, the minimum connect time. A scheduled
|
|
222
|
-
departure earlier than that is a missed connection and returns `null`
|
|
223
|
-
(equal passes). A departure is exact (instant or zoned string) or a
|
|
224
|
-
zoneless wall time: on the first leg it is read in `startTimeZone`, on a
|
|
225
|
-
later leg in the previous leg's `timeZone` (where that leg leaves from),
|
|
226
|
-
both with `"compatible"` resolution (ambiguous → earlier, skipped →
|
|
227
|
-
later). On a later leg, a repeated hour instead takes the earliest pass
|
|
228
|
-
at or after the previous arrival plus its dwell. A
|
|
229
|
-
negative leg `duration` is `null`; the last leg's `dwellAfter` is echoed,
|
|
230
|
-
never added. `mode`, `origin` and `destination` are opaque tags echoed on
|
|
231
|
-
each `LegTime`. An empty array returns `{ eta: "", legTimes: [] }`.
|
|
232
|
-
16. **Cut-offs count back from the caller's event.**
|
|
233
|
-
`cutoffAt(anchor, offset, { timeZone, atLocalTime?, calendar?, roll? })`
|
|
234
|
-
takes an offset off the anchor (loading, departure or arrival are
|
|
235
|
-
different instants; it never guesses which). With `atLocalTime` the
|
|
236
|
-
offset's exact part comes off the anchor's instant first, its calendar
|
|
237
|
-
part off the local date, and the cut-off is that time of day: `P2D` at
|
|
238
|
-
`"17:00"` is 17:00 two days before, not 48 hours. Without it the offset
|
|
239
|
-
is `ZonedDateTime#subtract` (`P2D` keeps the wall clock, `PT96H` is 96
|
|
240
|
-
exact hours). `calendar` and `roll` go together or not at all — there is
|
|
241
|
-
no default roll, as in `rollDate`; either alone is `""`. A repeated hour
|
|
242
|
-
takes the first pass (RFC 5545 §3.3.5); a skipped hour is `""`. It does
|
|
243
|
-
not check that the cut-off is before the anchor.
|
|
244
|
-
`cutoffSchedule(anchor, [{ name, offset, atLocalTime? }], options)`
|
|
245
|
-
sorts the stack by instant and returns `[]` if any entry fails.
|
|
246
|
-
`isPastCutoff(now, cutoff)` is `true` from the cut-off instant on;
|
|
247
|
-
`timeToCutoff(now, cutoff)` is exact hours, `PT0S` at it, negative after.
|
|
248
|
-
17. **Planned versus actual is exact time under the caller's tolerance.**
|
|
249
|
-
`scheduleDeviation(planned, actual)` is `actual − planned` in exact hours
|
|
250
|
-
(`"PT14M"` late, `"-PT5M"` early; a fall-back delay is `PT1H`, never
|
|
251
|
-
`PT0S`). `classifyPunctuality(planned, actual, { late, early? })` returns
|
|
252
|
-
`"early" | "onTime" | "late"`, or `null` on invalid input: both edges are
|
|
253
|
-
outside (exactly `late` is late), and without `early` every early arrival
|
|
254
|
-
is on time. There is no default tolerance; tolerances are exact durations
|
|
255
|
-
(a day is 24 hours; years, months, weeks or negative return `null`).
|
|
256
|
-
`punctualityRate(pairs, tolerance)` returns `{ onTime, total, rate }`,
|
|
257
|
-
judging every pair under a tolerance read once; an empty list or any
|
|
258
|
-
invalid pair is `null`. A `TimestampEvent` is `{ classifier: "PLN" |
|
|
259
|
-
"EST" | "REQ" | "ACT", at, recordedAt }` (DCSA vocabulary).
|
|
260
|
-
`bestAvailable(events)` returns `{ at, classifier }`: `ACT` whenever one
|
|
261
|
-
exists, else `PLN`, else `REQ`, else `EST`, newest `recordedAt` within the
|
|
262
|
-
class — never an `EST` shown as an actual. `estimateDrift(events, {
|
|
263
|
-
tolerance? })` reports first-to-last `EST` drift, `revisions` and
|
|
264
|
-
`exceedsTolerance` (strictly greater, either direction; `null` without a
|
|
265
|
-
tolerance), and is `null` with fewer than two `EST`s.
|
|
266
|
-
`nextDeparture(after, timetable, { minimumConnection? })` returns the
|
|
267
|
-
first departure at or after `after + minimumConnection`: a list entry
|
|
268
|
-
echoed as written (ready for `scheduleDelivery`'s `departure`), or for
|
|
269
|
-
`{ headway, from, to }` (a GTFS `frequencies.txt` row) `from + k × headway`
|
|
270
|
-
in the half-open `[from, to)`, written the way `from` was. Every moment
|
|
271
|
-
must carry its offset; a wall time without one is `""`.
|
|
272
|
-
18. **Free time is counted in the terminal's local days; the start day and the
|
|
273
|
-
basis are tariff terms, never defaults.**
|
|
274
|
-
`freeTimeExpiry(clockStart, freeDays, { basis, timeZone, firstDay, calendar? })`
|
|
275
|
-
returns `{ freeTimeStart, lastFreeDay, expiresAt }`: local dates in
|
|
276
|
-
`timeZone`, and the first instant of the day after the last free day.
|
|
277
|
-
`firstDay` (`"eventDay"` | `"nextDay"`) has no default because the two
|
|
278
|
-
differ by a day of charges; `basis: "working"` needs a `BusinessCalendar`
|
|
279
|
-
and returns `null` without one. `chargeableDays(clockStart, clockEnd,
|
|
280
|
-
freeDays, options)` also needs `chargeBasis` (no default): many tariffs
|
|
281
|
-
count both in calendar days; where a tariff grants free time in working
|
|
282
|
-
days the days after it are mostly charged as calendar days, and some
|
|
283
|
-
tariffs charge working days only. It counts the days on or after
|
|
284
|
-
`expiresAt` the half-open dwell touched, lists them as `chargedDates`, and
|
|
285
|
-
splits them into `tiers` bands; `freeDays: 0` is allowed there.
|
|
286
|
-
`demurrageClock(events, scope, { direction, startEvent? })` selects the
|
|
287
|
-
events per leg: import demurrage and storage run discharge (or
|
|
288
|
-
availability) to gate-out, detention gate-out to empty return; export
|
|
289
|
-
demurrage gate-in to loaded, detention empty release to gate-in; `combined`
|
|
290
|
-
runs both as one period. No standard fixes how these days are counted;
|
|
291
|
-
every term is the tariff's.
|
|
292
|
-
19. **Billing deadlines are dates counted from an anchor, and every window is
|
|
293
|
-
the caller's.** `billingTimeline({ anchorOn, invoiceIssuedOn?,
|
|
294
|
-
requestReceivedOn? }, { issueDays, disputeDays, resolutionDays,
|
|
295
|
-
agreedResolutionOn? })` returns `{ invoiceDeadline, issuedByDeadline,
|
|
296
|
-
disputeDeadline, requestedByDeadline, resolutionDeadline }`. Day zero is
|
|
297
|
-
the anchor and each deadline is `date + days` on the ISO calendar; a date
|
|
298
|
-
is by the deadline when it is on or before it. No window has a default (a
|
|
299
|
-
missing one returns `null`); fields whose input does not exist yet are
|
|
300
|
-
`null`, so an anchor alone is a forecast. The anchor is whatever date the
|
|
301
|
-
caller counts from: the last charged date
|
|
302
|
-
(`chargedDates.at(-1)`), or for a re-bill the issuance date of the invoice
|
|
303
|
-
received. Reduce an instant to the billing party's local date first with
|
|
304
|
-
`convertUtcToPlainDate(instant, { timeZone })`. A request before its
|
|
305
|
-
invoice, or an agreed date before the request, returns `null`. GMT
|
|
306
|
-
computes dates, not liability.
|
|
307
|
-
20. **A B/L date is a local date; a multimodal ETA keeps transit and dwell
|
|
308
|
-
apart.** `bolTimestamp(value, event, { timeZone })` returns the
|
|
309
|
-
`YYYY-MM-DD` date on the local clock in `timeZone` at the instant `value`:
|
|
310
|
-
DCSA Bill of Lading 3.0 types `issueDate`, `receivedForShipmentDate` and
|
|
311
|
-
`shippedOnBoardDate` as dates with no time or offset. `event` is
|
|
312
|
-
`"issue" | "received" | "shippedOnBoard"`, one per DCSA date field; all
|
|
313
|
-
three render the same way and anything else is `""`. `timeZone` is
|
|
314
|
-
required (no UTC default): the place of issue for `issue`, the loading
|
|
315
|
-
terminal for `received` and `shippedOnBoard`. 21:00 in New York
|
|
316
|
-
is 01:00Z the next day, so the UTC date is wrong. Only the instant is read;
|
|
317
|
-
a zoneless value is `""`. `multimodalETA(legs, { startTimeZone? })` takes
|
|
318
|
-
`scheduleDelivery`'s `Leg[]` and returns `{ eta, totalLegs, totalTransit,
|
|
319
|
-
totalDwell }`: transit is the legs' durations added up, dwell the time
|
|
320
|
-
actually spent at handoffs (a wait for a scheduled departure included; the
|
|
321
|
-
last leg's `dwellAfter` excluded), both with hours as the largest unit, and
|
|
322
|
-
they sum to the elapsed time. Every `scheduleDelivery` rule applies, so a
|
|
323
|
-
missed connection is `null`. An empty array is `{ eta: "", totalLegs: 0,
|
|
324
|
-
totalTransit: "PT0S", totalDwell: "PT0S" }`. Dwell is never estimated.
|
|
325
|
-
21. **An EDI timestamp is read by the function for its kind of value, and
|
|
326
|
-
nothing the code does not state is guessed.** Each kind has a `parse…`,
|
|
327
|
-
`format…` and `isValid…` function named for it (`parseEdifactDate`,
|
|
328
|
-
`formatEdifactDate`, `isValidEdifactDate`), and `format` is typed to that
|
|
329
|
-
kind's codes. UN/EDIFACT `DTM` (value 2380 against format code 2379):
|
|
330
|
-
`EdifactDate` (`102`), `EdifactTime` (`401`, `402`), `EdifactDateTime`
|
|
331
|
-
(`203`, `204`), `EdifactOffsetDateTime` (`205`, `208`, `303`, `304`),
|
|
332
|
-
`EdifactDatePeriod` (`718`), `EdifactDateTimePeriod` (`719`). X12 (element
|
|
333
|
-
1251 against qualifier 1250, in `DTP` and `DTM-05`/`06`): `X12Date` (`D8`,
|
|
334
|
-
`DB`), `X12Time` (`TM`, `TS`), `X12DateTime` (`DT`, `RTS`), `X12DateRange`
|
|
335
|
-
(`RD8`, `RD`), `X12DateTimeRange` (`RDT`, `DTS`). `parseX12Time(value)`
|
|
336
|
-
with no `format` reads element 337, tenths and hundredths included
|
|
337
|
-
(`"14300012"` is `"14:30:00.12"`), and `formatX12TimeElement(value, form)`
|
|
338
|
-
writes it in the mask named: `HHMM`, `HHMMSS`, `HHMMSSD` or `HHMMSSDD`
|
|
339
|
-
(`"14:30:00"` under `HHMMSSDD` is `"14300000"`). A parser returns one value:
|
|
340
|
-
`"2024-06-15"`, `"14:30:00"`, `"2024-06-15T14:30:00"`,
|
|
341
|
-
`"2024-06-15T14:30:00+02:00"` (the string `toOffsetInstant` reads), or
|
|
342
|
-
`{ start, end }` for a period or range. The sentinel is `""`, or `null`
|
|
343
|
-
for a period, a range, a zone or a classifier. A period formatter takes
|
|
344
|
-
`(start, end, format)`. No EDI function takes options. X12 freight is
|
|
345
|
-
three calls: `parseX12DateAndTime("20240615", "1430")` is
|
|
346
|
-
`"2024-06-15T14:30:00"` (elements 373 and 337 of `AT7`, `G62` or `DTM`,
|
|
347
|
-
both required), `x12TimeCodeOffset("20")` is `"-05:00"`, and
|
|
348
|
-
`resolveLocal(local, offset)` is `"2024-06-15T19:30:00Z"`. For a code
|
|
349
|
-
held as a plain string, `classifyEdifactDtmFormat`,
|
|
350
|
-
`classifyX12DateTimePeriodFormat` and `classifyX12TimeCode` return
|
|
351
|
-
`{ kind, format }` or `{ kind, timeCode }`, or `null` for a code no
|
|
352
|
-
function reads; testing `kind` narrows the code with no cast.
|
|
353
|
-
`parseEpcisEvent({ eventTime, eventTimeZoneOffset })` returns
|
|
354
|
-
`{ instant, offset, local }`; both fields are required and need not
|
|
355
|
-
agree. Five no-guess rules. (a) An offsetless value never becomes UTC:
|
|
356
|
-
`203`, `204`, `DT`, `RTS` and `parseX12DateAndTime` return a local
|
|
357
|
-
date-time; pass it and an IANA zone to `resolveLocal`. (b) A named X12
|
|
358
|
-
time code is a zone name, not an offset: `x12TimeCodeZone("ES")` is
|
|
359
|
-
`{ zone: "Eastern", daylight: false }` and `ET` has `daylight: null`,
|
|
360
|
-
while `x12TimeCodeOffset` reads `01`–`29`, `UT` and `GM`, and `13`–`24`
|
|
361
|
-
count down (`13` is `-12:00`). Each returns its sentinel for the other's
|
|
362
|
-
codes. (c) The `ZZZ` of `303` and `304` is an offset only: `+02`, `UTC`
|
|
363
|
-
and `GMT` are read, and letters such as `CET` return `""`. (d) A
|
|
364
|
-
two-digit year is not read by any EDI function: `101`, `201`, `202`,
|
|
365
|
-
`206`, `207`, `301`, `302`, `713`, `717`, `D6`, `TT`, `TR`, `RD6` and
|
|
366
|
-
`TU`. Read one with `parseDateWithPattern` or `parseDateTimeWithPattern`,
|
|
367
|
-
a `yy` pattern and `{ yearWindow }`: a start year such as `2000` (a fixed
|
|
368
|
-
window, for stored data) or `"rolling"` (50 years before the current UTC
|
|
369
|
-
year to 49 after). Without `yearWindow` a `yy` pattern returns `""`. (e)
|
|
370
|
-
`209`, `404`, `406`, `TC`, `EH`, `DDT`, `DTD`, `RTM` and `UN` are not
|
|
371
|
-
read: none states one date, time or date-time. A UN/EDIFACT period has no
|
|
372
|
-
hyphen (`2024061520240620` under `718`) and an X12 range has one
|
|
373
|
-
(`20240615-20240620` under `RD8`); a reversed one returns the sentinel.
|
|
374
|
-
Pass a UN/EDIFACT parser the unescaped value (`+02`, not `?+02`). A
|
|
375
|
-
formatter cuts seconds and fractions to its mask and never rounds.
|
|
376
|
-
It writes `ZZZ` as `±HH`, and `+05:30` under `303` or `304` returns `""`:
|
|
377
|
-
use `205` or `208`. Each value validator is true exactly when its parser
|
|
378
|
-
returns a value (`isValidX12DateAndTime(date, time)` for the freight
|
|
379
|
-
pair), and `isValidEdifactDtmFormat`, `isValidX12DateTimePeriodFormat`
|
|
380
|
-
and `isValidX12TimeCode` check a code alone. `isValidEpcisEvent` is
|
|
381
|
-
`isValidEpcisEventTime` and `isValidEpcisTimeZoneOffset` together: the
|
|
382
|
-
`epcisEventTime` regex matches `2024-02-30`, the validator does not.
|
|
383
|
-
22. **Operating hours are local windows resolved in the schedule's zone.** An
|
|
184
|
+
15. **Operating hours are local windows resolved in the schedule's zone.** An
|
|
384
185
|
`OperatingSchedule` is `{ timeZone, weekly, holidays?, overrides? }`:
|
|
385
186
|
`weekly` maps ISO weekdays `1`–`7` to half-open `LocalWindow`s
|
|
386
187
|
(`{ from: "09:00", to: "17:00" }`); a `to` at or before `from` wraps past
|
|
@@ -396,12 +197,11 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
396
197
|
`addOperatingTime(start, "PT8H", schedule)` is the SLA deadline. Searches
|
|
397
198
|
stop at `within` (default `"P1Y"`) and return `""` past it; `P1D` is not
|
|
398
199
|
open time and returns `""`.
|
|
399
|
-
|
|
200
|
+
16. **A zoned string names one instant in every reader.** Temporal writes a
|
|
400
201
|
zone's offset rounded to the minute, so a zone with a sub-minute offset
|
|
401
202
|
(`Africa/Monrovia` stood at −00:44:30 until 1972) is written `-00:45`.
|
|
402
203
|
Every function that reads a moment (`toNanoseconds`, `spanNs`, `Interval`
|
|
403
|
-
endpoints, `floorToZone`, `getTimeZoneOffset`, `
|
|
404
|
-
`timeToCutoff`, `dwellTime`) reads an offset written to the minute as the
|
|
204
|
+
endpoints, `floorToZone`, `getTimeZoneOffset`, and the `transport/` functions that read one) reads an offset written to the minute as the
|
|
405
205
|
bracketed zone's real offset when it is that offset rounded (TC39
|
|
406
206
|
`ToTemporalZonedDateTime`, match-minutes):
|
|
407
207
|
`1960-01-01T00:20:00-00:45[Africa/Monrovia]` is `01:04:30Z`. So a zoned
|
|
@@ -409,7 +209,7 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
409
209
|
the written offset fixes the instant. A function that reads only the
|
|
410
210
|
instant does not validate the bracket, and the bracket never supplies its
|
|
411
211
|
rendering zone. A function that keeps the zone (`isValidZonedDateTime`,
|
|
412
|
-
`
|
|
212
|
+
`toOffsetInstant`, every `zoned/` function, a zoned
|
|
413
213
|
`relativeTo`) rejects a bracket that contradicts the offset, and an offset
|
|
414
214
|
written with seconds must be the zone's offset exactly:
|
|
415
215
|
`-00:45:00[Africa/Monrovia]` is invalid, `-00:44:30[Africa/Monrovia]` is
|
|
@@ -418,7 +218,7 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
418
218
|
(`1952-10-15T23:59:59-11:20[Pacific/Niue]`); write the offset with seconds
|
|
419
219
|
to name the second. A zoned read refuses a local date of −271821-04-19,
|
|
420
220
|
which an instant reader accepts; pass that instant in `Z` form.
|
|
421
|
-
|
|
221
|
+
17. **Daylight time is read from the zone's clock changes.**
|
|
422
222
|
`isInDaylightSaving(zoned)` and `hasDaylightSaving(timeZone, { at })`
|
|
423
223
|
apply one rule, GMT's own definition and not the tz database's daylight
|
|
424
224
|
flag (no JavaScript API exposes it): daylight time runs from a forward
|
|
@@ -437,8 +237,8 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
437
237
|
read the runtime's time zone data, so an answer can change when that data
|
|
438
238
|
does. The JSDoc of `isInDaylightSaving` lists what the rule reads as
|
|
439
239
|
standard time.
|
|
440
|
-
|
|
441
|
-
docs is `https://
|
|
240
|
+
18. **Read the docs site.** This skill is a routing pointer. The map of the
|
|
241
|
+
docs is `https://northguild.dev/gmt/llms.txt`, and each page
|
|
442
242
|
has a `.md` twin that holds its text. The JSDoc ships in the installed
|
|
443
243
|
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
444
244
|
|
|
@@ -462,37 +262,14 @@ converting between time zones, or doing arithmetic that must respect DST.
|
|
|
462
262
|
`getTimeZoneOffset`, `parseTimeZoneFromZoned`
|
|
463
263
|
- **Offset-preserving instants**: `toOffsetInstant`, `fromOffsetInstant`,
|
|
464
264
|
`isValidUtcOffset` (the pair's `±HH:MM[:SS]` offset; not `Z`, not `+0530`)
|
|
465
|
-
- **Local-time resolution**: `classifyLocal`, `resolveLocal
|
|
265
|
+
- **Local-time resolution**: `classifyLocal`, `resolveLocal`,
|
|
266
|
+
`classifyStoredZoned`
|
|
466
267
|
- **Zone-aware buckets**: `floorToZone`, `bucketRange`,
|
|
467
268
|
`isValidZoneBucketUnit`
|
|
468
|
-
- **Transport legs and dwell**: `transitTime`, `etaAtZone`, `dwellTime`,
|
|
469
|
-
`crossingTime`, `scheduleDelivery`
|
|
470
|
-
- **Cut-offs and deadlines**: `cutoffAt`, `cutoffSchedule`, `isPastCutoff`,
|
|
471
|
-
`timeToCutoff`
|
|
472
|
-
- **Punctuality and timestamp classes**: `scheduleDeviation`,
|
|
473
|
-
`classifyPunctuality`, `punctualityRate`, `bestAvailable`, `estimateDrift`,
|
|
474
|
-
`nextDeparture`
|
|
475
|
-
- **Free time and demurrage**: `freeTimeExpiry`, `chargeableDays`,
|
|
476
|
-
`demurrageClock`
|
|
477
|
-
- **Billing deadlines**: `billingTimeline`
|
|
478
|
-
- **Bill of lading dates and multimodal ETA**: `bolTimestamp`, `multimodalETA`
|
|
479
|
-
- **EDI and event timestamps**: `parseEdifactDate`, `parseEdifactTime`,
|
|
480
|
-
`parseEdifactDateTime`, `parseEdifactOffsetDateTime`,
|
|
481
|
-
`parseEdifactDatePeriod`, `parseEdifactDateTimePeriod`, `parseX12Date`,
|
|
482
|
-
`parseX12Time`, `parseX12DateTime`, `parseX12DateRange`,
|
|
483
|
-
`parseX12DateTimeRange`, `parseX12DateAndTime`, `x12TimeCodeOffset`,
|
|
484
|
-
`x12TimeCodeZone`, `classifyEdifactDtmFormat`,
|
|
485
|
-
`classifyX12DateTimePeriodFormat`, `classifyX12TimeCode`,
|
|
486
|
-
`parseEpcisEvent`; a `format…` and an `isValid…` for each `parseEdifact…`
|
|
487
|
-
kind, for `X12Date`, `X12Time`, `X12DateTime`, `X12DateRange` and
|
|
488
|
-
`X12DateTimeRange`, and for `EpcisEvent`; `formatX12TimeElement`,
|
|
489
|
-
`isValidX12DateAndTime`, `isValidEpcisEventTime`,
|
|
490
|
-
`isValidEpcisTimeZoneOffset`, `isValidEdifactDtmFormat`,
|
|
491
|
-
`isValidX12DateTimePeriodFormat`, `isValidX12TimeCode`
|
|
492
269
|
- **Operating hours**: `recurringWindows`, `operatingIntervals`, `isOpenAt`,
|
|
493
270
|
`nextOpenAt`, `nextCloseAt`, `operatingTimeBetween`, `addOperatingTime`
|
|
494
271
|
|
|
495
272
|
## References
|
|
496
273
|
|
|
497
|
-
- [Zoned operations guide](https://
|
|
498
|
-
- [DST Disambiguation guide](https://
|
|
274
|
+
- [Zoned operations guide](https://northguild.dev/gmt/guides/zoned-date-operations/zoned-operations/)
|
|
275
|
+
- [DST Disambiguation guide](https://northguild.dev/gmt/guides/concepts/dst-disambiguation/)
|