@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Temporal } from "
|
|
1
|
+
import type { Temporal } from "./temporal.js";
|
|
2
2
|
import type { RelativeRoundingMethod, RelativeTimeFormatOptions, RelativeUnit } from "../types/index.js";
|
|
3
3
|
/** A relative unit, singular or plural (`Intl.RelativeTimeFormat` and Temporal accept both). */
|
|
4
4
|
type RelativeUnitName = RelativeUnit | `${RelativeUnit}s`;
|
|
@@ -19,9 +19,9 @@ export interface RelativeDurationFormatOptions {
|
|
|
19
19
|
* @param calendarTotal the total in `unit` against the caller's anchor; called only when the unit
|
|
20
20
|
* is calendrical (month, year) and `diff.total(unit)` throws without a `relativeTo`
|
|
21
21
|
* @returns the formatted phrase; throws where `Intl` or Temporal throws, for the caller's sentinel
|
|
22
|
-
* @example formatRelativeDuration(Temporal.Duration.from({ minutes: -30 }), "en-
|
|
23
|
-
* @example formatRelativeDuration(Temporal.Duration.from({ hours: 36 }), "
|
|
24
|
-
* @example formatRelativeDuration(Temporal.Duration.from({ days: 400 }), "en-
|
|
22
|
+
* @example formatRelativeDuration(Temporal.Duration.from({ minutes: -30 }), "en-GB", {}, () => 0) // "30 minutes ago"
|
|
23
|
+
* @example formatRelativeDuration(Temporal.Duration.from({ hours: 36 }), "de-DE", { largestUnit: "hour" }, () => 0) // "in 36 Stunden"
|
|
24
|
+
* @example formatRelativeDuration(Temporal.Duration.from({ days: 400 }), "en-GB", {}, () => 1) // "next year" (month/year totals come from calendarTotal)
|
|
25
25
|
*/
|
|
26
26
|
export declare function formatRelativeDuration(diff: Temporal.Duration, locale: string | string[] | undefined, options: RelativeDurationFormatOptions, calendarTotal: (unit: RelativeUnit) => number): string;
|
|
27
27
|
/**
|
|
@@ -39,9 +39,9 @@ export declare function formatRelativeDuration(diff: Temporal.Duration, locale:
|
|
|
39
39
|
* @param roundingMethod the caller's `roundingMethod`, `undefined` for the default `"round"`
|
|
40
40
|
* @returns the formatted phrase; throws where `Intl` throws or the rounding method is invalid, for
|
|
41
41
|
* the caller's sentinel
|
|
42
|
-
* @example formatRelativeAmount(-1.5, "hour", "en-
|
|
43
|
-
* @example formatRelativeAmount(1, "day", "
|
|
44
|
-
* @example formatRelativeAmount(1, "day", "
|
|
42
|
+
* @example formatRelativeAmount(-1.5, "hour", "en-GB", {}, "floor") // "2 hours ago"
|
|
43
|
+
* @example formatRelativeAmount(1, "day", "ja-JP", { numeric: "always" }, undefined) // "1 日後"
|
|
44
|
+
* @example formatRelativeAmount(1, "day", "fr-FR", { style: "wide" as never }, undefined) // throws RangeError
|
|
45
45
|
*/
|
|
46
46
|
export declare function formatRelativeAmount(total: number, unit: RelativeUnit, locale: string | string[] | undefined, options: Pick<RelativeDurationFormatOptions, "numeric" | "style">, roundingMethod: RelativeRoundingMethod | undefined): string;
|
|
47
47
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cachedFormatter } from "./formatterCache.js";
|
|
1
2
|
import { normalizeDateTime } from "./normalizeDateTime.js";
|
|
2
3
|
import { resolveRelativeRounding } from "./resolveRelativeRounding.js";
|
|
3
4
|
import { optionOrDefault } from "./optionOrDefault.js";
|
|
@@ -34,9 +35,9 @@ const AUTO_UNITS = [
|
|
|
34
35
|
* @param calendarTotal the total in `unit` against the caller's anchor; called only when the unit
|
|
35
36
|
* is calendrical (month, year) and `diff.total(unit)` throws without a `relativeTo`
|
|
36
37
|
* @returns the formatted phrase; throws where `Intl` or Temporal throws, for the caller's sentinel
|
|
37
|
-
* @example formatRelativeDuration(Temporal.Duration.from({ minutes: -30 }), "en-
|
|
38
|
-
* @example formatRelativeDuration(Temporal.Duration.from({ hours: 36 }), "
|
|
39
|
-
* @example formatRelativeDuration(Temporal.Duration.from({ days: 400 }), "en-
|
|
38
|
+
* @example formatRelativeDuration(Temporal.Duration.from({ minutes: -30 }), "en-GB", {}, () => 0) // "30 minutes ago"
|
|
39
|
+
* @example formatRelativeDuration(Temporal.Duration.from({ hours: 36 }), "de-DE", { largestUnit: "hour" }, () => 0) // "in 36 Stunden"
|
|
40
|
+
* @example formatRelativeDuration(Temporal.Duration.from({ days: 400 }), "en-GB", {}, () => 1) // "next year" (month/year totals come from calendarTotal)
|
|
40
41
|
*/
|
|
41
42
|
export function formatRelativeDuration(diff, locale, options, calendarTotal) {
|
|
42
43
|
// Each option is read once (GetOption), and largestUnit is validated before anything is measured.
|
|
@@ -72,13 +73,13 @@ export function formatRelativeDuration(diff, locale, options, calendarTotal) {
|
|
|
72
73
|
* @param roundingMethod the caller's `roundingMethod`, `undefined` for the default `"round"`
|
|
73
74
|
* @returns the formatted phrase; throws where `Intl` throws or the rounding method is invalid, for
|
|
74
75
|
* the caller's sentinel
|
|
75
|
-
* @example formatRelativeAmount(-1.5, "hour", "en-
|
|
76
|
-
* @example formatRelativeAmount(1, "day", "
|
|
77
|
-
* @example formatRelativeAmount(1, "day", "
|
|
76
|
+
* @example formatRelativeAmount(-1.5, "hour", "en-GB", {}, "floor") // "2 hours ago"
|
|
77
|
+
* @example formatRelativeAmount(1, "day", "ja-JP", { numeric: "always" }, undefined) // "1 日後"
|
|
78
|
+
* @example formatRelativeAmount(1, "day", "fr-FR", { style: "wide" as never }, undefined) // throws RangeError
|
|
78
79
|
*/
|
|
79
80
|
export function formatRelativeAmount(total, unit, locale, options, roundingMethod) {
|
|
80
81
|
const amount = resolveRelativeRounding(total, roundingMethod);
|
|
81
|
-
return normalizeDateTime(
|
|
82
|
+
return normalizeDateTime(cachedFormatter("RelativeTimeFormat", locale, {
|
|
82
83
|
numeric: optionOrDefault(options.numeric, "auto"),
|
|
83
84
|
style: optionOrDefault(options.style, "long"),
|
|
84
85
|
}).format(amount, unit));
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** The `Intl` formatter classes this module builds. */
|
|
2
|
+
type FormatterKind = "DateTimeFormat" | "NumberFormat" | "ListFormat" | "RelativeTimeFormat";
|
|
3
|
+
type FormatterLocale = string | string[] | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* A shared, read-only formatter for these arguments; built on the first call with them.
|
|
6
|
+
*
|
|
7
|
+
* A formatter's output is fixed by its constructor arguments and the host's locale data. A
|
|
8
|
+
* `DateTimeFormat` also reads the default locale and default time zone, so it is cached only
|
|
9
|
+
* with a `locale` string (or array of strings) and a `timeZone` string; any other argument
|
|
10
|
+
* set is constructed fresh, exactly as `new Intl[kind](locale, options)` would. A construction
|
|
11
|
+
* failure throws and is never cached. A formatter is kept only while `Intl[kind]` is the
|
|
12
|
+
* constructor that built it.
|
|
13
|
+
*
|
|
14
|
+
* @param kind which `Intl` formatter class to build
|
|
15
|
+
* @param locale BCP 47 locale or locales, or `undefined` for the runtime default
|
|
16
|
+
* @param options the formatter's options, built by GMT code
|
|
17
|
+
* @returns the formatter
|
|
18
|
+
*
|
|
19
|
+
* @example cachedFormatter("DateTimeFormat", "en-GB", { timeZone: "UTC" }).format(0) // "01/01/1970"
|
|
20
|
+
* @example cachedFormatter("ListFormat", "en", { type: "conjunction" }).format(["a", "b"]) // "a and b"
|
|
21
|
+
* @example cachedFormatter("DateTimeFormat", "not a locale", { timeZone: "UTC" }) // throws RangeError
|
|
22
|
+
*/
|
|
23
|
+
export declare function cachedFormatter<K extends FormatterKind>(kind: K, locale: FormatterLocale, options: object): InstanceType<(typeof Intl)[K]>;
|
|
24
|
+
/**
|
|
25
|
+
* Construct once to raise the error `Intl` raises for these arguments; a repeat is a no-op.
|
|
26
|
+
*
|
|
27
|
+
* Whether construction throws does not depend on the default zone, so the arguments need no
|
|
28
|
+
* `timeZone`. Only a success is remembered; an invalid call throws every time.
|
|
29
|
+
*
|
|
30
|
+
* @param kind which `Intl` formatter class to build
|
|
31
|
+
* @param locale BCP 47 locale or locales, or `undefined` for the runtime default
|
|
32
|
+
* @param options the formatter's options, built by GMT code
|
|
33
|
+
*
|
|
34
|
+
* @example checkFormatterArguments("DateTimeFormat", "en-GB", { dateStyle: "long" }) // returns
|
|
35
|
+
* @example checkFormatterArguments("DateTimeFormat", "en-GB", { dateStyle: "huge" }) // throws RangeError
|
|
36
|
+
*/
|
|
37
|
+
export declare function checkFormatterArguments(kind: FormatterKind, locale: FormatterLocale, options: object): void;
|
|
38
|
+
/** Test seam: forget every cached formatter and every checked argument set. */
|
|
39
|
+
export declare function clearFormatterCache(): void;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/** At most this many formatters (or checked argument sets) per kind; past it the kind's map clears. */
|
|
2
|
+
const MAX_ENTRIES_PER_KIND = 256;
|
|
3
|
+
const formatters = new Map();
|
|
4
|
+
const checked = new Map();
|
|
5
|
+
/** The `Intl[kind]` constructor each kind's entries were built with. */
|
|
6
|
+
const builtWith = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Forget a kind's formatters and checked argument sets when `Intl[kind]` is no longer the
|
|
9
|
+
* constructor they were built with (a polyfill loaded later, a test stub), so every answer comes
|
|
10
|
+
* from the constructor installed now.
|
|
11
|
+
*/
|
|
12
|
+
function forgetIfReplaced(kind) {
|
|
13
|
+
const current = Intl[kind];
|
|
14
|
+
if (builtWith.get(kind) !== current) {
|
|
15
|
+
formatters.delete(kind);
|
|
16
|
+
checked.delete(kind);
|
|
17
|
+
builtWith.set(kind, current);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function construct(kind, locale, options) {
|
|
21
|
+
switch (kind) {
|
|
22
|
+
case "DateTimeFormat":
|
|
23
|
+
return new Intl.DateTimeFormat(locale, options);
|
|
24
|
+
case "NumberFormat":
|
|
25
|
+
return new Intl.NumberFormat(locale, options);
|
|
26
|
+
case "ListFormat":
|
|
27
|
+
return new Intl.ListFormat(locale, options);
|
|
28
|
+
case "RelativeTimeFormat":
|
|
29
|
+
return new Intl.RelativeTimeFormat(locale, options);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether a canonical locale list can be part of a cache key: a string, or a non-empty array.
|
|
34
|
+
* `undefined` and `[]` answer from the process default locale, which can change.
|
|
35
|
+
*/
|
|
36
|
+
function isCacheableLocale(locale) {
|
|
37
|
+
return (typeof locale === "string" || (Array.isArray(locale) && locale.length > 0));
|
|
38
|
+
}
|
|
39
|
+
/** Whether `Intl` can read this option value without running caller code. */
|
|
40
|
+
function isPlainOptionValue(value) {
|
|
41
|
+
return (typeof value === "string" ||
|
|
42
|
+
typeof value === "boolean" ||
|
|
43
|
+
(typeof value === "number" && Number.isFinite(value)));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The own enumerable options as `[name, value]` pairs, read through property descriptors so a
|
|
47
|
+
* getter is never run, or `null` when one is an accessor or holds a value `Intl` would coerce
|
|
48
|
+
* by running caller code (anything but a string, a finite number or a boolean). An `undefined`
|
|
49
|
+
* value is skipped, as `Intl` reads it as absent.
|
|
50
|
+
*/
|
|
51
|
+
function plainOptionEntries(options) {
|
|
52
|
+
const entries = [];
|
|
53
|
+
for (const name of Object.keys(options)) {
|
|
54
|
+
const descriptor = Object.getOwnPropertyDescriptor(options, name);
|
|
55
|
+
if (descriptor === undefined || !("value" in descriptor)) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const value = descriptor.value;
|
|
59
|
+
if (value === undefined) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (!isPlainOptionValue(value)) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
entries.push([name, value]);
|
|
66
|
+
}
|
|
67
|
+
return entries;
|
|
68
|
+
}
|
|
69
|
+
/** Whether these entries carry a `timeZone` string. */
|
|
70
|
+
function hasZoneString(entries) {
|
|
71
|
+
return entries.some(([name, value]) => name === "timeZone" && typeof value === "string");
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The cache key for these arguments, or `null` when they must be constructed fresh. The
|
|
75
|
+
* locale is already canonical (see `canonicalLocale`).
|
|
76
|
+
*
|
|
77
|
+
* @param zoneRequired whether the options must carry a `timeZone` string: a `DateTimeFormat`
|
|
78
|
+
* without one answers from the process default zone, which can change.
|
|
79
|
+
*/
|
|
80
|
+
function cacheKey(kind, locale, options, zoneRequired) {
|
|
81
|
+
if (!isCacheableLocale(locale)) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
const entries = plainOptionEntries(options);
|
|
85
|
+
if (entries === null || (zoneRequired && !hasZoneString(entries))) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return kind + JSON.stringify([locale, entries]);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The locale list as `Intl` canonicalizes it (ECMA-402 CanonicalizeLocaleList): an array is read
|
|
92
|
+
* once, here, through `Intl.getCanonicalLocales`, so the key and the constructor see the same
|
|
93
|
+
* strings even when the array is a Proxy that answers each read differently, and a bad list
|
|
94
|
+
* throws before the options are read, as in the constructors.
|
|
95
|
+
*/
|
|
96
|
+
function canonicalLocale(locale) {
|
|
97
|
+
return Array.isArray(locale) ? Intl.getCanonicalLocales(locale) : locale;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* A shared, read-only formatter for these arguments; built on the first call with them.
|
|
101
|
+
*
|
|
102
|
+
* A formatter's output is fixed by its constructor arguments and the host's locale data. A
|
|
103
|
+
* `DateTimeFormat` also reads the default locale and default time zone, so it is cached only
|
|
104
|
+
* with a `locale` string (or array of strings) and a `timeZone` string; any other argument
|
|
105
|
+
* set is constructed fresh, exactly as `new Intl[kind](locale, options)` would. A construction
|
|
106
|
+
* failure throws and is never cached. A formatter is kept only while `Intl[kind]` is the
|
|
107
|
+
* constructor that built it.
|
|
108
|
+
*
|
|
109
|
+
* @param kind which `Intl` formatter class to build
|
|
110
|
+
* @param locale BCP 47 locale or locales, or `undefined` for the runtime default
|
|
111
|
+
* @param options the formatter's options, built by GMT code
|
|
112
|
+
* @returns the formatter
|
|
113
|
+
*
|
|
114
|
+
* @example cachedFormatter("DateTimeFormat", "en-GB", { timeZone: "UTC" }).format(0) // "01/01/1970"
|
|
115
|
+
* @example cachedFormatter("ListFormat", "en", { type: "conjunction" }).format(["a", "b"]) // "a and b"
|
|
116
|
+
* @example cachedFormatter("DateTimeFormat", "not a locale", { timeZone: "UTC" }) // throws RangeError
|
|
117
|
+
*/
|
|
118
|
+
export function cachedFormatter(kind, locale, options) {
|
|
119
|
+
locale = canonicalLocale(locale);
|
|
120
|
+
const key = cacheKey(kind, locale, options, kind === "DateTimeFormat");
|
|
121
|
+
if (key === null) {
|
|
122
|
+
return construct(kind, locale, options);
|
|
123
|
+
}
|
|
124
|
+
forgetIfReplaced(kind);
|
|
125
|
+
let byKey = formatters.get(kind);
|
|
126
|
+
const hit = byKey?.get(key);
|
|
127
|
+
if (hit !== undefined) {
|
|
128
|
+
return hit;
|
|
129
|
+
}
|
|
130
|
+
const built = construct(kind, locale, options);
|
|
131
|
+
if (byKey === undefined) {
|
|
132
|
+
byKey = new Map();
|
|
133
|
+
formatters.set(kind, byKey);
|
|
134
|
+
}
|
|
135
|
+
else if (byKey.size >= MAX_ENTRIES_PER_KIND) {
|
|
136
|
+
byKey.clear();
|
|
137
|
+
}
|
|
138
|
+
byKey.set(key, built);
|
|
139
|
+
return built;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Construct once to raise the error `Intl` raises for these arguments; a repeat is a no-op.
|
|
143
|
+
*
|
|
144
|
+
* Whether construction throws does not depend on the default zone, so the arguments need no
|
|
145
|
+
* `timeZone`. Only a success is remembered; an invalid call throws every time.
|
|
146
|
+
*
|
|
147
|
+
* @param kind which `Intl` formatter class to build
|
|
148
|
+
* @param locale BCP 47 locale or locales, or `undefined` for the runtime default
|
|
149
|
+
* @param options the formatter's options, built by GMT code
|
|
150
|
+
*
|
|
151
|
+
* @example checkFormatterArguments("DateTimeFormat", "en-GB", { dateStyle: "long" }) // returns
|
|
152
|
+
* @example checkFormatterArguments("DateTimeFormat", "en-GB", { dateStyle: "huge" }) // throws RangeError
|
|
153
|
+
*/
|
|
154
|
+
export function checkFormatterArguments(kind, locale, options) {
|
|
155
|
+
locale = canonicalLocale(locale);
|
|
156
|
+
const key = cacheKey(kind, locale, options, false);
|
|
157
|
+
if (key === null) {
|
|
158
|
+
construct(kind, locale, options);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
forgetIfReplaced(kind);
|
|
162
|
+
let seen = checked.get(kind);
|
|
163
|
+
if (seen?.has(key)) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
construct(kind, locale, options);
|
|
167
|
+
if (seen === undefined) {
|
|
168
|
+
seen = new Set();
|
|
169
|
+
checked.set(kind, seen);
|
|
170
|
+
}
|
|
171
|
+
else if (seen.size >= MAX_ENTRIES_PER_KIND) {
|
|
172
|
+
seen.clear();
|
|
173
|
+
}
|
|
174
|
+
seen.add(key);
|
|
175
|
+
}
|
|
176
|
+
/** Test seam: forget every cached formatter and every checked argument set. */
|
|
177
|
+
export function clearFormatterCache() {
|
|
178
|
+
formatters.clear();
|
|
179
|
+
checked.clear();
|
|
180
|
+
builtWith.clear();
|
|
181
|
+
}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import { Temporal } from "
|
|
1
|
+
import { Temporal } from "./temporal.js";
|
|
2
2
|
import { type ResolvedBusinessCalendar } from "./businessCalendar.js";
|
|
3
|
-
/**
|
|
4
|
-
* Local days a free-time walk may visit before giving up: the same cap as `bucketRange`. A
|
|
5
|
-
* valid business calendar leaves at least one working day a week, so a working-day count needs
|
|
6
|
-
* at most about seven local days per free or chargeable day. A walk that runs out answers with
|
|
7
|
-
* the sentinel, never a partial ledger.
|
|
8
|
-
*/
|
|
9
|
-
export declare const MAX_WALKED_DAYS = 10000;
|
|
10
3
|
/**
|
|
11
4
|
* The tariff terms reduced to what the walk reads. `calendar` is the working-day calendar free
|
|
12
5
|
* days are counted against, `null` on the calendar basis; `chargeCalendar` is the one charged days
|
|
@@ -16,7 +9,7 @@ export type FreeTimeTerms = {
|
|
|
16
9
|
/**
|
|
17
10
|
* The counting zone as the caller wrote it: a time zone identifier or a stored UTC offset
|
|
18
11
|
* (`±HH:MM[:SS]`), so always readable by `zoneFrame`. The walk's zoned values are placed with
|
|
19
|
-
* `frameZoned` and turned back with `
|
|
12
|
+
* `frameZoned` and turned back with `frameEpochNanoseconds` and `Temporal.Instant.fromEpochNanoseconds`.
|
|
20
13
|
*/
|
|
21
14
|
timeZone: string;
|
|
22
15
|
firstDay: "eventDay" | "nextDay";
|
|
@@ -52,47 +45,42 @@ export declare function bandsByTier(tiers: number[], chargeable: number): {
|
|
|
52
45
|
to: number | null;
|
|
53
46
|
days: number;
|
|
54
47
|
}[];
|
|
55
|
-
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
/**
|
|
49
|
+
* What a free-time walk returns, on epoch days (days from 1970-01-01, `epochDay.ts`) and epoch
|
|
50
|
+
* nanoseconds, so the dwell's length costs no Temporal work: callers format the few values they
|
|
51
|
+
* output.
|
|
52
|
+
*/
|
|
53
|
+
export interface FreeTimeLedger {
|
|
54
|
+
/** The first free day; `null` with no free days. */
|
|
55
|
+
firstFree: number | null;
|
|
56
|
+
/** The last free day; `null` with no free days. */
|
|
57
|
+
lastFree: number | null;
|
|
59
58
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
59
|
+
* The first instant of the local day after the last free day (with no free days, of day one), in
|
|
60
|
+
* epoch nanoseconds. It includes the frame's shift, so it is the real instant.
|
|
62
61
|
*/
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
/** What `walkFreeTime` returns: the free days, the expiry, and what the dwell used and owes. */
|
|
66
|
-
export interface FreeTimeLedger {
|
|
67
|
-
/** The free days in order, exactly `freeDays` of them. */
|
|
68
|
-
free: LedgerDay[];
|
|
69
|
-
/** The first instant of the local day after the last free day; with no free days, of day one. */
|
|
70
|
-
expiresAt: Temporal.ZonedDateTime;
|
|
62
|
+
expiresAtNs: bigint;
|
|
71
63
|
/** Free days the half-open dwell `[clockStart, clockEnd)` touched; `0` with no `clockEnd`. */
|
|
72
64
|
used: number;
|
|
73
|
-
/** Counted days from `expiresAt` that the dwell touched,
|
|
74
|
-
charged:
|
|
65
|
+
/** Counted days from `expiresAt` that the dwell touched, ascending; empty with no `clockEnd`. */
|
|
66
|
+
charged: number[];
|
|
75
67
|
}
|
|
76
68
|
/**
|
|
77
|
-
*
|
|
69
|
+
* Lay out free time and charges from the clock start, in epoch days (see `FreeTimeLedger`).
|
|
78
70
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
71
|
+
* The local days of the terminal are the dates from the event day on, each once, without a date
|
|
72
|
+
* the zone deleted. Free days are the first `freeDays` counted ones (every date on a calendar
|
|
73
|
+
* basis, a working day of `calendar` otherwise); `expiresAt` is the first instant of the visited
|
|
74
|
+
* date after the last of them, or with `freeDays` of `0` of the first counted one. With a
|
|
75
|
+
* `clockEnd` the half-open dwell `[clockStart, clockEnd)` touches a date when it starts before
|
|
76
|
+
* `clockEnd`, and a zero-length dwell touches the date it sits on, as `dwellTime` counts. `used` is
|
|
77
|
+
* the free days touched, `charged` the dates from `expiresAt` touched that `chargeCalendar` charges.
|
|
78
|
+
* The event day is neither free nor charged under `"nextDay"`.
|
|
85
79
|
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* counts. `used` is the free days touched; `charged` the days from `expiresAt` touched that count
|
|
92
|
-
* on `chargeCalendar`.
|
|
93
|
-
* - An event day that began before the first representable instant is still walked from the
|
|
94
|
-
* clock start; only an expiry that would be that unrepresentable start is refused.
|
|
95
|
-
* - Returns `null` when the walk would visit more than `MAX_WALKED_DAYS` local days, when a day
|
|
96
|
-
* boundary cannot be found, or when the expiry lies outside the representable range.
|
|
80
|
+
* Counts come from closed forms over the zone's offset changes, so the dwell's length costs no
|
|
81
|
+
* work per date. Returns `null` when the walk would visit more than `MAX_WALKED_DAYS` dates, when
|
|
82
|
+
* a day boundary cannot be found, or when the expiry lies outside the representable range. A clock
|
|
83
|
+
* within `MAX_WALKED_DAYS` dates of Temporal's limits, or in a pass that re-enters its date, is
|
|
84
|
+
* laid out day by day (`walkFreeTimeByDay`).
|
|
97
85
|
*/
|
|
98
86
|
export declare function walkFreeTime(clockStart: Temporal.ZonedDateTime, freeDays: number, terms: FreeTimeTerms, clockEnd?: Temporal.ZonedDateTime): FreeTimeLedger | null;
|