@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
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The UN/EDIFACT data element 2379 (Date or time or period format code) value that states a
|
|
3
|
+
* calendar date. The mask and description are the UNTDID directory's, read from
|
|
4
|
+
* [UNECE's D.21B page as archived](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm).
|
|
5
|
+
*
|
|
6
|
+
* - `102` `CCYYMMDD`: "Calendar date: C = Century ; Y = Year ; M = Month ; D = Day."
|
|
7
|
+
*
|
|
8
|
+
* Taken by `parseEdifactDate`, `formatEdifactDate` and `isValidEdifactDate`.
|
|
9
|
+
*/
|
|
10
|
+
export type EdifactDateFormat = "102";
|
|
11
|
+
/**
|
|
12
|
+
* The UN/EDIFACT data element 2379 values that state a time of day with no date and no offset.
|
|
13
|
+
* Masks and descriptions are the UNTDID directory's, read from
|
|
14
|
+
* [UNECE's D.21B page as archived](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm).
|
|
15
|
+
*
|
|
16
|
+
* - `401` `HHMM`: "Time without seconds: H = Hour; m = Minute."
|
|
17
|
+
* - `402` `HHMMSS`: "Time with seconds: H = Hour; m = Minute; s = Seconds."
|
|
18
|
+
*
|
|
19
|
+
* Taken by `parseEdifactTime`, `formatEdifactTime` and `isValidEdifactTime`.
|
|
20
|
+
*/
|
|
21
|
+
export type EdifactTimeFormat = "401" | "402";
|
|
22
|
+
/**
|
|
23
|
+
* The UN/EDIFACT data element 2379 values that state a date and a time with no offset: a local
|
|
24
|
+
* time at a place the value does not name. Masks and descriptions are the UNTDID directory's,
|
|
25
|
+
* read from
|
|
26
|
+
* [UNECE's D.21B page as archived](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm).
|
|
27
|
+
*
|
|
28
|
+
* - `203` `CCYYMMDDHHMM`: "Calendar date including time with minutes".
|
|
29
|
+
* - `204` `CCYYMMDDHHMMSS`: "Calendar date including time with seconds".
|
|
30
|
+
*
|
|
31
|
+
* Taken by `parseEdifactDateTime`, `formatEdifactDateTime` and `isValidEdifactDateTime`.
|
|
32
|
+
*/
|
|
33
|
+
export type EdifactDateTimeFormat = "203" | "204";
|
|
34
|
+
/**
|
|
35
|
+
* The UN/EDIFACT data element 2379 values that state a date and a time with an offset from UTC.
|
|
36
|
+
* Masks and descriptions are the UNTDID directory's, read from
|
|
37
|
+
* [UNECE's D.21B page as archived](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm).
|
|
38
|
+
*
|
|
39
|
+
* - `205` `CCYYMMDDHHMMZHHMM`: "Calendar date including time and time zone expressed in hours
|
|
40
|
+
* and minutes."
|
|
41
|
+
* - `208` `CCYYMMDDHHMMSSZHHMM`: "Calendar date including time with seconds, with Time Zone",
|
|
42
|
+
* where "Z = leading plus/minus sign, HHMM = difference to UTC in Hours and Minutes". In
|
|
43
|
+
* directories D.12A and later.
|
|
44
|
+
* - `303` `CCYYMMDDHHMMZZZ`: "See 203 plus Z=Time zone."
|
|
45
|
+
* - `304` `CCYYMMDDHHMMSSZZZ`: "See 204 plus Z=Time zone."
|
|
46
|
+
*
|
|
47
|
+
* The three `ZZZ` characters of `303` and `304` are read as an offset only: a signed hour
|
|
48
|
+
* (`+02`, `-05`) or the literals `UTC` and `GMT`. Taken by `parseEdifactOffsetDateTime`,
|
|
49
|
+
* `formatEdifactOffsetDateTime` and `isValidEdifactOffsetDateTime`.
|
|
50
|
+
*/
|
|
51
|
+
export type EdifactOffsetDateTimeFormat = "205" | "208" | "303" | "304";
|
|
52
|
+
/**
|
|
53
|
+
* The UN/EDIFACT data element 2379 value that states a period between two calendar dates. The
|
|
54
|
+
* mask and description are the UNTDID directory's, read from
|
|
55
|
+
* [UNECE's D.21B page as archived](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm).
|
|
56
|
+
*
|
|
57
|
+
* - `718` `CCYYMMDD-CCYYMMDD`: "A period of time specified by giving the start date followed by
|
|
58
|
+
* the end date (both including century). Data is to be transmitted as consecutive characters
|
|
59
|
+
* without hyphen."
|
|
60
|
+
*
|
|
61
|
+
* Taken by `parseEdifactDatePeriod`, `formatEdifactDatePeriod` and `isValidEdifactDatePeriod`.
|
|
62
|
+
*/
|
|
63
|
+
export type EdifactDatePeriodFormat = "718";
|
|
64
|
+
/**
|
|
65
|
+
* The UN/EDIFACT data element 2379 value that states a period between two local date-times.
|
|
66
|
+
* The mask and description are the UNTDID directory's, read from
|
|
67
|
+
* [UNECE's D.21B page as archived](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm).
|
|
68
|
+
*
|
|
69
|
+
* - `719` `CCYYMMDDHHMM-CCYYMMDDHHMM`: "A period of time which includes the century, year,
|
|
70
|
+
* month, day, hour and minute. Format of period to be given in actual message without
|
|
71
|
+
* hyphen."
|
|
72
|
+
*
|
|
73
|
+
* Taken by `parseEdifactDateTimePeriod`, `formatEdifactDateTimePeriod` and
|
|
74
|
+
* `isValidEdifactDateTimePeriod`.
|
|
75
|
+
*/
|
|
76
|
+
export type EdifactDateTimePeriodFormat = "719";
|
|
77
|
+
/**
|
|
78
|
+
* The UN/EDIFACT data element 2379 (Date or time or period format code) values GMT reads and
|
|
79
|
+
* writes: 11 codes, each in the union of the one kind of value it states. Twelve directories
|
|
80
|
+
* were read: UNECE's own
|
|
81
|
+
* [D.21B](http://web.archive.org/web/20240303123657/https://service.unece.org/trade/untdid/d21b/tred/tred2379.htm)
|
|
82
|
+
* and
|
|
83
|
+
* [D.22B](http://web.archive.org/web/20260311101223/https://service.unece.org/trade/untdid/d22b/tred/tred2379.htm)
|
|
84
|
+
* pages, archived, and mirrors of D.93A, D.96A, D.01B, D.01C, D.03A, D.03B, D.04B, D.11B, D.12A
|
|
85
|
+
* and D.13B. No mask of a code GMT reads changed across them.
|
|
86
|
+
*
|
|
87
|
+
* Every other 2379 code returns the sentinel from every function. Among them:
|
|
88
|
+
*
|
|
89
|
+
* - The codes with a two-digit year, `101`, `201`, `202`, `206`, `207`, `301`, `302`, `713` and
|
|
90
|
+
* `717`: no standard says which century `YY` belongs to. Read one with `parseDateWithPattern`
|
|
91
|
+
* or `parseDateTimeWithPattern`, a `yy` pattern and its `yearWindow` option.
|
|
92
|
+
* - `209` and `404` (a time with an offset and no date) and `406` (an offset alone): none names
|
|
93
|
+
* a date, a time, a date-time or an instant.
|
|
94
|
+
* - The day-first and month-first forms `2`–`5`, `10` (`CCYYMMDDTHHMM`), the week date `103`,
|
|
95
|
+
* the ordinal date `105`, the time period `210`, `307` (milliseconds), the zoned period `308`,
|
|
96
|
+
* the time spans `501`–`503`, `711`, the partial values (a century, a year, a month, a week or
|
|
97
|
+
* a day of month alone), the weekday period `720` and the quantities (`801` and up).
|
|
98
|
+
*
|
|
99
|
+
* Narrow a candidate with `isValidEdifactDtmFormat`, and name its kind with
|
|
100
|
+
* `classifyEdifactDtmFormat`.
|
|
101
|
+
*/
|
|
102
|
+
export type EdifactDtmFormat = EdifactDateFormat | EdifactTimeFormat | EdifactDateTimeFormat | EdifactOffsetDateTimeFormat | EdifactDatePeriodFormat | EdifactDateTimePeriodFormat;
|
|
103
|
+
/**
|
|
104
|
+
* A UN/EDIFACT data element 2379 format code with the kind of value it states: the result of
|
|
105
|
+
* `classifyEdifactDtmFormat`.
|
|
106
|
+
*
|
|
107
|
+
* The two members are tied together: testing `kind` narrows `format` to that kind's own union,
|
|
108
|
+
* so a code that arrived as a plain string can be passed to the kind's parser, formatter and
|
|
109
|
+
* validator with no cast.
|
|
110
|
+
*/
|
|
111
|
+
export type EdifactDtmFormatClass = {
|
|
112
|
+
/** The kind of value the code states: a calendar date, read by `parseEdifactDate`. */
|
|
113
|
+
kind: "date";
|
|
114
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
115
|
+
format: EdifactDateFormat;
|
|
116
|
+
} | {
|
|
117
|
+
/** The kind of value the code states: a time of day, read by `parseEdifactTime`. */
|
|
118
|
+
kind: "time";
|
|
119
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
120
|
+
format: EdifactTimeFormat;
|
|
121
|
+
} | {
|
|
122
|
+
/** The kind of value the code states: a local date and time, read by `parseEdifactDateTime`. */
|
|
123
|
+
kind: "dateTime";
|
|
124
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
125
|
+
format: EdifactDateTimeFormat;
|
|
126
|
+
} | {
|
|
127
|
+
/** The kind of value the code states: a date and time with an offset from UTC, read by `parseEdifactOffsetDateTime`. */
|
|
128
|
+
kind: "offsetDateTime";
|
|
129
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
130
|
+
format: EdifactOffsetDateTimeFormat;
|
|
131
|
+
} | {
|
|
132
|
+
/** The kind of value the code states: a period between two dates, read by `parseEdifactDatePeriod`. */
|
|
133
|
+
kind: "datePeriod";
|
|
134
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
135
|
+
format: EdifactDatePeriodFormat;
|
|
136
|
+
} | {
|
|
137
|
+
/** The kind of value the code states: a period between two local date-times, read by `parseEdifactDateTimePeriod`. */
|
|
138
|
+
kind: "dateTimePeriod";
|
|
139
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
140
|
+
format: EdifactDateTimePeriodFormat;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* The X12 data element 1250 (Date Time Period Format Qualifier) values that state a calendar
|
|
144
|
+
* date. Release 005010, read from
|
|
145
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/1250); the X12
|
|
146
|
+
* text itself was not reached.
|
|
147
|
+
*
|
|
148
|
+
* - `D8` `CCYYMMDD`: "Date Expressed in Format CCYYMMDD".
|
|
149
|
+
* - `DB` `MMDDCCYY`: "Date Expressed in Format MMDDCCYY".
|
|
150
|
+
*
|
|
151
|
+
* Taken by `parseX12Date`, `formatX12Date` and `isValidX12Date`.
|
|
152
|
+
*/
|
|
153
|
+
export type X12DateFormat = "D8" | "DB";
|
|
154
|
+
/**
|
|
155
|
+
* The X12 data element 1250 values that state a time of day. Release 005010, read from
|
|
156
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/1250); the X12
|
|
157
|
+
* text itself was not reached.
|
|
158
|
+
*
|
|
159
|
+
* - `TM` `HHMM`: "Time Expressed in Format HHMM".
|
|
160
|
+
* - `TS` `HHMMSS`: "Time Expressed in Format HHMMSS".
|
|
161
|
+
*
|
|
162
|
+
* Taken by `formatX12Time`, and by `parseX12Time` and `isValidX12Time` as their optional
|
|
163
|
+
* qualifier. Both are also forms of data element 337 (Time), which `parseX12Time` reads when no
|
|
164
|
+
* qualifier is given and `formatX12TimeElement` writes by the element's own mask
|
|
165
|
+
* (`X12TimeElementForm`). `TS` is a code of data element 623 too (`X12TimeCode`), where it means
|
|
166
|
+
* Atlantic Standard Time.
|
|
167
|
+
*/
|
|
168
|
+
export type X12TimeFormat = "TM" | "TS";
|
|
169
|
+
/**
|
|
170
|
+
* The four forms of X12 data element 337 (Time), each named by the element's own mask. Release
|
|
171
|
+
* 005010, read from
|
|
172
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/337); the X12
|
|
173
|
+
* text itself was not reached. The dictionary's definition: "Time expressed in 24-hour clock
|
|
174
|
+
* time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23),
|
|
175
|
+
* M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are
|
|
176
|
+
* expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)".
|
|
177
|
+
*
|
|
178
|
+
* - `HHMM`: hours and minutes, 4 digits.
|
|
179
|
+
* - `HHMMSS`: hours, minutes and seconds, 6 digits.
|
|
180
|
+
* - `HHMMSSD`: with tenths of a second, 7 digits.
|
|
181
|
+
* - `HHMMSSDD`: with hundredths of a second, 8 digits.
|
|
182
|
+
*
|
|
183
|
+
* These are the element's own masks, not data element 1250 codes. Element 337 has no format
|
|
184
|
+
* qualifier, so no code names its form: the caller names it by the mask. `TM` and `TS`
|
|
185
|
+
* (`X12TimeFormat`) are the 1250 codes for the first two masks, and no 1250 code holds decimal
|
|
186
|
+
* seconds.
|
|
187
|
+
*
|
|
188
|
+
* Taken by `formatX12TimeElement`. `parseX12Time` reads all four forms when it is given no
|
|
189
|
+
* qualifier.
|
|
190
|
+
*/
|
|
191
|
+
export type X12TimeElementForm = "HHMM" | "HHMMSS" | "HHMMSSD" | "HHMMSSDD";
|
|
192
|
+
/**
|
|
193
|
+
* The X12 data element 1250 values that state a date and a time with no offset: a local time at
|
|
194
|
+
* a place the value does not name. Release 005010, read from
|
|
195
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/1250); the X12
|
|
196
|
+
* text itself was not reached.
|
|
197
|
+
*
|
|
198
|
+
* - `DT` `CCYYMMDDHHMM`: "Date and Time Expressed in Format CCYYMMDDHHMM".
|
|
199
|
+
* - `RTS` `CCYYMMDDHHMMSS`: "Date and Time Expressed in Format CCYYMMDDHHMMSS". One date-time,
|
|
200
|
+
* despite the `R`.
|
|
201
|
+
*
|
|
202
|
+
* Taken by `parseX12DateTime`, `formatX12DateTime` and `isValidX12DateTime`.
|
|
203
|
+
*/
|
|
204
|
+
export type X12DateTimeFormat = "DT" | "RTS";
|
|
205
|
+
/**
|
|
206
|
+
* The X12 data element 1250 values that state a range between two calendar dates, transmitted
|
|
207
|
+
* with its hyphen. Release 005010, read from
|
|
208
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/1250); the X12
|
|
209
|
+
* text itself was not reached.
|
|
210
|
+
*
|
|
211
|
+
* - `RD8` `CCYYMMDD-CCYYMMDD`: "Range of Dates Expressed in Format CCYYMMDD-CCYYMMDD".
|
|
212
|
+
* - `RD` `MMDDCCYY-MMDDCCYY`: "Range of Dates Expressed in Format MMDDCCYY-MMDDCCYY".
|
|
213
|
+
*
|
|
214
|
+
* Taken by `parseX12DateRange`, `formatX12DateRange` and `isValidX12DateRange`.
|
|
215
|
+
*/
|
|
216
|
+
export type X12DateRangeFormat = "RD8" | "RD";
|
|
217
|
+
/**
|
|
218
|
+
* The X12 data element 1250 values that state a range between two local date-times,
|
|
219
|
+
* transmitted with its hyphen. Release 005010, read from
|
|
220
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/1250); the X12
|
|
221
|
+
* text itself was not reached.
|
|
222
|
+
*
|
|
223
|
+
* - `RDT` `CCYYMMDDHHMM-CCYYMMDDHHMM`: "Range of Date and Time, Expressed in Format
|
|
224
|
+
* CCYYMMDDHHMM-CCYYMMDDHHMM".
|
|
225
|
+
* - `DTS` `CCYYMMDDHHMMSS-CCYYMMDDHHMMSS`: "Range of Date and Time Expressed in Format
|
|
226
|
+
* CCYYMMDDHHMMSS-CCYYMMDDHHMMSS". A range, despite having no `R`.
|
|
227
|
+
*
|
|
228
|
+
* Taken by `parseX12DateTimeRange`, `formatX12DateTimeRange` and `isValidX12DateTimeRange`.
|
|
229
|
+
*/
|
|
230
|
+
export type X12DateTimeRangeFormat = "RDT" | "DTS";
|
|
231
|
+
/**
|
|
232
|
+
* The X12 data element 1250 (Date Time Period Format Qualifier) values GMT reads and writes: 10
|
|
233
|
+
* codes, each in the union of the one kind of value it states. Release 005010, read from
|
|
234
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-005010/element/1250); the X12
|
|
235
|
+
* text itself was not reached. The 42-code list is the same in release 008010.
|
|
236
|
+
*
|
|
237
|
+
* The other 32 codes of the element return the sentinel from every function. Among them:
|
|
238
|
+
*
|
|
239
|
+
* - The codes with a two-digit year, `D6`, `TT`, `TR`, `RD6` and `TU`: X12 does not say which
|
|
240
|
+
* century `YY` belongs to. Read one with `parseDateWithPattern` or `parseDateTimeWithPattern`,
|
|
241
|
+
* a `yy` pattern and its `yearWindow` option.
|
|
242
|
+
* - `TC` and `EH` (a day of the year with no whole year), `DDT` and `DTD` (a range with a date
|
|
243
|
+
* on one side and a date-time on the other), `RTM` (a range of times with no date) and `UN`
|
|
244
|
+
* (Unstructured).
|
|
245
|
+
* - `CC`, `CD`, `CM`, `CQ`, `CY`, `DA`, `DD`, `KA`, `MCY`, `MD`, `MM`, `RD2`, `RD4`, `RD5`,
|
|
246
|
+
* `RDM`, `RMD`, `RMY`, `TQ`, `YM`, `YMM` and `YY`.
|
|
247
|
+
*
|
|
248
|
+
* Narrow a candidate with `isValidX12DateTimePeriodFormat`, and name its kind with
|
|
249
|
+
* `classifyX12DateTimePeriodFormat`.
|
|
250
|
+
*/
|
|
251
|
+
export type X12DateTimePeriodFormat = X12DateFormat | X12TimeFormat | X12DateTimeFormat | X12DateRangeFormat | X12DateTimeRangeFormat;
|
|
252
|
+
/**
|
|
253
|
+
* An X12 data element 1250 format qualifier with the kind of value it states: the result of
|
|
254
|
+
* `classifyX12DateTimePeriodFormat`.
|
|
255
|
+
*
|
|
256
|
+
* The two members are tied together: testing `kind` narrows `format` to that kind's own union,
|
|
257
|
+
* so a code that arrived as a plain string can be passed to the kind's parser, formatter and
|
|
258
|
+
* validator with no cast.
|
|
259
|
+
*/
|
|
260
|
+
export type X12DateTimePeriodFormatClass = {
|
|
261
|
+
/** The kind of value the code states: a calendar date, read by `parseX12Date`. */
|
|
262
|
+
kind: "date";
|
|
263
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
264
|
+
format: X12DateFormat;
|
|
265
|
+
} | {
|
|
266
|
+
/** The kind of value the code states: a time of day, read by `parseX12Time(value, format)`. */
|
|
267
|
+
kind: "time";
|
|
268
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
269
|
+
format: X12TimeFormat;
|
|
270
|
+
} | {
|
|
271
|
+
/** The kind of value the code states: a local date and time, read by `parseX12DateTime`. */
|
|
272
|
+
kind: "dateTime";
|
|
273
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
274
|
+
format: X12DateTimeFormat;
|
|
275
|
+
} | {
|
|
276
|
+
/** The kind of value the code states: a range between two dates, read by `parseX12DateRange`. */
|
|
277
|
+
kind: "dateRange";
|
|
278
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
279
|
+
format: X12DateRangeFormat;
|
|
280
|
+
} | {
|
|
281
|
+
/** The kind of value the code states: a range between two local date-times, read by `parseX12DateTimeRange`. */
|
|
282
|
+
kind: "dateTimeRange";
|
|
283
|
+
/** The code itself, narrowed to the codes of that kind, so it fits the kind's functions. */
|
|
284
|
+
format: X12DateTimeRangeFormat;
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* The 56 X12 data element 623 (Time Code) values, release 008010, read from
|
|
288
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-008010/element/623); the X12
|
|
289
|
+
* text itself was not reached.
|
|
290
|
+
*
|
|
291
|
+
* [Release 005010](https://www.stedi.com/edi/x12-005010/element/623) has 51 of them: `25`–`29`
|
|
292
|
+
* were added in release 006010 and are not valid in an 004010 or 005010 interchange. The type
|
|
293
|
+
* names no release, so it is the superset.
|
|
294
|
+
*
|
|
295
|
+
* - `01`–`12`: UTC+1 through UTC+12 ("Equivalent to ISO P01" … `P12`).
|
|
296
|
+
* - `13`–`24`: UTC−12 through UTC−1, in **descending** order (`M12` … `M01`): `13` is UTC−12 and
|
|
297
|
+
* `24` is UTC−1.
|
|
298
|
+
* - `25`–`29`: the half-hour offsets `M2:30`, `M3:30`, `P5:30`, `P9:30`, `P10:30`.
|
|
299
|
+
* - `UT` ("Universal Time Coordinate") and `GM` ("Greenwich Mean Time"): UTC.
|
|
300
|
+
* - `AD`/`AS`/`AT` Alaska, `CD`/`CS`/`CT` Central, `ED`/`ES`/`ET` Eastern, `HD`/`HS`/`HT`
|
|
301
|
+
* Hawaii-Aleutian, `MD`/`MS`/`MT` Mountain, `ND`/`NS`/`NT` Newfoundland, `PD`/`PS`/`PT`
|
|
302
|
+
* Pacific, `TD`/`TS`/`TT` Atlantic: a named zone, daylight (`D`), standard (`S`) or unstated
|
|
303
|
+
* (`T`). X12 states no offset for these.
|
|
304
|
+
* - `LT`: local time of the event, whose place is elsewhere in the message.
|
|
305
|
+
*
|
|
306
|
+
* `TS`, `TT`, `CD` and `MD` are also codes of data element 1250, where they mean something
|
|
307
|
+
* unrelated: `TS` there is the format `HHMMSS` (`X12TimeFormat`). Narrow a candidate with
|
|
308
|
+
* `isValidX12TimeCode`; `X12OffsetTimeCode` and `X12ZoneTimeCode` split the list in two, and
|
|
309
|
+
* `classifyX12TimeCode` says which of the two a code belongs to.
|
|
310
|
+
*/
|
|
311
|
+
export type X12TimeCode = "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | "09" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "AD" | "AS" | "AT" | "CD" | "CS" | "CT" | "ED" | "ES" | "ET" | "GM" | "HD" | "HS" | "HT" | "LT" | "MD" | "MS" | "MT" | "ND" | "NS" | "NT" | "PD" | "PS" | "PT" | "TD" | "TS" | "TT" | "UT";
|
|
312
|
+
/**
|
|
313
|
+
* The 31 X12 data element 623 time codes that state an offset from UTC, the codes
|
|
314
|
+
* `x12TimeCodeOffset` reads. Release 008010, read from
|
|
315
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-008010/element/623); the X12
|
|
316
|
+
* text itself was not reached.
|
|
317
|
+
*
|
|
318
|
+
* - `01`–`12`: UTC+1 through UTC+12 ("Equivalent to ISO P01" … `P12`).
|
|
319
|
+
* - `13`–`24`: UTC−12 through UTC−1, in **descending** order (`M12` … `M01`): `13` is UTC−12 and
|
|
320
|
+
* `24` is UTC−1.
|
|
321
|
+
* - `25`–`29`: the half-hour offsets `M2:30`, `M3:30`, `P5:30`, `P9:30`, `P10:30`. Added in
|
|
322
|
+
* release 006010.
|
|
323
|
+
* - `UT` ("Universal Time Coordinate") and `GM` ("Greenwich Mean Time"): UTC.
|
|
324
|
+
*/
|
|
325
|
+
export type X12OffsetTimeCode = "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | "09" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "GM" | "UT";
|
|
326
|
+
/**
|
|
327
|
+
* The 25 X12 data element 623 time codes that name a zone and state no offset, the codes
|
|
328
|
+
* `x12TimeCodeZone` reads. Release 008010, read from
|
|
329
|
+
* [Stedi's X12-licensed dictionary](https://www.stedi.com/edi/x12-008010/element/623); the X12
|
|
330
|
+
* text itself was not reached.
|
|
331
|
+
*
|
|
332
|
+
* - `AD`/`AS`/`AT` Alaska, `CD`/`CS`/`CT` Central, `ED`/`ES`/`ET` Eastern, `HD`/`HS`/`HT`
|
|
333
|
+
* Hawaii-Aleutian, `MD`/`MS`/`MT` Mountain, `ND`/`NS`/`NT` Newfoundland, `PD`/`PS`/`PT`
|
|
334
|
+
* Pacific, `TD`/`TS`/`TT` Atlantic: daylight (`D`), standard (`S`) or unstated (`T`).
|
|
335
|
+
* - `LT`: local time of the event, whose place is elsewhere in the message.
|
|
336
|
+
*/
|
|
337
|
+
export type X12ZoneTimeCode = "AD" | "AS" | "AT" | "CD" | "CS" | "CT" | "ED" | "ES" | "ET" | "HD" | "HS" | "HT" | "LT" | "MD" | "MS" | "MT" | "ND" | "NS" | "NT" | "PD" | "PS" | "PT" | "TD" | "TS" | "TT";
|
|
338
|
+
/**
|
|
339
|
+
* The zone an X12 data element 623 time code names: the result of `x12TimeCodeZone`. X12 states
|
|
340
|
+
* no offset for a named code, so the result carries none.
|
|
341
|
+
*/
|
|
342
|
+
export interface X12NamedZone {
|
|
343
|
+
/**
|
|
344
|
+
* X12's own name for the zone, as its definition writes it: `Alaska`, `Central`, `Eastern`,
|
|
345
|
+
* `Hawaii-Aleutian`, `Mountain`, `Newfoundland`, `Pacific` or `Atlantic`, and `Local` for `LT`.
|
|
346
|
+
* It is a name, not an IANA identifier and not an offset: the caller maps it to a zone.
|
|
347
|
+
*/
|
|
348
|
+
zone: string;
|
|
349
|
+
/**
|
|
350
|
+
* Whether the code says daylight time. `true` for a `D` code (`ED`), `false` for an `S` code
|
|
351
|
+
* (`ES`), and `null` for a code that says neither (`ET`, `LT`), where the date decides.
|
|
352
|
+
*/
|
|
353
|
+
daylight: boolean | null;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* An X12 data element 623 time code with what it states: the result of `classifyX12TimeCode`.
|
|
357
|
+
*
|
|
358
|
+
* The two members are tied together: testing `kind` narrows `timeCode` to the codes of one
|
|
359
|
+
* reader, so a code that arrived as a plain string can be passed to `x12TimeCodeOffset` or
|
|
360
|
+
* `x12TimeCodeZone` with no cast.
|
|
361
|
+
*/
|
|
362
|
+
export type X12TimeCodeClass = {
|
|
363
|
+
/** The code states an offset from UTC: read it with `x12TimeCodeOffset`. */
|
|
364
|
+
kind: "offset";
|
|
365
|
+
/** The code itself, narrowed to the 31 codes that state an offset. */
|
|
366
|
+
timeCode: X12OffsetTimeCode;
|
|
367
|
+
} | {
|
|
368
|
+
/** The code names a zone and states no offset: read it with `x12TimeCodeZone`. */
|
|
369
|
+
kind: "zone";
|
|
370
|
+
/** The code itself, narrowed to the 25 codes that name a zone. */
|
|
371
|
+
timeCode: X12ZoneTimeCode;
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* A period between two calendar dates, as a UN/EDIFACT period (`718`) or an X12 range (`RD8`,
|
|
375
|
+
* `RD`) states it: the result of `parseEdifactDatePeriod` and `parseX12DateRange`.
|
|
376
|
+
*
|
|
377
|
+
* Neither standard says whether the end date is inside the period: that is the message's to
|
|
378
|
+
* define, so the two dates are returned as transmitted. The pair can be passed to the plain
|
|
379
|
+
* interval functions as `(start, end)`, for example
|
|
380
|
+
* `intervalLengthDate(period.start, period.end, "days")`; those functions leave `end` outside
|
|
381
|
+
* the interval.
|
|
382
|
+
*/
|
|
383
|
+
export interface EdiDatePeriod {
|
|
384
|
+
/** The date the period starts on, `YYYY-MM-DD`. */
|
|
385
|
+
start: string;
|
|
386
|
+
/** The date the period ends on, `YYYY-MM-DD`. It is never before `start`, and may equal it. */
|
|
387
|
+
end: string;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* A period between two local date-times, as a UN/EDIFACT period (`719`) or an X12 range (`RDT`,
|
|
391
|
+
* `DTS`) states it: the result of `parseEdifactDateTimePeriod` and `parseX12DateTimeRange`.
|
|
392
|
+
*
|
|
393
|
+
* Both ends are wall clocks at a place the value does not name: no code that states a period
|
|
394
|
+
* carries an offset, so neither end is an instant. Neither standard says whether the end is
|
|
395
|
+
* inside the period. The pair can be passed to the plain interval functions as `(start, end)`,
|
|
396
|
+
* for example `intervalLengthDateTime(period.start, period.end, "hours")`; those functions leave
|
|
397
|
+
* `end` outside the interval.
|
|
398
|
+
*/
|
|
399
|
+
export interface EdiDateTimePeriod {
|
|
400
|
+
/** The local date-time the period starts at, `YYYY-MM-DDTHH:MM:SS`. Seconds are always written. */
|
|
401
|
+
start: string;
|
|
402
|
+
/**
|
|
403
|
+
* The local date-time the period ends at, `YYYY-MM-DDTHH:MM:SS`. Seconds are always written. It
|
|
404
|
+
* is never before `start`, and may equal it.
|
|
405
|
+
*/
|
|
406
|
+
end: string;
|
|
407
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two time fields every GS1 EPCIS 2.0 (ISO/IEC 19987) event must carry.
|
|
3
|
+
*
|
|
4
|
+
* The EPCIS JSON schema lists both under `required`. `eventTime` says when the event happened;
|
|
5
|
+
* `eventTimeZoneOffset` says what the local clock was offset by where it happened. Neither
|
|
6
|
+
* derives from the other, so a system that keeps only `eventTime` cannot show the event in local
|
|
7
|
+
* time again. Read a pair with `parseEpcisEvent`, write one with `formatEpcisEvent` and check one
|
|
8
|
+
* with `isValidEpcisEvent`.
|
|
9
|
+
*/
|
|
10
|
+
export interface EpcisEventTime {
|
|
11
|
+
/**
|
|
12
|
+
* When the event happened, in the `DateTimeStamp` grammar of the EPCIS XSD, the XML binding
|
|
13
|
+
* (`epcisEventTime`): `YYYY-MM-DDTHH:MM:SS`, an optional fraction, then `Z` or a `±HH:MM`
|
|
14
|
+
* offset. It fixes the instant and nothing else: an offset written here is not the event's
|
|
15
|
+
* local offset, and it does not have to equal `eventTimeZoneOffset` (EPCIS 2.0 §7.4.1.1).
|
|
16
|
+
*/
|
|
17
|
+
eventTime: string;
|
|
18
|
+
/**
|
|
19
|
+
* The UTC offset in force where the event happened, in the pattern the EPCIS JSON schema gives
|
|
20
|
+
* (`epcisTimeZoneOffset`), which is the rule of EPCIS 2.0 §7.4.1: `±HH:MM` from `-14:00` to
|
|
21
|
+
* `+14:00`, never `Z`. It sets the local clock the event is shown on and does not move the
|
|
22
|
+
* instant. It cannot be worked out from `eventTime`.
|
|
23
|
+
*/
|
|
24
|
+
eventTimeZoneOffset: string;
|
|
25
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
/**
|
|
3
|
+
* The plural name of a duration field that has an exact length: `"days"`, or a time field from
|
|
4
|
+
* `"hours"` down to `"nanoseconds"`. A day is 24 hours when nothing anchors it, as
|
|
5
|
+
* TC39 Temporal's `Duration.prototype.total` reads one without `relativeTo`. Years, months and
|
|
6
|
+
* weeks are left out: Temporal gives them no length without a date to measure from.
|
|
7
|
+
*/
|
|
8
|
+
export type ExactDurationUnit = keyof Pick<Temporal.DurationLike, "days" | "hours" | "minutes" | "seconds" | "milliseconds" | "microseconds" | "nanoseconds">;
|
|
File without changes
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
export type FiscalPattern = "4-5-4" | "4-4-5" | "5-4-4";
|
|
12
12
|
/** Caller-supplied 52/53-week fiscal calendar. GMT bundles none. */
|
|
13
13
|
export interface FiscalCalendar {
|
|
14
|
-
/**
|
|
14
|
+
/** The weeks per period within each quarter. */
|
|
15
15
|
pattern: FiscalPattern;
|
|
16
16
|
/**
|
|
17
17
|
* The year-end rule, stated as one ISO date: fiscal years end on this date's **weekday**,
|
|
@@ -1 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many fractional-second digits an ISO string is written with, as Temporal's
|
|
3
|
+
* `fractionalSecondDigits` option of `toString()`. `0` to `9` writes exactly that many digits,
|
|
4
|
+
* and `"auto"` writes as many as the value needs, with no trailing zeros.
|
|
5
|
+
*/
|
|
1
6
|
export type FractionalDigit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "auto";
|
|
@@ -14,21 +14,32 @@ export type FreeTimeFirstDay = "eventDay" | "nextDay";
|
|
|
14
14
|
/**
|
|
15
15
|
* The tariff terms a free-time count needs. Free time is set by carrier, lane, trade and service
|
|
16
16
|
* contract, never by port, so every term is a parameter and no counting term has a default.
|
|
17
|
-
*
|
|
18
|
-
* - `basis`: `"calendar"` counts every local day, so a weekend burns two free days while the
|
|
19
|
-
* terminal is shut; `"working"` counts only the days `calendar` marks as working, and the
|
|
20
|
-
* clock does not run on weekends or holidays.
|
|
21
|
-
* - `timeZone`: the IANA identifier of the terminal, depot or yard whose local midnight ends a
|
|
22
|
-
* day. GMT does not resolve a port or terminal code to a zone. A fixed offset such as
|
|
23
|
-
* `"+02:00"` is accepted, as `isValidTimeZone` accepts it, but observes no DST.
|
|
24
|
-
* - `firstDay`: `"eventDay"` or `"nextDay"`, see `FreeTimeFirstDay`.
|
|
25
|
-
* - `calendar`: the terminal's `BusinessCalendar`, required when `basis` is `"working"` and not
|
|
26
|
-
* read when it is `"calendar"`. Its `timeZone` field is not read either, as the business-day
|
|
27
|
-
* functions never read it: `timeZone` above is the counting zone.
|
|
28
17
|
*/
|
|
29
18
|
export type FreeTimeOptions = {
|
|
19
|
+
/**
|
|
20
|
+
* Which days use up free time. `"calendar"` counts every local day, so a weekend burns two free
|
|
21
|
+
* days while the terminal is shut; `"working"` counts only the days `calendar` marks as
|
|
22
|
+
* working, and the clock does not run on weekends or holidays.
|
|
23
|
+
*/
|
|
30
24
|
basis: FreeTimeBasis;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone of the terminal, depot or yard whose local midnight ends a day, an IANA name or
|
|
27
|
+
* UTC offset: a time zone identifier (`+05:30`, `+0530`, `-08`) or a stored offset
|
|
28
|
+
* (`±HH:MM[:SS]`, what `getTimeZoneOffset` returns). GMT does not resolve a port or terminal code
|
|
29
|
+
* to a zone. A UTC offset such as `"+02:00"` observes no DST.
|
|
30
|
+
*/
|
|
31
31
|
timeZone: string;
|
|
32
|
+
/**
|
|
33
|
+
* Where free time starts. `"eventDay"` makes the day of the event that starts the clock free
|
|
34
|
+
* day one; `"nextDay"` starts free time on the following counted day.
|
|
35
|
+
*/
|
|
32
36
|
firstDay: FreeTimeFirstDay;
|
|
37
|
+
/**
|
|
38
|
+
* The terminal's working week and holidays. It is required when a counting basis is
|
|
39
|
+
* `"working"` and not read otherwise. Its own `timeZone` is not used: `timeZone` above is the
|
|
40
|
+
* counting zone.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue None. A `"working"` basis without it is invalid input.
|
|
43
|
+
*/
|
|
33
44
|
calendar?: BusinessCalendar;
|
|
34
45
|
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,13 +11,17 @@ export * from "./datetime-format-options.js";
|
|
|
11
11
|
export * from "./disambiguation.js";
|
|
12
12
|
export * from "./duration-relative-to.js";
|
|
13
13
|
export * from "./duration-string-options.js";
|
|
14
|
-
export * from "./
|
|
14
|
+
export * from "./duty.js";
|
|
15
|
+
export * from "./edi.js";
|
|
16
|
+
export * from "./epcis.js";
|
|
17
|
+
export * from "./exact-duration-unit.js";
|
|
15
18
|
export * from "./fiscal-calendar.js";
|
|
16
19
|
export * from "./fractional-digit.js";
|
|
17
20
|
export * from "./free-time-options.js";
|
|
18
21
|
export * from "./interval.js";
|
|
19
22
|
export * from "./now-unit.js";
|
|
20
23
|
export * from "./offset.js";
|
|
24
|
+
export * from "./operating-schedule.js";
|
|
21
25
|
export * from "./overflow.js";
|
|
22
26
|
export * from "./relative-date-time-unit.js";
|
|
23
27
|
export * from "./relative-date-unit.js";
|
|
@@ -30,6 +34,8 @@ export * from "./rounding-options.js";
|
|
|
30
34
|
export * from "./time-cycle-field.js";
|
|
31
35
|
export * from "./time-duration-unit.js";
|
|
32
36
|
export * from "./time-unit.js";
|
|
37
|
+
export * from "./transport-timestamps.js";
|
|
38
|
+
export * from "./two-digit-year.js";
|
|
33
39
|
export * from "./unix-now-unit.js";
|
|
34
40
|
export * from "./utc-now-unit.js";
|
|
35
41
|
export * from "./zone-bucket-unit.js";
|
package/dist/types/index.js
CHANGED
|
@@ -11,13 +11,17 @@ export * from "./datetime-format-options.js";
|
|
|
11
11
|
export * from "./disambiguation.js";
|
|
12
12
|
export * from "./duration-relative-to.js";
|
|
13
13
|
export * from "./duration-string-options.js";
|
|
14
|
-
export * from "./
|
|
14
|
+
export * from "./duty.js";
|
|
15
|
+
export * from "./edi.js";
|
|
16
|
+
export * from "./epcis.js";
|
|
17
|
+
export * from "./exact-duration-unit.js";
|
|
15
18
|
export * from "./fiscal-calendar.js";
|
|
16
19
|
export * from "./fractional-digit.js";
|
|
17
20
|
export * from "./free-time-options.js";
|
|
18
21
|
export * from "./interval.js";
|
|
19
22
|
export * from "./now-unit.js";
|
|
20
23
|
export * from "./offset.js";
|
|
24
|
+
export * from "./operating-schedule.js";
|
|
21
25
|
export * from "./overflow.js";
|
|
22
26
|
export * from "./relative-date-time-unit.js";
|
|
23
27
|
export * from "./relative-date-unit.js";
|
|
@@ -30,6 +34,8 @@ export * from "./rounding-options.js";
|
|
|
30
34
|
export * from "./time-cycle-field.js";
|
|
31
35
|
export * from "./time-duration-unit.js";
|
|
32
36
|
export * from "./time-unit.js";
|
|
37
|
+
export * from "./transport-timestamps.js";
|
|
38
|
+
export * from "./two-digit-year.js";
|
|
33
39
|
export * from "./unix-now-unit.js";
|
|
34
40
|
export * from "./utc-now-unit.js";
|
|
35
41
|
export * from "./zone-bucket-unit.js";
|
package/dist/types/interval.d.ts
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* RFC 5545 `DTEND` is non-inclusive). Intervals that touch share no instant.
|
|
6
6
|
* - Both endpoints are instants: an offset (`Z`, `±HH:MM`) is required, a bracketed IANA zone is
|
|
7
7
|
* optional, and the two may name different zones. Leap seconds are rejected; a `[u-ca=...]`
|
|
8
|
-
* annotation is ignored, as `Temporal.Instant.from` ignores it.
|
|
8
|
+
* annotation is ignored, as `Temporal.Instant.from` ignores it. The offset fixes the instant;
|
|
9
|
+
* an offset written to the minute that is the bracketed zone's sub-minute offset rounded
|
|
10
|
+
* (`-00:45[Africa/Monrovia]`, for −00:44:30) names the instant the zone gives.
|
|
9
11
|
* - `start === end` (as instants) is a valid, empty interval: it has a position but contains no
|
|
10
12
|
* instant. `start` after `end` is invalid.
|
|
11
13
|
*
|
|
@@ -13,6 +15,11 @@
|
|
|
13
15
|
* `plain|utc|zoned|unix/interval` functions take positional strings and a different model.
|
|
14
16
|
*/
|
|
15
17
|
export type Interval = {
|
|
18
|
+
/** The first instant inside the interval, as an ISO 8601 instant string with an offset. */
|
|
16
19
|
start: string;
|
|
20
|
+
/**
|
|
21
|
+
* The first instant after the interval, as an ISO 8601 instant string with an offset; it is
|
|
22
|
+
* not itself inside. It may equal `start`, which makes the interval empty, but not precede it.
|
|
23
|
+
*/
|
|
17
24
|
end: string;
|
|
18
25
|
};
|
package/dist/types/offset.d.ts
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
/**
|
|
3
|
+
* What to do when the UTC offset written in a zoned value disagrees with its time zone, as
|
|
4
|
+
* Temporal's `offset` option (`Temporal.ZonedDateTime.prototype.with(item, { offset })`). It is
|
|
5
|
+
* used alongside `Disambiguation`.
|
|
6
|
+
*
|
|
7
|
+
* `"use"` keeps the instant the offset names, `"ignore"` keeps the wall time and takes the offset
|
|
8
|
+
* from the zone, `"prefer"` keeps the offset when it is valid for the zone and otherwise takes
|
|
9
|
+
* the zone's, and `"reject"` refuses the mismatch.
|
|
10
|
+
*/
|
|
2
11
|
export type Offset = Temporal.ZonedDateTimeAssignmentOptions["offset"];
|