@northguild/gmt 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/dist/calendar/business/businessDaysBetween.d.ts +2 -2
- package/dist/calendar/business/businessDaysBetween.js +11 -35
- package/dist/calendar/business/mergeCalendars.d.ts +1 -1
- package/dist/calendar/business/mergeCalendars.js +8 -9
- package/dist/calendar/business/nextBusinessDay.d.ts +2 -2
- package/dist/calendar/business/nextBusinessDay.js +2 -2
- package/dist/calendar/business/previousBusinessDay.d.ts +2 -2
- package/dist/calendar/business/previousBusinessDay.js +2 -2
- package/dist/calendar/business/rollDate.d.ts +3 -3
- package/dist/calendar/business/rollDate.js +10 -43
- package/dist/calendar/calculate/bucketRange.d.ts +9 -9
- package/dist/calendar/calculate/bucketRange.js +9 -9
- package/dist/calendar/calculate/floorToZone.d.ts +2 -2
- package/dist/calendar/calculate/floorToZone.js +1 -1
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +50 -40
- package/dist/calendar/calculate/getFiscalPeriod.js +78 -57
- package/dist/calendar/calculate/getQuarter.d.ts +26 -21
- package/dist/calendar/calculate/getQuarter.js +48 -19
- package/dist/calendar/hours/addOperatingTime.d.ts +3 -3
- package/dist/calendar/hours/addOperatingTime.js +3 -3
- package/dist/calendar/hours/isOpenAt.d.ts +3 -3
- package/dist/calendar/hours/isOpenAt.js +3 -3
- package/dist/calendar/hours/nextCloseAt.d.ts +2 -2
- package/dist/calendar/hours/nextCloseAt.js +2 -2
- package/dist/calendar/hours/nextOpenAt.d.ts +3 -3
- package/dist/calendar/hours/nextOpenAt.js +3 -3
- package/dist/calendar/hours/operatingIntervals.d.ts +2 -2
- package/dist/calendar/hours/operatingIntervals.js +4 -6
- package/dist/calendar/hours/operatingTimeBetween.d.ts +3 -3
- package/dist/calendar/hours/operatingTimeBetween.js +6 -8
- package/dist/calendar/hours/recurringWindows.d.ts +5 -5
- package/dist/calendar/hours/recurringWindows.js +9 -10
- package/dist/calendar/index.d.ts +1 -1
- package/dist/calendar/index.js +2 -2
- package/dist/calendar/validate/index.d.ts +3 -0
- package/dist/calendar/validate/index.js +3 -0
- package/dist/calendar/validate/isValidFiscalCalendar.d.ts +23 -0
- package/dist/calendar/validate/isValidFiscalCalendar.js +44 -0
- package/dist/calendar/validate/isValidFiscalExtraWeek.d.ts +19 -0
- package/dist/calendar/validate/isValidFiscalExtraWeek.js +23 -0
- package/dist/calendar/validate/isValidFiscalPattern.d.ts +7 -7
- package/dist/calendar/validate/isValidFiscalPattern.js +7 -7
- package/dist/calendar/validate/isValidFiscalYearLabel.d.ts +20 -0
- package/dist/calendar/validate/isValidFiscalYearLabel.js +24 -0
- package/dist/calendar/validate/isValidRollConvention.js +2 -10
- package/dist/calendar/validate/isValidZoneBucketUnit.d.ts +1 -1
- package/dist/duration/calculate/absDuration.js +1 -1
- package/dist/duration/calculate/addDuration.js +1 -1
- package/dist/duration/calculate/durationFromUnits.js +1 -1
- package/dist/duration/calculate/getDurationSign.js +1 -1
- package/dist/duration/calculate/getDurationUnit.d.ts +1 -1
- package/dist/duration/calculate/getDurationUnit.js +1 -1
- package/dist/duration/calculate/negateDuration.js +1 -1
- package/dist/duration/calculate/subtractDuration.js +1 -1
- package/dist/duration/calculate/totalDuration.d.ts +4 -4
- package/dist/duration/calculate/totalDuration.js +4 -4
- package/dist/duration/calculate/totalUnits.js +1 -1
- package/dist/duration/compare/compareDurations.d.ts +3 -3
- package/dist/duration/compare/compareDurations.js +3 -3
- package/dist/duration/format/formatDuration.d.ts +9 -9
- package/dist/duration/format/formatDuration.js +14 -13
- package/dist/duration/index.d.ts +1 -1
- package/dist/duration/index.js +2 -2
- package/dist/duration/normalize/normalizeDuration.d.ts +3 -3
- package/dist/duration/normalize/normalizeDuration.js +3 -3
- package/dist/duration/parse/parseDuration.d.ts +1 -1
- package/dist/duration/parse/parseDuration.js +1 -1
- package/dist/duration/validate/isValidDuration.js +2 -11
- package/dist/gnss/convert/gnssToUtc.d.ts +24 -0
- package/dist/gnss/convert/gnssToUtc.js +39 -0
- package/dist/gnss/convert/gnssWeekToUtc.d.ts +53 -0
- package/dist/gnss/convert/gnssWeekToUtc.js +80 -0
- package/dist/gnss/convert/index.d.ts +6 -0
- package/dist/gnss/convert/index.js +6 -0
- package/dist/gnss/convert/rinexWeekToUtc.d.ts +34 -0
- package/dist/gnss/convert/rinexWeekToUtc.js +57 -0
- package/dist/gnss/convert/utcToGnss.d.ts +38 -0
- package/dist/gnss/convert/utcToGnss.js +53 -0
- package/dist/gnss/convert/utcToGnssWeek.d.ts +24 -0
- package/dist/gnss/convert/utcToGnssWeek.js +40 -0
- package/dist/gnss/convert/utcToRinexWeek.d.ts +19 -0
- package/dist/gnss/convert/utcToRinexWeek.js +45 -0
- package/dist/gnss/index.d.ts +2 -0
- package/dist/gnss/index.js +3 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/instant/convert/classifyLocal.d.ts +4 -4
- package/dist/instant/convert/classifyLocal.js +8 -19
- package/dist/instant/convert/fromOffsetInstant.d.ts +4 -4
- package/dist/instant/convert/fromOffsetInstant.js +5 -5
- package/dist/instant/convert/resolveLocal.d.ts +9 -9
- package/dist/instant/convert/resolveLocal.js +9 -9
- package/dist/instant/convert/toOffsetInstant.d.ts +11 -11
- package/dist/instant/convert/toOffsetInstant.js +11 -28
- package/dist/instant/index.d.ts +1 -1
- package/dist/instant/index.js +2 -2
- package/dist/instant/validate/isValidUtcOffset.d.ts +1 -1
- package/dist/instant/validate/isValidUtcOffset.js +1 -1
- package/dist/intermodal/calculate/billingTimeline.js +1 -1
- package/dist/intermodal/calculate/chargeableDays.d.ts +12 -12
- package/dist/intermodal/calculate/chargeableDays.js +17 -16
- package/dist/intermodal/calculate/demurrageClock.d.ts +1 -1
- package/dist/intermodal/calculate/demurrageClock.js +2 -2
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +10 -10
- package/dist/intermodal/calculate/freeTimeExpiry.js +19 -15
- package/dist/intermodal/calculate/multimodalETA.d.ts +1 -1
- package/dist/intermodal/calculate/multimodalETA.js +2 -2
- package/dist/intermodal/format/bolTimestamp.d.ts +6 -6
- package/dist/intermodal/format/bolTimestamp.js +6 -6
- package/dist/intermodal/format/formatEpcisEvent.d.ts +1 -1
- package/dist/intermodal/format/formatEpcisEvent.js +2 -2
- package/dist/intermodal/index.d.ts +1 -1
- package/dist/intermodal/index.js +2 -2
- package/dist/intermodal/parse/parseEpcisEvent.js +1 -1
- package/dist/intermodal/validate/isValidEpcisEventTime.js +1 -1
- package/dist/internal/advanceToWeekday.d.ts +1 -1
- package/dist/internal/businessCalendar.d.ts +28 -12
- package/dist/internal/businessCalendar.js +129 -118
- package/dist/internal/businessDayValues.js +1 -1
- package/dist/internal/calendarDatePairPolicy.d.ts +1 -1
- package/dist/internal/calendarDateString.d.ts +1 -1
- package/dist/internal/calendarDateString.js +1 -1
- package/dist/internal/calendarSystemIds.js +1 -1
- package/dist/internal/calendarValueOfDate.js +1 -1
- package/dist/internal/calendarZonedPairPolicy.d.ts +1 -1
- package/dist/internal/calendarZonedString.d.ts +3 -3
- package/dist/internal/calendarZonedString.js +4 -4
- package/dist/internal/compareUnixEpochs.js +1 -1
- package/dist/internal/cutoffAtResolved.d.ts +62 -0
- package/dist/internal/cutoffAtResolved.js +162 -0
- package/dist/internal/cycleFieldValue.d.ts +0 -2
- package/dist/internal/cycleFieldValue.js +0 -2
- package/dist/internal/dateTimeUnitHelpers.d.ts +1 -1
- package/dist/internal/dateUnitHelpers.d.ts +1 -1
- package/dist/internal/daylightTime.d.ts +1 -1
- package/dist/internal/differenceRecord.d.ts +1 -1
- package/dist/internal/durationUntilString.d.ts +1 -1
- package/dist/internal/durationUntilString.js +1 -1
- package/dist/internal/dutyEngine.d.ts +6 -6
- package/dist/internal/dutyEngine.js +206 -197
- package/dist/internal/dutyPeriods.d.ts +1 -1
- package/dist/internal/dutyPeriods.js +8 -2
- package/dist/internal/dutyRules.d.ts +2 -1
- package/dist/internal/dutyRules.js +1 -1
- package/dist/internal/dutyRunIndex.d.ts +150 -0
- package/dist/internal/dutyRunIndex.js +398 -0
- package/dist/internal/earlierOccurrence.d.ts +41 -0
- package/dist/internal/earlierOccurrence.js +57 -0
- package/dist/internal/ediDateTimeFields.js +1 -1
- package/dist/internal/ediDateTimeWriter.js +1 -1
- package/dist/internal/englishCalendarNames.d.ts +1 -1
- package/dist/internal/epochDay.d.ts +41 -0
- package/dist/internal/epochDay.js +129 -0
- package/dist/internal/exactDuration.js +1 -1
- package/dist/internal/exactMoment.d.ts +4 -4
- package/dist/internal/exactMoment.js +5 -5
- package/dist/internal/fiscalCalendar.d.ts +41 -7
- package/dist/internal/fiscalCalendar.js +77 -9
- package/dist/internal/foreignEpochs.d.ts +5 -0
- package/dist/internal/foreignEpochs.js +5 -0
- package/dist/internal/formatCalendarDays.d.ts +4 -4
- package/dist/internal/formatCalendarDays.js +6 -5
- package/dist/internal/formatDateInCalendar.d.ts +1 -1
- package/dist/internal/formatRelativeDuration.d.ts +7 -7
- package/dist/internal/formatRelativeDuration.js +8 -7
- package/dist/internal/formatterCache.d.ts +40 -0
- package/dist/internal/formatterCache.js +181 -0
- package/dist/internal/freeTimeLedger.d.ts +31 -43
- package/dist/internal/freeTimeLedger.js +322 -30
- package/dist/internal/getLocaleWeekYearBounds.d.ts +1 -1
- package/dist/internal/gnssTimeScales.d.ts +53 -0
- package/dist/internal/gnssTimeScales.js +128 -0
- package/dist/internal/gnssWeek.d.ts +92 -0
- package/dist/internal/gnssWeek.js +212 -0
- package/dist/internal/halfOpenIntervals.d.ts +1 -1
- package/dist/internal/halfOpenIntervals.js +1 -1
- package/dist/internal/hasCalendarAnnotation.d.ts +3 -3
- package/dist/internal/hasCalendarAnnotation.js +3 -3
- package/dist/internal/hourDurationString.js +1 -1
- package/dist/internal/httpDateFields.js +1 -1
- package/dist/internal/index.d.ts +9 -3
- package/dist/internal/index.js +9 -3
- package/dist/internal/inputChecks.d.ts +53 -0
- package/dist/internal/inputChecks.js +132 -0
- package/dist/internal/instantFormatOptions.d.ts +1 -1
- package/dist/internal/instantFormatOptions.js +4 -8
- package/dist/internal/instantIntervalText.js +1 -1
- package/dist/internal/instantNanoseconds.d.ts +2 -2
- package/dist/internal/instantNanoseconds.js +2 -2
- package/dist/internal/intervalCountHelpers.d.ts +1 -1
- package/dist/internal/isoStringBody.d.ts +2 -2
- package/dist/internal/isoStringBody.js +2 -2
- package/dist/internal/joinDateTimeConnector.js +3 -2
- package/dist/internal/leapSeconds.d.ts +63 -0
- package/dist/internal/leapSeconds.js +162 -0
- package/dist/internal/localeWeekInfo.d.ts +1 -1
- package/dist/internal/localeWeekInfo.js +1 -1
- package/dist/internal/monthGridWeekRow.d.ts +1 -1
- package/dist/internal/normalizeDateTime.d.ts +2 -1
- package/dist/internal/normalizeDateTime.js +3 -2
- package/dist/internal/normalizeTimeZone.d.ts +1 -1
- package/dist/internal/normalizeTimeZone.js +1 -1
- package/dist/internal/offsetTimeline.d.ts +56 -0
- package/dist/internal/offsetTimeline.js +166 -0
- package/dist/internal/operatingSchedule.d.ts +28 -32
- package/dist/internal/operatingSchedule.js +538 -176
- package/dist/internal/patternToken.js +10 -7
- package/dist/internal/plainDateAdd.d.ts +1 -1
- package/dist/internal/plainDateAdd.js +1 -1
- package/dist/internal/plainDateUntil.d.ts +1 -1
- package/dist/internal/plainDateUntil.js +1 -1
- package/dist/internal/readSetFields.js +1 -1
- package/dist/internal/resolveDurationRelativeTo.d.ts +1 -1
- package/dist/internal/resolveDurationRelativeTo.js +1 -1
- package/dist/internal/resolveLocale.d.ts +2 -2
- package/dist/internal/resolveLocale.js +2 -2
- package/dist/internal/resolveManualRoundingOptions.d.ts +1 -1
- package/dist/internal/resolveUnixIntervalPair.d.ts +1 -1
- package/dist/internal/rinexWeek.d.ts +22 -0
- package/dist/internal/rinexWeek.js +30 -0
- package/dist/internal/rollBusinessDate.d.ts +15 -0
- package/dist/internal/rollBusinessDate.js +46 -0
- package/dist/internal/splitStep.d.ts +1 -1
- package/dist/internal/splitStep.js +1 -1
- package/dist/internal/startOrEndOfUnix.d.ts +1 -1
- package/dist/internal/startOrEndOfUtc.d.ts +1 -1
- package/dist/internal/startOrEndOfUtc.js +1 -1
- package/dist/internal/startOrEndOfZoned.d.ts +1 -1
- package/dist/internal/temporal.d.ts +5 -0
- package/dist/internal/temporal.js +5 -0
- package/dist/internal/temporalCompat/calendarDateArithmetic.d.ts +1 -1
- package/dist/internal/temporalCompat/calendarDateFromFields.d.ts +1 -1
- package/dist/internal/temporalCompat/calendarDateFromFields.js +1 -1
- package/dist/internal/temporalCompat/calendarFields.d.ts +1 -1
- package/dist/internal/temporalCompat/capabilities.d.ts +27 -5
- package/dist/internal/temporalCompat/capabilities.js +28 -4
- package/dist/internal/temporalCompat/fieldSearch.d.ts +1 -1
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/fixedDay.d.ts +1 -1
- package/dist/internal/temporalCompat/fixedDay.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/largeMonthSpan.js +1 -1
- package/dist/internal/temporalCompat/nonIsoArithmetic.d.ts +1 -1
- package/dist/internal/temporalCompat/nonIsoArithmetic.js +1 -1
- package/dist/internal/temporalCompat/probeRepros.d.ts +35 -0
- package/dist/internal/temporalCompat/probeRepros.js +571 -0
- package/dist/internal/temporalCompat/readArithmeticModel.js +2 -2
- package/dist/internal/temporalCompat/repros.d.ts +3 -10
- package/dist/internal/temporalCompat/repros.js +13 -520
- package/dist/internal/timeScaleString.d.ts +47 -0
- package/dist/internal/timeScaleString.js +86 -0
- package/dist/internal/toInstantFromUtc.d.ts +1 -1
- package/dist/internal/toInstantFromUtc.js +1 -1
- package/dist/internal/unixEpochValue.d.ts +1 -1
- package/dist/internal/unixEpochValue.js +1 -1
- package/dist/internal/unixFormatReference.d.ts +1 -1
- package/dist/internal/unixFormatReference.js +1 -1
- package/dist/internal/unixWallClock.d.ts +1 -1
- package/dist/internal/utcOffsetString.d.ts +16 -0
- package/dist/internal/utcOffsetString.js +31 -1
- package/dist/internal/utcReading.d.ts +59 -0
- package/dist/internal/utcReading.js +113 -0
- package/dist/internal/utcWallClock.d.ts +1 -1
- package/dist/internal/utcWallClock.js +1 -1
- package/dist/internal/validatedZones.d.ts +20 -0
- package/dist/internal/validatedZones.js +33 -0
- package/dist/internal/wallClockAtOffset.d.ts +1 -1
- package/dist/internal/yearWindowStart.js +1 -1
- package/dist/internal/zoneBucketCap.d.ts +1 -1
- package/dist/internal/zoneBucketCap.js +2 -2
- package/dist/internal/zoneFrame.d.ts +4 -4
- package/dist/internal/zoneFrame.js +4 -4
- package/dist/internal/zonedBucket.d.ts +2 -2
- package/dist/internal/zonedBucket.js +92 -21
- package/dist/internal/zonedFormatReference.d.ts +1 -1
- package/dist/internal/zonedFormatReference.js +1 -1
- package/dist/internal/zonedLocalDates.d.ts +1 -1
- package/dist/internal/zonedLocalDates.js +22 -19
- package/dist/internal/zonedNowUnitValue.d.ts +1 -1
- package/dist/internal/zonedNowUnitValue.js +1 -1
- package/dist/internal/zonedTransitionSearch.d.ts +2 -0
- package/dist/internal/zonedTransitionSearch.js +165 -16
- package/dist/internal/zonedWallClock.d.ts +15 -4
- package/dist/internal/zonedWallClock.js +34 -6
- package/dist/internal/zonedWallClockDifference.d.ts +1 -1
- package/dist/internal/zonedWallClockDifference.js +2 -2
- package/dist/internal/zonedWallClockOperations.d.ts +2 -2
- package/dist/internal/zonedWallClockOperations.js +51 -6
- package/dist/internal/zonelessCalendarDate.d.ts +1 -1
- package/dist/internal/zonelessCalendarDate.js +1 -1
- package/dist/interval/index.d.ts +1 -1
- package/dist/interval/index.js +2 -2
- package/dist/plain/calculate/addBusinessDays.d.ts +2 -2
- package/dist/plain/calculate/addBusinessDays.js +2 -2
- package/dist/plain/calculate/addDateTime.js +1 -1
- package/dist/plain/calculate/addTime.js +1 -1
- package/dist/plain/calculate/clampDate.js +1 -1
- package/dist/plain/calculate/closestDateTo.js +1 -1
- package/dist/plain/calculate/cycleDate.js +1 -1
- package/dist/plain/calculate/cycleDateTime.js +1 -1
- package/dist/plain/calculate/cycleTime.js +1 -1
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.js +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
- package/dist/plain/calculate/diffTime.d.ts +1 -1
- package/dist/plain/calculate/diffTime.js +1 -1
- package/dist/plain/calculate/endOfDate.d.ts +1 -1
- package/dist/plain/calculate/endOfDate.js +1 -1
- package/dist/plain/calculate/endOfDateTime.d.ts +1 -1
- package/dist/plain/calculate/endOfDateTime.js +1 -1
- package/dist/plain/calculate/endOfQuarterForDate.js +1 -1
- package/dist/plain/calculate/endOfQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/endOfTime.d.ts +1 -1
- package/dist/plain/calculate/endOfTime.js +1 -1
- package/dist/plain/calculate/getDayOfYear.js +1 -1
- package/dist/plain/calculate/getDaysInMonth.js +1 -1
- package/dist/plain/calculate/getDaysInYear.js +1 -1
- package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +1 -1
- package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +6 -6
- package/dist/plain/calculate/getLocaleDayOfWeek.js +7 -7
- package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +4 -4
- package/dist/plain/calculate/getLocaleEndOfWeek.js +5 -5
- package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +5 -5
- package/dist/plain/calculate/getLocaleStartOfWeek.js +6 -6
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +10 -10
- package/dist/plain/calculate/getLocaleWeekYear.js +11 -11
- package/dist/plain/calculate/getQuarterForDate.js +1 -1
- package/dist/plain/calculate/getQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/getWeekNumber.js +1 -1
- package/dist/plain/calculate/getWeekOfMonth.d.ts +10 -14
- package/dist/plain/calculate/getWeekOfMonth.js +11 -15
- package/dist/plain/calculate/getWeekYear.js +1 -1
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +7 -7
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +8 -8
- package/dist/plain/calculate/getWeeksInMonth.d.ts +8 -11
- package/dist/plain/calculate/getWeeksInMonth.js +9 -12
- package/dist/plain/calculate/getWeeksInYear.js +1 -1
- package/dist/plain/calculate/maxDate.js +1 -1
- package/dist/plain/calculate/maxDateTime.js +1 -1
- package/dist/plain/calculate/maxTime.js +1 -1
- package/dist/plain/calculate/minDate.js +1 -1
- package/dist/plain/calculate/minDateTime.js +1 -1
- package/dist/plain/calculate/minTime.js +1 -1
- package/dist/plain/calculate/nextWeekday.d.ts +14 -12
- package/dist/plain/calculate/nextWeekday.js +15 -13
- package/dist/plain/calculate/previousWeekday.d.ts +14 -12
- package/dist/plain/calculate/previousWeekday.js +15 -13
- package/dist/plain/calculate/roundDate.d.ts +1 -1
- package/dist/plain/calculate/roundDate.js +1 -1
- package/dist/plain/calculate/roundDateTime.d.ts +1 -1
- package/dist/plain/calculate/roundDateTime.js +1 -1
- package/dist/plain/calculate/roundTime.d.ts +1 -1
- package/dist/plain/calculate/roundTime.js +1 -1
- package/dist/plain/calculate/setDate.d.ts +1 -1
- package/dist/plain/calculate/setDate.js +1 -1
- package/dist/plain/calculate/setDateTime.d.ts +1 -1
- package/dist/plain/calculate/setDateTime.js +1 -1
- package/dist/plain/calculate/setTime.d.ts +1 -1
- package/dist/plain/calculate/setTime.js +1 -1
- package/dist/plain/calculate/sortDateTimes.js +1 -1
- package/dist/plain/calculate/sortDates.js +1 -1
- package/dist/plain/calculate/sortTimes.js +1 -1
- package/dist/plain/calculate/startOfDate.d.ts +1 -1
- package/dist/plain/calculate/startOfDate.js +1 -1
- package/dist/plain/calculate/startOfDateTime.d.ts +1 -1
- package/dist/plain/calculate/startOfDateTime.js +1 -1
- package/dist/plain/calculate/startOfQuarterForDate.js +1 -1
- package/dist/plain/calculate/startOfQuarterForDateTime.js +1 -1
- package/dist/plain/calculate/startOfTime.d.ts +1 -1
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractBusinessDays.d.ts +2 -2
- package/dist/plain/calculate/subtractBusinessDays.js +2 -2
- package/dist/plain/calculate/subtractDate.js +1 -1
- package/dist/plain/calculate/subtractDateTime.js +1 -1
- package/dist/plain/calculate/subtractTime.js +1 -1
- package/dist/plain/calculate/weekOfYearForDate.js +1 -1
- package/dist/plain/calculate/weekOfYearForDateTime.js +1 -1
- package/dist/plain/chop/chopDate.js +1 -1
- package/dist/plain/chop/chopMilliseconds.js +1 -1
- package/dist/plain/chop/chopSeconds.js +1 -1
- package/dist/plain/chop/chopTime.js +1 -1
- package/dist/plain/compare/areDateTimesEqual.js +1 -1
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +2 -4
- package/dist/plain/compare/areDateTimesEqualBy.js +2 -4
- package/dist/plain/compare/areDatesEqual.js +1 -1
- package/dist/plain/compare/areDatesEqualBy.d.ts +5 -5
- package/dist/plain/compare/areDatesEqualBy.js +5 -5
- package/dist/plain/compare/areTimesEqual.js +1 -1
- package/dist/plain/compare/isAfterDate.js +1 -1
- package/dist/plain/compare/isAfterDateTime.js +1 -1
- package/dist/plain/compare/isAfterTime.js +1 -1
- package/dist/plain/compare/isBeforeDate.js +1 -1
- package/dist/plain/compare/isBeforeDateTime.js +1 -1
- package/dist/plain/compare/isBeforeTime.js +1 -1
- package/dist/plain/compare/isBetweenDate.js +1 -1
- package/dist/plain/compare/isBetweenDateTime.js +1 -1
- package/dist/plain/compare/isBetweenTime.js +1 -1
- package/dist/plain/compare/isBusinessDay.d.ts +2 -2
- package/dist/plain/compare/isBusinessDay.js +3 -3
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +8 -6
- package/dist/plain/compare/isThisUnit.js +7 -5
- package/dist/plain/compare/isWeekend.d.ts +5 -5
- package/dist/plain/compare/isWeekend.js +6 -6
- package/dist/plain/format/formatCalendar.d.ts +3 -5
- package/dist/plain/format/formatCalendar.js +10 -9
- package/dist/plain/format/formatDate.d.ts +4 -4
- package/dist/plain/format/formatDate.js +8 -7
- package/dist/plain/format/formatDateRange.d.ts +4 -4
- package/dist/plain/format/formatDateRange.js +8 -7
- package/dist/plain/format/formatDateTime.d.ts +4 -4
- package/dist/plain/format/formatDateTime.js +8 -7
- package/dist/plain/format/formatDateTimeRange.d.ts +4 -4
- package/dist/plain/format/formatDateTimeRange.js +8 -7
- package/dist/plain/format/formatDateTimeToParts.d.ts +6 -6
- package/dist/plain/format/formatDateTimeToParts.js +10 -9
- package/dist/plain/format/formatDateToParts.d.ts +6 -6
- package/dist/plain/format/formatDateToParts.js +10 -9
- package/dist/plain/format/formatRelativeDate.d.ts +3 -3
- package/dist/plain/format/formatRelativeDate.js +4 -4
- package/dist/plain/format/formatRelativeDateTime.d.ts +3 -3
- package/dist/plain/format/formatRelativeDateTime.js +4 -4
- package/dist/plain/format/formatRelativeTime.d.ts +3 -3
- package/dist/plain/format/formatRelativeTime.js +4 -4
- package/dist/plain/format/formatSqlDateTime.js +1 -1
- package/dist/plain/format/formatTime.d.ts +4 -4
- package/dist/plain/format/formatTime.js +8 -7
- package/dist/plain/get/getDay.js +1 -1
- package/dist/plain/get/getDayOfWeek.js +1 -1
- package/dist/plain/get/getHour.js +1 -1
- package/dist/plain/get/getMicrosecond.js +1 -1
- package/dist/plain/get/getMillisecond.js +1 -1
- package/dist/plain/get/getMinute.js +1 -1
- package/dist/plain/get/getMonth.js +1 -1
- package/dist/plain/get/getNanosecond.js +1 -1
- package/dist/plain/get/getNow.js +1 -1
- package/dist/plain/get/getNowUnit.js +1 -1
- package/dist/plain/get/getSecond.js +1 -1
- package/dist/plain/get/getToday.js +1 -1
- package/dist/plain/get/getWeekOfYear.js +1 -1
- package/dist/plain/get/getYear.js +1 -1
- package/dist/plain/index.d.ts +1 -1
- package/dist/plain/index.js +2 -2
- package/dist/plain/interval/intervalAbutsDate.d.ts +1 -2
- package/dist/plain/interval/intervalAbutsDate.js +2 -3
- package/dist/plain/interval/intervalAbutsDateTime.js +1 -1
- package/dist/plain/interval/intervalAbutsTime.js +1 -1
- package/dist/plain/interval/intervalContainsDate.d.ts +1 -1
- package/dist/plain/interval/intervalContainsDate.js +2 -2
- package/dist/plain/interval/intervalContainsDateTime.js +1 -1
- package/dist/plain/interval/intervalContainsTime.js +1 -1
- package/dist/plain/interval/intervalCountDate.js +1 -1
- package/dist/plain/interval/intervalCountDateTime.js +1 -1
- package/dist/plain/interval/intervalCountTime.js +1 -1
- package/dist/plain/interval/intervalDifferenceDate.d.ts +1 -1
- package/dist/plain/interval/intervalDifferenceDate.js +2 -2
- package/dist/plain/interval/intervalDifferenceDateTime.js +1 -1
- package/dist/plain/interval/intervalDifferenceTime.js +1 -1
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +3 -3
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -3
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +1 -1
- package/dist/plain/interval/intervalDivideEquallyTime.js +1 -1
- package/dist/plain/interval/intervalEngulfsDate.d.ts +1 -1
- package/dist/plain/interval/intervalEngulfsDate.js +2 -2
- package/dist/plain/interval/intervalEngulfsDateTime.js +1 -1
- package/dist/plain/interval/intervalEngulfsTime.js +1 -1
- package/dist/plain/interval/intervalFromDurationDate.js +1 -1
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -1
- package/dist/plain/interval/intervalFromDurationTime.js +1 -1
- package/dist/plain/interval/intervalIntersectionDate.d.ts +1 -1
- package/dist/plain/interval/intervalIntersectionDate.js +2 -2
- package/dist/plain/interval/intervalIntersectionDateTime.js +1 -1
- package/dist/plain/interval/intervalIntersectionTime.js +1 -1
- package/dist/plain/interval/intervalLengthDateTime.js +1 -1
- package/dist/plain/interval/intervalLengthTime.js +1 -1
- package/dist/plain/interval/intervalOverlappingDaysDate.js +1 -1
- package/dist/plain/interval/intervalOverlappingDaysDateTime.js +1 -1
- package/dist/plain/interval/intervalSplitAtDate.d.ts +1 -1
- package/dist/plain/interval/intervalSplitAtDate.js +2 -2
- package/dist/plain/interval/intervalSplitAtDateTime.js +1 -1
- package/dist/plain/interval/intervalSplitAtTime.js +1 -1
- package/dist/plain/interval/intervalUnionDate.d.ts +2 -2
- package/dist/plain/interval/intervalUnionDate.js +3 -3
- package/dist/plain/interval/intervalUnionDateTime.js +1 -1
- package/dist/plain/interval/intervalUnionTime.js +1 -1
- package/dist/plain/interval/intervalXorAllDate.d.ts +1 -1
- package/dist/plain/interval/intervalXorAllDate.js +2 -2
- package/dist/plain/interval/intervalXorAllDateTime.js +1 -1
- package/dist/plain/interval/intervalXorAllTime.js +1 -1
- package/dist/plain/interval/intervalXorDate.d.ts +1 -1
- package/dist/plain/interval/intervalXorDate.js +2 -2
- package/dist/plain/interval/intervalXorDateTime.js +1 -1
- package/dist/plain/interval/intervalXorTime.js +1 -1
- package/dist/plain/interval/intervalsOverlapDate.d.ts +1 -1
- package/dist/plain/interval/intervalsOverlapDate.js +2 -2
- package/dist/plain/interval/intervalsOverlapDateTime.js +1 -1
- package/dist/plain/interval/intervalsOverlapTime.js +1 -1
- package/dist/plain/interval/mergeIntervalsDate.d.ts +1 -1
- package/dist/plain/interval/mergeIntervalsDate.js +2 -2
- package/dist/plain/interval/mergeIntervalsDateTime.js +1 -1
- package/dist/plain/interval/mergeIntervalsTime.js +1 -1
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +2 -3
- package/dist/plain/interval/splitIntervalByUnitDate.js +3 -4
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +2 -1
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +3 -2
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -1
- package/dist/plain/interval/validate/isValidDateInterval.d.ts +1 -1
- package/dist/plain/interval/validate/isValidDateInterval.js +2 -2
- package/dist/plain/interval/validate/isValidDateTimeInterval.js +1 -1
- package/dist/plain/interval/validate/isValidTimeInterval.js +1 -1
- package/dist/plain/locale/getLocaleEraNames.d.ts +6 -6
- package/dist/plain/locale/getLocaleEraNames.js +8 -7
- package/dist/plain/locale/getLocaleMeridiems.d.ts +5 -5
- package/dist/plain/locale/getLocaleMeridiems.js +7 -6
- package/dist/plain/locale/getLocaleMonthNames.d.ts +6 -6
- package/dist/plain/locale/getLocaleMonthNames.js +17 -11
- package/dist/plain/locale/getLocaleWeekdayNames.d.ts +3 -3
- package/dist/plain/locale/getLocaleWeekdayNames.js +12 -5
- package/dist/plain/map/mapDatesInRange.js +1 -1
- package/dist/plain/map/mapDaysInMonth.js +1 -1
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +14 -13
- package/dist/plain/parse/parseDateTimeWithPattern.js +15 -14
- package/dist/plain/parse/parseDateWithPattern.d.ts +18 -17
- package/dist/plain/parse/parseDateWithPattern.js +19 -18
- package/dist/plain/parse/parseDayFromDate.js +1 -1
- package/dist/plain/parse/parseDayFromDateTime.js +1 -1
- package/dist/plain/parse/parseDayOfWeekFromDate.js +1 -1
- package/dist/plain/parse/parseDayOfWeekFromDateTime.js +1 -1
- package/dist/plain/parse/parseHourFromDateTime.js +1 -1
- package/dist/plain/parse/parseHourFromTime.js +1 -1
- package/dist/plain/parse/parseMicrosecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseMicrosecondFromTime.js +1 -1
- package/dist/plain/parse/parseMillisecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseMillisecondFromTime.js +1 -1
- package/dist/plain/parse/parseMinuteFromDateTime.js +1 -1
- package/dist/plain/parse/parseMinuteFromTime.js +1 -1
- package/dist/plain/parse/parseMonthFromDate.js +1 -1
- package/dist/plain/parse/parseMonthFromDateTime.js +1 -1
- package/dist/plain/parse/parseNanosecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseNanosecondFromTime.js +1 -1
- package/dist/plain/parse/parseSecondFromDateTime.js +1 -1
- package/dist/plain/parse/parseSecondFromTime.js +1 -1
- package/dist/plain/parse/parseSqlDateTime.js +1 -1
- package/dist/plain/parse/parseTimeWithPattern.d.ts +6 -4
- package/dist/plain/parse/parseTimeWithPattern.js +7 -5
- package/dist/plain/parse/parseUnitFromDate.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromDate.js +1 -1
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromDateTime.js +1 -1
- package/dist/plain/parse/parseUnitFromTime.d.ts +1 -1
- package/dist/plain/parse/parseUnitFromTime.js +1 -1
- package/dist/plain/parse/parseWeekFromDateTime.js +1 -1
- package/dist/plain/parse/parseYearFromDate.js +1 -1
- package/dist/plain/parse/parseYearFromDateTime.js +1 -1
- package/dist/plain/validate/{isLeapSecond.d.ts → hasSecond60.d.ts} +16 -14
- package/dist/plain/validate/{isLeapSecond.js → hasSecond60.js} +16 -14
- package/dist/plain/validate/index.d.ts +1 -1
- package/dist/plain/validate/index.js +1 -1
- package/dist/plain/validate/isLeapYear.js +1 -1
- package/dist/plain/validate/isValidDate.js +2 -17
- package/dist/plain/validate/isValidDateRange.js +1 -1
- package/dist/plain/validate/isValidDateTime.d.ts +1 -1
- package/dist/plain/validate/isValidDateTime.js +4 -4
- package/dist/plain/validate/isValidDateTimeRange.js +1 -1
- package/dist/plain/validate/isValidIsoDateLike.js +3 -3
- package/dist/plain/validate/isValidTime.js +2 -18
- package/dist/plain/validate/isValidTimeRange.js +1 -1
- package/dist/precision/convert/fromNanoseconds.d.ts +2 -2
- package/dist/precision/convert/fromNanoseconds.js +3 -3
- package/dist/precision/convert/toNanoseconds.d.ts +2 -2
- package/dist/precision/convert/toNanoseconds.js +2 -2
- package/dist/precision/index.d.ts +1 -1
- package/dist/precision/index.js +2 -2
- package/dist/precision/validate/isValidInstant.d.ts +1 -1
- package/dist/precision/validate/isValidInstant.js +1 -1
- package/dist/regex/calendar-zoned-date-time.d.ts +4 -4
- package/dist/regex/calendar-zoned-date-time.js +4 -4
- package/dist/regex/index.d.ts +1 -1
- package/dist/regex/index.js +2 -2
- package/dist/regex/leap-second.d.ts +1 -1
- package/dist/regex/leap-second.js +1 -1
- package/dist/regex/time-zone-like.d.ts +2 -2
- package/dist/regex/time-zone-like.js +2 -2
- package/dist/span/calculate/spanMs.d.ts +4 -3
- package/dist/span/calculate/spanMs.js +4 -3
- package/dist/span/calculate/spanNs.d.ts +4 -3
- package/dist/span/calculate/spanNs.js +4 -3
- package/dist/span/calculate/spanWallClock.d.ts +12 -12
- package/dist/span/calculate/spanWallClock.js +13 -13
- package/dist/span/index.d.ts +1 -1
- package/dist/span/index.js +2 -2
- package/dist/span/validate/isValidSpan.d.ts +3 -3
- package/dist/span/validate/isValidSpan.js +3 -3
- package/dist/timescale/calculate/index.d.ts +3 -0
- package/dist/timescale/calculate/index.js +3 -0
- package/dist/timescale/calculate/leapSecondsBetween.d.ts +26 -0
- package/dist/timescale/calculate/leapSecondsBetween.js +62 -0
- package/dist/timescale/calculate/nextLeapSecond.d.ts +18 -0
- package/dist/timescale/calculate/nextLeapSecond.js +33 -0
- package/dist/timescale/calculate/taiMinusUtc.d.ts +21 -0
- package/dist/timescale/calculate/taiMinusUtc.js +38 -0
- package/dist/timescale/convert/fromTAI.d.ts +22 -0
- package/dist/timescale/convert/fromTAI.js +35 -0
- package/dist/timescale/convert/index.d.ts +2 -0
- package/dist/timescale/convert/index.js +2 -0
- package/dist/timescale/convert/toTAI.d.ts +23 -0
- package/dist/timescale/convert/toTAI.js +39 -0
- package/dist/timescale/index.d.ts +4 -0
- package/dist/timescale/index.js +5 -0
- package/dist/timescale/validate/index.d.ts +1 -0
- package/dist/timescale/validate/index.js +1 -0
- package/dist/timescale/validate/isLeapSecond.d.ts +25 -0
- package/dist/timescale/validate/isLeapSecond.js +36 -0
- package/dist/transport/calculate/crossingTime.d.ts +2 -2
- package/dist/transport/calculate/crossingTime.js +3 -3
- package/dist/transport/calculate/cutoffAt.d.ts +4 -4
- package/dist/transport/calculate/cutoffAt.js +24 -133
- package/dist/transport/calculate/cutoffSchedule.d.ts +2 -2
- package/dist/transport/calculate/cutoffSchedule.js +52 -20
- package/dist/transport/calculate/dwellTime.d.ts +3 -3
- package/dist/transport/calculate/dwellTime.js +4 -4
- package/dist/transport/calculate/estimateDrift.d.ts +1 -1
- package/dist/transport/calculate/estimateDrift.js +1 -1
- package/dist/transport/calculate/nextDeparture.d.ts +2 -2
- package/dist/transport/calculate/nextDeparture.js +2 -2
- package/dist/transport/calculate/scheduleDelivery.d.ts +2 -2
- package/dist/transport/calculate/scheduleDelivery.js +3 -3
- package/dist/transport/calculate/transitTime.d.ts +11 -11
- package/dist/transport/calculate/transitTime.js +11 -11
- package/dist/transport/compare/classifyPunctuality.d.ts +1 -1
- package/dist/transport/compare/classifyPunctuality.js +1 -1
- package/dist/transport/compare/isPastCutoff.d.ts +1 -1
- package/dist/transport/compare/isPastCutoff.js +2 -2
- package/dist/transport/compare/scheduleDeviation.d.ts +1 -1
- package/dist/transport/compare/scheduleDeviation.js +1 -1
- package/dist/transport/compare/timeToCutoff.d.ts +1 -1
- package/dist/transport/compare/timeToCutoff.js +1 -1
- package/dist/transport/convert/etaAtZone.d.ts +2 -2
- package/dist/transport/convert/etaAtZone.js +2 -2
- package/dist/transport/index.d.ts +1 -1
- package/dist/transport/index.js +2 -2
- package/dist/types/date-duration-unit.d.ts +1 -1
- package/dist/types/date-time-duration-units.d.ts +1 -1
- package/dist/types/date-time-unit.d.ts +1 -1
- package/dist/types/date-unit.d.ts +1 -1
- package/dist/types/disambiguation.d.ts +1 -1
- package/dist/types/duration-relative-to.d.ts +1 -1
- package/dist/types/duration-string-options.d.ts +1 -1
- package/dist/types/exact-duration-unit.d.ts +1 -1
- package/dist/types/fiscal-calendar.d.ts +40 -4
- package/dist/types/gnss.d.ts +51 -0
- package/dist/types/gnss.js +0 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/now-unit.d.ts +1 -1
- package/dist/types/offset.d.ts +1 -1
- package/dist/types/overflow.d.ts +1 -1
- package/dist/types/rounding-options.d.ts +1 -1
- package/dist/types/stored-zoned-classification.d.ts +83 -0
- package/dist/types/stored-zoned-classification.js +0 -0
- package/dist/types/time-duration-unit.d.ts +1 -1
- package/dist/types/time-unit.d.ts +1 -1
- package/dist/types/utc-now-unit.d.ts +1 -1
- package/dist/unix/calculate/diffUnix.d.ts +1 -1
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +1 -1
- package/dist/unix/calculate/endOfUnix.d.ts +2 -2
- package/dist/unix/calculate/endOfUnix.js +1 -1
- package/dist/unix/calculate/isBetweenUnix.js +1 -1
- package/dist/unix/calculate/roundUnix.d.ts +7 -5
- package/dist/unix/calculate/roundUnix.js +6 -4
- package/dist/unix/calculate/setUnix.d.ts +3 -3
- package/dist/unix/calculate/setUnix.js +2 -2
- package/dist/unix/calculate/startOfUnix.d.ts +2 -2
- package/dist/unix/calculate/startOfUnix.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +6 -6
- package/dist/unix/compare/areUnixEqualBy.js +5 -5
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +1 -1
- package/dist/unix/convert/convertUnixToPlainTime.js +1 -1
- package/dist/unix/convert/convertUnixToZoned.d.ts +1 -1
- package/dist/unix/convert/convertUnixToZoned.js +1 -1
- package/dist/unix/format/formatCalendarUnix.d.ts +10 -9
- package/dist/unix/format/formatCalendarUnix.js +6 -6
- package/dist/unix/format/formatRelativeUnix.d.ts +7 -7
- package/dist/unix/format/formatRelativeUnix.js +7 -7
- package/dist/unix/format/formatUnix.d.ts +9 -9
- package/dist/unix/format/formatUnix.js +9 -9
- package/dist/unix/get/getUnixDay.js +1 -1
- package/dist/unix/get/getUnixHour.js +1 -1
- package/dist/unix/get/getUnixMicrosecond.js +1 -1
- package/dist/unix/get/getUnixMillisecond.js +1 -1
- package/dist/unix/get/getUnixMinute.js +1 -1
- package/dist/unix/get/getUnixMonth.js +1 -1
- package/dist/unix/get/getUnixNanosecond.js +1 -1
- package/dist/unix/get/getUnixNow.js +1 -1
- package/dist/unix/get/getUnixNowUnit.d.ts +1 -1
- package/dist/unix/get/getUnixNowUnit.js +1 -1
- package/dist/unix/get/getUnixSecond.js +1 -1
- package/dist/unix/get/getUnixYear.js +1 -1
- package/dist/unix/index.d.ts +1 -1
- package/dist/unix/index.js +2 -2
- package/dist/unix/interval/intervalFromDurationUnix.js +1 -1
- package/dist/unix/interval/intervalLengthUnix.d.ts +2 -2
- package/dist/unix/interval/intervalLengthUnix.js +2 -2
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +3 -2
- package/dist/unix/interval/splitIntervalByUnitUnix.js +4 -3
- package/dist/unix/parse/parseUnitFromUnix.d.ts +1 -1
- package/dist/utc/calculate/addUtc.js +1 -1
- package/dist/utc/calculate/diffUtc.d.ts +1 -1
- package/dist/utc/calculate/diffUtc.js +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
- package/dist/utc/calculate/endOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +1 -1
- package/dist/utc/calculate/isBetweenUtc.js +1 -1
- package/dist/utc/calculate/maxUtc.js +1 -1
- package/dist/utc/calculate/minUtc.js +1 -1
- package/dist/utc/calculate/roundUtc.d.ts +1 -1
- package/dist/utc/calculate/roundUtc.js +1 -1
- package/dist/utc/calculate/setUtc.d.ts +1 -1
- package/dist/utc/calculate/setUtc.js +1 -1
- package/dist/utc/calculate/sortUtc.js +1 -1
- package/dist/utc/calculate/startOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/startOfUtc.d.ts +1 -1
- package/dist/utc/calculate/subtractUtc.js +1 -1
- package/dist/utc/compare/areUtcEqual.js +1 -1
- package/dist/utc/compare/areUtcEqualBy.d.ts +2 -2
- package/dist/utc/compare/areUtcEqualBy.js +2 -2
- package/dist/utc/compare/isAfterUtc.js +1 -1
- package/dist/utc/compare/isBeforeUtc.js +1 -1
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +1 -1
- package/dist/utc/convert/convertUtcToPlainDate.js +2 -2
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +1 -1
- package/dist/utc/convert/convertUtcToPlainDateTime.js +2 -2
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +1 -1
- package/dist/utc/convert/convertUtcToPlainTime.js +2 -2
- package/dist/utc/convert/convertUtcToUnix.js +1 -1
- package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
- package/dist/utc/convert/convertUtcToZoned.js +2 -2
- package/dist/utc/format/formatCalendarUtc.d.ts +6 -5
- package/dist/utc/format/formatCalendarUtc.js +3 -3
- package/dist/utc/format/formatHttpDate.js +1 -1
- package/dist/utc/format/formatRelativeUtc.d.ts +5 -5
- package/dist/utc/format/formatRelativeUtc.js +5 -5
- package/dist/utc/format/formatUtc.d.ts +8 -8
- package/dist/utc/format/formatUtc.js +8 -8
- package/dist/utc/get/getUtcDay.js +1 -1
- package/dist/utc/get/getUtcHour.js +1 -1
- package/dist/utc/get/getUtcMicrosecond.js +1 -1
- package/dist/utc/get/getUtcMillisecond.js +1 -1
- package/dist/utc/get/getUtcMinute.js +1 -1
- package/dist/utc/get/getUtcMonth.js +1 -1
- package/dist/utc/get/getUtcNanosecond.js +1 -1
- package/dist/utc/get/getUtcNow.js +1 -1
- package/dist/utc/get/getUtcNowUnit.js +1 -1
- package/dist/utc/get/getUtcSecond.js +1 -1
- package/dist/utc/get/getUtcYear.js +1 -1
- package/dist/utc/index.d.ts +1 -1
- package/dist/utc/index.js +2 -2
- package/dist/utc/interval/intervalAbutsUtc.js +1 -1
- package/dist/utc/interval/intervalContainsUtc.js +1 -1
- package/dist/utc/interval/intervalCountUtc.js +1 -1
- package/dist/utc/interval/intervalDivideEquallyUtc.js +1 -1
- package/dist/utc/interval/intervalEngulfsUtc.js +1 -1
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -1
- package/dist/utc/interval/intervalLengthUtc.js +1 -1
- package/dist/utc/interval/intervalOverlappingDaysUtc.js +1 -1
- package/dist/utc/interval/intervalSplitAtUtc.js +1 -1
- package/dist/utc/interval/intervalXorAllUtc.js +1 -1
- package/dist/utc/interval/intervalXorUtc.js +1 -1
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +2 -1
- package/dist/utc/interval/splitIntervalByUnitUtc.js +3 -2
- package/dist/utc/interval/validate/isValidUtcInterval.js +1 -1
- package/dist/utc/parse/parseDateFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseDateFromUtc.js +1 -1
- package/dist/utc/parse/parseDayFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseDayFromUtc.js +1 -1
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +2 -2
- package/dist/utc/parse/parseHourFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseHourFromUtc.js +1 -1
- package/dist/utc/parse/parseHttpDate.js +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -1
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseMillisecondFromUtc.js +1 -1
- package/dist/utc/parse/parseMonthFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseMonthFromUtc.js +1 -1
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseNanosecondFromUtc.js +1 -1
- package/dist/utc/parse/parseSecondFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseSecondFromUtc.js +1 -1
- package/dist/utc/parse/parseTimeFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseTimeFromUtc.js +2 -2
- package/dist/utc/parse/parseUnitFromUtc.d.ts +2 -2
- package/dist/utc/parse/parseUnitFromUtc.js +2 -2
- package/dist/utc/parse/parseWeekFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseWeekFromUtc.js +2 -2
- package/dist/utc/parse/parseYearFromUtc.d.ts +1 -1
- package/dist/utc/parse/parseYearFromUtc.js +1 -1
- package/dist/utc/validate/isValidUtc.js +3 -3
- package/dist/utc/validate/isValidUtcRange.js +1 -1
- package/dist/{duty → workforce}/calculate/dutyDayFor.js +1 -1
- package/dist/{duty → workforce}/calculate/evaluateDutyLog.js +1 -1
- package/dist/{duty → workforce}/calculate/longestRun.js +1 -1
- package/dist/{duty → workforce}/calculate/qualifyingRestPairs.js +1 -1
- package/dist/{duty → workforce}/calculate/qualifyingRests.js +1 -1
- package/dist/workforce/index.d.ts +3 -0
- package/dist/workforce/index.js +4 -0
- package/dist/{duty → workforce}/validate/isValidDutyLog.d.ts +2 -2
- package/dist/{duty → workforce}/validate/isValidDutyLog.js +2 -2
- package/dist/zoned/calculate/addZoned.d.ts +15 -15
- package/dist/zoned/calculate/addZoned.js +15 -15
- package/dist/zoned/calculate/addZonedBusinessDays.d.ts +5 -4
- package/dist/zoned/calculate/addZonedBusinessDays.js +5 -4
- package/dist/zoned/calculate/clampZoned.js +1 -1
- package/dist/zoned/calculate/diffZoned.d.ts +8 -8
- package/dist/zoned/calculate/diffZoned.js +7 -7
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +5 -5
- package/dist/zoned/calculate/diffZonedAsDuration.js +4 -4
- package/dist/zoned/calculate/endOfZoned.d.ts +3 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -2
- package/dist/zoned/calculate/getHoursInZonedDay.d.ts +2 -2
- package/dist/zoned/calculate/getHoursInZonedDay.js +2 -2
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +6 -5
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +6 -5
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +5 -5
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -5
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +6 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +6 -6
- package/dist/zoned/calculate/maxZoned.d.ts +2 -2
- package/dist/zoned/calculate/maxZoned.js +3 -3
- package/dist/zoned/calculate/minZoned.d.ts +2 -2
- package/dist/zoned/calculate/minZoned.js +3 -3
- package/dist/zoned/calculate/roundZoned.d.ts +11 -9
- package/dist/zoned/calculate/roundZoned.js +11 -9
- package/dist/zoned/calculate/setZoned.d.ts +8 -8
- package/dist/zoned/calculate/setZoned.js +8 -8
- package/dist/zoned/calculate/sortZoned.d.ts +3 -3
- package/dist/zoned/calculate/sortZoned.js +4 -4
- package/dist/zoned/calculate/startOfZoned.d.ts +3 -3
- package/dist/zoned/calculate/startOfZoned.js +2 -2
- package/dist/zoned/calculate/subtractZoned.d.ts +14 -14
- package/dist/zoned/calculate/subtractZoned.js +14 -14
- package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +5 -4
- package/dist/zoned/calculate/subtractZonedBusinessDays.js +5 -4
- package/dist/zoned/chop/chopZonedDate.d.ts +1 -1
- package/dist/zoned/chop/chopZonedDate.js +1 -1
- package/dist/zoned/chop/chopZonedMilliseconds.d.ts +1 -1
- package/dist/zoned/chop/chopZonedMilliseconds.js +1 -1
- package/dist/zoned/chop/chopZonedSeconds.d.ts +1 -1
- package/dist/zoned/chop/chopZonedSeconds.js +1 -1
- package/dist/zoned/chop/chopZonedTime.d.ts +1 -1
- package/dist/zoned/chop/chopZonedTime.js +1 -1
- package/dist/zoned/chop/chopZonedTimezone.d.ts +1 -1
- package/dist/zoned/chop/chopZonedTimezone.js +1 -1
- package/dist/zoned/classify/classifyStoredZoned.d.ts +46 -0
- package/dist/zoned/classify/classifyStoredZoned.js +177 -0
- package/dist/zoned/classify/index.d.ts +1 -0
- package/dist/zoned/classify/index.js +1 -0
- package/dist/zoned/compare/areZonedEqual.js +1 -1
- package/dist/zoned/compare/areZonedEqualBy.d.ts +8 -10
- package/dist/zoned/compare/areZonedEqualBy.js +8 -10
- package/dist/zoned/compare/isAfterZoned.js +1 -1
- package/dist/zoned/compare/isBeforeZoned.d.ts +2 -2
- package/dist/zoned/compare/isBeforeZoned.js +3 -3
- package/dist/zoned/compare/isBetweenZoned.js +1 -1
- package/dist/zoned/compare/isInDaylightSaving.d.ts +2 -2
- package/dist/zoned/compare/isInDaylightSaving.js +2 -2
- package/dist/zoned/compare/isZonedBusinessDay.d.ts +7 -6
- package/dist/zoned/compare/isZonedBusinessDay.js +7 -6
- package/dist/zoned/compare/isZonedFuture.js +1 -1
- package/dist/zoned/compare/isZonedPast.js +1 -1
- package/dist/zoned/compare/isZonedRelativeDay.d.ts +2 -2
- package/dist/zoned/compare/isZonedRelativeDay.js +3 -3
- package/dist/zoned/compare/isZonedThisUnit.d.ts +7 -7
- package/dist/zoned/compare/isZonedThisUnit.js +7 -7
- package/dist/zoned/compare/isZonedWeekend.d.ts +5 -5
- package/dist/zoned/compare/isZonedWeekend.js +5 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +6 -6
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -6
- package/dist/zoned/convert/convertZonedToCalendar.d.ts +5 -5
- package/dist/zoned/convert/convertZonedToCalendar.js +5 -5
- package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +3 -3
- package/dist/zoned/convert/convertZonedToPlainDateTime.js +3 -3
- package/dist/zoned/convert/convertZonedToZoned.d.ts +2 -2
- package/dist/zoned/convert/convertZonedToZoned.js +2 -2
- package/dist/zoned/format/formatCalendarZoned.d.ts +7 -6
- package/dist/zoned/format/formatCalendarZoned.js +5 -5
- package/dist/zoned/format/formatRelativeZoned.d.ts +3 -3
- package/dist/zoned/format/formatRelativeZoned.js +4 -4
- package/dist/zoned/format/formatRfc2822.d.ts +3 -3
- package/dist/zoned/format/formatRfc2822.js +3 -3
- package/dist/zoned/format/formatRfc3339.d.ts +2 -2
- package/dist/zoned/format/formatRfc3339.js +2 -2
- package/dist/zoned/format/formatTimeZoneName.d.ts +17 -17
- package/dist/zoned/format/formatTimeZoneName.js +13 -12
- package/dist/zoned/format/formatZonedDateTime.d.ts +10 -10
- package/dist/zoned/format/formatZonedDateTime.js +12 -11
- package/dist/zoned/format/formatZonedRange.d.ts +7 -7
- package/dist/zoned/format/formatZonedRange.js +9 -8
- package/dist/zoned/format/formatZonedToParts.d.ts +11 -11
- package/dist/zoned/format/formatZonedToParts.js +13 -12
- package/dist/zoned/get/getDstTransitions.d.ts +9 -9
- package/dist/zoned/get/getDstTransitions.js +3 -3
- package/dist/zoned/get/getSystemTimeZone.d.ts +2 -2
- package/dist/zoned/get/getSystemTimeZone.js +2 -2
- package/dist/zoned/get/getTimeZoneOffset.d.ts +5 -5
- package/dist/zoned/get/getTimeZoneOffset.js +5 -5
- package/dist/zoned/get/getTimeZones.d.ts +1 -1
- package/dist/zoned/get/getTimeZones.js +1 -1
- package/dist/zoned/get/getZonedDay.d.ts +1 -1
- package/dist/zoned/get/getZonedDay.js +1 -1
- package/dist/zoned/get/getZonedDayOfWeek.d.ts +1 -1
- package/dist/zoned/get/getZonedDayOfWeek.js +1 -1
- package/dist/zoned/get/getZonedHour.d.ts +1 -1
- package/dist/zoned/get/getZonedHour.js +1 -1
- package/dist/zoned/get/getZonedMicrosecond.d.ts +1 -1
- package/dist/zoned/get/getZonedMicrosecond.js +1 -1
- package/dist/zoned/get/getZonedMillisecond.d.ts +1 -1
- package/dist/zoned/get/getZonedMillisecond.js +1 -1
- package/dist/zoned/get/getZonedMinute.d.ts +1 -1
- package/dist/zoned/get/getZonedMinute.js +1 -1
- package/dist/zoned/get/getZonedMonth.d.ts +1 -1
- package/dist/zoned/get/getZonedMonth.js +1 -1
- package/dist/zoned/get/getZonedNanosecond.d.ts +1 -1
- package/dist/zoned/get/getZonedNanosecond.js +1 -1
- package/dist/zoned/get/getZonedNow.d.ts +4 -4
- package/dist/zoned/get/getZonedNow.js +4 -4
- package/dist/zoned/get/getZonedNowUnit.d.ts +2 -2
- package/dist/zoned/get/getZonedNowUnit.js +1 -1
- package/dist/zoned/get/getZonedSecond.d.ts +1 -1
- package/dist/zoned/get/getZonedSecond.js +1 -1
- package/dist/zoned/get/getZonedToday.d.ts +1 -1
- package/dist/zoned/get/getZonedToday.js +1 -1
- package/dist/zoned/get/getZonedWeekOfYear.d.ts +1 -1
- package/dist/zoned/get/getZonedWeekOfYear.js +1 -1
- package/dist/zoned/get/getZonedYear.d.ts +1 -1
- package/dist/zoned/get/getZonedYear.js +1 -1
- package/dist/zoned/index.d.ts +2 -1
- package/dist/zoned/index.js +3 -2
- package/dist/zoned/interval/intervalAbutsZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalAbutsZoned.js +3 -3
- package/dist/zoned/interval/intervalContainsZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalContainsZoned.js +2 -2
- package/dist/zoned/interval/intervalCountZoned.d.ts +4 -4
- package/dist/zoned/interval/intervalCountZoned.js +5 -5
- package/dist/zoned/interval/intervalDifferenceZoned.js +1 -1
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +2 -2
- package/dist/zoned/interval/intervalEngulfsZoned.d.ts +1 -1
- package/dist/zoned/interval/intervalEngulfsZoned.js +2 -2
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +6 -6
- package/dist/zoned/interval/intervalFromDurationZoned.js +7 -7
- package/dist/zoned/interval/intervalIntersectionZoned.js +1 -1
- package/dist/zoned/interval/intervalLengthZoned.d.ts +5 -5
- package/dist/zoned/interval/intervalLengthZoned.js +5 -5
- package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalOverlappingDaysZoned.js +3 -3
- package/dist/zoned/interval/intervalSplitAtZoned.js +14 -16
- package/dist/zoned/interval/intervalUnionZoned.js +1 -1
- package/dist/zoned/interval/intervalXorAllZoned.js +1 -1
- package/dist/zoned/interval/intervalXorZoned.js +1 -1
- package/dist/zoned/interval/intervalsOverlapZoned.d.ts +2 -2
- package/dist/zoned/interval/intervalsOverlapZoned.js +3 -3
- package/dist/zoned/interval/mergeIntervalsZoned.js +1 -1
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +2 -1
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +3 -2
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +2 -2
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +3 -3
- package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +1 -1
- package/dist/zoned/interval/validate/isValidZonedInterval.js +2 -2
- package/dist/zoned/map/mapZonedDatesInRange.js +1 -1
- package/dist/zoned/map/mapZonedHoursInDay.d.ts +1 -1
- package/dist/zoned/map/mapZonedHoursInDay.js +2 -2
- package/dist/zoned/parse/getZonedOffset.d.ts +1 -1
- package/dist/zoned/parse/getZonedOffset.js +1 -1
- package/dist/zoned/parse/getZonedOffsetAs.d.ts +6 -6
- package/dist/zoned/parse/getZonedOffsetAs.js +3 -3
- package/dist/zoned/parse/parseDateTimeFromZoned.js +2 -2
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseRfc3339.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +1 -1
- package/dist/zoned/validate/hasDaylightSaving.d.ts +2 -2
- package/dist/zoned/validate/hasDaylightSaving.js +3 -3
- package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +8 -8
- package/dist/zoned/validate/isValidCalendarZonedDateTime.js +8 -8
- package/dist/zoned/validate/isValidTimeZone.d.ts +1 -1
- package/dist/zoned/validate/isValidTimeZone.js +3 -18
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +7 -7
- package/dist/zoned/validate/isValidZonedDateTime.js +9 -9
- package/dist/zoned/validate/isValidZonedRange.d.ts +1 -1
- package/dist/zoned/validate/isValidZonedRange.js +5 -5
- package/package.json +71 -21
- package/skills/gmt-arithmetic/SKILL.md +18 -59
- package/skills/gmt-basics/SKILL.md +32 -12
- package/skills/gmt-gnss/SKILL.md +92 -0
- package/skills/gmt-integration/SKILL.md +48 -15
- package/skills/gmt-intermodal/SKILL.md +189 -0
- package/skills/gmt-timezone/SKILL.md +34 -257
- package/skills/gmt-transport/SKILL.md +133 -0
- package/skills/gmt-workforce/SKILL.md +84 -0
- package/dist/duty/index.d.ts +0 -3
- package/dist/duty/index.js +0 -4
- /package/dist/{duty → workforce}/calculate/dutyDayFor.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/dutyTotals.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/dutyTotals.js +0 -0
- /package/dist/{duty → workforce}/calculate/dutyViolations.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/dutyViolations.js +0 -0
- /package/dist/{duty → workforce}/calculate/evaluateDutyLog.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/index.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/index.js +0 -0
- /package/dist/{duty → workforce}/calculate/longestRun.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/qualifyingRestPairs.d.ts +0 -0
- /package/dist/{duty → workforce}/calculate/qualifyingRests.d.ts +0 -0
- /package/dist/{duty → workforce}/validate/index.d.ts +0 -0
- /package/dist/{duty → workforce}/validate/index.js +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Returns `false` if either interval is invalid (`start > end`).
|
|
11
11
|
* - Returns `false` on invalid input (wrong type, malformed strings).
|
|
12
12
|
* - Accepts RFC 9557 calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
|
|
13
|
-
* calendar-independent, so arguments may carry different or no calendar tags
|
|
13
|
+
* calendar-independent, so arguments may carry different or no calendar tags.
|
|
14
14
|
* - Compatibility: since 1.16.0 calendar strings are RFC 9557 (ISO digits, `[u-ca=<id>]`, canonical
|
|
15
15
|
* calendar ids); see `isValidCalendarDate`.
|
|
16
16
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- sibling variant keeps its own guard, parse and try/catch, by design
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { halfOpenOverlap, parseCalendarDateValue } from "../../internal/index.js";
|
|
4
4
|
import { isValidCalendarDate } from "../validate/index.js";
|
|
5
5
|
/**
|
|
@@ -14,7 +14,7 @@ import { isValidCalendarDate } from "../validate/index.js";
|
|
|
14
14
|
* - Returns `false` if either interval is invalid (`start > end`).
|
|
15
15
|
* - Returns `false` on invalid input (wrong type, malformed strings).
|
|
16
16
|
* - Accepts RFC 9557 calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
|
|
17
|
-
* calendar-independent, so arguments may carry different or no calendar tags
|
|
17
|
+
* calendar-independent, so arguments may carry different or no calendar tags.
|
|
18
18
|
* - Compatibility: since 1.16.0 calendar strings are RFC 9557 (ISO digits, `[u-ca=<id>]`, canonical
|
|
19
19
|
* calendar ids); see `isValidCalendarDate`.
|
|
20
20
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- sibling variant keeps its own guard, parse and try/catch, by design
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { halfOpenOverlap } from "../../internal/index.js";
|
|
4
4
|
import { isValidDateTime } from "../validate/index.js";
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- sibling variant keeps its own guard, parse and try/catch, by design
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { halfOpenOverlap } from "../../internal/index.js";
|
|
4
4
|
import { isValidTime } from "../validate/index.js";
|
|
5
5
|
/**
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* `start > end`.
|
|
15
15
|
* - Accepts RFC 9557 calendar-annotated PlainDate strings — E5 (issue #78). Since the result is
|
|
16
16
|
* date *values*, every `start`/`end` across the whole list must carry the *same* calendar tag
|
|
17
|
-
* (or all be bare ISO); any mismatch returns `[]
|
|
17
|
+
* (or all be bare ISO); any mismatch returns `[]`.
|
|
18
18
|
*
|
|
19
19
|
* @param intervals array of `{ start, end }` records, optionally calendar-annotated
|
|
20
20
|
* @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input / mismatched calendars
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Temporal } from "
|
|
1
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import { calendarOfAllDateValues, formatDateInCalendar, halfOpenMerge, parseCalendarDateValue, } from "../../internal/index.js";
|
|
3
3
|
import { isValidDateInterval } from "./validate/index.js";
|
|
4
4
|
import { isObject } from "../../internal/isObject.js";
|
|
@@ -18,7 +18,7 @@ import { isObject } from "../../internal/isObject.js";
|
|
|
18
18
|
* `start > end`.
|
|
19
19
|
* - Accepts RFC 9557 calendar-annotated PlainDate strings — E5 (issue #78). Since the result is
|
|
20
20
|
* date *values*, every `start`/`end` across the whole list must carry the *same* calendar tag
|
|
21
|
-
* (or all be bare ISO); any mismatch returns `[]
|
|
21
|
+
* (or all be bare ISO); any mismatch returns `[]`.
|
|
22
22
|
*
|
|
23
23
|
* @param intervals array of `{ start, end }` records, optionally calendar-annotated
|
|
24
24
|
* @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input / mismatched calendars
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Temporal } from "
|
|
1
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import { halfOpenMerge } from "../../internal/index.js";
|
|
3
3
|
import { isValidDateTimeInterval } from "./validate/index.js";
|
|
4
4
|
import { isObject } from "../../internal/isObject.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Temporal } from "
|
|
1
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
2
2
|
import { halfOpenMerge } from "../../internal/index.js";
|
|
3
3
|
import { isValidTimeInterval } from "./validate/index.js";
|
|
4
4
|
import { isObject } from "../../internal/isObject.js";
|
|
@@ -10,9 +10,8 @@
|
|
|
10
10
|
* - Each boundary is computed from `start` (`start + k × amount`), not by stepping from the
|
|
11
11
|
* previous boundary, so month-end starts don't drift: a monthly split from January 31 lands
|
|
12
12
|
* on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks to
|
|
13
|
-
* the month's last day, and stepping from that
|
|
14
|
-
* (February 29, then March 29).
|
|
15
|
-
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
13
|
+
* the month's last day (TC39 Temporal `add`, `overflow: "constrain"`), and stepping from that
|
|
14
|
+
* boundary would keep the shortened day (February 29, then March 29).
|
|
16
15
|
* - A step that resolves to the same date as the previous boundary is skipped, so no empty
|
|
17
16
|
* slice is produced. A step that goes backwards returns `[]`.
|
|
18
17
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { formatDateInCalendar, NANOSECONDS_PER_DAY_NUMBER, parseCalendarDatePairForArithmetic, plainDateAdd, resolveDurationUnit, tileByUnit, } from "../../internal/index.js";
|
|
4
4
|
import { isValidCalendarDate, isValidDateDurationUnit } from "../validate/index.js";
|
|
5
5
|
import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
|
|
@@ -16,9 +16,8 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
16
16
|
* - Each boundary is computed from `start` (`start + k × amount`), not by stepping from the
|
|
17
17
|
* previous boundary, so month-end starts don't drift: a monthly split from January 31 lands
|
|
18
18
|
* on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks to
|
|
19
|
-
* the month's last day, and stepping from that
|
|
20
|
-
* (February 29, then March 29).
|
|
21
|
-
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
19
|
+
* the month's last day (TC39 Temporal `add`, `overflow: "constrain"`), and stepping from that
|
|
20
|
+
* boundary would keep the shortened day (February 29, then March 29).
|
|
22
21
|
* - A step that resolves to the same date as the previous boundary is skipped, so no empty
|
|
23
22
|
* slice is produced. A step that goes backwards returns `[]`.
|
|
24
23
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
13
13
|
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
14
14
|
* (February 29, then March 29).
|
|
15
|
-
* -
|
|
15
|
+
* - Each calendar-unit boundary is `start.add(amount × k)` with Temporal's
|
|
16
|
+
* `overflow: "constrain"` (TC39 Temporal `add`), never a step from the previous boundary.
|
|
16
17
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
17
18
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
18
19
|
* `Number.MAX_SAFE_INTEGER`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { isValidDateTime, isValidDateTimeDurationUnit } from "../validate/index.js";
|
|
4
4
|
import { resolveDurationUnit, tileByUnit } from "../../internal/index.js";
|
|
5
5
|
import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
|
|
@@ -18,7 +18,8 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
18
18
|
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
19
19
|
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
20
20
|
* (February 29, then March 29).
|
|
21
|
-
* -
|
|
21
|
+
* - Each calendar-unit boundary is `start.add(amount × k)` with Temporal's
|
|
22
|
+
* `overflow: "constrain"` (TC39 Temporal `add`), never a step from the previous boundary.
|
|
22
23
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
23
24
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
24
25
|
* `Number.MAX_SAFE_INTEGER`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { isValidTime, isValidTimeDurationUnit } from "../validate/index.js";
|
|
4
4
|
import { resolveDurationUnit } from "../../internal/index.js";
|
|
5
5
|
import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Equal `start === end` is valid.
|
|
7
7
|
* - Invalid input, malformed strings, or leap-second strings return `false`.
|
|
8
8
|
* - Accepts RFC 9557 calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
|
|
9
|
-
* calendar-independent, so `start`/`end` may carry different or no calendar tags
|
|
9
|
+
* calendar-independent, so `start`/`end` may carry different or no calendar tags.
|
|
10
10
|
* - Compatibility: since 1.16.0 calendar strings are RFC 9557 (ISO digits, `[u-ca=<id>]`, canonical
|
|
11
11
|
* calendar ids); see `isValidCalendarDate`.
|
|
12
12
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Temporal } from "
|
|
1
|
+
import { Temporal } from "../../../internal/temporal.js";
|
|
2
2
|
import { parseCalendarDateValue } from "../../../internal/index.js";
|
|
3
3
|
import { isValidCalendarDate } from "../../validate/index.js";
|
|
4
4
|
/**
|
|
@@ -9,7 +9,7 @@ import { isValidCalendarDate } from "../../validate/index.js";
|
|
|
9
9
|
* - Equal `start === end` is valid.
|
|
10
10
|
* - Invalid input, malformed strings, or leap-second strings return `false`.
|
|
11
11
|
* - Accepts RFC 9557 calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
|
|
12
|
-
* calendar-independent, so `start`/`end` may carry different or no calendar tags
|
|
12
|
+
* calendar-independent, so `start`/`end` may carry different or no calendar tags.
|
|
13
13
|
* - Compatibility: since 1.16.0 calendar strings are RFC 9557 (ISO digits, `[u-ca=<id>]`, canonical
|
|
14
14
|
* calendar ids); see `isValidCalendarDate`.
|
|
15
15
|
*
|
|
@@ -11,22 +11,22 @@ import type { LocaleNameStyle } from "./getLocaleMonthNames.js";
|
|
|
11
11
|
* a valid locale, only for invalid input.
|
|
12
12
|
* - **A `-u-ca-` subtag in `locale` is ignored.** Both lookups pass `calendar: "gregory"` in the
|
|
13
13
|
* options bag, and ECMA-402's `ResolveLocale` ranks an options value above the locale
|
|
14
|
-
* extension, so ``getLocaleEraNames("
|
|
15
|
-
* `["
|
|
14
|
+
* extension, so ``getLocaleEraNames("th-TH-u-ca-buddhist")`` returns the same
|
|
15
|
+
* `["ปีก่อนคริสตกาล", "คริสต์ศักราช"]` as ``getLocaleEraNames("th-TH")``. That is deliberate — the function is Gregorian by
|
|
16
16
|
* contract — but it means the tag is accepted and overridden, not rejected. For another
|
|
17
|
-
* calendar's names, format a date in it: `formatDate("2024-03-15", "
|
|
17
|
+
* calendar's names, format a date in it: `formatDate("2024-03-15", "th-TH-u-ca-buddhist", { era: "long", year: "numeric" })`.
|
|
18
18
|
* - Returns `[]` if `locale` is not a well-formed BCP 47 tag (ECMA-402 `IsWellFormedLanguageTag`).
|
|
19
19
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
20
20
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
21
21
|
*
|
|
22
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
22
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
23
23
|
* @param style Optional name style: `"long"` (default), `"short"`, or `"narrow"`
|
|
24
24
|
* @returns 2-element `[BCE-label, CE-label]` array, or `[]` on invalid input
|
|
25
25
|
*
|
|
26
|
-
* @example getLocaleEraNames("en-
|
|
26
|
+
* @example getLocaleEraNames("en-GB") // ["Before Christ", "Anno Domini"]
|
|
27
27
|
* @example getLocaleEraNames("de-DE", "short") // ["v. Chr.", "n. Chr."]
|
|
28
28
|
* @example getLocaleEraNames("ja-JP", "narrow") // ["BC", "AD"]
|
|
29
|
-
* @example getLocaleEraNames("
|
|
29
|
+
* @example getLocaleEraNames("th-TH-u-ca-buddhist") // ["ปีก่อนคริสตกาล", "คริสต์ศักราช"] (the -u-ca- subtag is overridden)
|
|
30
30
|
* @example getLocaleEraNames("not-a-locale-!!") // []
|
|
31
31
|
* @example getLocaleEraNames(["fr-FR", "en-US"]) // ["avant Jésus-Christ", "après Jésus-Christ"]
|
|
32
32
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cachedFormatter } from "../../internal/formatterCache.js";
|
|
1
2
|
// fallow-ignore-file code-duplication -- sibling variant keeps its own guard, parse and try/catch, by design
|
|
2
3
|
import { resolveRequiredLocale } from "../../internal/resolveLocale.js";
|
|
3
4
|
// Imported from its module, not the `internal` barrel: `internal/patternToken.ts` imports this file.
|
|
@@ -14,22 +15,22 @@ import { zonedDateTimeFrom } from "../../internal/zonedWallClock.js";
|
|
|
14
15
|
* a valid locale, only for invalid input.
|
|
15
16
|
* - **A `-u-ca-` subtag in `locale` is ignored.** Both lookups pass `calendar: "gregory"` in the
|
|
16
17
|
* options bag, and ECMA-402's `ResolveLocale` ranks an options value above the locale
|
|
17
|
-
* extension, so ``getLocaleEraNames("
|
|
18
|
-
* `["
|
|
18
|
+
* extension, so ``getLocaleEraNames("th-TH-u-ca-buddhist")`` returns the same
|
|
19
|
+
* `["ปีก่อนคริสตกาล", "คริสต์ศักราช"]` as ``getLocaleEraNames("th-TH")``. That is deliberate — the function is Gregorian by
|
|
19
20
|
* contract — but it means the tag is accepted and overridden, not rejected. For another
|
|
20
|
-
* calendar's names, format a date in it: `formatDate("2024-03-15", "
|
|
21
|
+
* calendar's names, format a date in it: `formatDate("2024-03-15", "th-TH-u-ca-buddhist", { era: "long", year: "numeric" })`.
|
|
21
22
|
* - Returns `[]` if `locale` is not a well-formed BCP 47 tag (ECMA-402 `IsWellFormedLanguageTag`).
|
|
22
23
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
23
24
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
24
25
|
*
|
|
25
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
26
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
26
27
|
* @param style Optional name style: `"long"` (default), `"short"`, or `"narrow"`
|
|
27
28
|
* @returns 2-element `[BCE-label, CE-label]` array, or `[]` on invalid input
|
|
28
29
|
*
|
|
29
|
-
* @example getLocaleEraNames("en-
|
|
30
|
+
* @example getLocaleEraNames("en-GB") // ["Before Christ", "Anno Domini"]
|
|
30
31
|
* @example getLocaleEraNames("de-DE", "short") // ["v. Chr.", "n. Chr."]
|
|
31
32
|
* @example getLocaleEraNames("ja-JP", "narrow") // ["BC", "AD"]
|
|
32
|
-
* @example getLocaleEraNames("
|
|
33
|
+
* @example getLocaleEraNames("th-TH-u-ca-buddhist") // ["ปีก่อนคริสตกาล", "คริสต์ศักราช"] (the -u-ca- subtag is overridden)
|
|
33
34
|
* @example getLocaleEraNames("not-a-locale-!!") // []
|
|
34
35
|
* @example getLocaleEraNames(["fr-FR", "en-US"]) // ["avant Jésus-Christ", "après Jésus-Christ"]
|
|
35
36
|
*/
|
|
@@ -40,7 +41,7 @@ export function getLocaleEraNames(locale, style = "long") {
|
|
|
40
41
|
return [];
|
|
41
42
|
try {
|
|
42
43
|
const resolved = style === "short" || style === "narrow" ? style : "long";
|
|
43
|
-
const formatter =
|
|
44
|
+
const formatter = cachedFormatter("DateTimeFormat", resolvedLocale, {
|
|
44
45
|
calendar: "gregory",
|
|
45
46
|
era: resolved,
|
|
46
47
|
timeZone: "UTC",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Return a locale's AM/PM (day-period) labels as `[AM-label, PM-label]`.
|
|
3
3
|
*
|
|
4
|
-
* - Labels are locale-varying: `en-
|
|
5
|
-
* `["
|
|
6
|
-
* `
|
|
4
|
+
* - Labels are locale-varying: `en-GB` → `["am", "pm"]`, `zh-CN` →
|
|
5
|
+
* `["上午", "下午"]`, `ar-SA` → `["ص", "م"]`, `sv-SE` → `["fm", "em"]`,
|
|
6
|
+
* `en-US` → `["AM", "PM"]`.
|
|
7
7
|
* - Uses the host runtime's `Intl` data via `Intl.DateTimeFormat`, so output
|
|
8
8
|
* depends on the runtime's ICU build.
|
|
9
9
|
* - Returns `[]` if `locale` is not a well-formed BCP 47 tag (ECMA-402 `IsWellFormedLanguageTag`).
|
|
10
10
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
11
11
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
12
12
|
*
|
|
13
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
13
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
14
14
|
* @returns 2-element `[AM-label, PM-label]` array, or `[]` on invalid input
|
|
15
15
|
*
|
|
16
|
-
* @example getLocaleMeridiems("
|
|
16
|
+
* @example getLocaleMeridiems("ar-EG") // ["ص", "م"]
|
|
17
17
|
* @example getLocaleMeridiems("en-GB") // ["am", "pm"]
|
|
18
18
|
* @example getLocaleMeridiems("zh-CN") // ["上午", "下午"]
|
|
19
19
|
* @example getLocaleMeridiems("not-a-locale-!!") // []
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
import { cachedFormatter } from "../../internal/formatterCache.js";
|
|
1
2
|
import { resolveRequiredLocale } from "../../internal/resolveLocale.js";
|
|
2
3
|
/**
|
|
3
4
|
* Return a locale's AM/PM (day-period) labels as `[AM-label, PM-label]`.
|
|
4
5
|
*
|
|
5
|
-
* - Labels are locale-varying: `en-
|
|
6
|
-
* `["
|
|
7
|
-
* `
|
|
6
|
+
* - Labels are locale-varying: `en-GB` → `["am", "pm"]`, `zh-CN` →
|
|
7
|
+
* `["上午", "下午"]`, `ar-SA` → `["ص", "م"]`, `sv-SE` → `["fm", "em"]`,
|
|
8
|
+
* `en-US` → `["AM", "PM"]`.
|
|
8
9
|
* - Uses the host runtime's `Intl` data via `Intl.DateTimeFormat`, so output
|
|
9
10
|
* depends on the runtime's ICU build.
|
|
10
11
|
* - Returns `[]` if `locale` is not a well-formed BCP 47 tag (ECMA-402 `IsWellFormedLanguageTag`).
|
|
11
12
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
12
13
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
13
14
|
*
|
|
14
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
15
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
15
16
|
* @returns 2-element `[AM-label, PM-label]` array, or `[]` on invalid input
|
|
16
17
|
*
|
|
17
|
-
* @example getLocaleMeridiems("
|
|
18
|
+
* @example getLocaleMeridiems("ar-EG") // ["ص", "م"]
|
|
18
19
|
* @example getLocaleMeridiems("en-GB") // ["am", "pm"]
|
|
19
20
|
* @example getLocaleMeridiems("zh-CN") // ["上午", "下午"]
|
|
20
21
|
* @example getLocaleMeridiems("not-a-locale-!!") // []
|
|
@@ -26,7 +27,7 @@ export function getLocaleMeridiems(locale) {
|
|
|
26
27
|
if (resolvedLocale === null)
|
|
27
28
|
return [];
|
|
28
29
|
try {
|
|
29
|
-
const formatter =
|
|
30
|
+
const formatter = cachedFormatter("DateTimeFormat", resolvedLocale, {
|
|
30
31
|
timeZone: "UTC",
|
|
31
32
|
hour: "numeric",
|
|
32
33
|
hour12: true,
|
|
@@ -16,22 +16,22 @@ export type LocaleNameStyle = "long" | "short" | "narrow";
|
|
|
16
16
|
* are out of scope for this function.
|
|
17
17
|
* - **A `-u-ca-` subtag in `locale` is ignored.** Both lookups pass `calendar: "gregory"` in the
|
|
18
18
|
* options bag, and ECMA-402's `ResolveLocale` ranks an options value above the locale
|
|
19
|
-
* extension, so ``getLocaleMonthNames("
|
|
20
|
-
* twelve Gregorian month names as ``getLocaleMonthNames("
|
|
19
|
+
* extension, so ``getLocaleMonthNames("hi-IN-u-ca-indian")`` returns the same
|
|
20
|
+
* twelve Gregorian month names as ``getLocaleMonthNames("hi-IN")``. That is deliberate — the function is Gregorian by
|
|
21
21
|
* contract — but it means the tag is accepted and overridden, not rejected. For another
|
|
22
|
-
* calendar's names, format a date in it: `formatDate("2024-03-15", "
|
|
22
|
+
* calendar's names, format a date in it: `formatDate("2024-03-15", "hi-IN-u-ca-indian", { month: "long" })`.
|
|
23
23
|
* - Returns `[]` if `locale` is not a well-formed BCP 47 tag (ECMA-402 `IsWellFormedLanguageTag`).
|
|
24
24
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
25
25
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
26
26
|
*
|
|
27
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
27
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
28
28
|
* @param style Optional name style: `"long"` (default), `"short"`, or `"narrow"`
|
|
29
29
|
* @returns 12-element array of month names in calendar order, or `[]` on invalid input
|
|
30
30
|
*
|
|
31
|
-
* @example getLocaleMonthNames("
|
|
31
|
+
* @example getLocaleMonthNames("ja-JP") // ["1月", "2月", ... "12月"]
|
|
32
32
|
* @example getLocaleMonthNames("de-DE", "short") // ["Jan", "Feb", "Mär", ... "Dez"]
|
|
33
33
|
* @example getLocaleMonthNames("fr-FR", "narrow") // ["J", "F", "M", ... "D"]
|
|
34
|
-
* @example getLocaleMonthNames("
|
|
34
|
+
* @example getLocaleMonthNames("hi-IN-u-ca-indian") // ["जनवरी", "फ़रवरी", ... "दिसंबर"] (the -u-ca- subtag is overridden)
|
|
35
35
|
* @example getLocaleMonthNames("not-a-locale-!!") // []
|
|
36
36
|
* @example getLocaleMonthNames(["fr-FR", "en-US"]) // ["janvier", "février", …, "décembre"]
|
|
37
37
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- sibling variant keeps its own guard, parse and try/catch, by design
|
|
2
|
+
import { cachedFormatter } from "../../internal/formatterCache.js";
|
|
2
3
|
import { resolveRequiredLocale } from "../../internal/resolveLocale.js";
|
|
3
|
-
import { Temporal } from "
|
|
4
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
4
5
|
/**
|
|
5
6
|
* Return the 12 Gregorian calendar-month names for a locale, in calendar
|
|
6
7
|
* order (January first, December last — not alphabetical).
|
|
@@ -12,22 +13,22 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
12
13
|
* are out of scope for this function.
|
|
13
14
|
* - **A `-u-ca-` subtag in `locale` is ignored.** Both lookups pass `calendar: "gregory"` in the
|
|
14
15
|
* options bag, and ECMA-402's `ResolveLocale` ranks an options value above the locale
|
|
15
|
-
* extension, so ``getLocaleMonthNames("
|
|
16
|
-
* twelve Gregorian month names as ``getLocaleMonthNames("
|
|
16
|
+
* extension, so ``getLocaleMonthNames("hi-IN-u-ca-indian")`` returns the same
|
|
17
|
+
* twelve Gregorian month names as ``getLocaleMonthNames("hi-IN")``. That is deliberate — the function is Gregorian by
|
|
17
18
|
* contract — but it means the tag is accepted and overridden, not rejected. For another
|
|
18
|
-
* calendar's names, format a date in it: `formatDate("2024-03-15", "
|
|
19
|
+
* calendar's names, format a date in it: `formatDate("2024-03-15", "hi-IN-u-ca-indian", { month: "long" })`.
|
|
19
20
|
* - Returns `[]` if `locale` is not a well-formed BCP 47 tag (ECMA-402 `IsWellFormedLanguageTag`).
|
|
20
21
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
21
22
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
22
23
|
*
|
|
23
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
24
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
24
25
|
* @param style Optional name style: `"long"` (default), `"short"`, or `"narrow"`
|
|
25
26
|
* @returns 12-element array of month names in calendar order, or `[]` on invalid input
|
|
26
27
|
*
|
|
27
|
-
* @example getLocaleMonthNames("
|
|
28
|
+
* @example getLocaleMonthNames("ja-JP") // ["1月", "2月", ... "12月"]
|
|
28
29
|
* @example getLocaleMonthNames("de-DE", "short") // ["Jan", "Feb", "Mär", ... "Dez"]
|
|
29
30
|
* @example getLocaleMonthNames("fr-FR", "narrow") // ["J", "F", "M", ... "D"]
|
|
30
|
-
* @example getLocaleMonthNames("
|
|
31
|
+
* @example getLocaleMonthNames("hi-IN-u-ca-indian") // ["जनवरी", "फ़रवरी", ... "दिसंबर"] (the -u-ca- subtag is overridden)
|
|
31
32
|
* @example getLocaleMonthNames("not-a-locale-!!") // []
|
|
32
33
|
* @example getLocaleMonthNames(["fr-FR", "en-US"]) // ["janvier", "février", …, "décembre"]
|
|
33
34
|
*/
|
|
@@ -38,13 +39,18 @@ export function getLocaleMonthNames(locale, style = "long") {
|
|
|
38
39
|
return [];
|
|
39
40
|
try {
|
|
40
41
|
const resolved = style === "short" || style === "narrow" ? style : "long";
|
|
42
|
+
// One formatter for the twelve dates. A PlainDate formats its own wall-clock fields
|
|
43
|
+
// (Temporal `PlainDate.prototype.toLocaleString`); the same date's UTC midnight in a
|
|
44
|
+
// `timeZone: "UTC"` formatter shows the same fields.
|
|
45
|
+
const formatter = cachedFormatter("DateTimeFormat", resolvedLocale, {
|
|
46
|
+
month: resolved,
|
|
47
|
+
calendar: "gregory",
|
|
48
|
+
timeZone: "UTC",
|
|
49
|
+
});
|
|
41
50
|
const names = [];
|
|
42
51
|
for (let month = 1; month <= 12; month++) {
|
|
43
52
|
const date = Temporal.PlainDate.from(`2024-${String(month).padStart(2, "0")}-15`);
|
|
44
|
-
names.push(date.
|
|
45
|
-
month: resolved,
|
|
46
|
-
calendar: "gregory",
|
|
47
|
-
}));
|
|
53
|
+
names.push(formatter.format(date.toZonedDateTime("UTC").epochMilliseconds));
|
|
48
54
|
}
|
|
49
55
|
return names;
|
|
50
56
|
}
|
|
@@ -3,7 +3,7 @@ import type { LocaleNameStyle } from "./getLocaleMonthNames.js";
|
|
|
3
3
|
* Return the 7 weekday names for a locale, ordered starting from the
|
|
4
4
|
* locale's first day of the week.
|
|
5
5
|
*
|
|
6
|
-
* - The order is the locale's **first day of the week**, never its weekend. For `
|
|
6
|
+
* - The order is the locale's **first day of the week**, never its weekend. For `pt-BR` and
|
|
7
7
|
* `ar-SA` the array starts with Sunday, for `fr-FR` with Monday, for `ar-EG` with Saturday —
|
|
8
8
|
* matching GMT's existing locale-first-day convention in `getLocaleDayOfWeek` /
|
|
9
9
|
* `getLocaleStartOfWeek`. `ar-SA`'s weekend is Friday and Saturday
|
|
@@ -18,11 +18,11 @@ import type { LocaleNameStyle } from "./getLocaleMonthNames.js";
|
|
|
18
18
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
19
19
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
20
20
|
*
|
|
21
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
21
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
22
22
|
* @param style Optional name style: `"long"` (default), `"short"`, or `"narrow"`
|
|
23
23
|
* @returns 7-element array of weekday names from the locale's first day, or `[]` on invalid input
|
|
24
24
|
*
|
|
25
|
-
* @example getLocaleWeekdayNames("
|
|
25
|
+
* @example getLocaleWeekdayNames("pt-BR") // ["domingo", "segunda-feira", ... "sábado"]
|
|
26
26
|
* @example getLocaleWeekdayNames("fr-FR") // ["lundi", "mardi", ... "dimanche"]
|
|
27
27
|
* @example getLocaleWeekdayNames("de-DE", "short") // ["Mo", "Di", "Mi", ... "So"]
|
|
28
28
|
* @example getLocaleWeekdayNames("ar-EG")[0] // "السبت" (Saturday — ar-EG's first day, unlike ar-SA's Sunday)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { cachedFormatter } from "../../internal/formatterCache.js";
|
|
1
2
|
import { resolveRequiredLocale } from "../../internal/resolveLocale.js";
|
|
2
|
-
import { Temporal } from "
|
|
3
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
4
|
import { getLocaleFirstDayOfWeek } from "../../internal/getLocaleFirstDayOfWeek.js";
|
|
4
5
|
/**
|
|
5
6
|
* Return the 7 weekday names for a locale, ordered starting from the
|
|
6
7
|
* locale's first day of the week.
|
|
7
8
|
*
|
|
8
|
-
* - The order is the locale's **first day of the week**, never its weekend. For `
|
|
9
|
+
* - The order is the locale's **first day of the week**, never its weekend. For `pt-BR` and
|
|
9
10
|
* `ar-SA` the array starts with Sunday, for `fr-FR` with Monday, for `ar-EG` with Saturday —
|
|
10
11
|
* matching GMT's existing locale-first-day convention in `getLocaleDayOfWeek` /
|
|
11
12
|
* `getLocaleStartOfWeek`. `ar-SA`'s weekend is Friday and Saturday
|
|
@@ -20,11 +21,11 @@ import { getLocaleFirstDayOfWeek } from "../../internal/getLocaleFirstDayOfWeek.
|
|
|
20
21
|
* A well-formed tag with no matching locale data is not an error: it falls back to the host's
|
|
21
22
|
* default locale, as ECMA-402 `ResolveLocale` requires.
|
|
22
23
|
*
|
|
23
|
-
* @param locale BCP 47 locale tag (e.g. "
|
|
24
|
+
* @param locale BCP 47 locale tag (e.g. "fr-FR", "ar-SA", "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns []
|
|
24
25
|
* @param style Optional name style: `"long"` (default), `"short"`, or `"narrow"`
|
|
25
26
|
* @returns 7-element array of weekday names from the locale's first day, or `[]` on invalid input
|
|
26
27
|
*
|
|
27
|
-
* @example getLocaleWeekdayNames("
|
|
28
|
+
* @example getLocaleWeekdayNames("pt-BR") // ["domingo", "segunda-feira", ... "sábado"]
|
|
28
29
|
* @example getLocaleWeekdayNames("fr-FR") // ["lundi", "mardi", ... "dimanche"]
|
|
29
30
|
* @example getLocaleWeekdayNames("de-DE", "short") // ["Mo", "Di", "Mi", ... "So"]
|
|
30
31
|
* @example getLocaleWeekdayNames("ar-EG")[0] // "السبت" (Saturday — ar-EG's first day, unlike ar-SA's Sunday)
|
|
@@ -43,12 +44,18 @@ export function getLocaleWeekdayNames(locale, style = "long") {
|
|
|
43
44
|
const resolved = style === "short" || style === "narrow" ? style : "long";
|
|
44
45
|
// Build the names in ISO order (Monday-first), then rotate so the
|
|
45
46
|
// locale's first day of week sits at index 0.
|
|
47
|
+
// One formatter for the seven dates: a PlainDate formats its own wall-clock fields, and
|
|
48
|
+
// the same date's UTC midnight in a `timeZone: "UTC"` formatter shows the same fields.
|
|
49
|
+
const formatter = cachedFormatter("DateTimeFormat", resolvedLocale, {
|
|
50
|
+
weekday: resolved,
|
|
51
|
+
timeZone: "UTC",
|
|
52
|
+
});
|
|
46
53
|
const isoOrder = [];
|
|
47
54
|
for (let dayOfWeek = 1; dayOfWeek <= 7; dayOfWeek++) {
|
|
48
55
|
const date = Temporal.PlainDate.from("2024-01-15").add({
|
|
49
56
|
days: dayOfWeek - 1,
|
|
50
57
|
});
|
|
51
|
-
isoOrder.push(date.
|
|
58
|
+
isoOrder.push(formatter.format(date.toZonedDateTime("UTC").epochMilliseconds));
|
|
52
59
|
}
|
|
53
60
|
return isoOrder
|
|
54
61
|
.slice(firstDay - 1)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
|
-
import { Temporal } from "
|
|
2
|
+
import { Temporal } from "../../internal/temporal.js";
|
|
3
3
|
import { isValidDate } from "../validate/index.js";
|
|
4
4
|
import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
|
|
5
5
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TwoDigitYearOptions } from "../../types/two-digit-year.js";
|
|
2
2
|
/**
|
|
3
3
|
* Parse a datetime string against a caller-supplied token pattern (e.g.
|
|
4
|
-
* `"MM/
|
|
4
|
+
* `"dd/MM/yyyy HH:mm:ss"`, `"dd-MMM-yyyy h:mm a"`) and return it as an
|
|
5
5
|
* ISO `PlainDateTime` string.
|
|
6
6
|
*
|
|
7
7
|
* - **Decoding, not display.** This is for consuming a *known, fixed*
|
|
@@ -48,9 +48,10 @@ import type { TwoDigitYearOptions } from "../../types/two-digit-year.js";
|
|
|
48
48
|
* (`""`). Any other character that is not a letter (`/ - , space :`,
|
|
49
49
|
* digits and so on) is a literal with no quoting.
|
|
50
50
|
* - `MMMM`/`MMM`/`EEEE`/`EEE`/`a`/`GGGG`/`GG` are locale-aware. If
|
|
51
|
-
* `locale` is omitted and the pattern uses any of
|
|
52
|
-
*
|
|
53
|
-
*
|
|
51
|
+
* `locale` is omitted (or an empty list) and the pattern uses any of
|
|
52
|
+
* them, GMT reads English names in `"en"`, the language with no
|
|
53
|
+
* region, rather than returning `""`. CLDR gives `"en"` the same names
|
|
54
|
+
* as `"en-US"`. Pass `locale` for any other language.
|
|
54
55
|
* - `EEEE`/`EEE` are matched against the locale's weekday names but the
|
|
55
56
|
* result is **not** cross-checked against the constructed date — e.g.
|
|
56
57
|
* `"Monday, 2024-03-15 14:00"` parses successfully against
|
|
@@ -63,7 +64,7 @@ import type { TwoDigitYearOptions } from "../../types/two-digit-year.js";
|
|
|
63
64
|
* pattern is still valid but the hour stays ambiguous — GMT resolves
|
|
64
65
|
* it as if AM had matched (12 → 0, otherwise unchanged).
|
|
65
66
|
* - Adjacent variable-width numeric tokens with no literal separator
|
|
66
|
-
* (e.g. `"
|
|
67
|
+
* (e.g. `"dMyyyy"`) are inherently ambiguous: each becomes a greedy
|
|
67
68
|
* `\d{1,2}`/etc. in sequence, so the split between fields depends on
|
|
68
69
|
* regex backtracking, not on any documented rule. Prefer zero-padded
|
|
69
70
|
* tokens (`MM`, `dd`) or an explicit separator for reliable parsing.
|
|
@@ -82,21 +83,21 @@ import type { TwoDigitYearOptions } from "../../types/two-digit-year.js";
|
|
|
82
83
|
* window reads no clock for it. A two-digit year is a legacy form; a
|
|
83
84
|
* four-digit year is the one to ask a data source for.
|
|
84
85
|
*
|
|
85
|
-
* @param value The string to decode (e.g. "03/
|
|
86
|
-
* @param pattern The token pattern describing `value`'s shape (e.g. "MM/
|
|
87
|
-
* @param locale Optional BCP 47 locale tag, or a preference list of tags, for name-based tokens (default "en
|
|
86
|
+
* @param value The string to decode (e.g. "15/03/2024 14:30:00")
|
|
87
|
+
* @param pattern The token pattern describing `value`'s shape (e.g. "dd/MM/yyyy HH:mm:ss")
|
|
88
|
+
* @param locale Optional BCP 47 locale tag, or a preference list of tags, for name-based tokens (default "en")
|
|
88
89
|
* @param options The hundred-year window a `yy` token resolves in
|
|
89
90
|
* @returns ISO `PlainDateTime` string, or "" on no match, malformed pattern, or invalid input
|
|
90
91
|
*
|
|
91
|
-
* @example parseDateTimeWithPattern("03/
|
|
92
|
+
* @example parseDateTimeWithPattern("15/03/2024 14:30:00", "dd/MM/yyyy HH:mm:ss") // "2024-03-15T14:30:00"
|
|
92
93
|
* @example parseDateTimeWithPattern("15-Mar-2024 02:30 PM", "dd-MMM-yyyy hh:mm a") // "2024-03-15T14:30:00"
|
|
93
|
-
* @example parseDateTimeWithPattern("Mar
|
|
94
|
+
* @example parseDateTimeWithPattern("15 Mar '24 at 14:30", "d MMM ''yy 'at' HH:mm", undefined, { yearWindow: 2000 }) // "2024-03-15T14:30:00" ('' is one literal quote)
|
|
94
95
|
* @example parseDateTimeWithPattern("99-03-15 14:30", "yy-MM-dd HH:mm", undefined, { yearWindow: 1950 }) // "1999-03-15T14:30:00" (1950–2049 window)
|
|
95
96
|
* @example parseDateTimeWithPattern("24-03-15 14:30", "yy-MM-dd HH:mm", undefined, { yearWindow: "rolling" }) // "2024-03-15T14:30:00" (while the current UTC year is 1975–2074)
|
|
96
97
|
* @example parseDateTimeWithPattern("24-03-15 14:30", "yy-MM-dd HH:mm") // "" (yy with no window)
|
|
97
|
-
* @example parseDateTimeWithPattern("03/15/2024 14:30:00", "MM/dd/yyyy HH:mm:ss", undefined, { yearWindow: 2000 }) // "2024-03-15T14:30:00" (yyyy ignores the window)
|
|
98
|
-
* @example parseDateTimeWithPattern("02/
|
|
99
|
-
* @example parseDateTimeWithPattern("not a date", "MM/
|
|
98
|
+
* @example parseDateTimeWithPattern("03/15/2024 14:30:00", "MM/dd/yyyy HH:mm:ss", undefined, { yearWindow: 2000 }) // "2024-03-15T14:30:00" (US order; yyyy ignores the window)
|
|
99
|
+
* @example parseDateTimeWithPattern("31/02/2024 14:30:00", "dd/MM/yyyy HH:mm:ss") // "" (shape-valid, not a real date)
|
|
100
|
+
* @example parseDateTimeWithPattern("not a date", "dd/MM/yyyy HH:mm:ss") // ""
|
|
100
101
|
* @example parseDateTimeWithPattern("19 mai 2024 10:20", "d MMMM yyyy HH:mm", ["fr-FR", "en-US"]) // "2024-05-19T10:20:00"
|
|
101
102
|
*/
|
|
102
103
|
export declare function parseDateTimeWithPattern(value: string, pattern: string, locale?: string | string[], options?: TwoDigitYearOptions): string;
|