@northguild/gmt 1.17.0 → 1.19.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 +55 -2480
- package/dist/calendar/calculate/bucketRange.d.ts +12 -4
- package/dist/calendar/calculate/bucketRange.js +20 -63
- package/dist/calendar/calculate/floorToZone.d.ts +14 -4
- package/dist/calendar/calculate/floorToZone.js +18 -9
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +21 -8
- package/dist/calendar/calculate/getFiscalPeriod.js +9 -8
- package/dist/calendar/calculate/getIsoWeekDate.d.ts +10 -5
- package/dist/calendar/calculate/getIsoWeekDate.js +1 -5
- package/dist/calendar/calculate/getOrdinalDate.d.ts +10 -3
- package/dist/calendar/calculate/getOrdinalDate.js +2 -3
- package/dist/calendar/calculate/getQuarter.d.ts +21 -9
- package/dist/calendar/calculate/getQuarter.js +8 -12
- package/dist/calendar/hours/addOperatingTime.d.ts +59 -0
- package/dist/calendar/hours/addOperatingTime.js +65 -0
- package/dist/calendar/hours/index.d.ts +7 -0
- package/dist/calendar/hours/index.js +7 -0
- package/dist/calendar/hours/isOpenAt.d.ts +45 -0
- package/dist/calendar/hours/isOpenAt.js +50 -0
- package/dist/calendar/hours/nextCloseAt.d.ts +55 -0
- package/dist/calendar/hours/nextCloseAt.js +57 -0
- package/dist/calendar/hours/nextOpenAt.d.ts +51 -0
- package/dist/calendar/hours/nextOpenAt.js +53 -0
- package/dist/calendar/hours/operatingIntervals.d.ts +48 -0
- package/dist/calendar/hours/operatingIntervals.js +57 -0
- package/dist/calendar/hours/operatingTimeBetween.d.ts +45 -0
- package/dist/calendar/hours/operatingTimeBetween.js +54 -0
- package/dist/calendar/hours/recurringWindows.d.ts +68 -0
- package/dist/calendar/hours/recurringWindows.js +88 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +1 -0
- package/dist/duration/calculate/durationFromUnits.d.ts +47 -0
- package/dist/duration/calculate/durationFromUnits.js +67 -0
- package/dist/duration/calculate/getDurationUnit.d.ts +2 -2
- package/dist/duration/calculate/getDurationUnit.js +2 -2
- package/dist/duration/calculate/index.d.ts +3 -1
- package/dist/duration/calculate/index.js +3 -1
- package/dist/duration/calculate/negateDuration.d.ts +1 -1
- package/dist/duration/calculate/negateDuration.js +1 -1
- package/dist/duration/calculate/totalDuration.d.ts +73 -0
- package/dist/duration/calculate/{durationAs.js → totalDuration.js} +29 -27
- package/dist/duration/calculate/totalUnits.d.ts +49 -0
- package/dist/duration/calculate/totalUnits.js +73 -0
- package/dist/duration/compare/compareDurations.d.ts +13 -7
- package/dist/duration/compare/compareDurations.js +4 -7
- package/dist/duration/format/formatDuration.d.ts +16 -4
- package/dist/duration/format/formatDuration.js +4 -5
- package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
- package/dist/duration/normalize/normalizeDuration.js +6 -15
- package/dist/duration/parse/parseDuration.d.ts +21 -3
- package/dist/duration/parse/parseDuration.js +1 -3
- package/dist/duty/calculate/dutyDayFor.d.ts +38 -0
- package/dist/duty/calculate/dutyDayFor.js +71 -0
- package/dist/duty/calculate/dutyTotals.d.ts +24 -0
- package/dist/duty/calculate/dutyTotals.js +41 -0
- package/dist/duty/calculate/dutyViolations.d.ts +74 -0
- package/dist/duty/calculate/dutyViolations.js +65 -0
- package/dist/duty/calculate/evaluateDutyLog.d.ts +77 -0
- package/dist/duty/calculate/evaluateDutyLog.js +75 -0
- package/dist/duty/calculate/index.d.ts +7 -0
- package/dist/duty/calculate/index.js +7 -0
- package/dist/duty/calculate/longestRun.d.ts +28 -0
- package/dist/duty/calculate/longestRun.js +54 -0
- package/dist/duty/calculate/qualifyingRestPairs.d.ts +37 -0
- package/dist/duty/calculate/qualifyingRestPairs.js +58 -0
- package/dist/duty/calculate/qualifyingRests.d.ts +27 -0
- package/dist/duty/calculate/qualifyingRests.js +49 -0
- package/dist/duty/index.d.ts +3 -0
- package/dist/duty/index.js +4 -0
- package/dist/duty/validate/index.d.ts +1 -0
- package/dist/duty/validate/index.js +1 -0
- package/dist/duty/validate/isValidDutyLog.d.ts +24 -0
- package/dist/duty/validate/isValidDutyLog.js +34 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/instant/convert/classifyLocal.d.ts +5 -1
- package/dist/instant/convert/classifyLocal.js +16 -6
- package/dist/instant/convert/fromOffsetInstant.d.ts +7 -1
- package/dist/instant/convert/fromOffsetInstant.js +9 -2
- package/dist/instant/convert/resolveLocal.d.ts +18 -8
- package/dist/instant/convert/resolveLocal.js +21 -17
- package/dist/instant/convert/toOffsetInstant.d.ts +33 -16
- package/dist/instant/convert/toOffsetInstant.js +28 -13
- package/dist/instant/index.d.ts +1 -0
- package/dist/instant/index.js +1 -0
- package/dist/instant/validate/index.d.ts +1 -0
- package/dist/instant/validate/index.js +1 -0
- package/dist/instant/validate/isValidUtcOffset.d.ts +32 -0
- package/dist/instant/validate/isValidUtcOffset.js +35 -0
- package/dist/intermodal/calculate/billingTimeline.d.ts +31 -11
- package/dist/intermodal/calculate/billingTimeline.js +2 -2
- package/dist/intermodal/calculate/chargeableDays.d.ts +19 -11
- package/dist/intermodal/calculate/chargeableDays.js +13 -10
- package/dist/intermodal/calculate/demurrageClock.d.ts +16 -7
- package/dist/intermodal/calculate/demurrageClock.js +7 -7
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +12 -4
- package/dist/intermodal/calculate/freeTimeExpiry.js +19 -8
- package/dist/intermodal/calculate/index.d.ts +1 -0
- package/dist/intermodal/calculate/index.js +1 -0
- package/dist/intermodal/calculate/multimodalETA.d.ts +76 -0
- package/dist/intermodal/calculate/multimodalETA.js +145 -0
- package/dist/intermodal/format/bolTimestamp.d.ts +76 -0
- package/dist/intermodal/format/bolTimestamp.js +78 -0
- package/dist/intermodal/format/formatEdifactDate.d.ts +34 -0
- package/dist/intermodal/format/formatEdifactDate.js +42 -0
- package/dist/intermodal/format/formatEdifactDatePeriod.d.ts +35 -0
- package/dist/intermodal/format/formatEdifactDatePeriod.js +43 -0
- package/dist/intermodal/format/formatEdifactDateTime.d.ts +37 -0
- package/dist/intermodal/format/formatEdifactDateTime.js +45 -0
- package/dist/intermodal/format/formatEdifactDateTimePeriod.d.ts +40 -0
- package/dist/intermodal/format/formatEdifactDateTimePeriod.js +48 -0
- package/dist/intermodal/format/formatEdifactOffsetDateTime.d.ts +62 -0
- package/dist/intermodal/format/formatEdifactOffsetDateTime.js +70 -0
- package/dist/intermodal/format/formatEdifactTime.d.ts +35 -0
- package/dist/intermodal/format/formatEdifactTime.js +43 -0
- package/dist/intermodal/format/formatEpcisEvent.d.ts +47 -0
- package/dist/intermodal/format/formatEpcisEvent.js +79 -0
- package/dist/intermodal/format/formatX12Date.d.ts +35 -0
- package/dist/intermodal/format/formatX12Date.js +43 -0
- package/dist/intermodal/format/formatX12DateRange.d.ts +37 -0
- package/dist/intermodal/format/formatX12DateRange.js +45 -0
- package/dist/intermodal/format/formatX12DateTime.d.ts +39 -0
- package/dist/intermodal/format/formatX12DateTime.js +47 -0
- package/dist/intermodal/format/formatX12DateTimeRange.d.ts +40 -0
- package/dist/intermodal/format/formatX12DateTimeRange.js +48 -0
- package/dist/intermodal/format/formatX12Time.d.ts +42 -0
- package/dist/intermodal/format/formatX12Time.js +50 -0
- package/dist/intermodal/format/formatX12TimeElement.d.ts +46 -0
- package/dist/intermodal/format/formatX12TimeElement.js +54 -0
- package/dist/intermodal/format/index.d.ts +14 -0
- package/dist/intermodal/format/index.js +14 -0
- package/dist/intermodal/index.d.ts +3 -0
- package/dist/intermodal/index.js +3 -0
- package/dist/intermodal/parse/classifyEdifactDtmFormat.d.ts +48 -0
- package/dist/intermodal/parse/classifyEdifactDtmFormat.js +55 -0
- package/dist/intermodal/parse/classifyX12DateTimePeriodFormat.d.ts +50 -0
- package/dist/intermodal/parse/classifyX12DateTimePeriodFormat.js +57 -0
- package/dist/intermodal/parse/classifyX12TimeCode.d.ts +46 -0
- package/dist/intermodal/parse/classifyX12TimeCode.js +57 -0
- package/dist/intermodal/parse/index.d.ts +18 -0
- package/dist/intermodal/parse/index.js +18 -0
- package/dist/intermodal/parse/parseEdifactDate.d.ts +37 -0
- package/dist/intermodal/parse/parseEdifactDate.js +45 -0
- package/dist/intermodal/parse/parseEdifactDatePeriod.d.ts +43 -0
- package/dist/intermodal/parse/parseEdifactDatePeriod.js +51 -0
- package/dist/intermodal/parse/parseEdifactDateTime.d.ts +43 -0
- package/dist/intermodal/parse/parseEdifactDateTime.js +51 -0
- package/dist/intermodal/parse/parseEdifactDateTimePeriod.d.ts +45 -0
- package/dist/intermodal/parse/parseEdifactDateTimePeriod.js +53 -0
- package/dist/intermodal/parse/parseEdifactOffsetDateTime.d.ts +60 -0
- package/dist/intermodal/parse/parseEdifactOffsetDateTime.js +68 -0
- package/dist/intermodal/parse/parseEdifactTime.d.ts +37 -0
- package/dist/intermodal/parse/parseEdifactTime.js +45 -0
- package/dist/intermodal/parse/parseEpcisEvent.d.ts +95 -0
- package/dist/intermodal/parse/parseEpcisEvent.js +102 -0
- package/dist/intermodal/parse/parseX12Date.d.ts +39 -0
- package/dist/intermodal/parse/parseX12Date.js +47 -0
- package/dist/intermodal/parse/parseX12DateAndTime.d.ts +52 -0
- package/dist/intermodal/parse/parseX12DateAndTime.js +61 -0
- package/dist/intermodal/parse/parseX12DateRange.d.ts +44 -0
- package/dist/intermodal/parse/parseX12DateRange.js +52 -0
- package/dist/intermodal/parse/parseX12DateTime.d.ts +45 -0
- package/dist/intermodal/parse/parseX12DateTime.js +53 -0
- package/dist/intermodal/parse/parseX12DateTimeRange.d.ts +46 -0
- package/dist/intermodal/parse/parseX12DateTimeRange.js +54 -0
- package/dist/intermodal/parse/parseX12Time.d.ts +65 -0
- package/dist/intermodal/parse/parseX12Time.js +77 -0
- package/dist/intermodal/parse/x12TimeCodeOffset.d.ts +57 -0
- package/dist/intermodal/parse/x12TimeCodeOffset.js +110 -0
- package/dist/intermodal/parse/x12TimeCodeZone.d.ts +57 -0
- package/dist/intermodal/parse/x12TimeCodeZone.js +105 -0
- package/dist/intermodal/validate/index.d.ts +18 -0
- package/dist/intermodal/validate/index.js +18 -0
- package/dist/intermodal/validate/isValidEdifactDate.d.ts +26 -0
- package/dist/intermodal/validate/isValidEdifactDate.js +28 -0
- package/dist/intermodal/validate/isValidEdifactDatePeriod.d.ts +28 -0
- package/dist/intermodal/validate/isValidEdifactDatePeriod.js +30 -0
- package/dist/intermodal/validate/isValidEdifactDateTime.d.ts +30 -0
- package/dist/intermodal/validate/isValidEdifactDateTime.js +32 -0
- package/dist/intermodal/validate/isValidEdifactDateTimePeriod.d.ts +28 -0
- package/dist/intermodal/validate/isValidEdifactDateTimePeriod.js +30 -0
- package/dist/intermodal/validate/isValidEdifactDtmFormat.d.ts +39 -0
- package/dist/intermodal/validate/isValidEdifactDtmFormat.js +42 -0
- package/dist/intermodal/validate/isValidEdifactOffsetDateTime.d.ts +36 -0
- package/dist/intermodal/validate/isValidEdifactOffsetDateTime.js +38 -0
- package/dist/intermodal/validate/isValidEdifactTime.d.ts +28 -0
- package/dist/intermodal/validate/isValidEdifactTime.js +30 -0
- package/dist/intermodal/validate/isValidEpcisEvent.d.ts +41 -0
- package/dist/intermodal/validate/isValidEpcisEvent.js +58 -0
- package/dist/intermodal/validate/isValidEpcisEventTime.d.ts +33 -0
- package/dist/intermodal/validate/isValidEpcisEventTime.js +48 -0
- package/dist/intermodal/validate/isValidEpcisTimeZoneOffset.d.ts +30 -0
- package/dist/intermodal/validate/isValidEpcisTimeZoneOffset.js +38 -0
- package/dist/intermodal/validate/isValidX12Date.d.ts +28 -0
- package/dist/intermodal/validate/isValidX12Date.js +30 -0
- package/dist/intermodal/validate/isValidX12DateAndTime.d.ts +32 -0
- package/dist/intermodal/validate/isValidX12DateAndTime.js +35 -0
- package/dist/intermodal/validate/isValidX12DateRange.d.ts +29 -0
- package/dist/intermodal/validate/isValidX12DateRange.js +31 -0
- package/dist/intermodal/validate/isValidX12DateTime.d.ts +30 -0
- package/dist/intermodal/validate/isValidX12DateTime.js +32 -0
- package/dist/intermodal/validate/isValidX12DateTimePeriodFormat.d.ts +43 -0
- package/dist/intermodal/validate/isValidX12DateTimePeriodFormat.js +46 -0
- package/dist/intermodal/validate/isValidX12DateTimeRange.d.ts +31 -0
- package/dist/intermodal/validate/isValidX12DateTimeRange.js +33 -0
- package/dist/intermodal/validate/isValidX12Time.d.ts +38 -0
- package/dist/intermodal/validate/isValidX12Time.js +40 -0
- package/dist/intermodal/validate/isValidX12TimeCode.d.ts +38 -0
- package/dist/intermodal/validate/isValidX12TimeCode.js +41 -0
- package/dist/internal/businessCalendar.d.ts +5 -0
- package/dist/internal/businessCalendar.js +9 -10
- package/dist/internal/cycleFieldValue.d.ts +6 -4
- package/dist/internal/cycleFieldValue.js +6 -4
- package/dist/internal/daylightTime.d.ts +33 -0
- package/dist/internal/daylightTime.js +164 -0
- package/dist/internal/durationUntilString.js +4 -3
- package/dist/internal/dutyEngine.d.ts +125 -0
- package/dist/internal/dutyEngine.js +1746 -0
- package/dist/internal/dutyLog.d.ts +27 -0
- package/dist/internal/dutyLog.js +47 -0
- package/dist/internal/dutyPeriods.d.ts +135 -0
- package/dist/internal/dutyPeriods.js +369 -0
- package/dist/internal/dutyRules.d.ts +197 -0
- package/dist/internal/dutyRules.js +484 -0
- package/dist/internal/ediDateTimeFields.d.ts +97 -0
- package/dist/internal/ediDateTimeFields.js +288 -0
- package/dist/internal/ediDateTimeWriter.d.ts +92 -0
- package/dist/internal/ediDateTimeWriter.js +298 -0
- package/dist/internal/ediGrammar.d.ts +158 -0
- package/dist/internal/ediGrammar.js +384 -0
- package/dist/internal/englishCalendarNames.d.ts +3 -1
- package/dist/internal/englishCalendarNames.js +4 -3
- package/dist/internal/epochNanoseconds.d.ts +2 -0
- package/dist/internal/epochNanoseconds.js +2 -0
- package/dist/internal/exactDuration.d.ts +37 -0
- package/dist/internal/exactDuration.js +64 -0
- package/dist/internal/exactMoment.d.ts +72 -0
- package/dist/internal/exactMoment.js +114 -0
- package/dist/internal/fiscalCalendar.d.ts +4 -3
- package/dist/internal/fiscalCalendar.js +4 -3
- package/dist/internal/formatCalendarDays.d.ts +2 -2
- package/dist/internal/formatRelativeDuration.d.ts +21 -1
- package/dist/internal/formatRelativeDuration.js +47 -7
- package/dist/internal/freeTimeLedger.d.ts +5 -0
- package/dist/internal/freeTimeLedger.js +11 -2
- package/dist/internal/index.d.ts +12 -4
- package/dist/internal/index.js +16 -4
- package/dist/internal/instantFormatOptions.js +2 -1
- package/dist/internal/instantNanoseconds.d.ts +75 -9
- package/dist/internal/instantNanoseconds.js +192 -11
- package/dist/internal/intervalNanoseconds.js +2 -1
- package/dist/internal/isObject.d.ts +13 -6
- package/dist/internal/isObject.js +14 -7
- package/dist/internal/isoYearString.d.ts +21 -0
- package/dist/internal/isoYearString.js +27 -0
- package/dist/internal/joinDateTimeConnector.d.ts +1 -1
- package/dist/internal/maxPieces.js +2 -1
- package/dist/internal/monthGridWeekRow.d.ts +2 -1
- package/dist/internal/monthGridWeekRow.js +2 -1
- package/dist/internal/normalizeTimeZone.d.ts +5 -2
- package/dist/internal/normalizeTimeZone.js +5 -2
- package/dist/internal/operatingSchedule.d.ts +138 -0
- package/dist/internal/operatingSchedule.js +756 -0
- package/dist/internal/optionOrDefault.d.ts +18 -0
- package/dist/internal/optionOrDefault.js +20 -0
- package/dist/internal/patternToken.d.ts +12 -5
- package/dist/internal/patternToken.js +59 -25
- package/dist/internal/plainDateUntil.js +10 -6
- package/dist/internal/punctuality.d.ts +38 -0
- package/dist/internal/punctuality.js +59 -0
- package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
- package/dist/internal/readDateTimeFormatOptions.js +93 -0
- package/dist/internal/readDurationUnits.d.ts +34 -0
- package/dist/internal/readDurationUnits.js +78 -0
- package/dist/internal/readSetFields.d.ts +50 -0
- package/dist/internal/readSetFields.js +179 -0
- package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
- package/dist/internal/resolveDurationRelativeTo.js +11 -1
- package/dist/internal/resolveRelativeRounding.d.ts +17 -6
- package/dist/internal/resolveRelativeRounding.js +27 -7
- package/dist/internal/resolveRelativeUnit.d.ts +30 -0
- package/dist/internal/resolveRelativeUnit.js +40 -0
- package/dist/internal/resolveUnixIntervalPair.d.ts +8 -2
- package/dist/internal/resolveUnixIntervalPair.js +11 -7
- package/dist/internal/splitStep.d.ts +24 -1
- package/dist/internal/splitStep.js +34 -2
- package/dist/internal/startOrEndOfUnix.d.ts +2 -1
- package/dist/internal/startOrEndOfUnix.js +9 -6
- package/dist/internal/startOrEndOfZoned.js +2 -3
- package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
- package/dist/internal/temporalCompat/capabilities.js +35 -3
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/repros.d.ts +1 -1
- package/dist/internal/temporalCompat/repros.js +157 -0
- package/dist/internal/timestampEvents.d.ts +32 -0
- package/dist/internal/timestampEvents.js +76 -0
- package/dist/internal/twoDigitYear.d.ts +19 -0
- package/dist/internal/twoDigitYear.js +22 -0
- package/dist/internal/unixEpochValue.js +3 -2
- package/dist/internal/unixWallClock.d.ts +24 -0
- package/dist/internal/unixWallClock.js +35 -0
- package/dist/internal/utcWallClock.d.ts +20 -0
- package/dist/internal/utcWallClock.js +32 -0
- package/dist/internal/yearWindowStart.d.ts +28 -0
- package/dist/internal/yearWindowStart.js +52 -0
- package/dist/internal/zoneBucketCap.d.ts +18 -0
- package/dist/internal/zoneBucketCap.js +64 -0
- package/dist/internal/zoneFrame.d.ts +180 -0
- package/dist/internal/zoneFrame.js +221 -0
- package/dist/internal/zonedBucket.js +8 -6
- package/dist/internal/zonedLocalDates.js +1 -1
- package/dist/internal/zonedNowUnitValue.d.ts +7 -4
- package/dist/internal/zonedNowUnitValue.js +8 -4
- package/dist/internal/zonedTransitionSearch.d.ts +27 -0
- package/dist/internal/zonedTransitionSearch.js +218 -0
- package/dist/internal/zonedWallClock.d.ts +21 -7
- package/dist/internal/zonedWallClock.js +87 -18
- package/dist/internal/zonedWallClockDifference.js +4 -4
- package/dist/internal/zonedWallClockOperations.d.ts +31 -15
- package/dist/internal/zonedWallClockOperations.js +93 -43
- package/dist/interval/validate/isValidInterval.d.ts +6 -3
- package/dist/interval/validate/isValidInterval.js +6 -3
- package/dist/plain/calculate/addDate.d.ts +11 -8
- package/dist/plain/calculate/addDate.js +9 -15
- package/dist/plain/calculate/addDateTime.d.ts +7 -4
- package/dist/plain/calculate/addDateTime.js +5 -11
- package/dist/plain/calculate/addTime.js +4 -7
- package/dist/plain/calculate/cycleDate.d.ts +16 -7
- package/dist/plain/calculate/cycleDate.js +3 -7
- package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
- package/dist/plain/calculate/cycleDateTime.js +1 -4
- package/dist/plain/calculate/cycleTime.d.ts +10 -5
- package/dist/plain/calculate/cycleTime.js +3 -5
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDate.js +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.js +1 -1
- package/dist/plain/calculate/diffDateTime.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.js +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
- package/dist/plain/calculate/diffTime.d.ts +1 -1
- package/dist/plain/calculate/diffTime.js +1 -1
- package/dist/plain/calculate/endOfDate.d.ts +8 -3
- package/dist/plain/calculate/endOfDate.js +1 -3
- package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
- package/dist/plain/calculate/endOfDateTime.js +1 -5
- package/dist/plain/calculate/endOfTime.d.ts +9 -3
- package/dist/plain/calculate/endOfTime.js +1 -2
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
- package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
- package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
- package/dist/plain/calculate/getWeekOfMonth.js +7 -4
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
- package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
- package/dist/plain/calculate/getWeeksInMonth.js +5 -2
- package/dist/plain/calculate/nextWeekday.d.ts +7 -3
- package/dist/plain/calculate/nextWeekday.js +1 -3
- package/dist/plain/calculate/previousWeekday.d.ts +7 -3
- package/dist/plain/calculate/previousWeekday.js +1 -3
- package/dist/plain/calculate/roundDate.d.ts +20 -7
- package/dist/plain/calculate/roundDate.js +3 -10
- package/dist/plain/calculate/roundDateTime.d.ts +22 -8
- package/dist/plain/calculate/roundDateTime.js +3 -11
- package/dist/plain/calculate/roundTime.d.ts +20 -4
- package/dist/plain/calculate/roundTime.js +3 -7
- package/dist/plain/calculate/setDate.d.ts +27 -8
- package/dist/plain/calculate/setDate.js +28 -12
- package/dist/plain/calculate/setDateTime.d.ts +23 -8
- package/dist/plain/calculate/setDateTime.js +23 -12
- package/dist/plain/calculate/setTime.d.ts +23 -7
- package/dist/plain/calculate/setTime.js +25 -12
- package/dist/plain/calculate/startOfDate.d.ts +8 -2
- package/dist/plain/calculate/startOfDate.js +1 -2
- package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
- package/dist/plain/calculate/startOfDateTime.js +1 -2
- package/dist/plain/calculate/startOfTime.d.ts +9 -2
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractDate.d.ts +7 -4
- package/dist/plain/calculate/subtractDate.js +5 -11
- package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
- package/dist/plain/calculate/subtractDateTime.js +5 -11
- package/dist/plain/calculate/subtractTime.js +4 -7
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
- package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
- package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
- package/dist/plain/compare/areDatesEqualBy.js +8 -6
- package/dist/plain/compare/isBetweenDate.d.ts +13 -2
- package/dist/plain/compare/isBetweenDate.js +4 -4
- package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenDateTime.js +4 -4
- package/dist/plain/compare/isBetweenTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenTime.js +4 -4
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +1 -1
- package/dist/plain/compare/isThisUnit.js +1 -1
- package/dist/plain/format/formatCalendar.d.ts +21 -14
- package/dist/plain/format/formatCalendar.js +23 -17
- package/dist/plain/format/formatDate.js +5 -3
- package/dist/plain/format/formatDateRange.js +4 -2
- package/dist/plain/format/formatDateTime.js +4 -2
- package/dist/plain/format/formatDateTimeRange.js +4 -2
- package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
- package/dist/plain/format/formatDateTimeToParts.js +10 -6
- package/dist/plain/format/formatDateToParts.d.ts +13 -2
- package/dist/plain/format/formatDateToParts.js +8 -4
- package/dist/plain/format/formatRelativeDate.d.ts +16 -3
- package/dist/plain/format/formatRelativeDate.js +28 -16
- package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeDateTime.js +10 -6
- package/dist/plain/format/formatRelativeTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeTime.js +23 -14
- package/dist/plain/format/{formatSql.d.ts → formatSqlDateTime.d.ts} +7 -7
- package/dist/plain/format/{formatSql.js → formatSqlDateTime.js} +7 -7
- package/dist/plain/format/formatTime.js +4 -2
- package/dist/plain/format/index.d.ts +1 -1
- package/dist/plain/format/index.js +1 -1
- package/dist/plain/get/getNowUnit.d.ts +2 -0
- package/dist/plain/get/getNowUnit.js +2 -0
- package/dist/plain/get/getYear.d.ts +2 -0
- package/dist/plain/get/getYear.js +4 -3
- package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
- package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDate.js +1 -3
- package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
- package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
- package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDate.js +2 -0
- package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
- package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtTime.js +2 -0
- package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
- package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDate.js +2 -2
- package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDateTime.js +2 -2
- package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllTime.js +2 -2
- package/dist/plain/interval/intervalXorDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDate.js +2 -2
- package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDateTime.js +2 -2
- package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsTime.js +2 -2
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
- package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
- package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
- package/dist/plain/map/mapDatesInRange.d.ts +8 -4
- package/dist/plain/map/mapDatesInRange.js +1 -4
- package/dist/plain/parse/index.d.ts +1 -1
- package/dist/plain/parse/index.js +1 -1
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +25 -9
- package/dist/plain/parse/parseDateTimeWithPattern.js +29 -11
- package/dist/plain/parse/parseDateWithPattern.d.ts +26 -9
- package/dist/plain/parse/parseDateWithPattern.js +30 -11
- package/dist/plain/parse/{parseSql.d.ts → parseSqlDateTime.d.ts} +8 -8
- package/dist/plain/parse/{parseSql.js → parseSqlDateTime.js} +8 -8
- package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseTimeWithPattern.js +11 -7
- package/dist/plain/parse/parseUnitFromDate.d.ts +14 -3
- package/dist/plain/parse/parseUnitFromDate.js +8 -4
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +14 -3
- package/dist/plain/parse/parseUnitFromDateTime.js +8 -4
- package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDate.js +2 -6
- package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
- package/dist/plain/parse/parseYearFromDate.d.ts +5 -2
- package/dist/plain/parse/parseYearFromDate.js +7 -3
- package/dist/plain/parse/parseYearFromDateTime.d.ts +4 -2
- package/dist/plain/parse/parseYearFromDateTime.js +6 -3
- package/dist/plain/validate/index.d.ts +1 -0
- package/dist/plain/validate/index.js +1 -0
- package/dist/plain/validate/isValidDateRange.d.ts +19 -4
- package/dist/plain/validate/isValidDateRange.js +1 -4
- package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidDateTimeRange.js +2 -5
- package/dist/plain/validate/isValidSqlDateTime.d.ts +33 -0
- package/dist/plain/validate/isValidSqlDateTime.js +36 -0
- package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidTimeRange.js +2 -5
- package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
- package/dist/precision/convert/fromExcelSerial.js +4 -5
- package/dist/precision/convert/fromNanoseconds.d.ts +9 -3
- package/dist/precision/convert/fromNanoseconds.js +9 -3
- package/dist/precision/convert/toExcelSerial.d.ts +9 -3
- package/dist/precision/convert/toExcelSerial.js +3 -4
- package/dist/precision/convert/toNanoseconds.d.ts +11 -6
- package/dist/precision/convert/toNanoseconds.js +11 -6
- package/dist/precision/validate/isValidInstant.d.ts +12 -3
- package/dist/precision/validate/isValidInstant.js +12 -3
- package/dist/regex/epcis.d.ts +60 -0
- package/dist/regex/epcis.js +60 -0
- package/dist/regex/http-date.d.ts +6 -4
- package/dist/regex/http-date.js +6 -4
- package/dist/regex/index.d.ts +1 -0
- package/dist/regex/index.js +1 -0
- package/dist/regex/rfc-2822.d.ts +2 -0
- package/dist/regex/rfc-2822.js +2 -0
- package/dist/regex/rfc-3339.d.ts +3 -1
- package/dist/regex/rfc-3339.js +3 -1
- package/dist/regex/sql-date-time.d.ts +2 -1
- package/dist/regex/sql-date-time.js +2 -1
- package/dist/regex/time-zone-like.d.ts +3 -2
- package/dist/regex/time-zone-like.js +3 -2
- package/dist/regex/utc-offset.d.ts +2 -1
- package/dist/regex/utc-offset.js +2 -1
- package/dist/span/calculate/spanMs.d.ts +10 -4
- package/dist/span/calculate/spanMs.js +10 -4
- package/dist/span/calculate/spanNs.d.ts +10 -4
- package/dist/span/calculate/spanNs.js +10 -4
- package/dist/span/validate/isValidSpan.d.ts +8 -3
- package/dist/span/validate/isValidSpan.js +8 -3
- package/dist/transport/calculate/bestAvailable.d.ts +47 -0
- package/dist/transport/calculate/bestAvailable.js +76 -0
- package/dist/transport/calculate/crossingTime.d.ts +63 -0
- package/dist/transport/calculate/crossingTime.js +81 -0
- package/dist/transport/calculate/cutoffAt.d.ts +95 -0
- package/dist/transport/calculate/cutoffAt.js +211 -0
- package/dist/transport/calculate/cutoffSchedule.d.ts +75 -0
- package/dist/transport/calculate/cutoffSchedule.js +73 -0
- package/dist/transport/calculate/dwellTime.d.ts +22 -8
- package/dist/transport/calculate/dwellTime.js +18 -9
- package/dist/transport/calculate/estimateDrift.d.ts +65 -0
- package/dist/transport/calculate/estimateDrift.js +75 -0
- package/dist/transport/calculate/index.d.ts +8 -0
- package/dist/transport/calculate/index.js +8 -0
- package/dist/transport/calculate/nextDeparture.d.ts +78 -0
- package/dist/transport/calculate/nextDeparture.js +131 -0
- package/dist/transport/calculate/punctualityRate.d.ts +42 -0
- package/dist/transport/calculate/punctualityRate.js +59 -0
- package/dist/transport/calculate/scheduleDelivery.d.ts +158 -0
- package/dist/transport/calculate/scheduleDelivery.js +305 -0
- package/dist/transport/calculate/transitTime.d.ts +21 -3
- package/dist/transport/calculate/transitTime.js +29 -46
- package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
- package/dist/transport/compare/classifyPunctuality.js +64 -0
- package/dist/transport/compare/index.d.ts +4 -0
- package/dist/transport/compare/index.js +4 -0
- package/dist/transport/compare/isPastCutoff.d.ts +33 -0
- package/dist/transport/compare/isPastCutoff.js +48 -0
- package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
- package/dist/transport/compare/scheduleDeviation.js +53 -0
- package/dist/transport/compare/timeToCutoff.d.ts +31 -0
- package/dist/transport/compare/timeToCutoff.js +47 -0
- package/dist/transport/convert/etaAtZone.d.ts +13 -1
- package/dist/transport/convert/etaAtZone.js +15 -5
- package/dist/transport/index.d.ts +1 -0
- package/dist/transport/index.js +1 -0
- package/dist/types/business-calendar.d.ts +20 -14
- package/dist/types/calendar-options.d.ts +15 -3
- package/dist/types/date-cycle-field.d.ts +5 -0
- package/dist/types/date-duration-unit.d.ts +4 -0
- package/dist/types/date-time-cycle-field.d.ts +4 -0
- package/dist/types/date-time-duration-units.d.ts +4 -0
- package/dist/types/date-time-unit.d.ts +4 -0
- package/dist/types/date-unit.d.ts +4 -0
- package/dist/types/disambiguation.d.ts +8 -0
- package/dist/types/duration-relative-to.d.ts +8 -0
- package/dist/types/duration-string-options.d.ts +28 -0
- package/dist/types/duty.d.ts +777 -0
- package/dist/types/edi.d.ts +407 -0
- package/dist/types/edi.js +0 -0
- package/dist/types/epcis.d.ts +25 -0
- package/dist/types/epcis.js +0 -0
- package/dist/types/exact-duration-unit.d.ts +8 -0
- package/dist/types/exact-duration-unit.js +0 -0
- package/dist/types/fiscal-calendar.d.ts +1 -1
- package/dist/types/fractional-digit.d.ts +5 -0
- package/dist/types/free-time-options.d.ts +22 -11
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.js +7 -1
- package/dist/types/interval.d.ts +8 -1
- package/dist/types/offset.d.ts +9 -0
- package/dist/types/operating-schedule.d.ts +72 -0
- package/dist/types/operating-schedule.js +0 -0
- package/dist/types/overflow.d.ts +6 -0
- package/dist/types/relative-rounding-method.d.ts +6 -0
- package/dist/types/relative-time-options.d.ts +33 -5
- package/dist/types/rounding-options.d.ts +27 -0
- package/dist/types/time-cycle-field.d.ts +4 -0
- package/dist/types/time-duration-unit.d.ts +4 -0
- package/dist/types/time-unit.d.ts +4 -0
- package/dist/types/transport-timestamps.d.ts +54 -0
- package/dist/types/transport-timestamps.js +0 -0
- package/dist/types/two-digit-year.d.ts +23 -0
- package/dist/types/two-digit-year.js +0 -0
- package/dist/types/zone-bucket-unit.d.ts +1 -1
- package/dist/unix/calculate/addUnix.d.ts +28 -5
- package/dist/unix/calculate/addUnix.js +15 -16
- package/dist/unix/calculate/diffUnix.d.ts +21 -3
- package/dist/unix/calculate/diffUnix.js +12 -9
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +21 -3
- package/dist/unix/calculate/diffUnixAsDuration.js +11 -8
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +21 -3
- package/dist/unix/calculate/endOfQuarterForUnix.js +7 -3
- package/dist/unix/calculate/endOfUnix.d.ts +29 -4
- package/dist/unix/calculate/endOfUnix.js +8 -4
- package/dist/unix/calculate/isBetweenUnix.d.ts +27 -4
- package/dist/unix/calculate/isBetweenUnix.js +7 -9
- package/dist/unix/calculate/roundUnix.d.ts +39 -3
- package/dist/unix/calculate/roundUnix.js +16 -12
- package/dist/unix/calculate/setUnix.d.ts +58 -12
- package/dist/unix/calculate/setUnix.js +37 -25
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +21 -3
- package/dist/unix/calculate/startOfQuarterForUnix.js +7 -3
- package/dist/unix/calculate/startOfUnix.d.ts +29 -4
- package/dist/unix/calculate/startOfUnix.js +8 -4
- package/dist/unix/calculate/subtractUnix.d.ts +27 -5
- package/dist/unix/calculate/subtractUnix.js +14 -16
- package/dist/unix/compare/areUnixEqual.d.ts +7 -1
- package/dist/unix/compare/areUnixEqual.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +33 -7
- package/dist/unix/compare/areUnixEqualBy.js +20 -9
- package/dist/unix/compare/isAfterUnix.d.ts +7 -1
- package/dist/unix/compare/isAfterUnix.js +1 -1
- package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
- package/dist/unix/compare/isBeforeUnix.js +1 -1
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +17 -4
- package/dist/unix/convert/convertUnixToPlainDate.js +7 -8
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +17 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.js +7 -8
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +17 -4
- package/dist/unix/convert/convertUnixToPlainTime.js +7 -8
- package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
- package/dist/unix/convert/convertUnixToUtc.js +3 -4
- package/dist/unix/convert/convertUnixToZoned.d.ts +14 -5
- package/dist/unix/convert/convertUnixToZoned.js +8 -5
- package/dist/unix/format/formatCalendarUnix.d.ts +31 -19
- package/dist/unix/format/formatCalendarUnix.js +10 -6
- package/dist/unix/format/formatRelativeUnix.d.ts +62 -5
- package/dist/unix/format/formatRelativeUnix.js +16 -10
- package/dist/unix/format/formatUnix.d.ts +29 -6
- package/dist/unix/format/formatUnix.js +12 -7
- package/dist/unix/get/getUnixDay.d.ts +1 -3
- package/dist/unix/get/getUnixDay.js +5 -12
- package/dist/unix/get/getUnixHour.d.ts +1 -3
- package/dist/unix/get/getUnixHour.js +5 -12
- package/dist/unix/get/getUnixMicrosecond.d.ts +1 -3
- package/dist/unix/get/getUnixMicrosecond.js +4 -11
- package/dist/unix/get/getUnixMillisecond.d.ts +1 -3
- package/dist/unix/get/getUnixMillisecond.js +5 -12
- package/dist/unix/get/getUnixMinute.d.ts +1 -3
- package/dist/unix/get/getUnixMinute.js +5 -12
- package/dist/unix/get/getUnixMonth.d.ts +1 -3
- package/dist/unix/get/getUnixMonth.js +5 -12
- package/dist/unix/get/getUnixNanosecond.d.ts +1 -3
- package/dist/unix/get/getUnixNanosecond.js +4 -11
- package/dist/unix/get/getUnixNow.d.ts +8 -3
- package/dist/unix/get/getUnixNow.js +1 -3
- package/dist/unix/get/getUnixNowUnit.d.ts +2 -0
- package/dist/unix/get/getUnixNowUnit.js +2 -0
- package/dist/unix/get/getUnixSecond.d.ts +1 -3
- package/dist/unix/get/getUnixSecond.js +5 -12
- package/dist/unix/get/getUnixYear.d.ts +3 -3
- package/dist/unix/get/getUnixYear.js +5 -12
- package/dist/unix/interval/intervalCountUnix.d.ts +23 -5
- package/dist/unix/interval/intervalCountUnix.js +9 -5
- package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
- package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
- package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +41 -5
- package/dist/unix/interval/intervalFromDurationUnix.js +18 -12
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalLengthUnix.d.ts +24 -6
- package/dist/unix/interval/intervalLengthUnix.js +10 -6
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +21 -3
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +11 -8
- package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
- package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
- package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
- package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +50 -11
- package/dist/unix/interval/splitIntervalByUnitUnix.js +33 -22
- package/dist/unix/parse/parseDateFromUnix.d.ts +15 -2
- package/dist/unix/parse/parseDateFromUnix.js +4 -5
- package/dist/unix/parse/parseDayFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseDayFromUnix.js +2 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +15 -1
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +3 -3
- package/dist/unix/parse/parseHourFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseHourFromUnix.js +2 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMonthFromUnix.js +2 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseSecondFromUnix.js +2 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseTimeFromUnix.js +5 -5
- package/dist/unix/parse/parseUnitFromUnix.d.ts +29 -4
- package/dist/unix/parse/parseUnitFromUnix.js +23 -17
- package/dist/unix/parse/parseWeekFromUnix.d.ts +24 -7
- package/dist/unix/parse/parseWeekFromUnix.js +7 -11
- package/dist/unix/parse/parseYearFromUnix.d.ts +20 -3
- package/dist/unix/parse/parseYearFromUnix.js +6 -3
- package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
- package/dist/unix/validate/isValidUnixRange.js +1 -4
- package/dist/unix/validate/isValidUnixUnit.d.ts +1 -1
- package/dist/utc/calculate/addUtc.d.ts +7 -4
- package/dist/utc/calculate/addUtc.js +5 -11
- package/dist/utc/calculate/diffUtc.d.ts +1 -1
- package/dist/utc/calculate/diffUtc.js +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +16 -3
- package/dist/utc/calculate/endOfUtc.js +2 -3
- package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
- package/dist/utc/calculate/isBetweenUtc.js +4 -4
- package/dist/utc/calculate/roundUtc.d.ts +26 -9
- package/dist/utc/calculate/roundUtc.js +3 -12
- package/dist/utc/calculate/setUtc.d.ts +23 -7
- package/dist/utc/calculate/setUtc.js +23 -12
- package/dist/utc/calculate/startOfUtc.d.ts +15 -2
- package/dist/utc/calculate/startOfUtc.js +1 -2
- package/dist/utc/calculate/subtractUtc.d.ts +7 -4
- package/dist/utc/calculate/subtractUtc.js +5 -11
- package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
- package/dist/utc/compare/areUtcEqualBy.js +2 -3
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +14 -3
- package/dist/utc/convert/convertUtcToPlainDate.js +12 -10
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +15 -3
- package/dist/utc/convert/convertUtcToPlainDateTime.js +14 -16
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +11 -3
- package/dist/utc/convert/convertUtcToPlainTime.js +9 -9
- package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
- package/dist/utc/convert/convertUtcToUnix.js +3 -4
- package/dist/utc/convert/convertUtcToZoned.d.ts +5 -1
- package/dist/utc/convert/convertUtcToZoned.js +5 -1
- package/dist/utc/format/formatCalendarUtc.d.ts +23 -8
- package/dist/utc/format/formatCalendarUtc.js +14 -7
- package/dist/utc/format/{formatHttp.d.ts → formatHttpDate.d.ts} +8 -8
- package/dist/utc/format/{formatHttp.js → formatHttpDate.js} +8 -8
- package/dist/utc/format/formatRelativeUtc.d.ts +38 -10
- package/dist/utc/format/formatRelativeUtc.js +22 -16
- package/dist/utc/format/formatUtc.d.ts +22 -15
- package/dist/utc/format/formatUtc.js +12 -8
- package/dist/utc/format/index.d.ts +1 -1
- package/dist/utc/format/index.js +1 -1
- package/dist/utc/get/getUtcDay.d.ts +1 -3
- package/dist/utc/get/getUtcDay.js +5 -12
- package/dist/utc/get/getUtcHour.d.ts +1 -3
- package/dist/utc/get/getUtcHour.js +5 -12
- package/dist/utc/get/getUtcMicrosecond.d.ts +1 -3
- package/dist/utc/get/getUtcMicrosecond.js +4 -11
- package/dist/utc/get/getUtcMillisecond.d.ts +1 -3
- package/dist/utc/get/getUtcMillisecond.js +5 -12
- package/dist/utc/get/getUtcMinute.d.ts +1 -3
- package/dist/utc/get/getUtcMinute.js +5 -12
- package/dist/utc/get/getUtcMonth.d.ts +1 -3
- package/dist/utc/get/getUtcMonth.js +5 -12
- package/dist/utc/get/getUtcNanosecond.d.ts +1 -3
- package/dist/utc/get/getUtcNanosecond.js +4 -11
- package/dist/utc/get/getUtcNow.d.ts +1 -3
- package/dist/utc/get/getUtcNow.js +2 -9
- package/dist/utc/get/getUtcNowUnit.d.ts +2 -0
- package/dist/utc/get/getUtcNowUnit.js +2 -0
- package/dist/utc/get/getUtcSecond.d.ts +1 -3
- package/dist/utc/get/getUtcSecond.js +5 -12
- package/dist/utc/get/getUtcYear.d.ts +3 -3
- package/dist/utc/get/getUtcYear.js +5 -12
- package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
- package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
- package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
- package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
- package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
- package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
- package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorAllUtc.js +2 -2
- package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.js +2 -2
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
- package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
- package/dist/utc/parse/index.d.ts +1 -1
- package/dist/utc/parse/index.js +1 -1
- package/dist/utc/parse/parseDateFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseDateFromUtc.js +3 -5
- package/dist/utc/parse/parseDayFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseDayFromUtc.js +3 -5
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +5 -7
- package/dist/utc/parse/parseHourFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseHourFromUtc.js +3 -5
- package/dist/utc/parse/{parseHttp.d.ts → parseHttpDate.d.ts} +12 -12
- package/dist/utc/parse/{parseHttp.js → parseHttpDate.js} +12 -12
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMicrosecondFromUtc.js +3 -5
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMillisecondFromUtc.js +3 -5
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMinuteFromUtc.js +3 -5
- package/dist/utc/parse/parseMonthFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMonthFromUtc.js +3 -5
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseNanosecondFromUtc.js +3 -5
- package/dist/utc/parse/parseSecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseSecondFromUtc.js +3 -5
- package/dist/utc/parse/parseTimeFromUtc.d.ts +11 -3
- package/dist/utc/parse/parseTimeFromUtc.js +7 -7
- package/dist/utc/parse/parseUnitFromUtc.d.ts +25 -6
- package/dist/utc/parse/parseUnitFromUtc.js +14 -10
- package/dist/utc/parse/parseWeekFromUtc.d.ts +20 -10
- package/dist/utc/parse/parseWeekFromUtc.js +8 -14
- package/dist/utc/parse/parseYearFromUtc.d.ts +13 -5
- package/dist/utc/parse/parseYearFromUtc.js +9 -8
- package/dist/utc/validate/index.d.ts +2 -0
- package/dist/utc/validate/index.js +2 -0
- package/dist/utc/validate/isValidHttpDate.d.ts +35 -0
- package/dist/utc/validate/isValidHttpDate.js +38 -0
- package/dist/utc/validate/isValidUtc.d.ts +4 -0
- package/dist/utc/validate/isValidUtc.js +4 -0
- package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
- package/dist/utc/validate/isValidUtcRange.js +2 -5
- package/dist/utc/validate/isValidUtcTimestamp.d.ts +43 -0
- package/dist/utc/validate/isValidUtcTimestamp.js +48 -0
- package/dist/zoned/calculate/addZoned.d.ts +20 -10
- package/dist/zoned/calculate/addZoned.js +10 -20
- package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
- package/dist/zoned/calculate/cycleZoned.js +1 -8
- package/dist/zoned/calculate/diffZoned.d.ts +1 -1
- package/dist/zoned/calculate/diffZoned.js +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
- package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
- package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
- package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
- package/dist/zoned/calculate/roundZoned.d.ts +21 -4
- package/dist/zoned/calculate/roundZoned.js +3 -7
- package/dist/zoned/calculate/setZoned.d.ts +44 -13
- package/dist/zoned/calculate/setZoned.js +30 -21
- package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
- package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
- package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
- package/dist/zoned/calculate/startOfZoned.js +1 -3
- package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
- package/dist/zoned/calculate/subtractZoned.js +10 -20
- package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
- package/dist/zoned/compare/areZonedEqualBy.js +7 -5
- package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
- package/dist/zoned/compare/isBetweenZoned.js +4 -3
- package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
- package/dist/zoned/compare/isInDaylightSaving.js +40 -44
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +21 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +9 -11
- package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
- package/dist/zoned/convert/convertZonedToUnix.js +2 -4
- package/dist/zoned/convert/convertZonedToZoned.d.ts +5 -1
- package/dist/zoned/convert/convertZonedToZoned.js +5 -1
- package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
- package/dist/zoned/format/formatCalendarZoned.js +15 -10
- package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
- package/dist/zoned/format/formatRelativeZoned.js +9 -5
- package/dist/zoned/format/formatRfc2822.d.ts +2 -2
- package/dist/zoned/format/formatRfc2822.js +2 -2
- package/dist/zoned/format/formatRfc3339.d.ts +2 -3
- package/dist/zoned/format/formatRfc3339.js +2 -3
- package/dist/zoned/format/formatTimeZoneName.d.ts +16 -3
- package/dist/zoned/format/formatTimeZoneName.js +9 -4
- package/dist/zoned/format/formatZonedDateTime.js +2 -1
- package/dist/zoned/format/formatZonedRange.js +2 -1
- package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
- package/dist/zoned/format/formatZonedToParts.js +8 -5
- package/dist/zoned/get/getDstTransitions.d.ts +11 -10
- package/dist/zoned/get/getDstTransitions.js +21 -7
- package/dist/zoned/get/getSystemTimeZone.d.ts +3 -1
- package/dist/zoned/get/getSystemTimeZone.js +5 -2
- package/dist/zoned/get/getTimeZoneOffset.d.ts +13 -2
- package/dist/zoned/get/getTimeZoneOffset.js +22 -6
- package/dist/zoned/get/getZonedDay.d.ts +2 -1
- package/dist/zoned/get/getZonedDay.js +6 -7
- package/dist/zoned/get/getZonedDayOfWeek.d.ts +2 -1
- package/dist/zoned/get/getZonedDayOfWeek.js +6 -5
- package/dist/zoned/get/getZonedHour.d.ts +2 -1
- package/dist/zoned/get/getZonedHour.js +6 -7
- package/dist/zoned/get/getZonedMicrosecond.d.ts +2 -1
- package/dist/zoned/get/getZonedMicrosecond.js +6 -5
- package/dist/zoned/get/getZonedMillisecond.d.ts +2 -1
- package/dist/zoned/get/getZonedMillisecond.js +6 -7
- package/dist/zoned/get/getZonedMinute.d.ts +2 -1
- package/dist/zoned/get/getZonedMinute.js +6 -7
- package/dist/zoned/get/getZonedMonth.d.ts +2 -1
- package/dist/zoned/get/getZonedMonth.js +6 -7
- package/dist/zoned/get/getZonedNanosecond.d.ts +2 -1
- package/dist/zoned/get/getZonedNanosecond.js +6 -5
- package/dist/zoned/get/getZonedNow.d.ts +18 -2
- package/dist/zoned/get/getZonedNow.js +17 -4
- package/dist/zoned/get/getZonedNowUnit.d.ts +6 -3
- package/dist/zoned/get/getZonedNowUnit.js +10 -7
- package/dist/zoned/get/getZonedSecond.d.ts +2 -1
- package/dist/zoned/get/getZonedSecond.js +6 -7
- package/dist/zoned/get/getZonedToday.d.ts +2 -1
- package/dist/zoned/get/getZonedToday.js +6 -5
- package/dist/zoned/get/getZonedWeekOfYear.d.ts +2 -1
- package/dist/zoned/get/getZonedWeekOfYear.js +6 -5
- package/dist/zoned/get/getZonedYear.d.ts +4 -1
- package/dist/zoned/get/getZonedYear.js +9 -7
- package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
- package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
- package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
- package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
- package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorAllZoned.js +2 -2
- package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.js +2 -2
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
- package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
- package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
- package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +13 -4
- package/dist/zoned/parse/parseUnitFromZoned.js +6 -4
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
- package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
- package/dist/zoned/parse/parseYearFromZoned.d.ts +4 -2
- package/dist/zoned/parse/parseYearFromZoned.js +6 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +45 -12
- package/dist/zoned/validate/hasDaylightSaving.js +54 -32
- package/dist/zoned/validate/index.d.ts +2 -0
- package/dist/zoned/validate/index.js +2 -0
- package/dist/zoned/validate/isValidRfc2822DateTime.d.ts +32 -0
- package/dist/zoned/validate/isValidRfc2822DateTime.js +35 -0
- package/dist/zoned/validate/isValidRfc3339DateTime.d.ts +31 -0
- package/dist/zoned/validate/isValidRfc3339DateTime.js +34 -0
- package/dist/zoned/validate/isValidTimeZone.d.ts +5 -1
- package/dist/zoned/validate/isValidTimeZone.js +6 -2
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
- package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
- package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
- package/dist/zoned/validate/isValidZonedRange.js +1 -4
- package/package.json +67 -5
- package/skills/gmt-arithmetic/SKILL.md +99 -12
- package/skills/gmt-basics/SKILL.md +64 -13
- package/skills/gmt-integration/SKILL.md +33 -13
- package/skills/gmt-timezone/SKILL.md +265 -31
- package/dist/duration/calculate/durationAs.d.ts +0 -62
- package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
- package/dist/internal/resolveReadingTimeZone.js +0 -18
- package/dist/internal/unixZonedDateTime.d.ts +0 -22
- package/dist/internal/unixZonedDateTime.js +0 -32
- package/dist/internal/utcZonedDateTime.d.ts +0 -16
- package/dist/internal/utcZonedDateTime.js +0 -28
- package/dist/types/duration-unit.d.ts +0 -5
- /package/dist/types/{duration-unit.js → duty.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@northguild/gmt",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
4
|
"description": "Temporal-based date and time utilities with timezone support and polyfill integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"date",
|
|
@@ -35,10 +35,9 @@
|
|
|
35
35
|
"dist",
|
|
36
36
|
"LICENSE",
|
|
37
37
|
"README.md",
|
|
38
|
-
"skills
|
|
39
|
-
"skills/
|
|
40
|
-
"skills/
|
|
41
|
-
"skills/gmt-integration"
|
|
38
|
+
"skills",
|
|
39
|
+
"!skills/_artifacts",
|
|
40
|
+
"!skills/contributor"
|
|
42
41
|
],
|
|
43
42
|
"type": "module",
|
|
44
43
|
"sideEffects": false,
|
|
@@ -55,6 +54,9 @@
|
|
|
55
54
|
"calendar/calculate": [
|
|
56
55
|
"./dist/calendar/calculate/index.d.ts"
|
|
57
56
|
],
|
|
57
|
+
"calendar/hours": [
|
|
58
|
+
"./dist/calendar/hours/index.d.ts"
|
|
59
|
+
],
|
|
58
60
|
"calendar/validate": [
|
|
59
61
|
"./dist/calendar/validate/index.d.ts"
|
|
60
62
|
],
|
|
@@ -79,18 +81,39 @@
|
|
|
79
81
|
"duration/validate": [
|
|
80
82
|
"./dist/duration/validate/index.d.ts"
|
|
81
83
|
],
|
|
84
|
+
"duty": [
|
|
85
|
+
"./dist/duty/index.d.ts"
|
|
86
|
+
],
|
|
87
|
+
"duty/calculate": [
|
|
88
|
+
"./dist/duty/calculate/index.d.ts"
|
|
89
|
+
],
|
|
90
|
+
"duty/validate": [
|
|
91
|
+
"./dist/duty/validate/index.d.ts"
|
|
92
|
+
],
|
|
82
93
|
"instant": [
|
|
83
94
|
"./dist/instant/index.d.ts"
|
|
84
95
|
],
|
|
85
96
|
"instant/convert": [
|
|
86
97
|
"./dist/instant/convert/index.d.ts"
|
|
87
98
|
],
|
|
99
|
+
"instant/validate": [
|
|
100
|
+
"./dist/instant/validate/index.d.ts"
|
|
101
|
+
],
|
|
88
102
|
"intermodal": [
|
|
89
103
|
"./dist/intermodal/index.d.ts"
|
|
90
104
|
],
|
|
91
105
|
"intermodal/calculate": [
|
|
92
106
|
"./dist/intermodal/calculate/index.d.ts"
|
|
93
107
|
],
|
|
108
|
+
"intermodal/format": [
|
|
109
|
+
"./dist/intermodal/format/index.d.ts"
|
|
110
|
+
],
|
|
111
|
+
"intermodal/parse": [
|
|
112
|
+
"./dist/intermodal/parse/index.d.ts"
|
|
113
|
+
],
|
|
114
|
+
"intermodal/validate": [
|
|
115
|
+
"./dist/intermodal/validate/index.d.ts"
|
|
116
|
+
],
|
|
94
117
|
"interval": [
|
|
95
118
|
"./dist/interval/index.d.ts"
|
|
96
119
|
],
|
|
@@ -175,6 +198,9 @@
|
|
|
175
198
|
"transport/calculate": [
|
|
176
199
|
"./dist/transport/calculate/index.d.ts"
|
|
177
200
|
],
|
|
201
|
+
"transport/compare": [
|
|
202
|
+
"./dist/transport/compare/index.d.ts"
|
|
203
|
+
],
|
|
178
204
|
"transport/convert": [
|
|
179
205
|
"./dist/transport/convert/index.d.ts"
|
|
180
206
|
],
|
|
@@ -290,6 +316,10 @@
|
|
|
290
316
|
"types": "./dist/calendar/calculate/index.d.ts",
|
|
291
317
|
"default": "./dist/calendar/calculate/index.js"
|
|
292
318
|
},
|
|
319
|
+
"./calendar/hours": {
|
|
320
|
+
"types": "./dist/calendar/hours/index.d.ts",
|
|
321
|
+
"default": "./dist/calendar/hours/index.js"
|
|
322
|
+
},
|
|
293
323
|
"./calendar/validate": {
|
|
294
324
|
"types": "./dist/calendar/validate/index.d.ts",
|
|
295
325
|
"default": "./dist/calendar/validate/index.js"
|
|
@@ -322,6 +352,18 @@
|
|
|
322
352
|
"types": "./dist/duration/validate/index.d.ts",
|
|
323
353
|
"default": "./dist/duration/validate/index.js"
|
|
324
354
|
},
|
|
355
|
+
"./duty": {
|
|
356
|
+
"types": "./dist/duty/index.d.ts",
|
|
357
|
+
"default": "./dist/duty/index.js"
|
|
358
|
+
},
|
|
359
|
+
"./duty/calculate": {
|
|
360
|
+
"types": "./dist/duty/calculate/index.d.ts",
|
|
361
|
+
"default": "./dist/duty/calculate/index.js"
|
|
362
|
+
},
|
|
363
|
+
"./duty/validate": {
|
|
364
|
+
"types": "./dist/duty/validate/index.d.ts",
|
|
365
|
+
"default": "./dist/duty/validate/index.js"
|
|
366
|
+
},
|
|
325
367
|
"./instant": {
|
|
326
368
|
"types": "./dist/instant/index.d.ts",
|
|
327
369
|
"default": "./dist/instant/index.js"
|
|
@@ -330,6 +372,10 @@
|
|
|
330
372
|
"types": "./dist/instant/convert/index.d.ts",
|
|
331
373
|
"default": "./dist/instant/convert/index.js"
|
|
332
374
|
},
|
|
375
|
+
"./instant/validate": {
|
|
376
|
+
"types": "./dist/instant/validate/index.d.ts",
|
|
377
|
+
"default": "./dist/instant/validate/index.js"
|
|
378
|
+
},
|
|
333
379
|
"./intermodal": {
|
|
334
380
|
"types": "./dist/intermodal/index.d.ts",
|
|
335
381
|
"default": "./dist/intermodal/index.js"
|
|
@@ -338,6 +384,18 @@
|
|
|
338
384
|
"types": "./dist/intermodal/calculate/index.d.ts",
|
|
339
385
|
"default": "./dist/intermodal/calculate/index.js"
|
|
340
386
|
},
|
|
387
|
+
"./intermodal/format": {
|
|
388
|
+
"types": "./dist/intermodal/format/index.d.ts",
|
|
389
|
+
"default": "./dist/intermodal/format/index.js"
|
|
390
|
+
},
|
|
391
|
+
"./intermodal/parse": {
|
|
392
|
+
"types": "./dist/intermodal/parse/index.d.ts",
|
|
393
|
+
"default": "./dist/intermodal/parse/index.js"
|
|
394
|
+
},
|
|
395
|
+
"./intermodal/validate": {
|
|
396
|
+
"types": "./dist/intermodal/validate/index.d.ts",
|
|
397
|
+
"default": "./dist/intermodal/validate/index.js"
|
|
398
|
+
},
|
|
341
399
|
"./interval": {
|
|
342
400
|
"types": "./dist/interval/index.d.ts",
|
|
343
401
|
"default": "./dist/interval/index.js"
|
|
@@ -450,6 +508,10 @@
|
|
|
450
508
|
"types": "./dist/transport/calculate/index.d.ts",
|
|
451
509
|
"default": "./dist/transport/calculate/index.js"
|
|
452
510
|
},
|
|
511
|
+
"./transport/compare": {
|
|
512
|
+
"types": "./dist/transport/compare/index.d.ts",
|
|
513
|
+
"default": "./dist/transport/compare/index.js"
|
|
514
|
+
},
|
|
453
515
|
"./transport/convert": {
|
|
454
516
|
"types": "./dist/transport/convert/index.d.ts",
|
|
455
517
|
"default": "./dist/transport/convert/index.js"
|
|
@@ -11,12 +11,18 @@ description: >
|
|
|
11
11
|
(BusinessCalendar, RollConvention, isBusinessDay, addBusinessDays,
|
|
12
12
|
subtractBusinessDays, businessDaysBetween, nextBusinessDay,
|
|
13
13
|
previousBusinessDay, rollDate, mergeCalendars), overflow "constrain" month-end
|
|
14
|
-
clamping, splitIntervalByUnit* stepping
|
|
14
|
+
clamping, splitIntervalByUnit* anchor stepping, maxPieces limits,
|
|
15
15
|
intervalCount* matching bucketRange, RFC 9557 calendar strings, and the
|
|
16
|
-
correct-at-the-edges guarantees at the
|
|
17
|
-
|
|
16
|
+
correct-at-the-edges guarantees at the representable limits, and hours-of-work
|
|
17
|
+
rules over a duty log (evaluateDutyLog, dutyViolations, dutyDayFor).
|
|
18
18
|
sources:
|
|
19
|
-
- 'northguild/gmt:
|
|
19
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/plain-arithmetic.mdx'
|
|
20
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/durations.mdx'
|
|
21
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/spans.mdx'
|
|
22
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/business-calendars.mdx'
|
|
23
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/calendar-systems.mdx'
|
|
24
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/intervals/*.mdx'
|
|
25
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/concepts/correct-at-the-edges.mdx'
|
|
20
26
|
- 'northguild/gmt:packages/gmt/src/plain/calculate/index.ts'
|
|
21
27
|
- 'northguild/gmt:packages/gmt/src/duration/index.ts'
|
|
22
28
|
- 'northguild/gmt:packages/gmt/src/interval/index.ts'
|
|
@@ -29,10 +35,12 @@ sources:
|
|
|
29
35
|
- 'northguild/gmt:packages/gmt/src/calendar/business/index.ts'
|
|
30
36
|
- 'northguild/gmt:packages/gmt/src/types/business-calendar.ts'
|
|
31
37
|
- 'northguild/gmt:packages/gmt/src/types/roll-convention.ts'
|
|
38
|
+
- 'northguild/gmt:packages/gmt/src/duty/index.ts'
|
|
39
|
+
- 'northguild/gmt:packages/gmt/src/types/duty.ts'
|
|
32
40
|
metadata:
|
|
33
41
|
type: core
|
|
34
42
|
library: '@northguild/gmt'
|
|
35
|
-
library_version: '1.
|
|
43
|
+
library_version: '1.19.0'
|
|
36
44
|
---
|
|
37
45
|
|
|
38
46
|
# GMT Arithmetic
|
|
@@ -53,12 +61,40 @@ and full interval set operations.
|
|
|
53
61
|
these windows?".
|
|
54
62
|
- The user is measuring elapsed time — a profile, a trace span, a sensor
|
|
55
63
|
interval — and wants milliseconds or nanoseconds rather than a `Duration`.
|
|
64
|
+
- The user checks hours of work against rules: driving or duty caps, rest in
|
|
65
|
+
every 24 hours, a free day in seven, a monthly record of violations.
|
|
56
66
|
|
|
57
67
|
## Core rules
|
|
58
68
|
|
|
59
69
|
1. **`add*` takes a `{ unit: number }` object, not an ISO duration string.**
|
|
60
70
|
`addDate("2024-03-15", { days: 5 })` works; `addDate("2024-03-15", "P5D")`
|
|
61
71
|
returns `""`. Use `diffDateAsDuration` / `addDuration` for duration strings.
|
|
72
|
+
An amount has those two shapes, and each function takes one of them:
|
|
73
|
+
- **A unit object is checked the same way everywhere.** A unit outside the
|
|
74
|
+
function's set returns the sentinel: `addDate` takes years to days,
|
|
75
|
+
`addTime` hours to nanoseconds. So does an own key that is no unit name,
|
|
76
|
+
and an amount that is not a whole finite number. A unit set to `undefined`
|
|
77
|
+
is absent, as Temporal reads it.
|
|
78
|
+
- **`durationFromUnits` is the bridge from the object to the string.** It
|
|
79
|
+
takes all ten units and carries nothing into a larger unit. Seconds and
|
|
80
|
+
smaller are written as one decimal number of seconds. Pass its result to
|
|
81
|
+
any function that takes a duration string.
|
|
82
|
+
- **`totalUnits` totals the object in one call.** It takes exact units only:
|
|
83
|
+
days down to nanoseconds, a day being 24 hours. A year, a month or a week
|
|
84
|
+
returns `null`, as a key and as the unit asked for.
|
|
85
|
+
- **`totalDuration` totals a duration string**, and takes `relativeTo` for a
|
|
86
|
+
calendar amount. To total `{ months: 1 }`, build the string with
|
|
87
|
+
`durationFromUnits` and pass it here.
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
durationFromUnits({ minutes: 15 }); // "PT15M"
|
|
91
|
+
durationFromUnits({ minutes: 90 }); // "PT90M" — not carried into hours
|
|
92
|
+
totalUnits({ minutes: 15 }, "seconds"); // 900
|
|
93
|
+
totalUnits({ weeks: 1 }, "days"); // null — write { days: 7 }
|
|
94
|
+
totalUnits("PT15M", "seconds"); // null — a duration string goes to totalDuration
|
|
95
|
+
totalDuration("PT36H", "days"); // 1.5
|
|
96
|
+
totalDuration(durationFromUnits({ months: 1 }), "days", { relativeTo: "2024-02-01" }); // 29
|
|
97
|
+
```
|
|
62
98
|
2. **Arithmetic clamps; parsers reject.** `overflow` defaults to `"constrain"`,
|
|
63
99
|
Temporal's default: January 31 plus one month is February 29, and
|
|
64
100
|
`addDate("2024-02-29", { years: 1 })` is `"2025-02-28"`. Pass
|
|
@@ -96,9 +132,10 @@ and full interval set operations.
|
|
|
96
132
|
hour on its spring-forward counts 2 hours, and a range over `Pacific/Apia`'s
|
|
97
133
|
deleted 30 December 2011 does not count that day. `intervalCountUnix` counts
|
|
98
134
|
in `options.timeZone`, UTC by default (`"local"` for the system zone).
|
|
99
|
-
5. **Calendar units need `relativeTo`.** `
|
|
135
|
+
5. **Calendar units need `relativeTo`.** `totalDuration`, `normalizeDuration`, and
|
|
100
136
|
`compareDurations` return `null`/`""` for year/month/week arithmetic without
|
|
101
|
-
a `relativeTo` anchor — a month is not a fixed length.
|
|
137
|
+
a `relativeTo` anchor — a month is not a fixed length. `totalUnits` takes no
|
|
138
|
+
`relativeTo`, so it always returns `null` for those units. A calendar-annotated
|
|
102
139
|
`relativeTo` is read as Temporal reads it: zoned when it has a time zone
|
|
103
140
|
annotation, otherwise a date, and its calendar must be a `CalendarSystem`.
|
|
104
141
|
- `round*` accept singular or plural `smallestUnit` names (`"hour"` or
|
|
@@ -213,9 +250,45 @@ and full interval set operations.
|
|
|
213
250
|
survives only if it is a working day in every input, and returns `null` for an
|
|
214
251
|
empty list. Narrow inputs with `isValidBusinessCalendar` /
|
|
215
252
|
`isValidRollConvention`.
|
|
216
|
-
13. **
|
|
217
|
-
|
|
218
|
-
|
|
253
|
+
13. **Hours of work are rules over a duty log, and every number is the
|
|
254
|
+
caller's.** A log is `{ status, start, end }[]` in the caller's own status
|
|
255
|
+
words, ordered and non-overlapping (`isValidDutyLog`). A rule is one of 13
|
|
256
|
+
`DutyRule` kinds (`cumulativeCap`, `elapsedWindow`, `requiredInterruption`,
|
|
257
|
+
`rollingCap`, `fixedPeriodCap`, `restRequirement`, `freePeriod`,
|
|
258
|
+
`restBeforeDuty`, `quota`, `dueBy`, `pattern`, `occurrenceCap`,
|
|
259
|
+
`usageLookback`) with no default limit; GMT names no regulation.
|
|
260
|
+
`evaluateDutyLog(log, at, rules, { timeZone, dayStartTime?, disambiguation? })`
|
|
261
|
+
reports every rule at one instant; `dutyViolations` lists each violation in a
|
|
262
|
+
range once, by its worst window, in the range it began in.
|
|
263
|
+
|
|
264
|
+
```typescript
|
|
265
|
+
evaluateDutyLog(log, "2024-01-01T21:30:00Z", [{ label: "11 driving", kind: "cumulativeCap",
|
|
266
|
+
statuses: ["driving"], cap: "PT11H", since: { statuses: ["off"], consecutive: "PT10H" } }],
|
|
267
|
+
{ timeZone: "UTC" }).violations; // [{ label: "11 driving", used: "PT11H30M", limit: "PT11H", … }]
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
- `{ elapsed: "PT24H" }` slides; `{ operatorDays }`, `{ calendarDays }`,
|
|
271
|
+
`{ isoWeeks }`, `{ calendarMonths }`, `{ calendarYears }` are whole local
|
|
272
|
+
periods in `timeZone` (28 calendar days across a fall-back are 673 hours).
|
|
273
|
+
- The operator day is `dutyDayFor(instant, { timeZone, dayStartTime })`,
|
|
274
|
+
never local midnight; a rule counting `operatorDays` needs `dayStartTime`.
|
|
275
|
+
- The log is read up to `at`; unlogged time is neither work nor rest. To
|
|
276
|
+
check a roster, append the plan and set `at` to its end.
|
|
277
|
+
- A paired rest is three floors (`PairSpec`), not two integers:
|
|
278
|
+
`qualifyingRestPairs`.
|
|
279
|
+
- A count of periods is 10,000 at most, alone or times `adjacent`,
|
|
280
|
+
`lookback` or `periods`. `fixedPeriodCap.period` and `occurrenceCap.per`
|
|
281
|
+
are a `LocalPeriod`: a count, never `elapsed`.
|
|
282
|
+
- `dutyViolations` reads only the time the log covers, and each check reads
|
|
283
|
+
the log as it stood then, so a record only grows as the log does.
|
|
284
|
+
- Nested caps are separate rules, reported separately.
|
|
285
|
+
14. **Read the docs site.** This skill is a routing pointer. For full option
|
|
286
|
+
shapes, locale matrices, and code examples, read these:
|
|
287
|
+
- `https://gmt-dox.northguild.workers.dev/llms.txt` is the map of every docs page.
|
|
288
|
+
- Each page has a `.md` twin that holds its text, for example
|
|
289
|
+
`https://gmt-dox.northguild.workers.dev/guides/core-date-operations/plain-arithmetic.md`.
|
|
290
|
+
- The JSDoc of the function you intend to call ships in the installed
|
|
291
|
+
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
219
292
|
|
|
220
293
|
## Key functions
|
|
221
294
|
|
|
@@ -231,9 +304,12 @@ and full interval set operations.
|
|
|
231
304
|
`startOfQuarterForDate`, `getLocaleStartOfWeek` (zoned boundaries: see the
|
|
232
305
|
`gmt-timezone` skill)
|
|
233
306
|
- **Durations (ISO 8601)**: `isValidDuration`, `parseDuration`, `addDuration`,
|
|
234
|
-
`subtractDuration`, `normalizeDuration`, `
|
|
307
|
+
`subtractDuration`, `normalizeDuration`, `totalDuration`, `formatDuration`,
|
|
235
308
|
`negateDuration`, `absDuration`, `compareDurations`, `getDurationUnit`,
|
|
236
309
|
`getDurationSign`
|
|
310
|
+
- **Unit objects (`{ unit: number }`)**: `durationFromUnits` (object to
|
|
311
|
+
duration string), `totalUnits` (object to one total), type
|
|
312
|
+
`ExactDurationUnit`
|
|
237
313
|
- **Diff-to-duration bridge**: `diffDateAsDuration`,
|
|
238
314
|
`diffZonedAsDuration`, `diffUnixAsDuration`, `diffUtcAsDuration`
|
|
239
315
|
- **Interval algebra (half-open, instants)**: `isValidInterval`,
|
|
@@ -247,6 +323,11 @@ and full interval set operations.
|
|
|
247
323
|
`intervalLengthDate`, `intervalDivideEquallyDate`, `mergeIntervalsDate` (each
|
|
248
324
|
with `DateTime`/`Zoned`/`Unix`/`Utc` variants where the type supports it)
|
|
249
325
|
|
|
326
|
+
- **Hours of work**: `evaluateDutyLog`, `dutyViolations`, `dutyDayFor`,
|
|
327
|
+
`dutyTotals`, `longestRun`, `qualifyingRests`, `qualifyingRestPairs`,
|
|
328
|
+
`isValidDutyLog`, types `DutyEntry`, `DutyRule`, `Period`, `LocalPeriod`,
|
|
329
|
+
`DutyReport`
|
|
330
|
+
|
|
250
331
|
## Namespace selection
|
|
251
332
|
|
|
252
333
|
- `plain/*` — timezone-free dates, times, datetimes
|
|
@@ -256,9 +337,15 @@ and full interval set operations.
|
|
|
256
337
|
- `duration/*` — ISO 8601 duration strings
|
|
257
338
|
- `span/*` — elapsed and wall-clock spans as raw numbers
|
|
258
339
|
- `interval/*` — half-open interval algebra over instant strings
|
|
340
|
+
- `duty/*` — hours-of-work rules over a duty log
|
|
259
341
|
|
|
260
342
|
## References
|
|
261
343
|
|
|
262
|
-
- [
|
|
344
|
+
- [Docs map for agents (llms.txt)](https://gmt-dox.northguild.workers.dev/llms.txt)
|
|
345
|
+
- [Plain arithmetic guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/plain-arithmetic/)
|
|
346
|
+
- [Durations guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/durations/)
|
|
347
|
+
- [Spans guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/spans/)
|
|
348
|
+
- [Business calendars guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/business-calendars/)
|
|
263
349
|
- [Interval algebra reference](/reference/interval/calculate/intersectIntervals)
|
|
264
350
|
- [Interval guides](/guides/intervals/interval-basics/)
|
|
351
|
+
- [Hours of work guide](https://gmt-dox.northguild.workers.dev/guides/intervals/hours-of-work/)
|
|
@@ -4,12 +4,19 @@ description: >
|
|
|
4
4
|
Core date/time basics — get current values, parse components, read ISO week,
|
|
5
5
|
ordinal, quarter and fiscal-period identifiers, format for display, format
|
|
6
6
|
relative time, compare dates, and validate strings/timezones/intervals. Reads
|
|
7
|
-
the
|
|
8
|
-
is a routing pointer, not an API dump.
|
|
7
|
+
the docs site (llms.txt and each page's .md twin) and the installed package's
|
|
8
|
+
JSDoc for API details; this skill is a routing pointer, not an API dump.
|
|
9
9
|
sources:
|
|
10
|
-
- 'northguild/gmt:
|
|
10
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/get-current.mdx'
|
|
11
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/parsing.mdx'
|
|
12
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/formatting.mdx'
|
|
13
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/relative-time.mdx'
|
|
14
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/comparisons.mdx'
|
|
15
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/validation.mdx'
|
|
16
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/zoned-date-operations/calendar-boundaries.mdx'
|
|
11
17
|
- 'northguild/gmt:packages/gmt/src/plain/get/index.ts'
|
|
12
18
|
- 'northguild/gmt:packages/gmt/src/plain/parse/index.ts'
|
|
19
|
+
- 'northguild/gmt:packages/gmt/src/types/two-digit-year.ts'
|
|
13
20
|
- 'northguild/gmt:packages/gmt/src/plain/format/index.ts'
|
|
14
21
|
- 'northguild/gmt:packages/gmt/src/plain/locale/index.ts'
|
|
15
22
|
- 'northguild/gmt:packages/gmt/src/plain/compare/index.ts'
|
|
@@ -17,6 +24,9 @@ sources:
|
|
|
17
24
|
- 'northguild/gmt:packages/gmt/src/zoned/get/index.ts'
|
|
18
25
|
- 'northguild/gmt:packages/gmt/src/zoned/format/index.ts'
|
|
19
26
|
- 'northguild/gmt:packages/gmt/src/zoned/validate/index.ts'
|
|
27
|
+
- 'northguild/gmt:packages/gmt/src/zoned/parse/index.ts'
|
|
28
|
+
- 'northguild/gmt:packages/gmt/src/utc/parse/index.ts'
|
|
29
|
+
- 'northguild/gmt:packages/gmt/src/utc/validate/index.ts'
|
|
20
30
|
- 'northguild/gmt:packages/gmt/src/unix/get/index.ts'
|
|
21
31
|
- 'northguild/gmt:packages/gmt/src/utc/get/index.ts'
|
|
22
32
|
- 'northguild/gmt:packages/gmt/src/calendar/calculate/index.ts'
|
|
@@ -24,7 +34,7 @@ sources:
|
|
|
24
34
|
metadata:
|
|
25
35
|
type: core
|
|
26
36
|
library: '@northguild/gmt'
|
|
27
|
-
library_version: '1.
|
|
37
|
+
library_version: '1.19.0'
|
|
28
38
|
---
|
|
29
39
|
|
|
30
40
|
# GMT Basics
|
|
@@ -52,42 +62,81 @@ input before you act on it.
|
|
|
52
62
|
`false` for booleans, `[]` for arrays. Always check before using. This holds
|
|
53
63
|
for a `null` or wrong-typed argument too (`addDate(x, null)` is `""`), so a
|
|
54
64
|
`try`/`catch` around a GMT call is dead code.
|
|
55
|
-
3. **Read the
|
|
56
|
-
signatures, locale matrices, and code examples, read
|
|
57
|
-
`
|
|
65
|
+
3. **Read the docs site.** This skill is a routing pointer. For full API
|
|
66
|
+
signatures, locale matrices, and code examples, read these:
|
|
67
|
+
- `https://gmt-dox.northguild.workers.dev/llms.txt` is the map of every docs page.
|
|
68
|
+
- Each page has a `.md` twin that holds its text, for example
|
|
69
|
+
`https://gmt-dox.northguild.workers.dev/guides/core-date-operations/parsing.md`.
|
|
70
|
+
- The JSDoc of the function you intend to call ships in the installed
|
|
71
|
+
package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
58
72
|
|
|
59
73
|
## Key functions
|
|
60
74
|
|
|
61
75
|
- **Current values**: `getNow`, `getToday`, `getUtcNow`, `getUnixNow`,
|
|
62
76
|
`getSystemTimeZone`, `getTimeZones`
|
|
63
77
|
- **Parsing**: `parseYearFromDate`, `parseMonthFromDate`,
|
|
64
|
-
`parseDateTimeWithPattern`, `parseRfc3339`, `
|
|
78
|
+
`parseDateTimeWithPattern`, `parseRfc3339`, `parseRfc2822`,
|
|
79
|
+
`parseHttpDate`, `parseSqlDateTime`
|
|
65
80
|
- **Calendar identifiers**: `getIsoWeekDate`, `getOrdinalDate`, `getQuarter`,
|
|
66
81
|
`getFiscalPeriod`
|
|
67
82
|
- **Formatting**: `formatDate`, `formatTime`, `formatDateTime`,
|
|
68
|
-
`formatRelativeDate`, `formatCalendar`, `formatRfc3339`
|
|
83
|
+
`formatRelativeDate`, `formatCalendar`, `formatRfc3339`, `formatRfc2822`,
|
|
84
|
+
`formatHttpDate`, `formatSqlDateTime`
|
|
69
85
|
- **Locale names**: `getLocaleMonthNames`, `getLocaleWeekdayNames`,
|
|
70
86
|
`getLocaleMeridiems`, `getLocaleEraNames`
|
|
71
87
|
- **Comparison**: `isAfterDate`, `isBeforeDate`, `areDatesEqual`,
|
|
72
88
|
`areDatesEqualBy`, `isWeekend`, `isBusinessDay`, `nextWeekday`
|
|
73
89
|
- **Validation**: `isValidDate`, `isValidTime`, `isValidTimeZone`,
|
|
74
90
|
`isValidZonedDateTime`, `isValidDateInterval`, `isValidFiscalPattern`
|
|
91
|
+
- **Interchange-format validation**: `isValidRfc3339DateTime`,
|
|
92
|
+
`isValidRfc2822DateTime`, `isValidHttpDate`, `isValidSqlDateTime`
|
|
93
|
+
- **UTC timestamp validation**: `isValidUtcTimestamp` (a UTC instant written
|
|
94
|
+
`YYYY-MM-DDTHH:MM:SS[.f]Z` and nothing else; it has no parser)
|
|
75
95
|
|
|
76
96
|
## Common pitfalls
|
|
77
97
|
|
|
78
98
|
- `formatRelative*` measure from now when `reference` is omitted, so the output
|
|
79
99
|
changes from day to day. Pass `reference` whenever the result must be deterministic.
|
|
80
|
-
|
|
100
|
+
`largestUnit` takes a singular or plural unit name (`"hour"` or `"hours"`) from the
|
|
101
|
+
units the function's values have: `formatRelativeDate` day to year, `formatRelativeTime`
|
|
102
|
+
second to hour, the others second to year. Any other unit returns `""`.
|
|
103
|
+
`roundingMethod` is `"floor"`, `"ceil"` or `"round"`: any other value returns `""`.
|
|
104
|
+
- In a `parse*WithPattern` pattern, `''` is one literal quote, inside or outside
|
|
105
|
+
quoted text (UTS #35), and not an empty separator: `"''yyyy-MM-dd''"` reads
|
|
106
|
+
`"'2024-01-15'"`. Write adjacent fields with nothing between them, as in `"yyyyMMdd"`.
|
|
107
|
+
- A `yy` token in a `parse*WithPattern` pattern needs the caller's hundred-year window:
|
|
108
|
+
`{ yearWindow: 2000 }` reads `"03/15/24"` against `"MM/dd/yy"` as `"2024-03-15"`, and
|
|
109
|
+
`"rolling"` is the hundred years around the current UTC year. A `yy` pattern with no
|
|
110
|
+
`yearWindow` returns `""`; a pattern with no `yy` never reads the option.
|
|
111
|
+
- `getZonedNow` reads `smallestUnit` only, and writes milliseconds when it is
|
|
112
|
+
omitted or `undefined`. The string always carries the offset and the zone.
|
|
113
|
+
- `parseDateWithPattern`, `parseRfc2822` and `parseHttpDate` return `""` on
|
|
81
114
|
shape-valid-but-unreal dates such as 31 February (regex only proves shape;
|
|
82
115
|
Temporal validates the real value). Parsers reject; only arithmetic clamps.
|
|
83
116
|
- `parseRfc2822` reads everything RFC 5322 says a receiver must: comments,
|
|
84
117
|
folding whitespace, any case, two-digit years and zone names such as `EST`
|
|
85
|
-
(an unknown name reads as `+00:00`). `
|
|
118
|
+
(an unknown name reads as `+00:00`). `parseHttpDate` reads all three HTTP-date
|
|
86
119
|
forms, including `rfc850-date` and `asctime-date`. Both return `""` when the
|
|
87
120
|
day name contradicts the date (`"Sat, 15 Mar 2024 …"`), so do not synthesise
|
|
88
121
|
a day name; omit it. The `rfc2822DateTime` and `httpDate` regexes stay strict
|
|
89
122
|
and match only what GMT writes, so do not use them to pre-filter parser input.
|
|
90
|
-
-
|
|
123
|
+
- To check an interchange string, call its validator, not its regex.
|
|
124
|
+
`isValidRfc3339DateTime`, `isValidRfc2822DateTime`, `isValidHttpDate` and
|
|
125
|
+
`isValidSqlDateTime` are each true exactly when the parser returns a value.
|
|
126
|
+
A regex proves shape only: `rfc3339DateTime.test("2023-02-29T10:00:00Z")`
|
|
127
|
+
is `true` and `isValidRfc3339DateTime` returns `false` for it.
|
|
128
|
+
- `isValidUtcTimestamp` matches no parser: it is a narrower `isValidUtc`. It is true
|
|
129
|
+
only for a real UTC instant written `YYYY-MM-DDTHH:MM:SS[.f]Z`: a four-digit year
|
|
130
|
+
`0000` to `9999`, upper-case `T` and `Z`, seconds, an optional dot fraction of one to
|
|
131
|
+
nine digits, and nothing after the `Z`. Use it for a string headed for storage or for
|
|
132
|
+
a reader that is not Temporal. `isValidUtc` also accepts a time without seconds, a
|
|
133
|
+
comma before the fraction, an expanded `±YYYYYY` year and RFC 9557 annotations
|
|
134
|
+
(`"2026-10-06T12:00:00Z[Europe/Paris]"`); all four are `false` here. A numeric offset,
|
|
135
|
+
`+00:00` included, is `false` too: `isValidRfc3339DateTime` checks the whole RFC 3339
|
|
136
|
+
grammar, with the same two GMT limits (no second `60`, at most nine fraction digits).
|
|
137
|
+
The check is on the spelling and the instant. A reader's own range and precision
|
|
138
|
+
still apply.
|
|
139
|
+
- `formatRfc2822`, `formatHttpDate` and `formatRfc3339` return `""` for a year their
|
|
91
140
|
grammar cannot hold (before 0000, or after 9999 for RFC 3339 and HTTP).
|
|
92
141
|
`formatRfc3339` writes a sub-minute historical offset as the same instant at
|
|
93
142
|
`+00:00`. Use Temporal's `toString()` when you need any year.
|
|
@@ -123,5 +172,7 @@ input before you act on it.
|
|
|
123
172
|
|
|
124
173
|
## References
|
|
125
174
|
|
|
126
|
-
- [
|
|
175
|
+
- [Docs map for agents (llms.txt)](https://gmt-dox.northguild.workers.dev/llms.txt)
|
|
176
|
+
- [API reference](https://gmt-dox.northguild.workers.dev/reference/)
|
|
177
|
+
- [Core date operations guides index](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/)
|
|
127
178
|
- [Core date operations guides](/guides/core-date-operations/get-current/)
|
|
@@ -4,11 +4,16 @@ description: >
|
|
|
4
4
|
Application integration patterns — stable cache keys, router/query params,
|
|
5
5
|
table-sort keys, nanosecond timestamps across JSON and storage boundaries,
|
|
6
6
|
foreign epoch bridges (NTP, FILETIME, .NET ticks, Excel, PostgreSQL), and lint
|
|
7
|
-
package selection (ESLint, Biome, Oxlint). Reads the
|
|
8
|
-
|
|
9
|
-
pointer, not
|
|
7
|
+
package selection (ESLint, Biome, Oxlint). Reads the docs site (llms.txt and
|
|
8
|
+
each page's .md twin) and the installed package's JSDoc for API details, and
|
|
9
|
+
the lint-package READMEs for lint setup; this skill is a routing pointer, not
|
|
10
|
+
an API dump.
|
|
10
11
|
sources:
|
|
11
|
-
- 'northguild/gmt:
|
|
12
|
+
- 'northguild/gmt:apps/dox/src/content/docs/install.mdx'
|
|
13
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/integration/app-integration.mdx'
|
|
14
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/integration/linting.mdx'
|
|
15
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/nanosecond-precision.mdx'
|
|
16
|
+
- 'northguild/gmt:apps/dox/src/content/docs/guides/conversion/foreign-epoch-bridges.mdx'
|
|
12
17
|
- 'northguild/gmt:packages/gmt/src/zoned/validate/index.ts'
|
|
13
18
|
- 'northguild/gmt:packages/gmt/src/precision/convert/index.ts'
|
|
14
19
|
- 'northguild/gmt:packages/gmt/src/precision/format/index.ts'
|
|
@@ -17,7 +22,7 @@ sources:
|
|
|
17
22
|
metadata:
|
|
18
23
|
type: composition
|
|
19
24
|
library: '@northguild/gmt'
|
|
20
|
-
library_version: '1.
|
|
25
|
+
library_version: '1.19.0'
|
|
21
26
|
---
|
|
22
27
|
|
|
23
28
|
# GMT Integration
|
|
@@ -48,8 +53,11 @@ which lint package to install for Date-ban enforcement.
|
|
|
48
53
|
`convertUtcToUnix(value, { epochUnit: "seconds" })` rather than
|
|
49
54
|
dividing/multiplying by hand. An `epochUnit` option must be `"seconds"` or
|
|
50
55
|
`"milliseconds"` (singular accepted): any other value returns the sentinel
|
|
51
|
-
instead of being read as milliseconds. `unix/`
|
|
52
|
-
UTC unless you pass `timeZone` (`"local"` for the system zone)
|
|
56
|
+
instead of being read as milliseconds. `unix/` and `utc/` read zone-dependent
|
|
57
|
+
fields in UTC unless you pass `timeZone` (`"local"` for the system zone); that
|
|
58
|
+
holds for the `utc/` readers and converters too, such as `parseHourFromUtc` and
|
|
59
|
+
`convertUtcToPlainDate`. `convertUtcToZoned` and `convertUnixToZoned` take a
|
|
60
|
+
required zone and do not accept `"local"`. A
|
|
53
61
|
blank epoch string is invalid, not `1970`, and `sortUnix`/`minUnix`/`maxUnix`
|
|
54
62
|
skip values that are not integer epochs in Temporal's range.
|
|
55
63
|
4. **Nanoseconds are `bigint`, never `number`.** A `number` is exact only to
|
|
@@ -75,13 +83,21 @@ which lint package to install for Date-ban enforcement.
|
|
|
75
83
|
unsynchronized" marker. Check for `0n` yourself before trusting it as 1900.
|
|
76
84
|
- .NET ticks name an instant only when `DateTimeKind` is `Utc`. `Local` and
|
|
77
85
|
`Unspecified` ticks count wall-clock time.
|
|
78
|
-
- `toNanoseconds` and `isValidInstant` read the offset and
|
|
79
|
-
zone annotation
|
|
86
|
+
- `toNanoseconds` and `isValidInstant` read the offset and do not validate a
|
|
87
|
+
bracketed zone annotation. One thing is read from it: an offset written to the
|
|
88
|
+
minute that is the zone's sub-minute offset rounded (`-00:45[Africa/Monrovia]`)
|
|
89
|
+
names the instant the zone gives.
|
|
80
90
|
6. **Lint packages are toolchain-specific, not mutually exclusive.** Recommend
|
|
81
91
|
only the one matching the project's existing linter; do not force all three.
|
|
82
|
-
7. **Read the
|
|
83
|
-
guidance, read
|
|
84
|
-
|
|
92
|
+
7. **Read the docs site and the lint README.** This skill is a routing pointer.
|
|
93
|
+
For full integration guidance, read these:
|
|
94
|
+
- `https://gmt-dox.northguild.workers.dev/llms.txt` is the map of every docs page.
|
|
95
|
+
- Each page has a `.md` twin that holds its text, for example
|
|
96
|
+
`https://gmt-dox.northguild.workers.dev/guides/integration/app-integration.md`.
|
|
97
|
+
- The JSDoc ships in the installed package:
|
|
98
|
+
`node_modules/@northguild/gmt/dist/**/*.d.ts`.
|
|
99
|
+
- For lint setup, read the matching `@northguild/gmt-eslint` / `gmt-oxlint` /
|
|
100
|
+
`gmt-biome` README.
|
|
85
101
|
|
|
86
102
|
## Lint package selection
|
|
87
103
|
|
|
@@ -114,6 +130,10 @@ the pattern.
|
|
|
114
130
|
|
|
115
131
|
## References
|
|
116
132
|
|
|
117
|
-
- [
|
|
133
|
+
- [Docs map for agents (llms.txt)](https://gmt-dox.northguild.workers.dev/llms.txt)
|
|
134
|
+
- [Install](https://gmt-dox.northguild.workers.dev/install/)
|
|
135
|
+
- [App integration guide](https://gmt-dox.northguild.workers.dev/guides/integration/app-integration/)
|
|
136
|
+
- [Nanosecond precision guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/nanosecond-precision/)
|
|
137
|
+
- [Foreign epoch bridges guide](https://gmt-dox.northguild.workers.dev/guides/conversion/foreign-epoch-bridges/)
|
|
118
138
|
- [Lint Package Selection guide](/guides/integration/linting/)
|
|
119
139
|
- [Core Rules](/core-rules/)
|