@northguild/gmt 1.18.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -2920
- package/dist/calendar/business/businessDaysBetween.d.ts +2 -2
- package/dist/calendar/business/businessDaysBetween.js +11 -35
- package/dist/calendar/business/mergeCalendars.d.ts +1 -1
- package/dist/calendar/business/mergeCalendars.js +8 -9
- package/dist/calendar/business/nextBusinessDay.d.ts +2 -2
- package/dist/calendar/business/nextBusinessDay.js +2 -2
- package/dist/calendar/business/previousBusinessDay.d.ts +2 -2
- package/dist/calendar/business/previousBusinessDay.js +2 -2
- package/dist/calendar/business/rollDate.d.ts +3 -3
- package/dist/calendar/business/rollDate.js +10 -43
- package/dist/calendar/calculate/bucketRange.d.ts +19 -11
- package/dist/calendar/calculate/bucketRange.js +27 -70
- package/dist/calendar/calculate/floorToZone.d.ts +12 -4
- package/dist/calendar/calculate/floorToZone.js +16 -8
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +50 -40
- package/dist/calendar/calculate/getFiscalPeriod.js +78 -57
- package/dist/calendar/calculate/getQuarter.d.ts +26 -21
- package/dist/calendar/calculate/getQuarter.js +48 -19
- package/dist/calendar/hours/addOperatingTime.d.ts +9 -3
- package/dist/calendar/hours/addOperatingTime.js +10 -4
- package/dist/calendar/hours/isOpenAt.d.ts +9 -3
- package/dist/calendar/hours/isOpenAt.js +9 -3
- package/dist/calendar/hours/nextCloseAt.d.ts +8 -2
- package/dist/calendar/hours/nextCloseAt.js +9 -3
- package/dist/calendar/hours/nextOpenAt.d.ts +9 -3
- package/dist/calendar/hours/nextOpenAt.js +10 -4
- package/dist/calendar/hours/operatingIntervals.d.ts +7 -2
- package/dist/calendar/hours/operatingIntervals.js +9 -6
- package/dist/calendar/hours/operatingTimeBetween.d.ts +8 -3
- package/dist/calendar/hours/operatingTimeBetween.js +11 -8
- package/dist/calendar/hours/recurringWindows.d.ts +13 -6
- package/dist/calendar/hours/recurringWindows.js +21 -14
- package/dist/calendar/index.d.ts +1 -1
- package/dist/calendar/index.js +2 -2
- package/dist/calendar/validate/index.d.ts +3 -0
- package/dist/calendar/validate/index.js +3 -0
- package/dist/calendar/validate/isValidFiscalCalendar.d.ts +23 -0
- package/dist/calendar/validate/isValidFiscalCalendar.js +44 -0
- package/dist/calendar/validate/isValidFiscalExtraWeek.d.ts +19 -0
- package/dist/calendar/validate/isValidFiscalExtraWeek.js +23 -0
- package/dist/calendar/validate/isValidFiscalPattern.d.ts +7 -7
- package/dist/calendar/validate/isValidFiscalPattern.js +7 -7
- package/dist/calendar/validate/isValidFiscalYearLabel.d.ts +20 -0
- package/dist/calendar/validate/isValidFiscalYearLabel.js +24 -0
- package/dist/calendar/validate/isValidRollConvention.js +2 -10
- package/dist/calendar/validate/isValidZoneBucketUnit.d.ts +1 -1
- package/dist/duration/calculate/absDuration.js +1 -1
- package/dist/duration/calculate/addDuration.js +1 -1
- package/dist/duration/calculate/durationFromUnits.d.ts +47 -0
- package/dist/duration/calculate/durationFromUnits.js +67 -0
- package/dist/duration/calculate/getDurationSign.js +1 -1
- package/dist/duration/calculate/getDurationUnit.d.ts +3 -3
- package/dist/duration/calculate/getDurationUnit.js +3 -3
- 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 +2 -2
- package/dist/duration/calculate/subtractDuration.js +1 -1
- package/dist/duration/calculate/{durationAs.d.ts → totalDuration.d.ts} +27 -21
- package/dist/duration/calculate/{durationAs.js → totalDuration.js} +27 -21
- package/dist/duration/calculate/totalUnits.d.ts +49 -0
- package/dist/duration/calculate/totalUnits.js +73 -0
- package/dist/duration/compare/compareDurations.d.ts +4 -4
- package/dist/duration/compare/compareDurations.js +4 -4
- package/dist/duration/format/formatDuration.d.ts +9 -9
- package/dist/duration/format/formatDuration.js +14 -13
- package/dist/duration/index.d.ts +1 -1
- package/dist/duration/index.js +2 -2
- package/dist/duration/normalize/normalizeDuration.d.ts +3 -3
- package/dist/duration/normalize/normalizeDuration.js +3 -3
- package/dist/duration/parse/parseDuration.d.ts +1 -1
- package/dist/duration/parse/parseDuration.js +1 -1
- package/dist/duration/validate/isValidDuration.js +2 -11
- package/dist/gnss/convert/gnssToUtc.d.ts +24 -0
- package/dist/gnss/convert/gnssToUtc.js +39 -0
- package/dist/gnss/convert/gnssWeekToUtc.d.ts +53 -0
- package/dist/gnss/convert/gnssWeekToUtc.js +80 -0
- package/dist/gnss/convert/index.d.ts +6 -0
- package/dist/gnss/convert/index.js +6 -0
- package/dist/gnss/convert/rinexWeekToUtc.d.ts +34 -0
- package/dist/gnss/convert/rinexWeekToUtc.js +57 -0
- package/dist/gnss/convert/utcToGnss.d.ts +38 -0
- package/dist/gnss/convert/utcToGnss.js +53 -0
- package/dist/gnss/convert/utcToGnssWeek.d.ts +24 -0
- package/dist/gnss/convert/utcToGnssWeek.js +40 -0
- package/dist/gnss/convert/utcToRinexWeek.d.ts +19 -0
- package/dist/gnss/convert/utcToRinexWeek.js +45 -0
- package/dist/gnss/index.d.ts +2 -0
- package/dist/gnss/index.js +3 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +4 -1
- package/dist/instant/convert/classifyLocal.d.ts +9 -5
- package/dist/instant/convert/classifyLocal.js +19 -20
- package/dist/instant/convert/fromOffsetInstant.d.ts +8 -4
- package/dist/instant/convert/fromOffsetInstant.js +11 -6
- package/dist/instant/convert/resolveLocal.d.ts +16 -11
- package/dist/instant/convert/resolveLocal.js +25 -17
- package/dist/instant/convert/toOffsetInstant.d.ts +23 -19
- package/dist/instant/convert/toOffsetInstant.js +29 -38
- package/dist/instant/index.d.ts +2 -1
- package/dist/instant/index.js +3 -2
- 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.js +1 -1
- package/dist/intermodal/calculate/chargeableDays.d.ts +18 -12
- package/dist/intermodal/calculate/chargeableDays.js +27 -18
- package/dist/intermodal/calculate/demurrageClock.d.ts +1 -1
- package/dist/intermodal/calculate/demurrageClock.js +2 -2
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +17 -10
- package/dist/intermodal/calculate/freeTimeExpiry.js +32 -17
- 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 +4 -1
- package/dist/intermodal/index.js +5 -2
- 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/advanceToWeekday.d.ts +1 -1
- package/dist/internal/businessCalendar.d.ts +28 -12
- package/dist/internal/businessCalendar.js +131 -125
- package/dist/internal/businessDayValues.js +1 -1
- package/dist/internal/calendarDatePairPolicy.d.ts +1 -1
- package/dist/internal/calendarDateString.d.ts +1 -1
- package/dist/internal/calendarDateString.js +1 -1
- package/dist/internal/calendarSystemIds.js +1 -1
- package/dist/internal/calendarValueOfDate.js +1 -1
- package/dist/internal/calendarZonedPairPolicy.d.ts +1 -1
- package/dist/internal/calendarZonedString.d.ts +3 -3
- package/dist/internal/calendarZonedString.js +4 -4
- package/dist/internal/compareUnixEpochs.js +1 -1
- package/dist/internal/cutoffAtResolved.d.ts +62 -0
- package/dist/internal/cutoffAtResolved.js +162 -0
- package/dist/internal/cycleFieldValue.d.ts +0 -2
- package/dist/internal/cycleFieldValue.js +0 -2
- package/dist/internal/dateTimeUnitHelpers.d.ts +1 -1
- package/dist/internal/dateUnitHelpers.d.ts +1 -1
- package/dist/internal/daylightTime.d.ts +1 -1
- package/dist/internal/differenceRecord.d.ts +1 -1
- package/dist/internal/durationUntilString.d.ts +1 -1
- package/dist/internal/durationUntilString.js +1 -1
- package/dist/internal/dutyEngine.d.ts +125 -0
- package/dist/internal/dutyEngine.js +1755 -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 +375 -0
- package/dist/internal/dutyRules.d.ts +198 -0
- package/dist/internal/dutyRules.js +484 -0
- package/dist/internal/dutyRunIndex.d.ts +150 -0
- package/dist/internal/dutyRunIndex.js +398 -0
- package/dist/internal/earlierOccurrence.d.ts +41 -0
- package/dist/internal/earlierOccurrence.js +57 -0
- package/dist/internal/ediDateTimeFields.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 +4 -2
- package/dist/internal/englishCalendarNames.js +3 -1
- package/dist/internal/epochDay.d.ts +41 -0
- package/dist/internal/epochDay.js +129 -0
- package/dist/internal/exactDuration.js +1 -1
- package/dist/internal/exactMoment.d.ts +4 -4
- package/dist/internal/exactMoment.js +5 -5
- package/dist/internal/fiscalCalendar.d.ts +41 -7
- package/dist/internal/fiscalCalendar.js +77 -9
- package/dist/internal/foreignEpochs.d.ts +5 -0
- package/dist/internal/foreignEpochs.js +5 -0
- package/dist/internal/formatCalendarDays.d.ts +4 -4
- package/dist/internal/formatCalendarDays.js +6 -5
- package/dist/internal/formatDateInCalendar.d.ts +1 -1
- package/dist/internal/formatRelativeDuration.d.ts +7 -7
- package/dist/internal/formatRelativeDuration.js +8 -7
- package/dist/internal/formatterCache.d.ts +40 -0
- package/dist/internal/formatterCache.js +181 -0
- package/dist/internal/freeTimeLedger.d.ts +35 -42
- package/dist/internal/freeTimeLedger.js +332 -31
- package/dist/internal/getLocaleWeekYearBounds.d.ts +1 -1
- package/dist/internal/gnssTimeScales.d.ts +53 -0
- package/dist/internal/gnssTimeScales.js +128 -0
- package/dist/internal/gnssWeek.d.ts +92 -0
- package/dist/internal/gnssWeek.js +212 -0
- package/dist/internal/halfOpenIntervals.d.ts +1 -1
- package/dist/internal/halfOpenIntervals.js +1 -1
- package/dist/internal/hasCalendarAnnotation.d.ts +3 -3
- package/dist/internal/hasCalendarAnnotation.js +3 -3
- package/dist/internal/hourDurationString.js +1 -1
- package/dist/internal/httpDateFields.js +1 -1
- package/dist/internal/index.d.ts +14 -5
- package/dist/internal/index.js +18 -5
- package/dist/internal/inputChecks.d.ts +53 -0
- package/dist/internal/inputChecks.js +132 -0
- package/dist/internal/instantFormatOptions.d.ts +1 -1
- package/dist/internal/instantFormatOptions.js +4 -8
- package/dist/internal/instantIntervalText.js +1 -1
- package/dist/internal/instantNanoseconds.d.ts +2 -2
- package/dist/internal/instantNanoseconds.js +2 -2
- package/dist/internal/intervalCountHelpers.d.ts +1 -1
- package/dist/internal/intervalNanoseconds.js +2 -1
- package/dist/internal/isObject.d.ts +13 -6
- package/dist/internal/isObject.js +14 -7
- package/dist/internal/isoStringBody.d.ts +2 -2
- package/dist/internal/isoStringBody.js +2 -2
- package/dist/internal/isoYearString.d.ts +21 -0
- package/dist/internal/isoYearString.js +27 -0
- package/dist/internal/joinDateTimeConnector.js +3 -2
- package/dist/internal/leapSeconds.d.ts +63 -0
- package/dist/internal/leapSeconds.js +162 -0
- package/dist/internal/localeWeekInfo.d.ts +1 -1
- package/dist/internal/localeWeekInfo.js +1 -1
- package/dist/internal/maxPieces.js +2 -1
- package/dist/internal/monthGridWeekRow.d.ts +1 -1
- package/dist/internal/normalizeDateTime.d.ts +2 -1
- package/dist/internal/normalizeDateTime.js +3 -2
- package/dist/internal/normalizeTimeZone.d.ts +5 -2
- package/dist/internal/normalizeTimeZone.js +5 -2
- package/dist/internal/offsetTimeline.d.ts +56 -0
- package/dist/internal/offsetTimeline.js +166 -0
- package/dist/internal/operatingSchedule.d.ts +39 -34
- package/dist/internal/operatingSchedule.js +672 -222
- package/dist/internal/patternToken.d.ts +10 -3
- package/dist/internal/patternToken.js +41 -19
- package/dist/internal/plainDateAdd.d.ts +1 -1
- package/dist/internal/plainDateAdd.js +1 -1
- package/dist/internal/plainDateUntil.d.ts +1 -1
- package/dist/internal/plainDateUntil.js +1 -1
- package/dist/internal/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 +1 -1
- package/dist/internal/resolveDurationRelativeTo.js +1 -1
- package/dist/internal/resolveLocale.d.ts +2 -2
- package/dist/internal/resolveLocale.js +2 -2
- package/dist/internal/resolveManualRoundingOptions.d.ts +1 -1
- package/dist/internal/resolveRelativeUnit.d.ts +1 -1
- package/dist/internal/resolveRelativeUnit.js +1 -1
- package/dist/internal/resolveUnixIntervalPair.d.ts +9 -3
- package/dist/internal/resolveUnixIntervalPair.js +11 -7
- package/dist/internal/rinexWeek.d.ts +22 -0
- package/dist/internal/rinexWeek.js +30 -0
- package/dist/internal/rollBusinessDate.d.ts +15 -0
- package/dist/internal/rollBusinessDate.js +46 -0
- package/dist/internal/splitStep.d.ts +1 -1
- package/dist/internal/splitStep.js +1 -1
- package/dist/internal/startOrEndOfUnix.d.ts +3 -2
- package/dist/internal/startOrEndOfUnix.js +9 -6
- package/dist/internal/startOrEndOfUtc.d.ts +1 -1
- package/dist/internal/startOrEndOfUtc.js +1 -1
- package/dist/internal/startOrEndOfZoned.d.ts +1 -1
- package/dist/internal/temporal.d.ts +5 -0
- package/dist/internal/temporal.js +5 -0
- package/dist/internal/temporalCompat/calendarDateArithmetic.d.ts +1 -1
- package/dist/internal/temporalCompat/calendarDateFromFields.d.ts +1 -1
- package/dist/internal/temporalCompat/calendarDateFromFields.js +1 -1
- package/dist/internal/temporalCompat/calendarFields.d.ts +1 -1
- package/dist/internal/temporalCompat/capabilities.d.ts +27 -5
- package/dist/internal/temporalCompat/capabilities.js +28 -4
- package/dist/internal/temporalCompat/fieldSearch.d.ts +1 -1
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/fixedDay.d.ts +1 -1
- package/dist/internal/temporalCompat/fixedDay.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/largeMonthSpan.js +1 -1
- package/dist/internal/temporalCompat/nonIsoArithmetic.d.ts +1 -1
- package/dist/internal/temporalCompat/nonIsoArithmetic.js +1 -1
- package/dist/internal/temporalCompat/probeRepros.d.ts +35 -0
- package/dist/internal/temporalCompat/probeRepros.js +571 -0
- package/dist/internal/temporalCompat/readArithmeticModel.js +2 -2
- package/dist/internal/temporalCompat/repros.d.ts +3 -10
- package/dist/internal/temporalCompat/repros.js +13 -520
- package/dist/internal/timeScaleString.d.ts +47 -0
- package/dist/internal/timeScaleString.js +86 -0
- package/dist/internal/toInstantFromUtc.d.ts +1 -1
- package/dist/internal/toInstantFromUtc.js +1 -1
- package/dist/internal/twoDigitYear.d.ts +19 -0
- package/dist/internal/twoDigitYear.js +22 -0
- package/dist/internal/unixEpochValue.d.ts +1 -1
- package/dist/internal/unixEpochValue.js +4 -3
- package/dist/internal/unixFormatReference.d.ts +1 -1
- package/dist/internal/unixFormatReference.js +1 -1
- package/dist/internal/unixWallClock.d.ts +24 -0
- package/dist/internal/unixWallClock.js +35 -0
- package/dist/internal/utcOffsetString.d.ts +16 -0
- package/dist/internal/utcOffsetString.js +31 -1
- package/dist/internal/utcReading.d.ts +59 -0
- package/dist/internal/utcReading.js +113 -0
- package/dist/internal/utcWallClock.d.ts +20 -0
- package/dist/internal/utcWallClock.js +32 -0
- package/dist/internal/validatedZones.d.ts +20 -0
- package/dist/internal/validatedZones.js +33 -0
- package/dist/internal/wallClockAtOffset.d.ts +1 -1
- package/dist/internal/yearWindowStart.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.d.ts +2 -2
- package/dist/internal/zonedBucket.js +92 -21
- package/dist/internal/zonedFormatReference.d.ts +1 -1
- package/dist/internal/zonedFormatReference.js +1 -1
- package/dist/internal/zonedLocalDates.d.ts +1 -1
- package/dist/internal/zonedLocalDates.js +22 -19
- package/dist/internal/zonedNowUnitValue.d.ts +8 -5
- package/dist/internal/zonedNowUnitValue.js +9 -5
- package/dist/internal/zonedTransitionSearch.d.ts +2 -0
- package/dist/internal/zonedTransitionSearch.js +165 -16
- package/dist/internal/zonedWallClock.d.ts +15 -4
- package/dist/internal/zonedWallClock.js +34 -6
- package/dist/internal/zonedWallClockDifference.d.ts +1 -1
- package/dist/internal/zonedWallClockDifference.js +6 -6
- package/dist/internal/zonedWallClockOperations.d.ts +7 -4
- package/dist/internal/zonedWallClockOperations.js +58 -16
- package/dist/internal/zonelessCalendarDate.d.ts +1 -1
- package/dist/internal/zonelessCalendarDate.js +1 -1
- package/dist/interval/index.d.ts +1 -1
- package/dist/interval/index.js +2 -2
- package/dist/plain/calculate/addBusinessDays.d.ts +2 -2
- package/dist/plain/calculate/addBusinessDays.js +2 -2
- package/dist/plain/calculate/addDate.js +4 -7
- package/dist/plain/calculate/addDateTime.js +5 -8
- package/dist/plain/calculate/addTime.js +5 -8
- package/dist/plain/calculate/clampDate.js +1 -1
- package/dist/plain/calculate/closestDateTo.js +1 -1
- package/dist/plain/calculate/cycleDate.js +1 -1
- package/dist/plain/calculate/cycleDateTime.js +1 -1
- package/dist/plain/calculate/cycleTime.js +1 -1
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.js +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
- package/dist/plain/calculate/diffTime.d.ts +1 -1
- package/dist/plain/calculate/diffTime.js +1 -1
- package/dist/plain/calculate/endOfDate.d.ts +1 -1
- package/dist/plain/calculate/endOfDate.js +1 -1
- package/dist/plain/calculate/endOfDateTime.d.ts +1 -1
- package/dist/plain/calculate/endOfDateTime.js +1 -1
- package/dist/plain/calculate/endOfQuarterForDate.js +1 -1
- package/dist/plain/calculate/endOfQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/endOfTime.d.ts +2 -2
- package/dist/plain/calculate/endOfTime.js +1 -1
- package/dist/plain/calculate/getDayOfYear.js +1 -1
- package/dist/plain/calculate/getDaysInMonth.js +1 -1
- package/dist/plain/calculate/getDaysInYear.js +1 -1
- package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +6 -6
- package/dist/plain/calculate/getLocaleDayOfWeek.js +7 -7
- package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +4 -4
- package/dist/plain/calculate/getLocaleEndOfWeek.js +5 -5
- package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +5 -5
- package/dist/plain/calculate/getLocaleStartOfWeek.js +6 -6
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +10 -10
- package/dist/plain/calculate/getLocaleWeekYear.js +11 -11
- package/dist/plain/calculate/getQuarterForDate.js +1 -1
- package/dist/plain/calculate/getQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/getWeekNumber.js +1 -1
- package/dist/plain/calculate/getWeekOfMonth.d.ts +10 -14
- package/dist/plain/calculate/getWeekOfMonth.js +11 -15
- package/dist/plain/calculate/getWeekYear.js +1 -1
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +7 -7
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +8 -8
- package/dist/plain/calculate/getWeeksInMonth.d.ts +8 -11
- package/dist/plain/calculate/getWeeksInMonth.js +9 -12
- package/dist/plain/calculate/getWeeksInYear.js +1 -1
- package/dist/plain/calculate/maxDate.js +1 -1
- package/dist/plain/calculate/maxDateTime.js +1 -1
- package/dist/plain/calculate/maxTime.js +1 -1
- package/dist/plain/calculate/minDate.js +1 -1
- package/dist/plain/calculate/minDateTime.js +1 -1
- package/dist/plain/calculate/minTime.js +1 -1
- package/dist/plain/calculate/nextWeekday.d.ts +14 -12
- package/dist/plain/calculate/nextWeekday.js +15 -13
- package/dist/plain/calculate/previousWeekday.d.ts +14 -12
- package/dist/plain/calculate/previousWeekday.js +15 -13
- package/dist/plain/calculate/roundDate.d.ts +1 -1
- package/dist/plain/calculate/roundDate.js +1 -1
- package/dist/plain/calculate/roundDateTime.d.ts +1 -1
- package/dist/plain/calculate/roundDateTime.js +1 -1
- package/dist/plain/calculate/roundTime.d.ts +1 -1
- package/dist/plain/calculate/roundTime.js +1 -1
- package/dist/plain/calculate/setDate.d.ts +21 -4
- package/dist/plain/calculate/setDate.js +28 -8
- package/dist/plain/calculate/setDateTime.d.ts +16 -4
- package/dist/plain/calculate/setDateTime.js +23 -8
- package/dist/plain/calculate/setTime.d.ts +14 -2
- package/dist/plain/calculate/setTime.js +22 -7
- package/dist/plain/calculate/sortDateTimes.js +1 -1
- package/dist/plain/calculate/sortDates.js +1 -1
- package/dist/plain/calculate/sortTimes.js +1 -1
- package/dist/plain/calculate/startOfDate.d.ts +1 -1
- package/dist/plain/calculate/startOfDate.js +1 -1
- package/dist/plain/calculate/startOfDateTime.d.ts +1 -1
- package/dist/plain/calculate/startOfDateTime.js +1 -1
- package/dist/plain/calculate/startOfQuarterForDate.js +1 -1
- package/dist/plain/calculate/startOfQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/startOfTime.d.ts +2 -2
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractBusinessDays.d.ts +2 -2
- package/dist/plain/calculate/subtractBusinessDays.js +2 -2
- package/dist/plain/calculate/subtractDate.js +5 -8
- package/dist/plain/calculate/subtractDateTime.js +5 -8
- package/dist/plain/calculate/subtractTime.js +5 -8
- package/dist/plain/calculate/weekOfYearForDate.js +1 -1
- package/dist/plain/calculate/weekOfYearForDateTime.js +1 -1
- package/dist/plain/chop/chopDate.js +1 -1
- package/dist/plain/chop/chopMilliseconds.js +1 -1
- package/dist/plain/chop/chopSeconds.js +1 -1
- package/dist/plain/chop/chopTime.js +1 -1
- package/dist/plain/compare/areDateTimesEqual.js +1 -1
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +2 -4
- package/dist/plain/compare/areDateTimesEqualBy.js +2 -4
- package/dist/plain/compare/areDatesEqual.js +1 -1
- package/dist/plain/compare/areDatesEqualBy.d.ts +5 -5
- package/dist/plain/compare/areDatesEqualBy.js +5 -5
- package/dist/plain/compare/areTimesEqual.js +1 -1
- package/dist/plain/compare/isAfterDate.js +1 -1
- package/dist/plain/compare/isAfterDateTime.js +1 -1
- package/dist/plain/compare/isAfterTime.js +1 -1
- package/dist/plain/compare/isBeforeDate.js +1 -1
- package/dist/plain/compare/isBeforeDateTime.js +1 -1
- package/dist/plain/compare/isBeforeTime.js +1 -1
- package/dist/plain/compare/isBetweenDate.js +1 -1
- package/dist/plain/compare/isBetweenDateTime.js +1 -1
- package/dist/plain/compare/isBetweenTime.js +1 -1
- package/dist/plain/compare/isBusinessDay.d.ts +2 -2
- package/dist/plain/compare/isBusinessDay.js +3 -3
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +8 -6
- package/dist/plain/compare/isThisUnit.js +7 -5
- package/dist/plain/compare/isWeekend.d.ts +5 -5
- package/dist/plain/compare/isWeekend.js +6 -6
- package/dist/plain/format/formatCalendar.d.ts +3 -5
- package/dist/plain/format/formatCalendar.js +12 -10
- package/dist/plain/format/formatDate.d.ts +4 -4
- package/dist/plain/format/formatDate.js +8 -7
- package/dist/plain/format/formatDateRange.d.ts +4 -4
- package/dist/plain/format/formatDateRange.js +8 -7
- package/dist/plain/format/formatDateTime.d.ts +4 -4
- package/dist/plain/format/formatDateTime.js +8 -7
- package/dist/plain/format/formatDateTimeRange.d.ts +4 -4
- package/dist/plain/format/formatDateTimeRange.js +8 -7
- package/dist/plain/format/formatDateTimeToParts.d.ts +6 -6
- package/dist/plain/format/formatDateTimeToParts.js +10 -9
- package/dist/plain/format/formatDateToParts.d.ts +6 -6
- package/dist/plain/format/formatDateToParts.js +10 -9
- package/dist/plain/format/formatRelativeDate.d.ts +3 -3
- package/dist/plain/format/formatRelativeDate.js +6 -5
- package/dist/plain/format/formatRelativeDateTime.d.ts +3 -3
- package/dist/plain/format/formatRelativeDateTime.js +6 -5
- package/dist/plain/format/formatRelativeTime.d.ts +3 -3
- package/dist/plain/format/formatRelativeTime.js +6 -5
- package/dist/plain/format/{formatSql.d.ts → formatSqlDateTime.d.ts} +7 -7
- package/dist/plain/format/{formatSql.js → formatSqlDateTime.js} +8 -8
- package/dist/plain/format/formatTime.d.ts +4 -4
- package/dist/plain/format/formatTime.js +8 -7
- package/dist/plain/format/index.d.ts +1 -1
- package/dist/plain/format/index.js +1 -1
- package/dist/plain/get/getDay.js +1 -1
- package/dist/plain/get/getDayOfWeek.js +1 -1
- package/dist/plain/get/getHour.js +1 -1
- package/dist/plain/get/getMicrosecond.js +1 -1
- package/dist/plain/get/getMillisecond.js +1 -1
- package/dist/plain/get/getMinute.js +1 -1
- package/dist/plain/get/getMonth.js +1 -1
- package/dist/plain/get/getNanosecond.js +1 -1
- package/dist/plain/get/getNow.js +1 -1
- package/dist/plain/get/getNowUnit.d.ts +2 -0
- package/dist/plain/get/getNowUnit.js +3 -1
- package/dist/plain/get/getSecond.js +1 -1
- package/dist/plain/get/getToday.js +1 -1
- package/dist/plain/get/getWeekOfYear.js +1 -1
- package/dist/plain/get/getYear.d.ts +2 -0
- package/dist/plain/get/getYear.js +5 -4
- package/dist/plain/index.d.ts +1 -1
- package/dist/plain/index.js +2 -2
- package/dist/plain/interval/intervalAbutsDate.d.ts +1 -2
- package/dist/plain/interval/intervalAbutsDate.js +2 -3
- package/dist/plain/interval/intervalAbutsDateTime.js +1 -1
- package/dist/plain/interval/intervalAbutsTime.js +1 -1
- package/dist/plain/interval/intervalContainsDate.d.ts +1 -1
- package/dist/plain/interval/intervalContainsDate.js +2 -2
- package/dist/plain/interval/intervalContainsDateTime.js +1 -1
- package/dist/plain/interval/intervalContainsTime.js +1 -1
- package/dist/plain/interval/intervalCountDate.js +1 -1
- package/dist/plain/interval/intervalCountDateTime.js +1 -1
- package/dist/plain/interval/intervalCountTime.js +1 -1
- package/dist/plain/interval/intervalDifferenceDate.d.ts +1 -1
- package/dist/plain/interval/intervalDifferenceDate.js +2 -2
- package/dist/plain/interval/intervalDifferenceDateTime.js +1 -1
- package/dist/plain/interval/intervalDifferenceTime.js +1 -1
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +3 -3
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -3
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +1 -1
- package/dist/plain/interval/intervalDivideEquallyTime.js +1 -1
- package/dist/plain/interval/intervalEngulfsDate.d.ts +1 -1
- package/dist/plain/interval/intervalEngulfsDate.js +2 -2
- package/dist/plain/interval/intervalEngulfsDateTime.js +1 -1
- package/dist/plain/interval/intervalEngulfsTime.js +1 -1
- package/dist/plain/interval/intervalFromDurationDate.js +1 -1
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -1
- package/dist/plain/interval/intervalFromDurationTime.js +1 -1
- package/dist/plain/interval/intervalIntersectionDate.d.ts +1 -1
- package/dist/plain/interval/intervalIntersectionDate.js +2 -2
- package/dist/plain/interval/intervalIntersectionDateTime.js +1 -1
- package/dist/plain/interval/intervalIntersectionTime.js +1 -1
- package/dist/plain/interval/intervalLengthDateTime.js +1 -1
- package/dist/plain/interval/intervalLengthTime.js +1 -1
- package/dist/plain/interval/intervalOverlappingDaysDate.js +1 -1
- package/dist/plain/interval/intervalOverlappingDaysDateTime.js +1 -1
- package/dist/plain/interval/intervalSplitAtDate.d.ts +1 -1
- package/dist/plain/interval/intervalSplitAtDate.js +2 -2
- package/dist/plain/interval/intervalSplitAtDateTime.js +1 -1
- package/dist/plain/interval/intervalSplitAtTime.js +1 -1
- package/dist/plain/interval/intervalUnionDate.d.ts +2 -2
- package/dist/plain/interval/intervalUnionDate.js +3 -3
- package/dist/plain/interval/intervalUnionDateTime.js +1 -1
- package/dist/plain/interval/intervalUnionTime.js +1 -1
- package/dist/plain/interval/intervalXorAllDate.d.ts +1 -1
- package/dist/plain/interval/intervalXorAllDate.js +4 -4
- package/dist/plain/interval/intervalXorAllDateTime.js +3 -3
- package/dist/plain/interval/intervalXorAllTime.js +3 -3
- package/dist/plain/interval/intervalXorDate.d.ts +1 -1
- package/dist/plain/interval/intervalXorDate.js +2 -2
- package/dist/plain/interval/intervalXorDateTime.js +1 -1
- package/dist/plain/interval/intervalXorTime.js +1 -1
- package/dist/plain/interval/intervalsOverlapDate.d.ts +1 -1
- package/dist/plain/interval/intervalsOverlapDate.js +2 -2
- package/dist/plain/interval/intervalsOverlapDateTime.js +1 -1
- package/dist/plain/interval/intervalsOverlapTime.js +1 -1
- package/dist/plain/interval/mergeIntervalsDate.d.ts +1 -1
- package/dist/plain/interval/mergeIntervalsDate.js +4 -4
- package/dist/plain/interval/mergeIntervalsDateTime.js +3 -3
- package/dist/plain/interval/mergeIntervalsTime.js +3 -3
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +2 -3
- package/dist/plain/interval/splitIntervalByUnitDate.js +3 -4
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +2 -1
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +3 -2
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -1
- package/dist/plain/interval/validate/isValidDateInterval.d.ts +1 -1
- package/dist/plain/interval/validate/isValidDateInterval.js +2 -2
- package/dist/plain/interval/validate/isValidDateTimeInterval.js +1 -1
- package/dist/plain/interval/validate/isValidTimeInterval.js +1 -1
- package/dist/plain/locale/getLocaleEraNames.d.ts +6 -6
- package/dist/plain/locale/getLocaleEraNames.js +8 -7
- package/dist/plain/locale/getLocaleMeridiems.d.ts +5 -5
- package/dist/plain/locale/getLocaleMeridiems.js +7 -6
- package/dist/plain/locale/getLocaleMonthNames.d.ts +6 -6
- package/dist/plain/locale/getLocaleMonthNames.js +17 -11
- package/dist/plain/locale/getLocaleWeekdayNames.d.ts +3 -3
- package/dist/plain/locale/getLocaleWeekdayNames.js +12 -5
- package/dist/plain/map/mapDatesInRange.js +1 -1
- package/dist/plain/map/mapDaysInMonth.js +1 -1
- package/dist/plain/parse/index.d.ts +1 -1
- package/dist/plain/parse/index.js +1 -1
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +28 -14
- package/dist/plain/parse/parseDateTimeWithPattern.js +33 -17
- package/dist/plain/parse/parseDateWithPattern.d.ts +29 -14
- package/dist/plain/parse/parseDateWithPattern.js +34 -17
- package/dist/plain/parse/parseDayFromDate.js +1 -1
- package/dist/plain/parse/parseDayFromDateTime.js +1 -1
- package/dist/plain/parse/parseDayOfWeekFromDate.js +1 -1
- package/dist/plain/parse/parseDayOfWeekFromDateTime.js +1 -1
- package/dist/plain/parse/parseHourFromDateTime.js +1 -1
- package/dist/plain/parse/parseHourFromTime.js +1 -1
- package/dist/plain/parse/parseMicrosecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseMicrosecondFromTime.js +1 -1
- package/dist/plain/parse/parseMillisecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseMillisecondFromTime.js +1 -1
- package/dist/plain/parse/parseMinuteFromDateTime.js +1 -1
- package/dist/plain/parse/parseMinuteFromTime.js +1 -1
- package/dist/plain/parse/parseMonthFromDate.js +1 -1
- package/dist/plain/parse/parseMonthFromDateTime.js +1 -1
- package/dist/plain/parse/parseNanosecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseNanosecondFromTime.js +1 -1
- package/dist/plain/parse/parseSecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseSecondFromTime.js +1 -1
- package/dist/plain/parse/{parseSql.d.ts → parseSqlDateTime.d.ts} +8 -8
- package/dist/plain/parse/{parseSql.js → parseSqlDateTime.js} +9 -9
- package/dist/plain/parse/parseTimeWithPattern.d.ts +6 -4
- package/dist/plain/parse/parseTimeWithPattern.js +8 -5
- package/dist/plain/parse/parseUnitFromDate.d.ts +4 -1
- package/dist/plain/parse/parseUnitFromDate.js +6 -2
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +4 -1
- package/dist/plain/parse/parseUnitFromDateTime.js +6 -2
- package/dist/plain/parse/parseUnitFromTime.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromTime.js +1 -1
- package/dist/plain/parse/parseWeekFromDateTime.js +1 -1
- package/dist/plain/parse/parseYearFromDate.d.ts +5 -2
- package/dist/plain/parse/parseYearFromDate.js +8 -4
- package/dist/plain/parse/parseYearFromDateTime.d.ts +4 -2
- package/dist/plain/parse/parseYearFromDateTime.js +7 -4
- package/dist/plain/validate/{isLeapSecond.d.ts → hasSecond60.d.ts} +16 -14
- package/dist/plain/validate/{isLeapSecond.js → hasSecond60.js} +16 -14
- package/dist/plain/validate/index.d.ts +2 -1
- package/dist/plain/validate/index.js +2 -1
- package/dist/plain/validate/isLeapYear.js +1 -1
- package/dist/plain/validate/isValidDate.js +2 -17
- package/dist/plain/validate/isValidDateRange.js +1 -1
- package/dist/plain/validate/isValidDateTime.d.ts +1 -1
- package/dist/plain/validate/isValidDateTime.js +4 -4
- package/dist/plain/validate/isValidDateTimeRange.js +1 -1
- package/dist/plain/validate/isValidIsoDateLike.js +3 -3
- package/dist/plain/validate/isValidSqlDateTime.d.ts +33 -0
- package/dist/plain/validate/isValidSqlDateTime.js +36 -0
- package/dist/plain/validate/isValidTime.js +2 -18
- package/dist/plain/validate/isValidTimeRange.js +1 -1
- package/dist/precision/convert/fromNanoseconds.d.ts +11 -5
- package/dist/precision/convert/fromNanoseconds.js +12 -6
- package/dist/precision/convert/toNanoseconds.d.ts +2 -2
- package/dist/precision/convert/toNanoseconds.js +2 -2
- package/dist/precision/index.d.ts +1 -1
- package/dist/precision/index.js +2 -2
- package/dist/precision/validate/isValidInstant.d.ts +1 -1
- package/dist/precision/validate/isValidInstant.js +1 -1
- package/dist/regex/calendar-zoned-date-time.d.ts +4 -4
- package/dist/regex/calendar-zoned-date-time.js +4 -4
- package/dist/regex/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 +2 -1
- package/dist/regex/index.js +3 -2
- package/dist/regex/leap-second.d.ts +1 -1
- package/dist/regex/leap-second.js +1 -1
- 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 +5 -4
- package/dist/regex/time-zone-like.js +5 -4
- package/dist/regex/utc-offset.d.ts +2 -1
- package/dist/regex/utc-offset.js +2 -1
- package/dist/span/calculate/spanMs.d.ts +4 -3
- package/dist/span/calculate/spanMs.js +4 -3
- package/dist/span/calculate/spanNs.d.ts +4 -3
- package/dist/span/calculate/spanNs.js +4 -3
- package/dist/span/calculate/spanWallClock.d.ts +12 -12
- package/dist/span/calculate/spanWallClock.js +13 -13
- package/dist/span/index.d.ts +1 -1
- package/dist/span/index.js +2 -2
- package/dist/span/validate/isValidSpan.d.ts +3 -3
- package/dist/span/validate/isValidSpan.js +3 -3
- package/dist/timescale/calculate/index.d.ts +3 -0
- package/dist/timescale/calculate/index.js +3 -0
- package/dist/timescale/calculate/leapSecondsBetween.d.ts +26 -0
- package/dist/timescale/calculate/leapSecondsBetween.js +62 -0
- package/dist/timescale/calculate/nextLeapSecond.d.ts +18 -0
- package/dist/timescale/calculate/nextLeapSecond.js +33 -0
- package/dist/timescale/calculate/taiMinusUtc.d.ts +21 -0
- package/dist/timescale/calculate/taiMinusUtc.js +38 -0
- package/dist/timescale/convert/fromTAI.d.ts +22 -0
- package/dist/timescale/convert/fromTAI.js +35 -0
- package/dist/timescale/convert/index.d.ts +2 -0
- package/dist/timescale/convert/index.js +2 -0
- package/dist/timescale/convert/toTAI.d.ts +23 -0
- package/dist/timescale/convert/toTAI.js +39 -0
- package/dist/timescale/index.d.ts +4 -0
- package/dist/timescale/index.js +5 -0
- package/dist/timescale/validate/index.d.ts +1 -0
- package/dist/timescale/validate/index.js +1 -0
- package/dist/timescale/validate/isLeapSecond.d.ts +25 -0
- package/dist/timescale/validate/isLeapSecond.js +36 -0
- package/dist/transport/calculate/crossingTime.d.ts +8 -3
- package/dist/transport/calculate/crossingTime.js +9 -4
- package/dist/transport/calculate/cutoffAt.d.ts +10 -5
- package/dist/transport/calculate/cutoffAt.js +26 -133
- package/dist/transport/calculate/cutoffSchedule.d.ts +8 -3
- package/dist/transport/calculate/cutoffSchedule.js +54 -20
- package/dist/transport/calculate/dwellTime.d.ts +9 -4
- package/dist/transport/calculate/dwellTime.js +10 -5
- package/dist/transport/calculate/estimateDrift.d.ts +1 -1
- package/dist/transport/calculate/estimateDrift.js +1 -1
- package/dist/transport/calculate/nextDeparture.d.ts +2 -2
- package/dist/transport/calculate/nextDeparture.js +2 -2
- package/dist/transport/calculate/scheduleDelivery.d.ts +15 -7
- package/dist/transport/calculate/scheduleDelivery.js +9 -4
- package/dist/transport/calculate/transitTime.d.ts +11 -11
- package/dist/transport/calculate/transitTime.js +11 -11
- package/dist/transport/compare/classifyPunctuality.d.ts +1 -1
- package/dist/transport/compare/classifyPunctuality.js +1 -1
- package/dist/transport/compare/isPastCutoff.d.ts +1 -1
- package/dist/transport/compare/isPastCutoff.js +2 -2
- package/dist/transport/compare/scheduleDeviation.d.ts +1 -1
- package/dist/transport/compare/scheduleDeviation.js +1 -1
- package/dist/transport/compare/timeToCutoff.d.ts +1 -1
- package/dist/transport/compare/timeToCutoff.js +1 -1
- package/dist/transport/convert/etaAtZone.d.ts +8 -3
- package/dist/transport/convert/etaAtZone.js +8 -3
- package/dist/transport/index.d.ts +1 -1
- package/dist/transport/index.js +2 -2
- package/dist/types/business-calendar.d.ts +5 -4
- package/dist/types/date-duration-unit.d.ts +1 -1
- package/dist/types/date-time-duration-units.d.ts +1 -1
- package/dist/types/date-time-unit.d.ts +1 -1
- package/dist/types/date-unit.d.ts +1 -1
- package/dist/types/disambiguation.d.ts +1 -1
- package/dist/types/duration-relative-to.d.ts +1 -1
- package/dist/types/duration-string-options.d.ts +1 -1
- package/dist/types/duty.d.ts +777 -0
- package/dist/types/duty.js +0 -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 +40 -4
- package/dist/types/free-time-options.d.ts +4 -3
- package/dist/types/gnss.d.ts +51 -0
- package/dist/types/gnss.js +0 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.js +7 -0
- package/dist/types/now-unit.d.ts +1 -1
- package/dist/types/offset.d.ts +1 -1
- package/dist/types/operating-schedule.d.ts +3 -2
- package/dist/types/overflow.d.ts +1 -1
- package/dist/types/rounding-options.d.ts +1 -1
- package/dist/types/stored-zoned-classification.d.ts +83 -0
- package/dist/types/stored-zoned-classification.js +0 -0
- package/dist/types/time-duration-unit.d.ts +1 -1
- package/dist/types/time-unit.d.ts +1 -1
- package/dist/types/two-digit-year.d.ts +23 -0
- package/dist/types/two-digit-year.js +0 -0
- package/dist/types/utc-now-unit.d.ts +1 -1
- package/dist/types/zone-bucket-unit.d.ts +1 -1
- package/dist/unix/calculate/addUnix.d.ts +11 -2
- package/dist/unix/calculate/addUnix.js +14 -11
- package/dist/unix/calculate/diffUnix.d.ts +11 -3
- package/dist/unix/calculate/diffUnix.js +11 -6
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +11 -3
- package/dist/unix/calculate/diffUnixAsDuration.js +10 -5
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +10 -2
- package/dist/unix/calculate/endOfQuarterForUnix.js +6 -0
- package/dist/unix/calculate/endOfUnix.d.ts +13 -4
- package/dist/unix/calculate/endOfUnix.js +8 -1
- package/dist/unix/calculate/isBetweenUnix.d.ts +3 -2
- package/dist/unix/calculate/isBetweenUnix.js +4 -4
- package/dist/unix/calculate/roundUnix.d.ts +17 -7
- package/dist/unix/calculate/roundUnix.js +19 -10
- package/dist/unix/calculate/setUnix.d.ts +28 -8
- package/dist/unix/calculate/setUnix.js +35 -14
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +10 -2
- package/dist/unix/calculate/startOfQuarterForUnix.js +6 -0
- package/dist/unix/calculate/startOfUnix.d.ts +13 -4
- package/dist/unix/calculate/startOfUnix.js +8 -1
- package/dist/unix/calculate/subtractUnix.d.ts +10 -2
- package/dist/unix/calculate/subtractUnix.js +13 -11
- package/dist/unix/compare/areUnixEqualBy.d.ts +13 -4
- package/dist/unix/compare/areUnixEqualBy.js +8 -1
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +5 -2
- package/dist/unix/convert/convertUnixToPlainDate.js +5 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +5 -2
- package/dist/unix/convert/convertUnixToPlainDateTime.js +5 -4
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +6 -3
- package/dist/unix/convert/convertUnixToPlainTime.js +6 -5
- package/dist/unix/convert/convertUnixToZoned.d.ts +6 -2
- package/dist/unix/convert/convertUnixToZoned.js +6 -2
- package/dist/unix/format/formatCalendarUnix.d.ts +16 -11
- package/dist/unix/format/formatCalendarUnix.js +12 -7
- package/dist/unix/format/formatRelativeUnix.d.ts +17 -9
- package/dist/unix/format/formatRelativeUnix.js +19 -11
- package/dist/unix/format/formatUnix.d.ts +16 -11
- package/dist/unix/format/formatUnix.js +13 -9
- package/dist/unix/get/getUnixDay.d.ts +1 -3
- package/dist/unix/get/getUnixDay.js +6 -13
- package/dist/unix/get/getUnixHour.d.ts +1 -3
- package/dist/unix/get/getUnixHour.js +6 -13
- package/dist/unix/get/getUnixMicrosecond.d.ts +1 -3
- package/dist/unix/get/getUnixMicrosecond.js +5 -12
- package/dist/unix/get/getUnixMillisecond.d.ts +1 -3
- package/dist/unix/get/getUnixMillisecond.js +6 -13
- package/dist/unix/get/getUnixMinute.d.ts +1 -3
- package/dist/unix/get/getUnixMinute.js +6 -13
- package/dist/unix/get/getUnixMonth.d.ts +1 -3
- package/dist/unix/get/getUnixMonth.js +6 -13
- package/dist/unix/get/getUnixNanosecond.d.ts +1 -3
- package/dist/unix/get/getUnixNanosecond.js +5 -12
- package/dist/unix/get/getUnixNow.js +1 -1
- package/dist/unix/get/getUnixNowUnit.d.ts +3 -1
- package/dist/unix/get/getUnixNowUnit.js +3 -1
- package/dist/unix/get/getUnixSecond.d.ts +1 -3
- package/dist/unix/get/getUnixSecond.js +6 -13
- package/dist/unix/get/getUnixYear.d.ts +3 -3
- package/dist/unix/get/getUnixYear.js +6 -13
- package/dist/unix/index.d.ts +1 -1
- package/dist/unix/index.js +2 -2
- package/dist/unix/interval/intervalCountUnix.d.ts +11 -2
- package/dist/unix/interval/intervalCountUnix.js +7 -0
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +10 -2
- package/dist/unix/interval/intervalFromDurationUnix.js +13 -8
- package/dist/unix/interval/intervalLengthUnix.d.ts +12 -4
- package/dist/unix/interval/intervalLengthUnix.js +8 -2
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +10 -2
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +10 -5
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +13 -4
- package/dist/unix/interval/splitIntervalByUnitUnix.js +16 -9
- package/dist/unix/parse/parseDateFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseDateFromUnix.js +3 -3
- package/dist/unix/parse/parseDayFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +2 -2
- package/dist/unix/parse/parseHourFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +5 -2
- package/dist/unix/parse/parseTimeFromUnix.js +4 -3
- package/dist/unix/parse/parseUnitFromUnix.d.ts +10 -4
- package/dist/unix/parse/parseUnitFromUnix.js +21 -14
- package/dist/unix/parse/parseWeekFromUnix.d.ts +3 -2
- package/dist/unix/parse/parseWeekFromUnix.js +4 -4
- package/dist/unix/parse/parseYearFromUnix.d.ts +8 -3
- package/dist/unix/parse/parseYearFromUnix.js +4 -1
- package/dist/unix/validate/isValidUnixUnit.d.ts +1 -1
- package/dist/utc/calculate/addUtc.js +5 -8
- package/dist/utc/calculate/diffUtc.d.ts +1 -1
- package/dist/utc/calculate/diffUtc.js +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
- package/dist/utc/calculate/endOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +1 -1
- package/dist/utc/calculate/isBetweenUtc.js +1 -1
- package/dist/utc/calculate/maxUtc.js +1 -1
- package/dist/utc/calculate/minUtc.js +1 -1
- package/dist/utc/calculate/roundUtc.d.ts +1 -1
- package/dist/utc/calculate/roundUtc.js +1 -1
- package/dist/utc/calculate/setUtc.d.ts +17 -4
- package/dist/utc/calculate/setUtc.js +23 -9
- package/dist/utc/calculate/sortUtc.js +1 -1
- package/dist/utc/calculate/startOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/startOfUtc.d.ts +1 -1
- package/dist/utc/calculate/subtractUtc.js +5 -8
- package/dist/utc/compare/areUtcEqual.js +1 -1
- package/dist/utc/compare/areUtcEqualBy.d.ts +2 -2
- package/dist/utc/compare/areUtcEqualBy.js +2 -2
- package/dist/utc/compare/isAfterUtc.js +1 -1
- package/dist/utc/compare/isBeforeUtc.js +1 -1
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +9 -3
- package/dist/utc/convert/convertUtcToPlainDate.js +12 -9
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +10 -3
- package/dist/utc/convert/convertUtcToPlainDateTime.js +14 -15
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +6 -3
- package/dist/utc/convert/convertUtcToPlainTime.js +9 -8
- package/dist/utc/convert/convertUtcToUnix.js +1 -1
- package/dist/utc/convert/convertUtcToZoned.d.ts +6 -2
- package/dist/utc/convert/convertUtcToZoned.js +7 -3
- package/dist/utc/format/formatCalendarUtc.d.ts +12 -7
- package/dist/utc/format/formatCalendarUtc.js +9 -4
- package/dist/utc/format/{formatHttp.d.ts → formatHttpDate.d.ts} +7 -7
- package/dist/utc/format/{formatHttp.js → formatHttpDate.js} +8 -8
- package/dist/utc/format/formatRelativeUtc.d.ts +15 -7
- package/dist/utc/format/formatRelativeUtc.js +17 -9
- package/dist/utc/format/formatUtc.d.ts +15 -10
- 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 +6 -13
- package/dist/utc/get/getUtcHour.d.ts +1 -3
- package/dist/utc/get/getUtcHour.js +6 -13
- package/dist/utc/get/getUtcMicrosecond.d.ts +1 -3
- package/dist/utc/get/getUtcMicrosecond.js +5 -12
- package/dist/utc/get/getUtcMillisecond.d.ts +1 -3
- package/dist/utc/get/getUtcMillisecond.js +6 -13
- package/dist/utc/get/getUtcMinute.d.ts +1 -3
- package/dist/utc/get/getUtcMinute.js +6 -13
- package/dist/utc/get/getUtcMonth.d.ts +1 -3
- package/dist/utc/get/getUtcMonth.js +6 -13
- package/dist/utc/get/getUtcNanosecond.d.ts +1 -3
- package/dist/utc/get/getUtcNanosecond.js +5 -12
- package/dist/utc/get/getUtcNow.d.ts +1 -3
- package/dist/utc/get/getUtcNow.js +3 -10
- package/dist/utc/get/getUtcNowUnit.d.ts +2 -0
- package/dist/utc/get/getUtcNowUnit.js +3 -1
- package/dist/utc/get/getUtcSecond.d.ts +1 -3
- package/dist/utc/get/getUtcSecond.js +6 -13
- package/dist/utc/get/getUtcYear.d.ts +3 -3
- package/dist/utc/get/getUtcYear.js +6 -13
- package/dist/utc/index.d.ts +1 -1
- package/dist/utc/index.js +2 -2
- package/dist/utc/interval/intervalAbutsUtc.js +1 -1
- package/dist/utc/interval/intervalContainsUtc.js +1 -1
- package/dist/utc/interval/intervalCountUtc.js +1 -1
- package/dist/utc/interval/intervalDivideEquallyUtc.js +1 -1
- package/dist/utc/interval/intervalEngulfsUtc.js +1 -1
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -1
- package/dist/utc/interval/intervalLengthUtc.js +1 -1
- package/dist/utc/interval/intervalOverlappingDaysUtc.js +1 -1
- package/dist/utc/interval/intervalSplitAtUtc.js +1 -1
- package/dist/utc/interval/intervalXorAllUtc.js +3 -3
- package/dist/utc/interval/intervalXorUtc.js +1 -1
- package/dist/utc/interval/mergeIntervalsUtc.js +2 -2
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +2 -1
- package/dist/utc/interval/splitIntervalByUnitUtc.js +3 -2
- package/dist/utc/interval/validate/isValidUtcInterval.js +1 -1
- package/dist/utc/parse/index.d.ts +1 -1
- package/dist/utc/parse/index.js +1 -1
- package/dist/utc/parse/parseDateFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseDateFromUtc.js +3 -3
- package/dist/utc/parse/parseDayFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseDayFromUtc.js +3 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +6 -6
- package/dist/utc/parse/parseHourFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseHourFromUtc.js +3 -3
- package/dist/utc/parse/{parseHttp.d.ts → parseHttpDate.d.ts} +12 -12
- package/dist/utc/parse/{parseHttp.js → parseHttpDate.js} +13 -13
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseMicrosecondFromUtc.js +3 -3
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseMillisecondFromUtc.js +3 -3
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseMinuteFromUtc.js +2 -2
- package/dist/utc/parse/parseMonthFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseMonthFromUtc.js +3 -3
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseNanosecondFromUtc.js +3 -3
- package/dist/utc/parse/parseSecondFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseSecondFromUtc.js +3 -3
- package/dist/utc/parse/parseTimeFromUtc.d.ts +6 -3
- package/dist/utc/parse/parseTimeFromUtc.js +7 -6
- package/dist/utc/parse/parseUnitFromUtc.d.ts +12 -5
- package/dist/utc/parse/parseUnitFromUtc.js +13 -7
- package/dist/utc/parse/parseWeekFromUtc.d.ts +5 -3
- package/dist/utc/parse/parseWeekFromUtc.js +6 -6
- package/dist/utc/parse/parseYearFromUtc.d.ts +9 -5
- package/dist/utc/parse/parseYearFromUtc.js +9 -6
- 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 +7 -3
- package/dist/utc/validate/isValidUtcRange.js +1 -1
- package/dist/utc/validate/isValidUtcTimestamp.d.ts +43 -0
- package/dist/utc/validate/isValidUtcTimestamp.js +48 -0
- package/dist/workforce/calculate/dutyDayFor.d.ts +38 -0
- package/dist/workforce/calculate/dutyDayFor.js +71 -0
- package/dist/workforce/calculate/dutyTotals.d.ts +24 -0
- package/dist/workforce/calculate/dutyTotals.js +41 -0
- package/dist/workforce/calculate/dutyViolations.d.ts +74 -0
- package/dist/workforce/calculate/dutyViolations.js +65 -0
- package/dist/workforce/calculate/evaluateDutyLog.d.ts +77 -0
- package/dist/workforce/calculate/evaluateDutyLog.js +75 -0
- package/dist/workforce/calculate/index.d.ts +7 -0
- package/dist/workforce/calculate/index.js +7 -0
- package/dist/workforce/calculate/longestRun.d.ts +28 -0
- package/dist/workforce/calculate/longestRun.js +54 -0
- package/dist/workforce/calculate/qualifyingRestPairs.d.ts +37 -0
- package/dist/workforce/calculate/qualifyingRestPairs.js +58 -0
- package/dist/workforce/calculate/qualifyingRests.d.ts +27 -0
- package/dist/workforce/calculate/qualifyingRests.js +49 -0
- package/dist/workforce/index.d.ts +3 -0
- package/dist/workforce/index.js +4 -0
- package/dist/workforce/validate/index.d.ts +1 -0
- package/dist/workforce/validate/index.js +1 -0
- package/dist/workforce/validate/isValidDutyLog.d.ts +24 -0
- package/dist/workforce/validate/isValidDutyLog.js +34 -0
- package/dist/zoned/calculate/addZoned.d.ts +15 -15
- package/dist/zoned/calculate/addZoned.js +19 -22
- package/dist/zoned/calculate/addZonedBusinessDays.d.ts +5 -4
- package/dist/zoned/calculate/addZonedBusinessDays.js +5 -4
- package/dist/zoned/calculate/clampZoned.js +1 -1
- package/dist/zoned/calculate/diffZoned.d.ts +8 -8
- package/dist/zoned/calculate/diffZoned.js +7 -7
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +5 -5
- package/dist/zoned/calculate/diffZonedAsDuration.js +4 -4
- package/dist/zoned/calculate/endOfZoned.d.ts +3 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -2
- package/dist/zoned/calculate/getHoursInZonedDay.d.ts +2 -2
- package/dist/zoned/calculate/getHoursInZonedDay.js +2 -2
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +6 -5
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +6 -5
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +5 -5
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -5
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +6 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +6 -6
- package/dist/zoned/calculate/maxZoned.d.ts +2 -2
- package/dist/zoned/calculate/maxZoned.js +3 -3
- package/dist/zoned/calculate/minZoned.d.ts +2 -2
- package/dist/zoned/calculate/minZoned.js +3 -3
- package/dist/zoned/calculate/roundZoned.d.ts +11 -9
- package/dist/zoned/calculate/roundZoned.js +11 -9
- package/dist/zoned/calculate/setZoned.d.ts +26 -12
- package/dist/zoned/calculate/setZoned.js +33 -16
- package/dist/zoned/calculate/sortZoned.d.ts +3 -3
- package/dist/zoned/calculate/sortZoned.js +4 -4
- package/dist/zoned/calculate/startOfZoned.d.ts +3 -3
- package/dist/zoned/calculate/startOfZoned.js +2 -2
- package/dist/zoned/calculate/subtractZoned.d.ts +14 -14
- package/dist/zoned/calculate/subtractZoned.js +18 -21
- package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +5 -4
- package/dist/zoned/calculate/subtractZonedBusinessDays.js +5 -4
- package/dist/zoned/chop/chopZonedDate.d.ts +1 -1
- package/dist/zoned/chop/chopZonedDate.js +1 -1
- package/dist/zoned/chop/chopZonedMilliseconds.d.ts +1 -1
- package/dist/zoned/chop/chopZonedMilliseconds.js +1 -1
- package/dist/zoned/chop/chopZonedSeconds.d.ts +1 -1
- package/dist/zoned/chop/chopZonedSeconds.js +1 -1
- package/dist/zoned/chop/chopZonedTime.d.ts +1 -1
- package/dist/zoned/chop/chopZonedTime.js +1 -1
- package/dist/zoned/chop/chopZonedTimezone.d.ts +1 -1
- package/dist/zoned/chop/chopZonedTimezone.js +1 -1
- package/dist/zoned/classify/classifyStoredZoned.d.ts +46 -0
- package/dist/zoned/classify/classifyStoredZoned.js +177 -0
- package/dist/zoned/classify/index.d.ts +1 -0
- package/dist/zoned/classify/index.js +1 -0
- package/dist/zoned/compare/areZonedEqual.js +1 -1
- package/dist/zoned/compare/areZonedEqualBy.d.ts +8 -10
- package/dist/zoned/compare/areZonedEqualBy.js +8 -10
- package/dist/zoned/compare/isAfterZoned.js +1 -1
- package/dist/zoned/compare/isBeforeZoned.d.ts +2 -2
- package/dist/zoned/compare/isBeforeZoned.js +3 -3
- package/dist/zoned/compare/isBetweenZoned.js +1 -1
- package/dist/zoned/compare/isInDaylightSaving.d.ts +2 -2
- package/dist/zoned/compare/isInDaylightSaving.js +2 -2
- package/dist/zoned/compare/isZonedBusinessDay.d.ts +7 -6
- package/dist/zoned/compare/isZonedBusinessDay.js +7 -6
- package/dist/zoned/compare/isZonedFuture.js +1 -1
- package/dist/zoned/compare/isZonedPast.js +1 -1
- package/dist/zoned/compare/isZonedRelativeDay.d.ts +2 -2
- package/dist/zoned/compare/isZonedRelativeDay.js +3 -3
- package/dist/zoned/compare/isZonedThisUnit.d.ts +7 -7
- package/dist/zoned/compare/isZonedThisUnit.js +7 -7
- package/dist/zoned/compare/isZonedWeekend.d.ts +5 -5
- package/dist/zoned/compare/isZonedWeekend.js +5 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +10 -7
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +10 -7
- package/dist/zoned/convert/convertZonedToCalendar.d.ts +5 -5
- package/dist/zoned/convert/convertZonedToCalendar.js +5 -5
- package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +3 -3
- package/dist/zoned/convert/convertZonedToPlainDateTime.js +3 -3
- package/dist/zoned/convert/convertZonedToZoned.d.ts +7 -3
- package/dist/zoned/convert/convertZonedToZoned.js +7 -3
- package/dist/zoned/format/formatCalendarZoned.d.ts +7 -6
- package/dist/zoned/format/formatCalendarZoned.js +7 -6
- package/dist/zoned/format/formatRelativeZoned.d.ts +3 -3
- package/dist/zoned/format/formatRelativeZoned.js +6 -5
- package/dist/zoned/format/formatRfc2822.d.ts +3 -3
- package/dist/zoned/format/formatRfc2822.js +3 -3
- package/dist/zoned/format/formatRfc3339.d.ts +2 -2
- package/dist/zoned/format/formatRfc3339.js +2 -2
- package/dist/zoned/format/formatTimeZoneName.d.ts +22 -18
- package/dist/zoned/format/formatTimeZoneName.js +18 -13
- package/dist/zoned/format/formatZonedDateTime.d.ts +10 -10
- package/dist/zoned/format/formatZonedDateTime.js +12 -11
- package/dist/zoned/format/formatZonedRange.d.ts +7 -7
- package/dist/zoned/format/formatZonedRange.js +9 -8
- package/dist/zoned/format/formatZonedToParts.d.ts +11 -11
- package/dist/zoned/format/formatZonedToParts.js +13 -12
- package/dist/zoned/get/getDstTransitions.d.ts +14 -12
- package/dist/zoned/get/getDstTransitions.js +15 -10
- package/dist/zoned/get/getSystemTimeZone.d.ts +5 -3
- package/dist/zoned/get/getSystemTimeZone.js +7 -4
- package/dist/zoned/get/getTimeZoneOffset.d.ts +15 -7
- package/dist/zoned/get/getTimeZoneOffset.js +23 -10
- package/dist/zoned/get/getTimeZones.d.ts +1 -1
- package/dist/zoned/get/getTimeZones.js +1 -1
- package/dist/zoned/get/getZonedDay.d.ts +3 -2
- package/dist/zoned/get/getZonedDay.js +7 -8
- package/dist/zoned/get/getZonedDayOfWeek.d.ts +3 -2
- package/dist/zoned/get/getZonedDayOfWeek.js +7 -6
- package/dist/zoned/get/getZonedHour.d.ts +3 -2
- package/dist/zoned/get/getZonedHour.js +7 -8
- package/dist/zoned/get/getZonedMicrosecond.d.ts +3 -2
- package/dist/zoned/get/getZonedMicrosecond.js +7 -6
- package/dist/zoned/get/getZonedMillisecond.d.ts +3 -2
- package/dist/zoned/get/getZonedMillisecond.js +7 -8
- package/dist/zoned/get/getZonedMinute.d.ts +3 -2
- package/dist/zoned/get/getZonedMinute.js +7 -8
- package/dist/zoned/get/getZonedMonth.d.ts +3 -2
- package/dist/zoned/get/getZonedMonth.js +7 -8
- package/dist/zoned/get/getZonedNanosecond.d.ts +3 -2
- package/dist/zoned/get/getZonedNanosecond.js +7 -6
- package/dist/zoned/get/getZonedNow.d.ts +9 -5
- package/dist/zoned/get/getZonedNow.js +9 -5
- package/dist/zoned/get/getZonedNowUnit.d.ts +7 -4
- package/dist/zoned/get/getZonedNowUnit.js +11 -8
- package/dist/zoned/get/getZonedSecond.d.ts +3 -2
- package/dist/zoned/get/getZonedSecond.js +7 -8
- package/dist/zoned/get/getZonedToday.d.ts +3 -2
- package/dist/zoned/get/getZonedToday.js +7 -6
- package/dist/zoned/get/getZonedWeekOfYear.d.ts +3 -2
- package/dist/zoned/get/getZonedWeekOfYear.js +7 -6
- package/dist/zoned/get/getZonedYear.d.ts +5 -2
- package/dist/zoned/get/getZonedYear.js +10 -8
- package/dist/zoned/index.d.ts +2 -1
- package/dist/zoned/index.js +3 -2
- package/dist/zoned/interval/intervalAbutsZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalAbutsZoned.js +3 -3
- package/dist/zoned/interval/intervalContainsZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalContainsZoned.js +2 -2
- package/dist/zoned/interval/intervalCountZoned.d.ts +4 -4
- package/dist/zoned/interval/intervalCountZoned.js +5 -5
- package/dist/zoned/interval/intervalDifferenceZoned.js +1 -1
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +2 -2
- package/dist/zoned/interval/intervalEngulfsZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalEngulfsZoned.js +2 -2
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +6 -6
- package/dist/zoned/interval/intervalFromDurationZoned.js +7 -7
- package/dist/zoned/interval/intervalIntersectionZoned.js +1 -1
- package/dist/zoned/interval/intervalLengthZoned.d.ts +5 -5
- package/dist/zoned/interval/intervalLengthZoned.js +5 -5
- package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalOverlappingDaysZoned.js +3 -3
- package/dist/zoned/interval/intervalSplitAtZoned.js +14 -16
- package/dist/zoned/interval/intervalUnionZoned.js +1 -1
- package/dist/zoned/interval/intervalXorAllZoned.js +3 -3
- package/dist/zoned/interval/intervalXorZoned.js +1 -1
- package/dist/zoned/interval/intervalsOverlapZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalsOverlapZoned.js +3 -3
- package/dist/zoned/interval/mergeIntervalsZoned.js +3 -3
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +2 -1
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +3 -2
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +2 -2
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +3 -3
- package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +1 -1
- package/dist/zoned/interval/validate/isValidZonedInterval.js +2 -2
- package/dist/zoned/map/mapZonedDatesInRange.js +1 -1
- package/dist/zoned/map/mapZonedHoursInDay.d.ts +1 -1
- package/dist/zoned/map/mapZonedHoursInDay.js +2 -2
- package/dist/zoned/parse/getZonedOffset.d.ts +1 -1
- package/dist/zoned/parse/getZonedOffset.js +1 -1
- package/dist/zoned/parse/getZonedOffsetAs.d.ts +6 -6
- package/dist/zoned/parse/getZonedOffsetAs.js +3 -3
- package/dist/zoned/parse/parseDateTimeFromZoned.js +2 -2
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseRfc3339.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +5 -2
- package/dist/zoned/parse/parseUnitFromZoned.js +5 -1
- package/dist/zoned/parse/parseYearFromZoned.d.ts +4 -2
- package/dist/zoned/parse/parseYearFromZoned.js +6 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +6 -4
- package/dist/zoned/validate/hasDaylightSaving.js +16 -10
- package/dist/zoned/validate/index.d.ts +2 -0
- package/dist/zoned/validate/index.js +2 -0
- package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +8 -8
- package/dist/zoned/validate/isValidCalendarZonedDateTime.js +8 -8
- 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 +6 -2
- package/dist/zoned/validate/isValidTimeZone.js +8 -19
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +7 -7
- package/dist/zoned/validate/isValidZonedDateTime.js +9 -9
- package/dist/zoned/validate/isValidZonedRange.d.ts +1 -1
- package/dist/zoned/validate/isValidZonedRange.js +5 -5
- package/package.json +103 -4
- package/skills/gmt-arithmetic/SKILL.md +63 -17
- package/skills/gmt-basics/SKILL.md +83 -21
- package/skills/gmt-gnss/SKILL.md +92 -0
- package/skills/gmt-integration/SKILL.md +58 -10
- package/skills/gmt-intermodal/SKILL.md +189 -0
- package/skills/gmt-timezone/SKILL.md +51 -169
- package/skills/gmt-transport/SKILL.md +133 -0
- package/skills/gmt-workforce/SKILL.md +84 -0
- package/dist/internal/unixZonedDateTime.d.ts +0 -22
- package/dist/internal/unixZonedDateTime.js +0 -32
- package/dist/internal/utcZonedDateTime.d.ts +0 -19
- package/dist/internal/utcZonedDateTime.js +0 -31
package/dist/types/offset.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../internal/temporal.js";
|
|
2
2
|
/**
|
|
3
3
|
* What to do when the UTC offset written in a zoned value disagrees with its time zone, as
|
|
4
4
|
* Temporal's `offset` option (`Temporal.ZonedDateTime.prototype.with(item, { offset })`). It is
|
|
@@ -44,8 +44,9 @@ export type OperatingOverride = {
|
|
|
44
44
|
*/
|
|
45
45
|
export type OperatingSchedule = {
|
|
46
46
|
/**
|
|
47
|
-
* The time zone the windows are read in
|
|
48
|
-
*
|
|
47
|
+
* The time zone the windows are read in, an IANA name or UTC offset: a time zone identifier
|
|
48
|
+
* (`+05:30`, `+0530`, `-08`) or a stored offset (`±HH:MM[:SS]`, what `getTimeZoneOffset`
|
|
49
|
+
* returns). A UTC offset such as `"+02:00"` observes no DST.
|
|
49
50
|
*/
|
|
50
51
|
timeZone: string;
|
|
51
52
|
/**
|
package/dist/types/overflow.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../internal/temporal.js";
|
|
2
2
|
/**
|
|
3
3
|
* What to do when a date or time field is out of range, as Temporal's `overflow` option
|
|
4
4
|
* (`Temporal.PlainDate.prototype.add(item, { overflow })`). `"constrain"` clamps the field to the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../internal/temporal.js";
|
|
2
2
|
/**
|
|
3
3
|
* How a difference is rounded, as the rounding options of Temporal's `until()` and `since()`
|
|
4
4
|
* (`Temporal.PlainDate.prototype.until(other, options)`). `Unit` is the set of units the values
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What `classifyStoredZoned` finds when an RFC 9557 string carries both a UTC offset and a
|
|
3
|
+
* bracketed IANA zone. Every reading is a `Z` instant string (`Temporal.Instant#toString`), and
|
|
4
|
+
* every offset is `±HH:MM[:SS]`. Each kind carries enough readings to reproduce each of
|
|
5
|
+
* Temporal's `offset` values (`use`, `ignore`, `prefer`, `reject`).
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import type { StoredZonedClassification } from "@northguild/gmt/types";
|
|
9
|
+
* const found: StoredZonedClassification = {
|
|
10
|
+
* kind: "offsetMismatch",
|
|
11
|
+
* storedOffset: "+02:00",
|
|
12
|
+
* zoneOffset: "+03:00",
|
|
13
|
+
* atStoredOffset: "2016-12-01T07:00:00Z",
|
|
14
|
+
* atZoneOffset: "2016-12-01T06:00:00Z",
|
|
15
|
+
* };
|
|
16
|
+
*/
|
|
17
|
+
export type StoredZonedClassification = {
|
|
18
|
+
/**
|
|
19
|
+
* The string names one instant. Either it ends in `Z`, which Temporal reads as exact
|
|
20
|
+
* whatever the zone's wall clock does, or its offset matches the zone's offset at that
|
|
21
|
+
* local time (to the minute, or exactly when written with seconds) and the local time
|
|
22
|
+
* occurs once. `instant` is what `reject`, `prefer` and `ignore` give.
|
|
23
|
+
*/
|
|
24
|
+
kind: "valid";
|
|
25
|
+
/** The instant the string names. */
|
|
26
|
+
instant: string;
|
|
27
|
+
/** The instant `offset: "use"` gives: the written wall clock minus the written offset. */
|
|
28
|
+
atStoredOffset: string;
|
|
29
|
+
} | {
|
|
30
|
+
/**
|
|
31
|
+
* The local time occurs twice, and the stored offset picks one of the two: `instant`, which
|
|
32
|
+
* is either `earlier` or `later`. `ignore` gives `earlier` or `later` by `disambiguation`.
|
|
33
|
+
*/
|
|
34
|
+
kind: "validInOverlap";
|
|
35
|
+
/** The occurrence the stored offset picks. `reject` and `prefer` give it. */
|
|
36
|
+
instant: string;
|
|
37
|
+
/** The first occurrence. */
|
|
38
|
+
earlier: string;
|
|
39
|
+
/** The second occurrence. */
|
|
40
|
+
later: string;
|
|
41
|
+
/** The instant `offset: "use"` gives. */
|
|
42
|
+
atStoredOffset: string;
|
|
43
|
+
} | {
|
|
44
|
+
/**
|
|
45
|
+
* The local time occurs once, but not at the stored offset. `reject` refuses it, and `ignore`
|
|
46
|
+
* and `prefer` give `atZoneOffset`.
|
|
47
|
+
*/
|
|
48
|
+
kind: "offsetMismatch";
|
|
49
|
+
/** The offset as written in the string, `±HH:MM` or `±HH:MM:SS`. Seconds are kept when written. */
|
|
50
|
+
storedOffset: string;
|
|
51
|
+
/** The offset the zone has at that local time. */
|
|
52
|
+
zoneOffset: string;
|
|
53
|
+
/** The instant `offset: "use"` gives. */
|
|
54
|
+
atStoredOffset: string;
|
|
55
|
+
/** The instant the zone's own offset gives. */
|
|
56
|
+
atZoneOffset: string;
|
|
57
|
+
} | {
|
|
58
|
+
/**
|
|
59
|
+
* The local time occurs twice, and the stored offset picks neither occurrence. `reject`
|
|
60
|
+
* refuses it, and `ignore` and `prefer` give `earlier` or `later` by `disambiguation`.
|
|
61
|
+
*/
|
|
62
|
+
kind: "ambiguous";
|
|
63
|
+
/** The first occurrence. */
|
|
64
|
+
earlier: string;
|
|
65
|
+
/** The second occurrence. */
|
|
66
|
+
later: string;
|
|
67
|
+
/** The instant `offset: "use"` gives. */
|
|
68
|
+
atStoredOffset: string;
|
|
69
|
+
} | {
|
|
70
|
+
/**
|
|
71
|
+
* The local time falls in a gap, so there is no occurrence to match. `reject` refuses it,
|
|
72
|
+
* and `ignore` and `prefer` give `earlier` or `later` by `disambiguation`. `earlier` and
|
|
73
|
+
* `later` are the wall time shifted back or forward by the size of the gap, as
|
|
74
|
+
* `disambiguation` names them.
|
|
75
|
+
*/
|
|
76
|
+
kind: "nonexistent";
|
|
77
|
+
/** The reading `disambiguation: "earlier"` gives. */
|
|
78
|
+
earlier: string;
|
|
79
|
+
/** The reading `disambiguation: "later"` and `"compatible"` give. */
|
|
80
|
+
later: string;
|
|
81
|
+
/** The instant `offset: "use"` gives. */
|
|
82
|
+
atStoredOffset: string;
|
|
83
|
+
};
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../internal/temporal.js";
|
|
2
2
|
/**
|
|
3
3
|
* A time field of an ISO 8601 duration, in the plural, from `"hours"` down to `"nanoseconds"`.
|
|
4
4
|
* It names the unit an amount of time is given in or a time difference is measured in.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a two-digit year (`yy` in a pattern, `YYMMDD` in an EDI value) gets its century.
|
|
3
|
+
*
|
|
4
|
+
* No standard says which century a two-digit year belongs to, so GMT holds no cut-off of its own:
|
|
5
|
+
* the caller names the hundred-year window. A two-digit year is a legacy form; a four-digit year
|
|
6
|
+
* is the one to ask a data source for.
|
|
7
|
+
*/
|
|
8
|
+
export interface TwoDigitYearOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The hundred-year window a two-digit year falls in. A number is the first year of a fixed
|
|
11
|
+
* window, an integer from 0 to 9900: `2000` reads `00`–`99` as 2000–2099; `1950` reads `50`–`99`
|
|
12
|
+
* as 1950–1999 and `00`–`49` as 2000–2049. A fixed window gives the same answer in any year,
|
|
13
|
+
* so it is the form for stored data, archives and anything re-processed later. `"rolling"` is
|
|
14
|
+
* the hundred years around today: from 50 years before the current UTC calendar year to 49
|
|
15
|
+
* years after it (in 2026, 1976–2075). It is the form for live messages and never needs
|
|
16
|
+
* maintenance, but it gives a different answer for the same stored value as years pass. Any
|
|
17
|
+
* other value returns the function's sentinel.
|
|
18
|
+
*
|
|
19
|
+
* @defaultValue None. A value with a two-digit year returns the sentinel: no standard says which
|
|
20
|
+
* century it belongs to, so the caller states it.
|
|
21
|
+
*/
|
|
22
|
+
yearWindow?: "rolling" | number;
|
|
23
|
+
}
|
|
File without changes
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Units extractable from the current UTC instant via `getUtcNowUnit`.
|
|
3
3
|
* Defined as `DateTimeUnit | "dayOfWeek"`.
|
|
4
4
|
*/
|
|
5
|
-
export type UtcNowUnit = import("
|
|
5
|
+
export type UtcNowUnit = import("../internal/temporal.js").Temporal.SmallestUnit<import("./date-time-unit.js").DateTimeUnit> | "dayOfWeek";
|
|
@@ -7,6 +7,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
7
7
|
* - Validates duration units and values.
|
|
8
8
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
9
9
|
* - Returns null for invalid input.
|
|
10
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
11
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
12
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
13
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
14
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
15
|
+
* such limit.
|
|
10
16
|
*
|
|
11
17
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
12
18
|
* @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to add
|
|
@@ -19,6 +25,7 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
19
25
|
* @example addUnix(1.5, { days: 1 }) // null (not an integer epoch)
|
|
20
26
|
* @example addUnix("1706659200000", { days: 1 }) // 1706745600000 (digit string)
|
|
21
27
|
* @example addUnix(1706659200000, { days: 1 }, { timeZone: "Mars/Olympus" }) // null (unknown zone)
|
|
28
|
+
* @example addUnix(45870000, { days: 1 }, { timeZone: "-00:44:30" }) // 132270000 (a stored offset with seconds)
|
|
22
29
|
*/
|
|
23
30
|
export declare function addUnix(value: number | string, units: Partial<Record<DateTimeDurationUnit, number>>, options?: {
|
|
24
31
|
/**
|
|
@@ -29,8 +36,10 @@ export declare function addUnix(value: number | string, units: Partial<Record<Da
|
|
|
29
36
|
*/
|
|
30
37
|
epochUnit?: UnixUnit;
|
|
31
38
|
/**
|
|
32
|
-
* The time zone the calendar arithmetic runs in: an IANA name, a UTC offset
|
|
33
|
-
*
|
|
39
|
+
* The time zone the calendar arithmetic runs in: an IANA name, a UTC offset (a time zone
|
|
40
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
41
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
42
|
+
* `null`.
|
|
34
43
|
*
|
|
35
44
|
* @defaultValue `"UTC"`
|
|
36
45
|
*/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { addToZoned,
|
|
2
|
-
import { normalizeTimeZone } from "../../internal/normalizeTimeZone.js";
|
|
1
|
+
import { addToZoned, frameInstant, frameZoned, normalizeZoneFrame, readDurationUnits, resolveOverflow, } from "../../internal/index.js";
|
|
3
2
|
import { resolveUnixEpochUnit, toUnixEpoch, unixEpochToInstant, } from "../../internal/unixEpochValue.js";
|
|
4
3
|
import { isValidDateTimeDurationUnit } from "../../plain/validate/index.js";
|
|
5
4
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
@@ -10,6 +9,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
10
9
|
* - Validates duration units and values.
|
|
11
10
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
12
11
|
* - Returns null for invalid input.
|
|
12
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
13
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
14
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
15
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
16
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
17
|
+
* such limit.
|
|
13
18
|
*
|
|
14
19
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
15
20
|
* @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to add
|
|
@@ -22,6 +27,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
22
27
|
* @example addUnix(1.5, { days: 1 }) // null (not an integer epoch)
|
|
23
28
|
* @example addUnix("1706659200000", { days: 1 }) // 1706745600000 (digit string)
|
|
24
29
|
* @example addUnix(1706659200000, { days: 1 }, { timeZone: "Mars/Olympus" }) // null (unknown zone)
|
|
30
|
+
* @example addUnix(45870000, { days: 1 }, { timeZone: "-00:44:30" }) // 132270000 (a stored offset with seconds)
|
|
25
31
|
*/
|
|
26
32
|
export function addUnix(value, units, options) {
|
|
27
33
|
try {
|
|
@@ -29,15 +35,12 @@ export function addUnix(value, units, options) {
|
|
|
29
35
|
return null;
|
|
30
36
|
}
|
|
31
37
|
const epochUnit = resolveUnixEpochUnit(options?.epochUnit);
|
|
32
|
-
const
|
|
38
|
+
const frame = normalizeZoneFrame(options?.timeZone);
|
|
33
39
|
const overflow = resolveOverflow(options?.overflow);
|
|
34
|
-
if (
|
|
40
|
+
if (frame === null || epochUnit === null)
|
|
35
41
|
return null;
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
Object.keys(units).every(isValidDateTimeDurationUnit);
|
|
39
|
-
const validAmounts = validUnits && Object.values(units).every(isValidAmount);
|
|
40
|
-
if (!validUnits || !validAmounts) {
|
|
42
|
+
const amounts = readDurationUnits(units, isValidDateTimeDurationUnit);
|
|
43
|
+
if (amounts === null) {
|
|
41
44
|
return null;
|
|
42
45
|
}
|
|
43
46
|
const instant = unixEpochToInstant(value, epochUnit);
|
|
@@ -45,8 +48,8 @@ export function addUnix(value, units, options) {
|
|
|
45
48
|
return null;
|
|
46
49
|
}
|
|
47
50
|
try {
|
|
48
|
-
const zdt = instant
|
|
49
|
-
return toUnixEpoch(addToZoned(zdt,
|
|
51
|
+
const zdt = frameZoned(instant, frame);
|
|
52
|
+
return toUnixEpoch(frameInstant(addToZoned(zdt, amounts, { overflow }), frame), epochUnit);
|
|
50
53
|
}
|
|
51
54
|
catch {
|
|
52
55
|
return null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import type { DateTimeDurationUnit, RoundingOptions } from "../../types/index.js";
|
|
3
3
|
import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
4
4
|
/**
|
|
@@ -35,6 +35,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
35
35
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
36
36
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal; a record result
|
|
37
37
|
* keeps the plural keys.
|
|
38
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
39
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
40
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
41
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
42
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
43
|
+
* such limit.
|
|
38
44
|
*
|
|
39
45
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
40
46
|
* @param value2 second Unix epoch, in the same form and unit
|
|
@@ -58,8 +64,10 @@ export declare function diffUnix(value1: number | string, value2: number | strin
|
|
|
58
64
|
*/
|
|
59
65
|
epochUnit?: UnixUnit;
|
|
60
66
|
/**
|
|
61
|
-
* The time zone calendar units are measured in: an IANA name, a UTC offset
|
|
62
|
-
*
|
|
67
|
+
* The time zone calendar units are measured in: an IANA name, a UTC offset (a time zone
|
|
68
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
69
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
70
|
+
* `null`.
|
|
63
71
|
*
|
|
64
72
|
* @defaultValue `"UTC"`
|
|
65
73
|
*/
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { addToZoned, resolveDurationUnit, zonedUntil } from "../../internal/index.js";
|
|
1
|
+
import { addToZoned, frameZoned, normalizeZoneFrame, resolveDurationUnit, zonedUntil, } from "../../internal/index.js";
|
|
2
2
|
import { differenceRecord } from "../../internal/differenceRecord.js";
|
|
3
|
-
import { normalizeTimeZone } from "../../internal/normalizeTimeZone.js";
|
|
4
3
|
import { resolveUnixEpochUnit, unixEpochToInstant, } from "../../internal/unixEpochValue.js";
|
|
5
4
|
import { getLargestDateTimeDurationUnit } from "../../plain/calculate/getLargestDateTimeDurationUnit.js";
|
|
6
5
|
import { isValidDateTimeDurationUnit } from "../../plain/validate/index.js";
|
|
@@ -39,6 +38,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
39
38
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
40
39
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal; a record result
|
|
41
40
|
* keeps the plural keys.
|
|
41
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
42
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
43
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
44
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
45
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
46
|
+
* such limit.
|
|
42
47
|
*
|
|
43
48
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
44
49
|
* @param value2 second Unix epoch, in the same form and unit
|
|
@@ -60,8 +65,8 @@ export function diffUnix(value1, value2, units, options) {
|
|
|
60
65
|
return null;
|
|
61
66
|
}
|
|
62
67
|
const epochUnit = resolveUnixEpochUnit(options?.epochUnit);
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
68
|
+
const frame = normalizeZoneFrame(options?.timeZone);
|
|
69
|
+
if (frame === null || epochUnit === null)
|
|
65
70
|
return null;
|
|
66
71
|
const requested = Array.isArray(units) ? units : [units];
|
|
67
72
|
const plurals = requested.map((unit) => typeof unit === "string" ? resolveDurationUnit(unit) : "");
|
|
@@ -77,7 +82,7 @@ export function diffUnix(value1, value2, units, options) {
|
|
|
77
82
|
if (largestUnit === "")
|
|
78
83
|
return null;
|
|
79
84
|
try {
|
|
80
|
-
const duration = zonedUntil(instant1
|
|
85
|
+
const duration = zonedUntil(frameZoned(instant1, frame), frameZoned(instant2, frame), {
|
|
81
86
|
largestUnit,
|
|
82
87
|
smallestUnit: options?.smallestUnit,
|
|
83
88
|
roundingIncrement: options?.roundingIncrement,
|
|
@@ -87,7 +92,7 @@ export function diffUnix(value1, value2, units, options) {
|
|
|
87
92
|
return duration[plurals[0]] ?? 0;
|
|
88
93
|
}
|
|
89
94
|
// An unlisted unit between two listed units is carried into the next smaller listed unit.
|
|
90
|
-
const start = instant1
|
|
95
|
+
const start = frameZoned(instant1, frame);
|
|
91
96
|
// Record keys are the plural names, as in every other diff family.
|
|
92
97
|
return differenceRecord(start, duration, plurals, {
|
|
93
98
|
add: (from, amount) => addToZoned(from, amount),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import type { DateTimeDurationUnit, DurationStringOptions, RoundingOptions } from "../../types/index.js";
|
|
3
3
|
import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
4
4
|
/**
|
|
@@ -24,6 +24,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
24
24
|
* different Temporal types.
|
|
25
25
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
26
26
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal.
|
|
27
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
28
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
29
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
30
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
31
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `""`. An offset to the minute has no
|
|
32
|
+
* such limit.
|
|
27
33
|
*
|
|
28
34
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
29
35
|
* @param value2 second Unix epoch, in the same form and unit
|
|
@@ -46,8 +52,10 @@ export declare function diffUnixAsDuration(value1: number | string, value2: numb
|
|
|
46
52
|
*/
|
|
47
53
|
epochUnit?: UnixUnit;
|
|
48
54
|
/**
|
|
49
|
-
* The time zone calendar units are measured in: an IANA name, a UTC offset
|
|
50
|
-
*
|
|
55
|
+
* The time zone calendar units are measured in: an IANA name, a UTC offset (a time zone
|
|
56
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
57
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
58
|
+
* `""`.
|
|
51
59
|
*
|
|
52
60
|
* @defaultValue `"UTC"`
|
|
53
61
|
*/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { durationUntilString, resolveDurationUnit } from "../../internal/index.js";
|
|
2
|
-
import { normalizeTimeZone } from "../../internal/normalizeTimeZone.js";
|
|
1
|
+
import { durationUntilString, frameZoned, normalizeZoneFrame, resolveDurationUnit, } from "../../internal/index.js";
|
|
3
2
|
import { resolveUnixEpochUnit, unixEpochToInstant, } from "../../internal/unixEpochValue.js";
|
|
4
3
|
import { isValidDateTimeDurationUnit } from "../../plain/validate/index.js";
|
|
5
4
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
@@ -26,6 +25,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
26
25
|
* different Temporal types.
|
|
27
26
|
* - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
|
|
28
27
|
* - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal.
|
|
28
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
29
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
30
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
31
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
32
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `""`. An offset to the minute has no
|
|
33
|
+
* such limit.
|
|
29
34
|
*
|
|
30
35
|
* @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
31
36
|
* @param value2 second Unix epoch, in the same form and unit
|
|
@@ -46,8 +51,8 @@ export function diffUnixAsDuration(value1, value2, unit, options) {
|
|
|
46
51
|
return "";
|
|
47
52
|
}
|
|
48
53
|
const epochUnit = resolveUnixEpochUnit(options?.epochUnit);
|
|
49
|
-
const
|
|
50
|
-
if (
|
|
54
|
+
const frame = normalizeZoneFrame(options?.timeZone);
|
|
55
|
+
if (frame === null || epochUnit === null)
|
|
51
56
|
return "";
|
|
52
57
|
const largestUnit = typeof unit === "string" ? resolveDurationUnit(unit) : unit;
|
|
53
58
|
if (!isValidDateTimeDurationUnit(largestUnit)) {
|
|
@@ -59,7 +64,7 @@ export function diffUnixAsDuration(value1, value2, unit, options) {
|
|
|
59
64
|
return "";
|
|
60
65
|
}
|
|
61
66
|
try {
|
|
62
|
-
return durationUntilString(instant1
|
|
67
|
+
return durationUntilString(frameZoned(instant1, frame), frameZoned(instant2, frame), largestUnit, options);
|
|
63
68
|
}
|
|
64
69
|
catch {
|
|
65
70
|
return "";
|
|
@@ -9,6 +9,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
9
9
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
10
10
|
* - Returns null for invalid input.
|
|
11
11
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
12
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
13
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
14
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
15
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
16
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
17
|
+
* such limit.
|
|
12
18
|
*
|
|
13
19
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
14
20
|
* @param options optional: how `value` is read and the zone the quarter is found in
|
|
@@ -28,8 +34,10 @@ export declare function endOfQuarterForUnix(value: number | string, options?: {
|
|
|
28
34
|
*/
|
|
29
35
|
epochUnit?: UnixUnit;
|
|
30
36
|
/**
|
|
31
|
-
* The time zone the unit boundaries are found in: an IANA name, a UTC offset
|
|
32
|
-
*
|
|
37
|
+
* The time zone the unit boundaries are found in: an IANA name, a UTC offset (a time zone
|
|
38
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
39
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
40
|
+
* `null`.
|
|
33
41
|
*
|
|
34
42
|
* @defaultValue `"UTC"`
|
|
35
43
|
*/
|
|
@@ -10,6 +10,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
10
10
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
11
11
|
* - Returns null for invalid input.
|
|
12
12
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
13
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
14
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
15
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
16
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
17
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
18
|
+
* such limit.
|
|
13
19
|
*
|
|
14
20
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
15
21
|
* @param options optional: how `value` is read and the zone the quarter is found in
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the end of the specified unit for a Unix timestamp.
|
|
@@ -10,6 +10,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
10
10
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
11
11
|
* - Returns null for invalid input.
|
|
12
12
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
13
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
14
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
15
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
16
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
17
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
18
|
+
* such limit.
|
|
13
19
|
*
|
|
14
20
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
15
21
|
* @param unit Temporal.DateUnit | Temporal.TimeUnit to specify the end
|
|
@@ -20,10 +26,11 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
20
26
|
* @example endOfUnix(1706659200000, "month", { timeZone: "UTC" }) // 1706745599999
|
|
21
27
|
* @example endOfUnix(1706659200, "day", { epochUnit: "seconds", timeZone: "UTC" }) // 1706745599
|
|
22
28
|
* @example endOfUnix(-86400000, "year", { timeZone: "UTC" }) // -1 (end of 1969)
|
|
23
|
-
* @example endOfUnix(
|
|
29
|
+
* @example endOfUnix(1729993500000, "hour", { timeZone: "Europe/London" }) // 1729994399999 (1729993500000 is the second, repeated 1:45am of the Oct 27 2024 fall-back; its hour ends at the second 1:59:59.999)
|
|
24
30
|
* @example endOfUnix(1706780800, "days", { epochUnit: "second" }) // 1706831999 (plural unit, singular epochUnit, UTC by default)
|
|
25
31
|
* @example endOfUnix(1706659200000, "quarter") // null (use endOfQuarterForUnix)
|
|
26
32
|
* @example endOfUnix(NaN, "day") // null
|
|
33
|
+
* @example endOfUnix(45870000, "day", { timeZone: "-00:44:30" }) // 89069999 (a stored offset with seconds)
|
|
27
34
|
*/
|
|
28
35
|
export declare function endOfUnix(value: number | string, unit: Temporal.DateTimeUnit | Temporal.PluralUnit<Temporal.DateTimeUnit>, options?: {
|
|
29
36
|
/**
|
|
@@ -34,8 +41,10 @@ export declare function endOfUnix(value: number | string, unit: Temporal.DateTim
|
|
|
34
41
|
*/
|
|
35
42
|
epochUnit?: UnixUnit;
|
|
36
43
|
/**
|
|
37
|
-
* The time zone the unit boundaries are found in: an IANA name, a UTC offset
|
|
38
|
-
*
|
|
44
|
+
* The time zone the unit boundaries are found in: an IANA name, a UTC offset (a time zone
|
|
45
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
46
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
47
|
+
* `null`.
|
|
39
48
|
*
|
|
40
49
|
* @defaultValue `"UTC"`
|
|
41
50
|
*/
|
|
@@ -12,6 +12,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
12
12
|
* takes neither. Those ignored options were removed in 1.16.0.
|
|
13
13
|
* - Returns null for invalid input.
|
|
14
14
|
* - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
|
|
15
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
16
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
17
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
18
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
19
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
20
|
+
* such limit.
|
|
15
21
|
*
|
|
16
22
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
17
23
|
* @param unit Temporal.DateUnit | Temporal.TimeUnit to specify the end
|
|
@@ -22,10 +28,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
22
28
|
* @example endOfUnix(1706659200000, "month", { timeZone: "UTC" }) // 1706745599999
|
|
23
29
|
* @example endOfUnix(1706659200, "day", { epochUnit: "seconds", timeZone: "UTC" }) // 1706745599
|
|
24
30
|
* @example endOfUnix(-86400000, "year", { timeZone: "UTC" }) // -1 (end of 1969)
|
|
25
|
-
* @example endOfUnix(
|
|
31
|
+
* @example endOfUnix(1729993500000, "hour", { timeZone: "Europe/London" }) // 1729994399999 (1729993500000 is the second, repeated 1:45am of the Oct 27 2024 fall-back; its hour ends at the second 1:59:59.999)
|
|
26
32
|
* @example endOfUnix(1706780800, "days", { epochUnit: "second" }) // 1706831999 (plural unit, singular epochUnit, UTC by default)
|
|
27
33
|
* @example endOfUnix(1706659200000, "quarter") // null (use endOfQuarterForUnix)
|
|
28
34
|
* @example endOfUnix(NaN, "day") // null
|
|
35
|
+
* @example endOfUnix(45870000, "day", { timeZone: "-00:44:30" }) // 89069999 (a stored offset with seconds)
|
|
29
36
|
*/
|
|
30
37
|
export function endOfUnix(value, unit, options) {
|
|
31
38
|
try {
|
|
@@ -28,8 +28,9 @@ export declare function isBetweenUnix(value: number | string, start: number | st
|
|
|
28
28
|
epochUnit?: UnixUnit;
|
|
29
29
|
/**
|
|
30
30
|
* A time zone that is validated only: the comparison is on exact instants, so the zone never
|
|
31
|
-
* changes the result. It is an IANA name, a UTC offset
|
|
32
|
-
*
|
|
31
|
+
* changes the result. It is an IANA name, a UTC offset (a time zone identifier such as
|
|
32
|
+
* `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what `getTimeZoneOffset`
|
|
33
|
+
* returns), or `"local"` for the system time zone. An unknown zone returns `false`.
|
|
33
34
|
*
|
|
34
35
|
* @defaultValue `"UTC"`
|
|
35
36
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
|
-
import { Temporal } from "
|
|
3
|
-
import {
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
|
+
import { normalizeZoneFrame } from "../../internal/zoneFrame.js";
|
|
4
4
|
import { resolveUnixEpochUnit, unixEpochToInstant, } from "../../internal/unixEpochValue.js";
|
|
5
5
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
6
6
|
import { optionOrDefault } from "../../internal/optionOrDefault.js";
|
|
@@ -29,14 +29,14 @@ export function isBetweenUnix(value, start, end, options) {
|
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
31
|
const epochUnit = resolveUnixEpochUnit(options?.epochUnit);
|
|
32
|
-
const
|
|
32
|
+
const frame = normalizeZoneFrame(options?.timeZone);
|
|
33
33
|
// Only an omitted flag takes the `true` default. An explicit `null` is a value, and every
|
|
34
34
|
// reading of it gives `false`: ECMA-402 reads a boolean option through ToBoolean (null → false),
|
|
35
35
|
// and the house rule rejects an invalid member outright — neither yields `true`. So `null`
|
|
36
36
|
// behaves here exactly as `0` and `""` already do.
|
|
37
37
|
const inclusiveStart = optionOrDefault(options?.inclusiveStart, true);
|
|
38
38
|
const inclusiveEnd = optionOrDefault(options?.inclusiveEnd, true);
|
|
39
|
-
if (
|
|
39
|
+
if (frame === null || epochUnit === null)
|
|
40
40
|
return false;
|
|
41
41
|
const instant = unixEpochToInstant(value, epochUnit);
|
|
42
42
|
const startInstant = unixEpochToInstant(start, epochUnit);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
3
3
|
/**
|
|
4
4
|
* Round a Unix timestamp to the specified unit.
|
|
@@ -9,12 +9,20 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
9
9
|
* GetTemporalUnitValuedOption accepts both (§13.17).
|
|
10
10
|
* - Date units ("year", "month", "week", in either form) return null: Temporal's
|
|
11
11
|
* ZonedDateTime.prototype.round accepts no unit larger than "day".
|
|
12
|
-
* - Follows TC39 `ZonedDateTime.round
|
|
13
|
-
* zone
|
|
14
|
-
* 1727532300000 (03:50+13:45) truncated to the hour gives 1727532900000,
|
|
15
|
-
*
|
|
12
|
+
* - Follows TC39 `ZonedDateTime.round`. Below the day it rounds the wall clock and re-resolves it
|
|
13
|
+
* in the zone, so across a transition the result can land after the input — in
|
|
14
|
+
* `Pacific/Chatham`, 1727532300000 (03:50+13:45) truncated to the hour gives 1727532900000,
|
|
15
|
+
* 15 minutes later. To the day it rounds between the start of the input's date and the start of
|
|
16
|
+
* the next, so `"floor"` and `"trunc"` never leave the input's date, even when a clock change
|
|
17
|
+
* makes that date start twice. Use `floorToZone` for a boundary that never exceeds the instant.
|
|
16
18
|
* - `value` is a safe integer or a digit string (`"1706661000000"`); anything else returns null.
|
|
17
19
|
* - Returns null for invalid input.
|
|
20
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
21
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
22
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
23
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
24
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `null`. An offset to the minute has no
|
|
25
|
+
* such limit.
|
|
18
26
|
*
|
|
19
27
|
* @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
|
|
20
28
|
* @param options rounding settings: the unit to round to, how to round, and how `value` is read
|
|
@@ -60,8 +68,10 @@ export declare function roundUnix(value: number | string, options: {
|
|
|
60
68
|
*/
|
|
61
69
|
epochUnit?: UnixUnit;
|
|
62
70
|
/**
|
|
63
|
-
* The time zone the wall clock is rounded in: an IANA name, a UTC offset
|
|
64
|
-
*
|
|
71
|
+
* The time zone the wall clock is rounded in: an IANA name, a UTC offset (a time zone
|
|
72
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
73
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
74
|
+
* `null`.
|
|
65
75
|
*
|
|
66
76
|
* @defaultValue `"UTC"`
|
|
67
77
|
*/
|