@northguild/gmt 1.17.0 → 1.18.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 +462 -22
- package/dist/calendar/calculate/bucketRange.d.ts +3 -3
- package/dist/calendar/calculate/bucketRange.js +6 -6
- package/dist/calendar/calculate/floorToZone.d.ts +5 -3
- package/dist/calendar/calculate/floorToZone.js +6 -5
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +21 -8
- package/dist/calendar/calculate/getFiscalPeriod.js +9 -8
- package/dist/calendar/calculate/getIsoWeekDate.d.ts +10 -5
- package/dist/calendar/calculate/getIsoWeekDate.js +1 -5
- package/dist/calendar/calculate/getOrdinalDate.d.ts +10 -3
- package/dist/calendar/calculate/getOrdinalDate.js +2 -3
- package/dist/calendar/calculate/getQuarter.d.ts +21 -9
- package/dist/calendar/calculate/getQuarter.js +8 -12
- package/dist/calendar/hours/addOperatingTime.d.ts +53 -0
- package/dist/calendar/hours/addOperatingTime.js +59 -0
- package/dist/calendar/hours/index.d.ts +7 -0
- package/dist/calendar/hours/index.js +7 -0
- package/dist/calendar/hours/isOpenAt.d.ts +39 -0
- package/dist/calendar/hours/isOpenAt.js +44 -0
- package/dist/calendar/hours/nextCloseAt.d.ts +49 -0
- package/dist/calendar/hours/nextCloseAt.js +51 -0
- package/dist/calendar/hours/nextOpenAt.d.ts +45 -0
- package/dist/calendar/hours/nextOpenAt.js +47 -0
- package/dist/calendar/hours/operatingIntervals.d.ts +43 -0
- package/dist/calendar/hours/operatingIntervals.js +52 -0
- package/dist/calendar/hours/operatingTimeBetween.d.ts +40 -0
- package/dist/calendar/hours/operatingTimeBetween.js +49 -0
- package/dist/calendar/hours/recurringWindows.d.ts +61 -0
- package/dist/calendar/hours/recurringWindows.js +80 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +1 -0
- package/dist/duration/calculate/durationAs.d.ts +13 -8
- package/dist/duration/calculate/durationAs.js +4 -8
- package/dist/duration/compare/compareDurations.d.ts +12 -6
- package/dist/duration/compare/compareDurations.js +3 -6
- package/dist/duration/format/formatDuration.d.ts +16 -4
- package/dist/duration/format/formatDuration.js +4 -5
- package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
- package/dist/duration/normalize/normalizeDuration.js +6 -15
- package/dist/duration/parse/parseDuration.d.ts +21 -3
- package/dist/duration/parse/parseDuration.js +1 -3
- package/dist/instant/convert/classifyLocal.d.ts +1 -1
- package/dist/instant/convert/classifyLocal.js +1 -1
- package/dist/instant/convert/fromOffsetInstant.d.ts +3 -1
- package/dist/instant/convert/fromOffsetInstant.js +3 -1
- package/dist/instant/convert/resolveLocal.d.ts +12 -7
- package/dist/instant/convert/resolveLocal.js +6 -10
- package/dist/instant/convert/toOffsetInstant.d.ts +22 -9
- package/dist/instant/convert/toOffsetInstant.js +10 -3
- package/dist/intermodal/calculate/billingTimeline.d.ts +31 -11
- package/dist/intermodal/calculate/billingTimeline.js +2 -2
- package/dist/intermodal/calculate/chargeableDays.d.ts +13 -11
- package/dist/intermodal/calculate/chargeableDays.js +4 -9
- package/dist/intermodal/calculate/demurrageClock.d.ts +16 -7
- package/dist/intermodal/calculate/demurrageClock.js +7 -7
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +5 -4
- package/dist/intermodal/calculate/freeTimeExpiry.js +6 -6
- package/dist/internal/businessCalendar.d.ts +5 -0
- package/dist/internal/businessCalendar.js +5 -1
- package/dist/internal/cycleFieldValue.d.ts +6 -4
- package/dist/internal/cycleFieldValue.js +6 -4
- package/dist/internal/daylightTime.d.ts +33 -0
- package/dist/internal/daylightTime.js +164 -0
- package/dist/internal/durationUntilString.js +4 -3
- package/dist/internal/englishCalendarNames.js +1 -2
- package/dist/internal/epochNanoseconds.d.ts +2 -0
- package/dist/internal/epochNanoseconds.js +2 -0
- package/dist/internal/exactDuration.d.ts +37 -0
- package/dist/internal/exactDuration.js +64 -0
- package/dist/internal/exactMoment.d.ts +72 -0
- package/dist/internal/exactMoment.js +114 -0
- package/dist/internal/fiscalCalendar.d.ts +4 -3
- package/dist/internal/fiscalCalendar.js +4 -3
- package/dist/internal/formatCalendarDays.d.ts +2 -2
- package/dist/internal/formatRelativeDuration.d.ts +21 -1
- package/dist/internal/formatRelativeDuration.js +47 -7
- package/dist/internal/index.d.ts +9 -4
- package/dist/internal/index.js +9 -4
- package/dist/internal/instantFormatOptions.js +2 -1
- package/dist/internal/instantNanoseconds.d.ts +75 -9
- package/dist/internal/instantNanoseconds.js +192 -11
- package/dist/internal/joinDateTimeConnector.d.ts +1 -1
- package/dist/internal/monthGridWeekRow.d.ts +2 -1
- package/dist/internal/monthGridWeekRow.js +2 -1
- package/dist/internal/normalizeTimeZone.d.ts +2 -2
- package/dist/internal/normalizeTimeZone.js +2 -2
- package/dist/internal/operatingSchedule.d.ts +129 -0
- package/dist/internal/operatingSchedule.js +668 -0
- package/dist/internal/optionOrDefault.d.ts +18 -0
- package/dist/internal/optionOrDefault.js +20 -0
- package/dist/internal/patternToken.d.ts +2 -2
- package/dist/internal/patternToken.js +28 -13
- package/dist/internal/plainDateUntil.js +10 -6
- package/dist/internal/punctuality.d.ts +38 -0
- package/dist/internal/punctuality.js +59 -0
- package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
- package/dist/internal/readDateTimeFormatOptions.js +93 -0
- package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
- package/dist/internal/resolveDurationRelativeTo.js +11 -1
- package/dist/internal/resolveRelativeRounding.d.ts +17 -6
- package/dist/internal/resolveRelativeRounding.js +27 -7
- package/dist/internal/resolveRelativeUnit.d.ts +30 -0
- package/dist/internal/resolveRelativeUnit.js +40 -0
- package/dist/internal/splitStep.d.ts +24 -1
- package/dist/internal/splitStep.js +34 -2
- package/dist/internal/startOrEndOfZoned.js +2 -3
- package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
- package/dist/internal/temporalCompat/capabilities.js +35 -3
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/repros.d.ts +1 -1
- package/dist/internal/temporalCompat/repros.js +157 -0
- package/dist/internal/timestampEvents.d.ts +32 -0
- package/dist/internal/timestampEvents.js +76 -0
- package/dist/internal/utcZonedDateTime.d.ts +5 -2
- package/dist/internal/utcZonedDateTime.js +8 -5
- package/dist/internal/zonedBucket.js +8 -6
- package/dist/internal/zonedLocalDates.js +1 -1
- package/dist/internal/zonedTransitionSearch.d.ts +27 -0
- package/dist/internal/zonedTransitionSearch.js +218 -0
- package/dist/internal/zonedWallClock.d.ts +21 -7
- package/dist/internal/zonedWallClock.js +87 -18
- package/dist/internal/zonedWallClockOperations.d.ts +26 -13
- package/dist/internal/zonedWallClockOperations.js +87 -34
- package/dist/interval/validate/isValidInterval.d.ts +6 -3
- package/dist/interval/validate/isValidInterval.js +6 -3
- package/dist/plain/calculate/addDate.d.ts +11 -8
- package/dist/plain/calculate/addDate.js +5 -8
- package/dist/plain/calculate/addDateTime.d.ts +7 -4
- package/dist/plain/calculate/addDateTime.js +1 -4
- package/dist/plain/calculate/cycleDate.d.ts +16 -7
- package/dist/plain/calculate/cycleDate.js +3 -7
- package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
- package/dist/plain/calculate/cycleDateTime.js +1 -4
- package/dist/plain/calculate/cycleTime.d.ts +10 -5
- package/dist/plain/calculate/cycleTime.js +3 -5
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDate.js +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.js +1 -1
- package/dist/plain/calculate/diffDateTime.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.js +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
- package/dist/plain/calculate/diffTime.d.ts +1 -1
- package/dist/plain/calculate/diffTime.js +1 -1
- package/dist/plain/calculate/endOfDate.d.ts +8 -3
- package/dist/plain/calculate/endOfDate.js +1 -3
- package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
- package/dist/plain/calculate/endOfDateTime.js +1 -5
- package/dist/plain/calculate/endOfTime.d.ts +8 -2
- package/dist/plain/calculate/endOfTime.js +1 -2
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
- package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
- package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
- package/dist/plain/calculate/getWeekOfMonth.js +7 -4
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
- package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
- package/dist/plain/calculate/getWeeksInMonth.js +5 -2
- package/dist/plain/calculate/nextWeekday.d.ts +7 -3
- package/dist/plain/calculate/nextWeekday.js +1 -3
- package/dist/plain/calculate/previousWeekday.d.ts +7 -3
- package/dist/plain/calculate/previousWeekday.js +1 -3
- package/dist/plain/calculate/roundDate.d.ts +20 -7
- package/dist/plain/calculate/roundDate.js +3 -10
- package/dist/plain/calculate/roundDateTime.d.ts +22 -8
- package/dist/plain/calculate/roundDateTime.js +3 -11
- package/dist/plain/calculate/roundTime.d.ts +20 -4
- package/dist/plain/calculate/roundTime.js +3 -7
- package/dist/plain/calculate/setDate.d.ts +7 -5
- package/dist/plain/calculate/setDate.js +1 -5
- package/dist/plain/calculate/setDateTime.d.ts +8 -5
- package/dist/plain/calculate/setDateTime.js +1 -5
- package/dist/plain/calculate/setTime.d.ts +10 -6
- package/dist/plain/calculate/setTime.js +4 -6
- package/dist/plain/calculate/startOfDate.d.ts +8 -2
- package/dist/plain/calculate/startOfDate.js +1 -2
- package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
- package/dist/plain/calculate/startOfDateTime.js +1 -2
- package/dist/plain/calculate/startOfTime.d.ts +8 -1
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractDate.d.ts +7 -4
- package/dist/plain/calculate/subtractDate.js +1 -4
- package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
- package/dist/plain/calculate/subtractDateTime.js +1 -4
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
- package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
- package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
- package/dist/plain/compare/areDatesEqualBy.js +8 -6
- package/dist/plain/compare/isBetweenDate.d.ts +13 -2
- package/dist/plain/compare/isBetweenDate.js +4 -4
- package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenDateTime.js +4 -4
- package/dist/plain/compare/isBetweenTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenTime.js +4 -4
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +1 -1
- package/dist/plain/compare/isThisUnit.js +1 -1
- package/dist/plain/format/formatCalendar.d.ts +21 -14
- package/dist/plain/format/formatCalendar.js +21 -16
- package/dist/plain/format/formatDate.js +5 -3
- package/dist/plain/format/formatDateRange.js +4 -2
- package/dist/plain/format/formatDateTime.js +4 -2
- package/dist/plain/format/formatDateTimeRange.js +4 -2
- package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
- package/dist/plain/format/formatDateTimeToParts.js +10 -6
- package/dist/plain/format/formatDateToParts.d.ts +13 -2
- package/dist/plain/format/formatDateToParts.js +8 -4
- package/dist/plain/format/formatRelativeDate.d.ts +16 -3
- package/dist/plain/format/formatRelativeDate.js +26 -15
- package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeDateTime.js +8 -5
- package/dist/plain/format/formatRelativeTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeTime.js +21 -13
- package/dist/plain/format/formatTime.js +4 -2
- package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
- package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDate.js +1 -3
- package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
- package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
- package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDate.js +2 -0
- package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
- package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtTime.js +2 -0
- package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
- package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
- package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
- package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
- package/dist/plain/map/mapDatesInRange.d.ts +8 -4
- package/dist/plain/map/mapDatesInRange.js +1 -4
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseDateTimeWithPattern.js +10 -7
- package/dist/plain/parse/parseDateWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseDateWithPattern.js +10 -7
- package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseTimeWithPattern.js +10 -7
- package/dist/plain/parse/parseUnitFromDate.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDate.js +3 -3
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDateTime.js +3 -3
- package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDate.js +2 -6
- package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
- package/dist/plain/validate/isValidDateRange.d.ts +19 -4
- package/dist/plain/validate/isValidDateRange.js +1 -4
- package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidDateTimeRange.js +2 -5
- package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidTimeRange.js +2 -5
- package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
- package/dist/precision/convert/fromExcelSerial.js +4 -5
- package/dist/precision/convert/fromNanoseconds.d.ts +1 -1
- package/dist/precision/convert/fromNanoseconds.js +1 -1
- package/dist/precision/convert/toExcelSerial.d.ts +9 -3
- package/dist/precision/convert/toExcelSerial.js +3 -4
- package/dist/precision/convert/toNanoseconds.d.ts +11 -6
- package/dist/precision/convert/toNanoseconds.js +11 -6
- package/dist/precision/validate/isValidInstant.d.ts +12 -3
- package/dist/precision/validate/isValidInstant.js +12 -3
- package/dist/span/calculate/spanMs.d.ts +10 -4
- package/dist/span/calculate/spanMs.js +10 -4
- package/dist/span/calculate/spanNs.d.ts +10 -4
- package/dist/span/calculate/spanNs.js +10 -4
- package/dist/span/validate/isValidSpan.d.ts +8 -3
- package/dist/span/validate/isValidSpan.js +8 -3
- package/dist/transport/calculate/bestAvailable.d.ts +47 -0
- package/dist/transport/calculate/bestAvailable.js +76 -0
- package/dist/transport/calculate/crossingTime.d.ts +58 -0
- package/dist/transport/calculate/crossingTime.js +76 -0
- package/dist/transport/calculate/cutoffAt.d.ts +90 -0
- package/dist/transport/calculate/cutoffAt.js +209 -0
- package/dist/transport/calculate/cutoffSchedule.d.ts +70 -0
- package/dist/transport/calculate/cutoffSchedule.js +71 -0
- package/dist/transport/calculate/dwellTime.d.ts +16 -7
- package/dist/transport/calculate/dwellTime.js +12 -8
- package/dist/transport/calculate/estimateDrift.d.ts +65 -0
- package/dist/transport/calculate/estimateDrift.js +75 -0
- package/dist/transport/calculate/index.d.ts +8 -0
- package/dist/transport/calculate/index.js +8 -0
- package/dist/transport/calculate/nextDeparture.d.ts +78 -0
- package/dist/transport/calculate/nextDeparture.js +131 -0
- package/dist/transport/calculate/punctualityRate.d.ts +42 -0
- package/dist/transport/calculate/punctualityRate.js +59 -0
- package/dist/transport/calculate/scheduleDelivery.d.ts +150 -0
- package/dist/transport/calculate/scheduleDelivery.js +300 -0
- package/dist/transport/calculate/transitTime.d.ts +21 -3
- package/dist/transport/calculate/transitTime.js +29 -46
- package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
- package/dist/transport/compare/classifyPunctuality.js +64 -0
- package/dist/transport/compare/index.d.ts +4 -0
- package/dist/transport/compare/index.js +4 -0
- package/dist/transport/compare/isPastCutoff.d.ts +33 -0
- package/dist/transport/compare/isPastCutoff.js +48 -0
- package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
- package/dist/transport/compare/scheduleDeviation.js +53 -0
- package/dist/transport/compare/timeToCutoff.d.ts +31 -0
- package/dist/transport/compare/timeToCutoff.js +47 -0
- package/dist/transport/convert/etaAtZone.d.ts +7 -0
- package/dist/transport/convert/etaAtZone.js +9 -4
- package/dist/transport/index.d.ts +1 -0
- package/dist/transport/index.js +1 -0
- package/dist/types/business-calendar.d.ts +19 -14
- package/dist/types/calendar-options.d.ts +15 -3
- package/dist/types/date-cycle-field.d.ts +5 -0
- package/dist/types/date-duration-unit.d.ts +4 -0
- package/dist/types/date-time-cycle-field.d.ts +4 -0
- package/dist/types/date-time-duration-units.d.ts +4 -0
- package/dist/types/date-time-unit.d.ts +4 -0
- package/dist/types/date-unit.d.ts +4 -0
- package/dist/types/disambiguation.d.ts +8 -0
- package/dist/types/duration-relative-to.d.ts +8 -0
- package/dist/types/duration-string-options.d.ts +28 -0
- package/dist/types/fiscal-calendar.d.ts +1 -1
- package/dist/types/fractional-digit.d.ts +5 -0
- package/dist/types/free-time-options.d.ts +21 -11
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +2 -1
- package/dist/types/interval.d.ts +8 -1
- package/dist/types/offset.d.ts +9 -0
- package/dist/types/operating-schedule.d.ts +71 -0
- package/dist/types/overflow.d.ts +6 -0
- package/dist/types/relative-rounding-method.d.ts +6 -0
- package/dist/types/relative-time-options.d.ts +33 -5
- package/dist/types/rounding-options.d.ts +27 -0
- package/dist/types/time-cycle-field.d.ts +4 -0
- package/dist/types/time-duration-unit.d.ts +4 -0
- package/dist/types/time-unit.d.ts +4 -0
- package/dist/types/transport-timestamps.d.ts +54 -0
- package/dist/types/transport-timestamps.js +0 -0
- package/dist/unix/calculate/addUnix.d.ts +19 -5
- package/dist/unix/calculate/addUnix.js +1 -5
- package/dist/unix/calculate/diffUnix.d.ts +13 -3
- package/dist/unix/calculate/diffUnix.js +1 -3
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +13 -3
- package/dist/unix/calculate/diffUnixAsDuration.js +1 -3
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +13 -3
- package/dist/unix/calculate/endOfQuarterForUnix.js +1 -3
- package/dist/unix/calculate/endOfUnix.d.ts +20 -4
- package/dist/unix/calculate/endOfUnix.js +1 -4
- package/dist/unix/calculate/isBetweenUnix.d.ts +26 -4
- package/dist/unix/calculate/isBetweenUnix.js +4 -6
- package/dist/unix/calculate/roundUnix.d.ts +31 -3
- package/dist/unix/calculate/roundUnix.js +3 -6
- package/dist/unix/calculate/setUnix.d.ts +35 -9
- package/dist/unix/calculate/setUnix.js +4 -13
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +13 -3
- package/dist/unix/calculate/startOfQuarterForUnix.js +1 -3
- package/dist/unix/calculate/startOfUnix.d.ts +20 -4
- package/dist/unix/calculate/startOfUnix.js +1 -4
- package/dist/unix/calculate/subtractUnix.d.ts +19 -5
- package/dist/unix/calculate/subtractUnix.js +1 -5
- package/dist/unix/compare/areUnixEqual.d.ts +7 -1
- package/dist/unix/compare/areUnixEqual.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +24 -7
- package/dist/unix/compare/areUnixEqualBy.js +13 -9
- package/dist/unix/compare/isAfterUnix.d.ts +7 -1
- package/dist/unix/compare/isAfterUnix.js +1 -1
- package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
- package/dist/unix/compare/isBeforeUnix.js +1 -1
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainDate.js +2 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.js +2 -4
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainTime.js +2 -4
- package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
- package/dist/unix/convert/convertUnixToUtc.js +3 -4
- package/dist/unix/convert/convertUnixToZoned.d.ts +10 -5
- package/dist/unix/convert/convertUnixToZoned.js +4 -5
- package/dist/unix/format/formatCalendarUnix.d.ts +27 -19
- package/dist/unix/format/formatCalendarUnix.js +4 -5
- package/dist/unix/format/formatRelativeUnix.d.ts +54 -5
- package/dist/unix/format/formatRelativeUnix.js +3 -5
- package/dist/unix/format/formatUnix.d.ts +24 -6
- package/dist/unix/format/formatUnix.js +8 -7
- package/dist/unix/get/getUnixNow.d.ts +8 -3
- package/dist/unix/get/getUnixNow.js +1 -3
- package/dist/unix/interval/intervalCountUnix.d.ts +14 -5
- package/dist/unix/interval/intervalCountUnix.js +2 -5
- package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
- package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
- package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +33 -5
- package/dist/unix/interval/intervalFromDurationUnix.js +6 -5
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalLengthUnix.d.ts +16 -6
- package/dist/unix/interval/intervalLengthUnix.js +4 -6
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +13 -3
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +1 -3
- package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
- package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
- package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
- package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +42 -11
- package/dist/unix/interval/splitIntervalByUnitUnix.js +21 -16
- package/dist/unix/parse/parseDateFromUnix.d.ts +13 -2
- package/dist/unix/parse/parseDateFromUnix.js +1 -2
- package/dist/unix/parse/parseDayFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseDayFromUnix.js +2 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +13 -1
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +1 -1
- package/dist/unix/parse/parseHourFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseHourFromUnix.js +2 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMonthFromUnix.js +2 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseSecondFromUnix.js +2 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +13 -2
- package/dist/unix/parse/parseTimeFromUnix.js +1 -2
- package/dist/unix/parse/parseUnitFromUnix.d.ts +22 -3
- package/dist/unix/parse/parseUnitFromUnix.js +2 -3
- package/dist/unix/parse/parseWeekFromUnix.d.ts +23 -7
- package/dist/unix/parse/parseWeekFromUnix.js +3 -7
- package/dist/unix/parse/parseYearFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseYearFromUnix.js +2 -2
- package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
- package/dist/unix/validate/isValidUnixRange.js +1 -4
- package/dist/utc/calculate/addUtc.d.ts +7 -4
- package/dist/utc/calculate/addUtc.js +1 -4
- package/dist/utc/calculate/diffUtc.d.ts +1 -1
- package/dist/utc/calculate/diffUtc.js +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +16 -3
- package/dist/utc/calculate/endOfUtc.js +2 -3
- package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
- package/dist/utc/calculate/isBetweenUtc.js +4 -4
- package/dist/utc/calculate/roundUtc.d.ts +26 -9
- package/dist/utc/calculate/roundUtc.js +3 -12
- package/dist/utc/calculate/setUtc.d.ts +7 -4
- package/dist/utc/calculate/setUtc.js +1 -4
- package/dist/utc/calculate/startOfUtc.d.ts +15 -2
- package/dist/utc/calculate/startOfUtc.js +1 -2
- package/dist/utc/calculate/subtractUtc.d.ts +7 -4
- package/dist/utc/calculate/subtractUtc.js +1 -4
- package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
- package/dist/utc/compare/areUtcEqualBy.js +2 -3
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainDate.js +5 -6
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainDateTime.js +5 -6
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainTime.js +5 -6
- package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
- package/dist/utc/convert/convertUtcToUnix.js +3 -4
- package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
- package/dist/utc/convert/convertUtcToZoned.js +1 -1
- package/dist/utc/format/formatCalendarUtc.d.ts +19 -8
- package/dist/utc/format/formatCalendarUtc.js +8 -6
- package/dist/utc/format/formatHttp.d.ts +1 -1
- package/dist/utc/format/formatHttp.js +1 -1
- package/dist/utc/format/formatRelativeUtc.d.ts +30 -10
- package/dist/utc/format/formatRelativeUtc.js +9 -11
- package/dist/utc/format/formatUtc.d.ts +17 -15
- package/dist/utc/format/formatUtc.js +8 -8
- package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
- package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
- package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
- package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
- package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
- package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
- package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
- package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
- package/dist/utc/parse/parseDateFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDateFromUtc.js +1 -3
- package/dist/utc/parse/parseDayFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDayFromUtc.js +1 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -6
- package/dist/utc/parse/parseHourFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseHourFromUtc.js +1 -3
- package/dist/utc/parse/parseHttp.d.ts +1 -1
- package/dist/utc/parse/parseHttp.js +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -3
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMillisecondFromUtc.js +1 -3
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMinuteFromUtc.js +1 -3
- package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMonthFromUtc.js +1 -3
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseNanosecondFromUtc.js +1 -3
- package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseSecondFromUtc.js +1 -3
- package/dist/utc/parse/parseTimeFromUtc.d.ts +8 -3
- package/dist/utc/parse/parseTimeFromUtc.js +5 -6
- package/dist/utc/parse/parseUnitFromUtc.d.ts +17 -5
- package/dist/utc/parse/parseUnitFromUtc.js +6 -8
- package/dist/utc/parse/parseWeekFromUtc.d.ts +18 -10
- package/dist/utc/parse/parseWeekFromUtc.js +7 -13
- package/dist/utc/parse/parseYearFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseYearFromUtc.js +1 -3
- package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
- package/dist/utc/validate/isValidUtcRange.js +2 -5
- package/dist/zoned/calculate/addZoned.d.ts +20 -10
- package/dist/zoned/calculate/addZoned.js +6 -13
- package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
- package/dist/zoned/calculate/cycleZoned.js +1 -8
- package/dist/zoned/calculate/diffZoned.d.ts +1 -1
- package/dist/zoned/calculate/diffZoned.js +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
- package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
- package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
- package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
- package/dist/zoned/calculate/roundZoned.d.ts +21 -4
- package/dist/zoned/calculate/roundZoned.js +3 -7
- package/dist/zoned/calculate/setZoned.d.ts +25 -8
- package/dist/zoned/calculate/setZoned.js +4 -12
- package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
- package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
- package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
- package/dist/zoned/calculate/startOfZoned.js +1 -3
- package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
- package/dist/zoned/calculate/subtractZoned.js +6 -13
- package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
- package/dist/zoned/compare/areZonedEqualBy.js +7 -5
- package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
- package/dist/zoned/compare/isBetweenZoned.js +4 -3
- package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
- package/dist/zoned/compare/isInDaylightSaving.js +40 -44
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +18 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -11
- package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
- package/dist/zoned/convert/convertZonedToUnix.js +2 -4
- package/dist/zoned/convert/convertZonedToZoned.d.ts +1 -1
- package/dist/zoned/convert/convertZonedToZoned.js +1 -1
- package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
- package/dist/zoned/format/formatCalendarZoned.js +13 -9
- package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
- package/dist/zoned/format/formatRelativeZoned.js +7 -4
- package/dist/zoned/format/formatRfc2822.d.ts +2 -2
- package/dist/zoned/format/formatRfc2822.js +2 -2
- package/dist/zoned/format/formatRfc3339.d.ts +2 -3
- package/dist/zoned/format/formatRfc3339.js +2 -3
- package/dist/zoned/format/formatTimeZoneName.d.ts +12 -3
- package/dist/zoned/format/formatTimeZoneName.js +5 -4
- package/dist/zoned/format/formatZonedDateTime.js +2 -1
- package/dist/zoned/format/formatZonedRange.js +2 -1
- package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
- package/dist/zoned/format/formatZonedToParts.js +8 -5
- package/dist/zoned/get/getDstTransitions.d.ts +9 -10
- package/dist/zoned/get/getDstTransitions.js +12 -3
- package/dist/zoned/get/getTimeZoneOffset.d.ts +4 -1
- package/dist/zoned/get/getTimeZoneOffset.js +6 -3
- package/dist/zoned/get/getZonedNow.d.ts +13 -1
- package/dist/zoned/get/getZonedNow.js +12 -3
- package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
- package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
- package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
- package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
- package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
- package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
- package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
- package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +9 -3
- package/dist/zoned/parse/parseUnitFromZoned.js +1 -3
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
- package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +42 -11
- package/dist/zoned/validate/hasDaylightSaving.js +47 -31
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
- package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
- package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
- package/dist/zoned/validate/isValidZonedRange.js +1 -4
- package/package.json +18 -5
- package/skills/gmt-arithmetic/SKILL.md +1 -1
- package/skills/gmt-basics/SKILL.md +10 -1
- package/skills/gmt-integration/SKILL.md +10 -5
- package/skills/gmt-timezone/SKILL.md +150 -21
- package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
- package/dist/internal/resolveReadingTimeZone.js +0 -18
- package/dist/types/duration-unit.d.ts +0 -5
- /package/dist/types/{duration-unit.js → operating-schedule.js} +0 -0
|
@@ -7,7 +7,7 @@ import { httpDate } from "../../regex/index.js";
|
|
|
7
7
|
* `Last-Modified`/`Date`/`Expires` use — into a UTC ISO 8601 datetime string.
|
|
8
8
|
*
|
|
9
9
|
* - **Decoding, not display.** Accepts English weekday/month names only, per
|
|
10
|
-
* the fixed grammar (see `formatHttp`'s JSDoc
|
|
10
|
+
* the fixed grammar (see `formatHttp`'s JSDoc).
|
|
11
11
|
* - **All three HTTP-date formats**, as RFC 9110 §5.6.7 requires ("A
|
|
12
12
|
* recipient that parses a timestamp value in an HTTP field MUST accept all
|
|
13
13
|
* three"): IMF-fixdate (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the microsecond (0-999) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for microsecond.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Microsecond (000-999) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseMicrosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
|
|
@@ -16,5 +14,11 @@
|
|
|
16
14
|
* @example parseMicrosecondFromUtc("invalid") // ""
|
|
17
15
|
*/
|
|
18
16
|
export declare function parseMicrosecondFromUtc(value: string, options?: {
|
|
17
|
+
/**
|
|
18
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
19
|
+
* the system time zone. An unknown zone returns `""`.
|
|
20
|
+
*
|
|
21
|
+
* @defaultValue `"UTC"`
|
|
22
|
+
*/
|
|
19
23
|
timeZone?: string;
|
|
20
24
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the microsecond (0-999) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for microsecond.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Microsecond (000-999) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseMicrosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the millisecond (0-999) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for millisecond.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Millisecond (000-999) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseMillisecondFromUtc("2024-03-17T14:30:45.123Z") // "123"
|
|
@@ -15,5 +13,11 @@
|
|
|
15
13
|
* @example parseMillisecondFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseMillisecondFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
18
|
+
* the system time zone. An unknown zone returns `""`.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"UTC"`
|
|
21
|
+
*/
|
|
18
22
|
timeZone?: string;
|
|
19
23
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the millisecond (0-999) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for millisecond.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Millisecond (000-999) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseMillisecondFromUtc("2024-03-17T14:30:45.123Z") // "123"
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the minute (0-59) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for minute.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Minute (00-59) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseMinuteFromUtc("2024-03-17T14:30:45Z") // "30"
|
|
@@ -15,5 +13,11 @@
|
|
|
15
13
|
* @example parseMinuteFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseMinuteFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
18
|
+
* the system time zone. An unknown zone returns `""`.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"UTC"`
|
|
21
|
+
*/
|
|
18
22
|
timeZone?: string;
|
|
19
23
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the minute (0-59) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for minute.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Minute (00-59) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseMinuteFromUtc("2024-03-17T14:30:45Z") // "30"
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the month (1-12) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for month.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Month (01-12) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseMonthFromUtc("2024-03-17T14:30:45Z") // "03"
|
|
@@ -15,5 +13,11 @@
|
|
|
15
13
|
* @example parseMonthFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseMonthFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
18
|
+
* the system time zone. An unknown zone returns `""`.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"UTC"`
|
|
21
|
+
*/
|
|
18
22
|
timeZone?: string;
|
|
19
23
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the month (1-12) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for month.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Month (01-12) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseMonthFromUtc("2024-03-17T14:30:45Z") // "03"
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the nanosecond (0-999) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for nanosecond.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Nanosecond (000-999) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseNanosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
|
|
@@ -16,5 +14,11 @@
|
|
|
16
14
|
* @example parseNanosecondFromUtc("invalid") // ""
|
|
17
15
|
*/
|
|
18
16
|
export declare function parseNanosecondFromUtc(value: string, options?: {
|
|
17
|
+
/**
|
|
18
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
19
|
+
* the system time zone. An unknown zone returns `""`.
|
|
20
|
+
*
|
|
21
|
+
* @defaultValue `"UTC"`
|
|
22
|
+
*/
|
|
19
23
|
timeZone?: string;
|
|
20
24
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the nanosecond (0-999) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for nanosecond.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Nanosecond (000-999) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseNanosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the second (0-59) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for second.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Second (00-59) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseSecondFromUtc("2024-03-17T14:30:45Z") // "45"
|
|
@@ -15,5 +13,11 @@
|
|
|
15
13
|
* @example parseSecondFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseSecondFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
18
|
+
* the system time zone. An unknown zone returns `""`.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"UTC"`
|
|
21
|
+
*/
|
|
18
22
|
timeZone?: string;
|
|
19
23
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the second (0-59) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for second.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Second (00-59) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseSecondFromUtc("2024-03-17T14:30:45Z") // "45"
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Extract the time portion from a UTC datetime string.
|
|
3
3
|
*
|
|
4
|
-
* - Uses Temporal.Instant.from to parse, converts to
|
|
5
|
-
* - Defaults to UTC if no timezone specified.
|
|
4
|
+
* - Uses Temporal.Instant.from to parse, converts to the `timeZone` option's zone.
|
|
6
5
|
* - Returns "" for invalid input.
|
|
7
6
|
*
|
|
8
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
9
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
10
9
|
* @returns ISO time string (e.g., "14:30:45") or "" on invalid input
|
|
11
10
|
*
|
|
12
11
|
* @example parseTimeFromUtc("2024-03-17T14:30:45Z") // "14:30:45"
|
|
@@ -14,5 +13,11 @@
|
|
|
14
13
|
* @example parseTimeFromUtc("invalid") // ""
|
|
15
14
|
*/
|
|
16
15
|
export declare function parseTimeFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
18
|
+
* the system time zone. An unknown zone returns `""`.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"UTC"`
|
|
21
|
+
*/
|
|
17
22
|
timeZone?: string;
|
|
18
23
|
}): string;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
-
import {
|
|
2
|
+
import { normalizeTimeZone } from "../../internal/normalizeTimeZone.js";
|
|
3
3
|
import { isValidUtc } from "../validate/index.js";
|
|
4
4
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
5
5
|
/**
|
|
6
6
|
* Extract the time portion from a UTC datetime string.
|
|
7
7
|
*
|
|
8
|
-
* - Uses Temporal.Instant.from to parse, converts to
|
|
9
|
-
* - Defaults to UTC if no timezone specified.
|
|
8
|
+
* - Uses Temporal.Instant.from to parse, converts to the `timeZone` option's zone.
|
|
10
9
|
* - Returns "" for invalid input.
|
|
11
10
|
*
|
|
12
11
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
13
|
-
* @param options
|
|
12
|
+
* @param options The time zone the value is read in
|
|
14
13
|
* @returns ISO time string (e.g., "14:30:45") or "" on invalid input
|
|
15
14
|
*
|
|
16
15
|
* @example parseTimeFromUtc("2024-03-17T14:30:45Z") // "14:30:45"
|
|
@@ -25,8 +24,8 @@ export function parseTimeFromUtc(value, options) {
|
|
|
25
24
|
if (!isValidUtc(value)) {
|
|
26
25
|
return "";
|
|
27
26
|
}
|
|
28
|
-
const
|
|
29
|
-
if (timeZone
|
|
27
|
+
const timeZone = normalizeTimeZone(options?.timeZone);
|
|
28
|
+
if (timeZone === "") {
|
|
30
29
|
return "";
|
|
31
30
|
}
|
|
32
31
|
try {
|
|
@@ -31,15 +31,13 @@ export type UtcUnit = Temporal.SmallestUnit<"year" | "month" | "week" | "day" |
|
|
|
31
31
|
* - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond".
|
|
32
32
|
* - `unit` accepts the singular or plural name of a Temporal unit (`"hour"` or `"hours"`), as Temporal
|
|
33
33
|
* does; `"dayOfWeek"` has no plural.
|
|
34
|
-
* -
|
|
35
|
-
*
|
|
36
|
-
* - `weekStartsOn: "sunday"` numbers weeks by UTS #35 (week 1 holds 1 January, so late-December
|
|
37
|
-
* days can be week 1); any value other than `"monday"` or `"sunday"` returns "".
|
|
34
|
+
* - A `"week"` in late December can be week 1 of the next year, under either week numbering.
|
|
35
|
+
* - `optionsArg` must be an object or omitted: a non-object value (such as `null`) returns "".
|
|
38
36
|
* - Returns "" for invalid input.
|
|
39
37
|
*
|
|
40
38
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
41
39
|
* @param unit unit to extract from the datetime
|
|
42
|
-
* @param optionsArg
|
|
40
|
+
* @param optionsArg How weeks are numbered, and the time zone the value is read in
|
|
43
41
|
* @returns string representation of the requested unit or "" on invalid input
|
|
44
42
|
*
|
|
45
43
|
* @example parseUnitFromUtc("2024-03-17T14:30:45Z", "month") // "03"
|
|
@@ -50,6 +48,20 @@ export type UtcUnit = Temporal.SmallestUnit<"year" | "month" | "week" | "day" |
|
|
|
50
48
|
* @example parseUnitFromUtc("invalid", "month") // ""
|
|
51
49
|
*/
|
|
52
50
|
export declare function parseUnitFromUtc(value: string, unit: UtcUnit, optionsArg?: {
|
|
51
|
+
/**
|
|
52
|
+
* The first day of the week, which sets how the `"week"` unit is numbered. `"monday"` gives the
|
|
53
|
+
* ISO 8601 week number, where week 1 holds the year's first Thursday; `"sunday"` gives the UTS
|
|
54
|
+
* #35 week number with a Sunday first day and one minimal day, where week 1 holds 1 January.
|
|
55
|
+
* Any other value returns `""`, whatever the unit.
|
|
56
|
+
*
|
|
57
|
+
* @defaultValue `"monday"`
|
|
58
|
+
*/
|
|
53
59
|
weekStartsOn?: "monday" | "sunday";
|
|
60
|
+
/**
|
|
61
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
62
|
+
* the system time zone. An unknown zone returns `""`.
|
|
63
|
+
*
|
|
64
|
+
* @defaultValue `"UTC"`
|
|
65
|
+
*/
|
|
54
66
|
timeZone?: string;
|
|
55
67
|
}): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
|
3
3
|
import { resolveDateTimeUnit } from "../../internal/resolveDateTimeUnit.js";
|
|
4
|
-
import {
|
|
4
|
+
import { normalizeTimeZone } from "../../internal/normalizeTimeZone.js";
|
|
5
5
|
import { resolveWeekStartsOn } from "../../internal/resolveWeekStartsOn.js";
|
|
6
6
|
import { getWeekNumber } from "../../plain/calculate/getWeekNumber.js";
|
|
7
7
|
import { isValidUtc } from "../validate/index.js";
|
|
@@ -12,15 +12,13 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
12
12
|
* - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond".
|
|
13
13
|
* - `unit` accepts the singular or plural name of a Temporal unit (`"hour"` or `"hours"`), as Temporal
|
|
14
14
|
* does; `"dayOfWeek"` has no plural.
|
|
15
|
-
* -
|
|
16
|
-
*
|
|
17
|
-
* - `weekStartsOn: "sunday"` numbers weeks by UTS #35 (week 1 holds 1 January, so late-December
|
|
18
|
-
* days can be week 1); any value other than `"monday"` or `"sunday"` returns "".
|
|
15
|
+
* - A `"week"` in late December can be week 1 of the next year, under either week numbering.
|
|
16
|
+
* - `optionsArg` must be an object or omitted: a non-object value (such as `null`) returns "".
|
|
19
17
|
* - Returns "" for invalid input.
|
|
20
18
|
*
|
|
21
19
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
22
20
|
* @param unit unit to extract from the datetime
|
|
23
|
-
* @param optionsArg
|
|
21
|
+
* @param optionsArg How weeks are numbered, and the time zone the value is read in
|
|
24
22
|
* @returns string representation of the requested unit or "" on invalid input
|
|
25
23
|
*
|
|
26
24
|
* @example parseUnitFromUtc("2024-03-17T14:30:45Z", "month") // "03"
|
|
@@ -37,8 +35,8 @@ export function parseUnitFromUtc(value, unit, optionsArg) {
|
|
|
37
35
|
return "";
|
|
38
36
|
}
|
|
39
37
|
const weekStartsOn = resolveWeekStartsOn(optionsArg?.weekStartsOn);
|
|
40
|
-
const timeZone =
|
|
41
|
-
if (!isValidUtc(value) || weekStartsOn === null || timeZone ===
|
|
38
|
+
const timeZone = normalizeTimeZone(optionsArg?.timeZone);
|
|
39
|
+
if (!isValidUtc(value) || weekStartsOn === null || timeZone === "") {
|
|
42
40
|
return "";
|
|
43
41
|
}
|
|
44
42
|
try {
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Return the week number from a UTC datetime string.
|
|
3
3
|
*
|
|
4
|
-
* -
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - `"sunday"` is the UTS #35 week of the week-year with a Sunday first day and minimal days 1:
|
|
8
|
-
* week 1 is the Sunday-first week holding 1 January, so late-December days can be week 1 of the
|
|
9
|
-
* next year (2024-12-31 → 1, 2000-12-30 → 53). The result is 1–53.
|
|
10
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null.
|
|
11
|
-
* - The week is read from the value's date on the wall clock of `options.timeZone` (an IANA zone,
|
|
12
|
-
* default UTC), as `parseTimeFromUtc` does; an invalid zone returns null.
|
|
4
|
+
* - The result is the week of the week-year, 1–53, so late-December days can be week 1 of the next
|
|
5
|
+
* year: 2024-12-31 → 1 under either numbering, and 2000-12-30 → 53 under the Sunday-first one
|
|
6
|
+
* (minimal days 1).
|
|
13
7
|
* - Returns null for invalid input.
|
|
14
8
|
*
|
|
15
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
16
|
-
* @param optionsArg
|
|
10
|
+
* @param optionsArg How weeks are numbered, and the time zone the value is read in
|
|
17
11
|
* @returns Week number (1-53), or null on invalid input
|
|
18
12
|
*
|
|
19
13
|
* @example parseWeekFromUtc("2024-03-17T14:30:45Z") // 11
|
|
@@ -24,6 +18,20 @@
|
|
|
24
18
|
* @example parseWeekFromUtc("invalid") // null
|
|
25
19
|
*/
|
|
26
20
|
export declare function parseWeekFromUtc(value: string, optionsArg?: {
|
|
21
|
+
/**
|
|
22
|
+
* The first day of the week, which sets how the week is numbered. `"monday"` gives the ISO 8601
|
|
23
|
+
* week number, where week 1 holds the year's first Thursday; `"sunday"` gives the UTS #35 week
|
|
24
|
+
* number with a Sunday first day and one minimal day, where week 1 holds 1 January. Any other
|
|
25
|
+
* value returns `null`.
|
|
26
|
+
*
|
|
27
|
+
* @defaultValue `"monday"`
|
|
28
|
+
*/
|
|
27
29
|
weekStartsOn?: "monday" | "sunday";
|
|
30
|
+
/**
|
|
31
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
32
|
+
* the system time zone. An unknown zone returns `null`.
|
|
33
|
+
*
|
|
34
|
+
* @defaultValue `"UTC"`
|
|
35
|
+
*/
|
|
28
36
|
timeZone?: string;
|
|
29
37
|
}): number | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
-
import {
|
|
2
|
+
import { normalizeTimeZone } from "../../internal/normalizeTimeZone.js";
|
|
3
3
|
import { resolveWeekStartsOn } from "../../internal/resolveWeekStartsOn.js";
|
|
4
4
|
import { getWeekNumber } from "../../plain/calculate/getWeekNumber.js";
|
|
5
5
|
import { isValidUtc } from "../validate/index.js";
|
|
@@ -7,19 +7,13 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* Return the week number from a UTC datetime string.
|
|
9
9
|
*
|
|
10
|
-
* -
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* - `"sunday"` is the UTS #35 week of the week-year with a Sunday first day and minimal days 1:
|
|
14
|
-
* week 1 is the Sunday-first week holding 1 January, so late-December days can be week 1 of the
|
|
15
|
-
* next year (2024-12-31 → 1, 2000-12-30 → 53). The result is 1–53.
|
|
16
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null.
|
|
17
|
-
* - The week is read from the value's date on the wall clock of `options.timeZone` (an IANA zone,
|
|
18
|
-
* default UTC), as `parseTimeFromUtc` does; an invalid zone returns null.
|
|
10
|
+
* - The result is the week of the week-year, 1–53, so late-December days can be week 1 of the next
|
|
11
|
+
* year: 2024-12-31 → 1 under either numbering, and 2000-12-30 → 53 under the Sunday-first one
|
|
12
|
+
* (minimal days 1).
|
|
19
13
|
* - Returns null for invalid input.
|
|
20
14
|
*
|
|
21
15
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
22
|
-
* @param optionsArg
|
|
16
|
+
* @param optionsArg How weeks are numbered, and the time zone the value is read in
|
|
23
17
|
* @returns Week number (1-53), or null on invalid input
|
|
24
18
|
*
|
|
25
19
|
* @example parseWeekFromUtc("2024-03-17T14:30:45Z") // 11
|
|
@@ -37,8 +31,8 @@ export function parseWeekFromUtc(value, optionsArg) {
|
|
|
37
31
|
if (!isValidUtc(value))
|
|
38
32
|
return null;
|
|
39
33
|
const weekStartsOn = resolveWeekStartsOn(optionsArg?.weekStartsOn);
|
|
40
|
-
const timeZone =
|
|
41
|
-
if (weekStartsOn === null || timeZone ===
|
|
34
|
+
const timeZone = normalizeTimeZone(optionsArg?.timeZone);
|
|
35
|
+
if (weekStartsOn === null || timeZone === "")
|
|
42
36
|
return null;
|
|
43
37
|
try {
|
|
44
38
|
const instant = Temporal.Instant.from(value);
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the year from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns the year as a string (e.g., "2024").
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Year (YYYY) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseYearFromUtc("2024-03-17T14:30:45Z") // "2024"
|
|
@@ -15,5 +13,11 @@
|
|
|
15
13
|
* @example parseYearFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseYearFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
18
|
+
* the system time zone. An unknown zone returns `""`.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `"UTC"`
|
|
21
|
+
*/
|
|
18
22
|
timeZone?: string;
|
|
19
23
|
}): string;
|
|
@@ -4,12 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the year from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns the year as a string (e.g., "2024").
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Year (YYYY) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseYearFromUtc("2024-03-17T14:30:45Z") // "2024"
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Return true if `value1` and `value2` form a valid UTC range — both parseable as
|
|
3
|
-
* ISO UTC datetime strings and the instant at `value1` is
|
|
3
|
+
* ISO UTC datetime strings and the instant at `value1` is before the instant at `value2`.
|
|
4
4
|
*
|
|
5
5
|
* - Both inputs must be ISO 8601 UTC datetime strings (e.g. `"2024-01-01T10:00:00Z"`), as
|
|
6
6
|
* `isValidUtc` accepts, annotations included.
|
|
7
|
-
* - Equal `value1 === value2` is valid when `options.allowEqual` is true.
|
|
8
7
|
* - Leap-second strings return `false`.
|
|
9
8
|
* - Invalid input or malformed strings return `false`.
|
|
10
9
|
*
|
|
11
|
-
* @param
|
|
12
|
-
* @param value2 second ISO UTC datetime string
|
|
13
|
-
* @param options optional allowEqual flag
|
|
10
|
+
* @param props The two ends of the range, and whether equal ends are valid
|
|
14
11
|
* @returns boolean indicating whether the UTC range is valid
|
|
15
12
|
*
|
|
16
13
|
* @example isValidUtcRange({ value1: "2024-01-01T10:00:00Z", value2: "2024-12-31T23:59:59Z" }) // true
|
|
@@ -18,9 +15,23 @@
|
|
|
18
15
|
* @example isValidUtcRange({ value1: "2024-01-01T10:00:00Z", value2: "2024-01-01T10:00:00Z", options: { allowEqual: true } }) // true
|
|
19
16
|
*/
|
|
20
17
|
export declare function isValidUtcRange(props: {
|
|
18
|
+
/** The start of the range, as an ISO UTC datetime string. */
|
|
21
19
|
value1: string;
|
|
20
|
+
/** The end of the range, as an ISO UTC datetime string. */
|
|
22
21
|
value2: string;
|
|
22
|
+
/**
|
|
23
|
+
* The settings for the comparison. It must be an object or omitted; any other value, `null`
|
|
24
|
+
* included, returns `false`.
|
|
25
|
+
*
|
|
26
|
+
* @defaultValue None. Two values at the same instant are not a valid range.
|
|
27
|
+
*/
|
|
23
28
|
options?: {
|
|
29
|
+
/**
|
|
30
|
+
* Whether `value1` at the same instant as `value2` is a valid range. `false` requires `value1`
|
|
31
|
+
* to be before `value2`.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `false`
|
|
34
|
+
*/
|
|
24
35
|
allowEqual?: boolean;
|
|
25
36
|
};
|
|
26
37
|
}): boolean;
|
|
@@ -4,17 +4,14 @@ import { isValidUtc } from "./isValidUtc.js";
|
|
|
4
4
|
import { isObject, isOptionsArgument } from "../../internal/isObject.js";
|
|
5
5
|
/**
|
|
6
6
|
* Return true if `value1` and `value2` form a valid UTC range — both parseable as
|
|
7
|
-
* ISO UTC datetime strings and the instant at `value1` is
|
|
7
|
+
* ISO UTC datetime strings and the instant at `value1` is before the instant at `value2`.
|
|
8
8
|
*
|
|
9
9
|
* - Both inputs must be ISO 8601 UTC datetime strings (e.g. `"2024-01-01T10:00:00Z"`), as
|
|
10
10
|
* `isValidUtc` accepts, annotations included.
|
|
11
|
-
* - Equal `value1 === value2` is valid when `options.allowEqual` is true.
|
|
12
11
|
* - Leap-second strings return `false`.
|
|
13
12
|
* - Invalid input or malformed strings return `false`.
|
|
14
13
|
*
|
|
15
|
-
* @param
|
|
16
|
-
* @param value2 second ISO UTC datetime string
|
|
17
|
-
* @param options optional allowEqual flag
|
|
14
|
+
* @param props The two ends of the range, and whether equal ends are valid
|
|
18
15
|
* @returns boolean indicating whether the UTC range is valid
|
|
19
16
|
*
|
|
20
17
|
* @example isValidUtcRange({ value1: "2024-01-01T10:00:00Z", value2: "2024-12-31T23:59:59Z" }) // true
|