@northguild/gmt 1.14.2 → 1.16.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 +887 -277
- package/dist/calendar/business/businessDaysBetween.d.ts +37 -0
- package/dist/calendar/business/businessDaysBetween.js +89 -0
- package/dist/calendar/business/index.d.ts +7 -0
- package/dist/calendar/business/index.js +10 -0
- package/dist/calendar/business/mergeCalendars.d.ts +33 -0
- package/dist/calendar/business/mergeCalendars.js +68 -0
- package/dist/calendar/business/nextBusinessDay.d.ts +30 -0
- package/dist/calendar/business/nextBusinessDay.js +39 -0
- package/dist/calendar/business/previousBusinessDay.d.ts +30 -0
- package/dist/calendar/business/previousBusinessDay.js +39 -0
- package/dist/calendar/business/rollDate.d.ts +59 -0
- package/dist/calendar/business/rollDate.js +116 -0
- package/dist/calendar/calculate/bucketRange.d.ts +49 -0
- package/dist/calendar/calculate/bucketRange.js +169 -0
- package/dist/calendar/calculate/floorToZone.d.ts +42 -0
- package/dist/calendar/calculate/floorToZone.js +62 -0
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +64 -0
- package/dist/calendar/calculate/getFiscalPeriod.js +96 -0
- package/dist/calendar/calculate/getIsoWeekDate.d.ts +35 -0
- package/dist/calendar/calculate/getIsoWeekDate.js +41 -0
- package/dist/calendar/calculate/getOrdinalDate.d.ts +25 -0
- package/dist/calendar/calculate/getOrdinalDate.js +28 -0
- package/dist/calendar/calculate/getQuarter.d.ts +36 -0
- package/dist/calendar/calculate/getQuarter.js +64 -0
- package/dist/calendar/calculate/index.d.ts +6 -0
- package/dist/calendar/calculate/index.js +6 -0
- package/dist/calendar/index.d.ts +4 -0
- package/dist/calendar/index.js +5 -0
- package/dist/calendar/validate/index.d.ts +4 -0
- package/dist/calendar/validate/index.js +4 -0
- package/dist/calendar/validate/isValidBusinessCalendar.d.ts +31 -0
- package/dist/calendar/validate/isValidBusinessCalendar.js +40 -0
- package/dist/calendar/validate/isValidFiscalPattern.d.ts +25 -0
- package/dist/calendar/validate/isValidFiscalPattern.js +29 -0
- package/dist/calendar/validate/isValidRollConvention.d.ts +28 -0
- package/dist/calendar/validate/isValidRollConvention.js +38 -0
- package/dist/calendar/validate/isValidZoneBucketUnit.d.ts +31 -0
- package/dist/calendar/validate/isValidZoneBucketUnit.js +39 -0
- package/dist/duration/calculate/durationAs.d.ts +27 -3
- package/dist/duration/calculate/durationAs.js +34 -8
- package/dist/duration/calculate/getDurationUnit.d.ts +5 -2
- package/dist/duration/calculate/getDurationUnit.js +7 -3
- package/dist/duration/compare/compareDurations.d.ts +25 -2
- package/dist/duration/compare/compareDurations.js +31 -7
- package/dist/duration/format/formatDuration.d.ts +14 -5
- package/dist/duration/format/formatDuration.js +47 -11
- package/dist/duration/index.d.ts +1 -0
- package/dist/duration/index.js +2 -0
- package/dist/duration/normalize/normalizeDuration.d.ts +33 -6
- package/dist/duration/normalize/normalizeDuration.js +41 -12
- package/dist/duration/parse/parseDuration.js +4 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/instant/convert/classifyLocal.d.ts +50 -0
- package/dist/instant/convert/classifyLocal.js +60 -0
- package/dist/instant/convert/fromOffsetInstant.d.ts +47 -0
- package/dist/instant/convert/fromOffsetInstant.js +99 -0
- package/dist/instant/convert/index.d.ts +4 -0
- package/dist/instant/convert/index.js +4 -0
- package/dist/instant/convert/resolveLocal.d.ts +40 -0
- package/dist/instant/convert/resolveLocal.js +76 -0
- package/dist/instant/convert/toOffsetInstant.d.ts +73 -0
- package/dist/instant/convert/toOffsetInstant.js +185 -0
- package/dist/instant/index.d.ts +2 -0
- package/dist/instant/index.js +3 -0
- package/dist/internal/adjustZonedBusinessDays.js +9 -7
- package/dist/internal/businessCalendar.d.ts +46 -0
- package/dist/internal/businessCalendar.js +230 -0
- package/dist/internal/businessDayValues.d.ts +20 -0
- package/dist/internal/businessDayValues.js +54 -0
- package/dist/internal/calendarDatePairPolicy.d.ts +10 -12
- package/dist/internal/calendarDatePairPolicy.js +13 -19
- package/dist/internal/calendarDateString.d.ts +32 -58
- package/dist/internal/calendarDateString.js +51 -93
- package/dist/internal/calendarSystemIds.d.ts +26 -2
- package/dist/internal/calendarSystemIds.js +57 -51
- package/dist/internal/calendarValueOfDate.d.ts +10 -12
- package/dist/internal/calendarValueOfDate.js +22 -20
- package/dist/internal/calendarValueOfZoned.d.ts +14 -17
- package/dist/internal/calendarValueOfZoned.js +25 -25
- package/dist/internal/calendarZonedPairPolicy.d.ts +11 -18
- package/dist/internal/calendarZonedPairPolicy.js +14 -25
- package/dist/internal/calendarZonedString.d.ts +41 -65
- package/dist/internal/calendarZonedString.js +52 -101
- package/dist/internal/compareUnixEpochs.d.ts +14 -0
- package/dist/internal/compareUnixEpochs.js +25 -0
- package/dist/internal/dateTimeUnitHelpers.d.ts +18 -0
- package/dist/internal/dateTimeUnitHelpers.js +27 -0
- package/dist/internal/dateUnitHelpers.d.ts +39 -1
- package/dist/internal/dateUnitHelpers.js +73 -11
- package/dist/internal/defaultFractionalDigits.d.ts +14 -0
- package/dist/internal/defaultFractionalDigits.js +23 -0
- package/dist/internal/differenceRecord.d.ts +32 -0
- package/dist/internal/differenceRecord.js +79 -0
- package/dist/internal/divisionBoundary.d.ts +19 -0
- package/dist/internal/divisionBoundary.js +23 -0
- package/dist/internal/durationUntilString.d.ts +1 -1
- package/dist/internal/durationUntilString.js +10 -2
- package/dist/internal/englishCalendarNames.d.ts +11 -0
- package/dist/internal/englishCalendarNames.js +21 -1
- package/dist/internal/epochNanoseconds.d.ts +27 -0
- package/dist/internal/epochNanoseconds.js +31 -0
- package/dist/internal/fiscalCalendar.d.ts +36 -0
- package/dist/internal/fiscalCalendar.js +86 -0
- package/dist/internal/floorDivide.d.ts +15 -0
- package/dist/internal/floorDivide.js +18 -0
- package/dist/internal/foreignEpochs.d.ts +134 -0
- package/dist/internal/foreignEpochs.js +139 -0
- package/dist/internal/formatCalendarDays.d.ts +28 -0
- package/dist/internal/formatCalendarDays.js +49 -0
- package/dist/internal/formatDateInCalendar.d.ts +14 -39
- package/dist/internal/formatDateInCalendar.js +16 -47
- package/dist/internal/formatRelativeDuration.d.ts +27 -0
- package/dist/internal/formatRelativeDuration.js +45 -0
- package/dist/internal/getLocaleFirstDayOfWeek.d.ts +9 -6
- package/dist/internal/getLocaleFirstDayOfWeek.js +9 -10
- package/dist/internal/getLocaleWeekYearBounds.d.ts +17 -9
- package/dist/internal/getLocaleWeekYearBounds.js +45 -26
- package/dist/internal/getLocaleWeekendDays.d.ts +9 -18
- package/dist/internal/getLocaleWeekendDays.js +9 -5
- package/dist/internal/halfOpenIntervals.d.ts +102 -0
- package/dist/internal/halfOpenIntervals.js +180 -0
- package/dist/internal/hasCalendarAnnotation.d.ts +20 -20
- package/dist/internal/hasCalendarAnnotation.js +23 -21
- package/dist/internal/hourDurationString.d.ts +16 -0
- package/dist/internal/hourDurationString.js +47 -0
- package/dist/internal/httpDateFields.d.ts +24 -0
- package/dist/internal/httpDateFields.js +86 -0
- package/dist/internal/index.d.ts +28 -9
- package/dist/internal/index.js +28 -9
- package/dist/internal/instantFormatOptions.d.ts +43 -0
- package/dist/internal/instantFormatOptions.js +99 -0
- package/dist/internal/instantIntervalText.d.ts +20 -0
- package/dist/internal/instantIntervalText.js +25 -0
- package/dist/internal/instantNanoseconds.d.ts +25 -0
- package/dist/internal/instantNanoseconds.js +41 -0
- package/dist/internal/intervalCountHelpers.d.ts +16 -10
- package/dist/internal/intervalCountHelpers.js +1 -31
- package/dist/internal/intervalNanoseconds.d.ts +47 -0
- package/dist/internal/intervalNanoseconds.js +86 -0
- package/dist/internal/isObject.d.ts +26 -0
- package/dist/internal/isObject.js +30 -0
- package/dist/internal/isoStringBody.d.ts +40 -0
- package/dist/internal/isoStringBody.js +85 -0
- package/dist/internal/joinDateTimeConnector.d.ts +1 -1
- package/dist/internal/localeWeekInfo.d.ts +34 -0
- package/dist/internal/localeWeekInfo.js +27 -0
- package/dist/internal/maxPieces.d.ts +41 -0
- package/dist/internal/maxPieces.js +53 -0
- package/dist/internal/measureNearRangeEnd.d.ts +26 -0
- package/dist/internal/measureNearRangeEnd.js +47 -0
- package/dist/internal/monthGridWeekRow.d.ts +4 -1
- package/dist/internal/monthGridWeekRow.js +3 -0
- package/dist/internal/normalizeTimeZone.d.ts +17 -10
- package/dist/internal/normalizeTimeZone.js +25 -15
- package/dist/internal/patternToken.d.ts +2 -1
- package/dist/internal/patternToken.js +10 -4
- package/dist/internal/plainDateAdd.d.ts +20 -0
- package/dist/internal/plainDateAdd.js +42 -0
- package/dist/internal/plainDateUntil.d.ts +21 -0
- package/dist/internal/plainDateUntil.js +48 -0
- package/dist/internal/plainFormatOptions.d.ts +59 -0
- package/dist/internal/plainFormatOptions.js +165 -0
- package/dist/internal/resolveDateTimeUnit.d.ts +4 -1
- package/dist/internal/resolveDateTimeUnit.js +2 -12
- package/dist/internal/resolveDurationRelativeTo.d.ts +28 -22
- package/dist/internal/resolveDurationRelativeTo.js +69 -25
- package/dist/internal/resolveDurationUnit.d.ts +4 -1
- package/dist/internal/resolveDurationUnit.js +2 -11
- package/dist/internal/resolveLocale.d.ts +37 -0
- package/dist/internal/resolveLocale.js +59 -0
- package/dist/internal/resolveManualRoundingOptions.d.ts +23 -0
- package/dist/internal/resolveManualRoundingOptions.js +39 -0
- package/dist/internal/resolveMinimalDaysInFirstWeek.d.ts +19 -0
- package/dist/internal/resolveMinimalDaysInFirstWeek.js +28 -0
- package/dist/internal/resolveOverflow.d.ts +6 -0
- package/dist/internal/resolveOverflow.js +7 -1
- package/dist/internal/resolveReadingTimeZone.d.ts +11 -0
- package/dist/internal/resolveReadingTimeZone.js +18 -0
- package/dist/internal/resolveUnixIntervalPair.d.ts +30 -0
- package/dist/internal/resolveUnixIntervalPair.js +53 -0
- package/dist/internal/resolveWeekStartsOn.d.ts +12 -0
- package/dist/internal/resolveWeekStartsOn.js +18 -0
- package/dist/internal/rfc5322DateTime.d.ts +26 -0
- package/dist/internal/rfc5322DateTime.js +176 -0
- package/dist/internal/splitStep.d.ts +81 -0
- package/dist/internal/splitStep.js +182 -0
- package/dist/internal/startOrEndOfUnix.d.ts +26 -0
- package/dist/internal/startOrEndOfUnix.js +47 -0
- package/dist/internal/startOrEndOfUtc.d.ts +27 -0
- package/dist/{utc/calculate → internal}/startOrEndOfUtc.js +45 -24
- package/dist/internal/startOrEndOfZoned.d.ts +22 -0
- package/dist/internal/startOrEndOfZoned.js +49 -0
- package/dist/internal/temporalCompat/calendarDateArithmetic.d.ts +33 -0
- package/dist/internal/temporalCompat/calendarDateArithmetic.js +199 -0
- package/dist/internal/temporalCompat/calendarDateFromFields.d.ts +36 -0
- package/dist/internal/temporalCompat/calendarDateFromFields.js +120 -0
- package/dist/internal/temporalCompat/calendarFields.d.ts +25 -0
- package/dist/internal/temporalCompat/calendarFields.js +131 -0
- package/dist/internal/temporalCompat/capabilities.d.ts +28 -0
- package/dist/internal/temporalCompat/capabilities.js +74 -0
- package/dist/internal/temporalCompat/fieldSearch.d.ts +21 -0
- package/dist/internal/temporalCompat/fieldSearch.js +83 -0
- package/dist/internal/temporalCompat/fixedDay.d.ts +25 -0
- package/dist/internal/temporalCompat/fixedDay.js +45 -0
- package/dist/internal/temporalCompat/hebrewArithmetic.d.ts +19 -0
- package/dist/internal/temporalCompat/hebrewArithmetic.js +150 -0
- package/dist/internal/temporalCompat/index.d.ts +4 -0
- package/dist/internal/temporalCompat/index.js +5 -0
- package/dist/internal/temporalCompat/indianArithmetic.d.ts +16 -0
- package/dist/internal/temporalCompat/indianArithmetic.js +87 -0
- package/dist/internal/temporalCompat/largeMonthSpan.d.ts +19 -0
- package/dist/internal/temporalCompat/largeMonthSpan.js +199 -0
- package/dist/internal/temporalCompat/nonIsoArithmetic.d.ts +59 -0
- package/dist/internal/temporalCompat/nonIsoArithmetic.js +220 -0
- package/dist/internal/temporalCompat/readArithmeticModel.d.ts +3 -0
- package/dist/internal/temporalCompat/readArithmeticModel.js +284 -0
- package/dist/internal/temporalCompat/repros.d.ts +31 -0
- package/dist/internal/temporalCompat/repros.js +556 -0
- package/dist/internal/toInstantFromUtc.d.ts +10 -0
- package/dist/internal/toInstantFromUtc.js +19 -0
- package/dist/internal/unixEpochValue.d.ts +166 -0
- package/dist/internal/unixEpochValue.js +245 -0
- package/dist/internal/unixFormatReference.d.ts +18 -0
- package/dist/internal/unixFormatReference.js +44 -0
- package/dist/internal/unixZonedDateTime.d.ts +22 -0
- package/dist/internal/unixZonedDateTime.js +32 -0
- package/dist/internal/utcOffsetString.d.ts +39 -0
- package/dist/internal/utcOffsetString.js +75 -0
- package/dist/internal/utcZonedDateTime.d.ts +16 -0
- package/dist/internal/utcZonedDateTime.js +28 -0
- package/dist/internal/zonedBucket.d.ts +91 -0
- package/dist/internal/zonedBucket.js +441 -0
- package/dist/internal/zonedFormatReference.d.ts +15 -0
- package/dist/internal/zonedFormatReference.js +24 -0
- package/dist/internal/zonedLocalDates.d.ts +15 -0
- package/dist/internal/zonedLocalDates.js +58 -0
- package/dist/internal/zonedNowUnitValue.d.ts +24 -0
- package/dist/internal/zonedNowUnitValue.js +58 -0
- package/dist/internal/zonedWallClock.d.ts +84 -0
- package/dist/internal/zonedWallClock.js +427 -0
- package/dist/internal/zonedWallClockDifference.d.ts +92 -0
- package/dist/internal/zonedWallClockDifference.js +1173 -0
- package/dist/internal/zonedWallClockOperations.d.ts +132 -0
- package/dist/internal/zonedWallClockOperations.js +553 -0
- package/dist/internal/zonelessCalendarDate.d.ts +12 -0
- package/dist/internal/zonelessCalendarDate.js +22 -0
- package/dist/interval/calculate/clampInterval.d.ts +22 -0
- package/dist/interval/calculate/clampInterval.js +31 -0
- package/dist/interval/calculate/index.d.ts +6 -0
- package/dist/interval/calculate/index.js +6 -0
- package/dist/interval/calculate/intersectIntervals.d.ts +23 -0
- package/dist/interval/calculate/intersectIntervals.js +43 -0
- package/dist/interval/calculate/mergeIntervals.d.ts +28 -0
- package/dist/interval/calculate/mergeIntervals.js +44 -0
- package/dist/interval/calculate/splitIntervalAt.d.ts +28 -0
- package/dist/interval/calculate/splitIntervalAt.js +63 -0
- package/dist/interval/calculate/subtractIntervals.d.ts +31 -0
- package/dist/interval/calculate/subtractIntervals.js +64 -0
- package/dist/interval/calculate/sumIntervals.d.ts +26 -0
- package/dist/interval/calculate/sumIntervals.js +40 -0
- package/dist/interval/compare/index.d.ts +2 -0
- package/dist/interval/compare/index.js +2 -0
- package/dist/interval/compare/intervalContains.d.ts +25 -0
- package/dist/interval/compare/intervalContains.js +39 -0
- package/dist/interval/compare/intervalsOverlap.d.ts +28 -0
- package/dist/interval/compare/intervalsOverlap.js +42 -0
- package/dist/interval/index.d.ts +4 -0
- package/dist/interval/index.js +5 -0
- package/dist/interval/validate/index.d.ts +1 -0
- package/dist/interval/validate/index.js +1 -0
- package/dist/interval/validate/isValidInterval.d.ts +29 -0
- package/dist/interval/validate/isValidInterval.js +38 -0
- package/dist/plain/calculate/addBusinessDays.d.ts +26 -9
- package/dist/plain/calculate/addBusinessDays.js +29 -21
- package/dist/plain/calculate/addDate.d.ts +9 -8
- package/dist/plain/calculate/addDate.js +35 -22
- package/dist/plain/calculate/addDateTime.js +24 -10
- package/dist/plain/calculate/addTime.d.ts +5 -8
- package/dist/plain/calculate/addTime.js +23 -16
- package/dist/plain/calculate/clampDate.js +3 -3
- package/dist/plain/calculate/closestDateTo.d.ts +11 -7
- package/dist/plain/calculate/closestDateTo.js +36 -24
- package/dist/plain/calculate/cycleDate.d.ts +1 -1
- package/dist/plain/calculate/cycleDate.js +10 -3
- package/dist/plain/calculate/cycleDateTime.d.ts +1 -1
- package/dist/plain/calculate/cycleDateTime.js +10 -3
- package/dist/plain/calculate/cycleTime.d.ts +6 -8
- package/dist/plain/calculate/cycleTime.js +15 -9
- package/dist/plain/calculate/diffDate.d.ts +31 -14
- package/dist/plain/calculate/diffDate.js +73 -38
- package/dist/plain/calculate/diffDateAsDuration.d.ts +13 -8
- package/dist/plain/calculate/diffDateAsDuration.js +23 -10
- package/dist/plain/calculate/diffDateTime.d.ts +17 -5
- package/dist/plain/calculate/diffDateTime.js +67 -28
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +2 -2
- package/dist/plain/calculate/diffDateTimeAsDuration.js +10 -3
- package/dist/plain/calculate/diffTime.d.ts +18 -5
- package/dist/plain/calculate/diffTime.js +68 -27
- package/dist/plain/calculate/endOfDate.d.ts +10 -2
- package/dist/plain/calculate/endOfDate.js +52 -27
- package/dist/plain/calculate/endOfDateTime.d.ts +17 -2
- package/dist/plain/calculate/endOfDateTime.js +126 -103
- package/dist/plain/calculate/endOfTime.d.ts +16 -2
- package/dist/plain/calculate/endOfTime.js +77 -59
- package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +13 -5
- package/dist/plain/calculate/getLargestDateDurationUnit.js +26 -10
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +13 -6
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.js +37 -22
- package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +13 -6
- package/dist/plain/calculate/getLargestTimeDurationUnit.js +33 -18
- package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +8 -4
- package/dist/plain/calculate/getLocaleDayOfWeek.js +8 -3
- package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +8 -4
- package/dist/plain/calculate/getLocaleEndOfWeek.js +8 -3
- package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +8 -4
- package/dist/plain/calculate/getLocaleStartOfWeek.js +8 -3
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +29 -19
- package/dist/plain/calculate/getLocaleWeekYear.js +48 -28
- package/dist/plain/calculate/getWeekNumber.d.ts +21 -2
- package/dist/plain/calculate/getWeekNumber.js +33 -12
- package/dist/plain/calculate/getWeekOfMonth.d.ts +4 -2
- package/dist/plain/calculate/getWeekOfMonth.js +8 -3
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +25 -14
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +45 -25
- package/dist/plain/calculate/getWeeksInMonth.d.ts +4 -2
- package/dist/plain/calculate/getWeeksInMonth.js +8 -3
- package/dist/plain/calculate/getWeeksInYear.d.ts +5 -4
- package/dist/plain/calculate/getWeeksInYear.js +9 -14
- package/dist/plain/calculate/index.d.ts +2 -1
- package/dist/plain/calculate/index.js +2 -1
- package/dist/plain/calculate/maxDate.js +19 -12
- package/dist/plain/calculate/maxDateTime.js +19 -12
- package/dist/plain/calculate/maxTime.js +19 -12
- package/dist/plain/calculate/minDate.js +19 -12
- package/dist/plain/calculate/minDateTime.js +19 -12
- package/dist/plain/calculate/minTime.js +19 -12
- package/dist/plain/calculate/nextWeekday.js +5 -0
- package/dist/plain/calculate/previousWeekday.js +5 -0
- package/dist/plain/calculate/roundDate.d.ts +23 -5
- package/dist/plain/calculate/roundDate.js +88 -46
- package/dist/plain/calculate/roundDateTime.d.ts +27 -3
- package/dist/plain/calculate/roundDateTime.js +128 -69
- package/dist/plain/calculate/roundTime.d.ts +8 -1
- package/dist/plain/calculate/roundTime.js +32 -17
- package/dist/plain/calculate/setDate.js +4 -0
- package/dist/plain/calculate/setDateTime.js +4 -0
- package/dist/plain/calculate/setTime.d.ts +1 -1
- package/dist/plain/calculate/setTime.js +5 -1
- package/dist/plain/calculate/sortDateTimes.js +17 -10
- package/dist/plain/calculate/sortDates.js +17 -10
- package/dist/plain/calculate/sortTimes.js +17 -10
- package/dist/plain/calculate/startOfDate.d.ts +7 -2
- package/dist/plain/calculate/startOfDate.js +52 -27
- package/dist/plain/calculate/startOfDateTime.d.ts +5 -2
- package/dist/plain/calculate/startOfDateTime.js +81 -62
- package/dist/plain/calculate/startOfQuarterForDateTime.d.ts +2 -0
- package/dist/plain/calculate/startOfQuarterForDateTime.js +12 -1
- package/dist/plain/calculate/startOfTime.d.ts +15 -2
- package/dist/plain/calculate/startOfTime.js +33 -37
- package/dist/plain/calculate/subtractBusinessDays.d.ts +25 -10
- package/dist/plain/calculate/subtractBusinessDays.js +28 -22
- package/dist/plain/calculate/subtractDate.d.ts +8 -7
- package/dist/plain/calculate/subtractDate.js +35 -21
- package/dist/plain/calculate/subtractDateTime.js +24 -10
- package/dist/plain/calculate/subtractTime.d.ts +5 -8
- package/dist/plain/calculate/subtractTime.js +23 -16
- package/dist/plain/calculate/{weekOfYear.d.ts → weekOfYearForDate.d.ts} +0 -14
- package/dist/plain/calculate/weekOfYearForDate.js +28 -0
- package/dist/plain/calculate/weekOfYearForDateTime.d.ts +14 -0
- package/dist/plain/calculate/{weekOfYear.js → weekOfYearForDateTime.js} +1 -27
- package/dist/plain/chop/index.d.ts +0 -1
- package/dist/plain/chop/index.js +0 -1
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +10 -5
- package/dist/plain/compare/areDateTimesEqualBy.js +35 -10
- package/dist/plain/compare/areDatesEqualBy.d.ts +10 -3
- package/dist/plain/compare/areDatesEqualBy.js +41 -14
- package/dist/plain/compare/isBetweenDate.js +32 -16
- package/dist/plain/compare/isBetweenDateTime.js +34 -18
- package/dist/plain/compare/isBetweenTime.js +32 -16
- package/dist/plain/compare/isBusinessDay.d.ts +25 -11
- package/dist/plain/compare/isBusinessDay.js +36 -15
- package/dist/plain/compare/isThisUnit.d.ts +13 -4
- package/dist/plain/compare/isThisUnit.js +33 -13
- package/dist/plain/compare/isWeekend.d.ts +8 -4
- package/dist/plain/compare/isWeekend.js +7 -3
- package/dist/plain/convert/convertDateToCalendar.d.ts +34 -33
- package/dist/plain/convert/convertDateToCalendar.js +41 -40
- package/dist/plain/format/formatCalendar.d.ts +14 -8
- package/dist/plain/format/formatCalendar.js +47 -25
- package/dist/plain/format/formatDate.d.ts +22 -4
- package/dist/plain/format/formatDate.js +37 -5
- package/dist/plain/format/formatDateRange.d.ts +18 -4
- package/dist/plain/format/formatDateRange.js +29 -5
- package/dist/plain/format/formatDateTime.d.ts +23 -4
- package/dist/plain/format/formatDateTime.js +31 -5
- package/dist/plain/format/formatDateTimeRange.d.ts +21 -4
- package/dist/plain/format/formatDateTimeRange.js +29 -5
- package/dist/plain/format/formatDateTimeToParts.d.ts +33 -6
- package/dist/plain/format/formatDateTimeToParts.js +40 -14
- package/dist/plain/format/formatDateToParts.d.ts +25 -3
- package/dist/plain/format/formatDateToParts.js +36 -11
- package/dist/plain/format/formatRelativeDate.d.ts +10 -17
- package/dist/plain/format/formatRelativeDate.js +39 -24
- package/dist/plain/format/formatRelativeDateTime.d.ts +18 -20
- package/dist/plain/format/formatRelativeDateTime.js +35 -33
- package/dist/plain/format/formatRelativeTime.d.ts +11 -18
- package/dist/plain/format/formatRelativeTime.js +36 -21
- package/dist/plain/format/formatSql.d.ts +15 -10
- package/dist/plain/format/formatSql.js +20 -11
- package/dist/plain/format/formatTime.d.ts +19 -4
- package/dist/plain/format/formatTime.js +32 -5
- package/dist/plain/get/getNowUnit.d.ts +5 -3
- package/dist/plain/get/getNowUnit.js +14 -29
- package/dist/plain/index.js +1 -1
- package/dist/plain/interval/intervalAbutsDate.d.ts +12 -7
- package/dist/plain/interval/intervalAbutsDate.js +15 -19
- package/dist/plain/interval/intervalAbutsDateTime.d.ts +9 -7
- package/dist/plain/interval/intervalAbutsDateTime.js +17 -23
- package/dist/plain/interval/intervalAbutsTime.d.ts +11 -5
- package/dist/plain/interval/intervalAbutsTime.js +19 -21
- package/dist/plain/interval/intervalContainsDate.d.ts +17 -10
- package/dist/plain/interval/intervalContainsDate.js +20 -15
- package/dist/plain/interval/intervalContainsDateTime.d.ts +16 -11
- package/dist/plain/interval/intervalContainsDateTime.js +24 -20
- package/dist/plain/interval/intervalContainsTime.d.ts +20 -10
- package/dist/plain/interval/intervalContainsTime.js +28 -19
- package/dist/plain/interval/intervalCountDate.d.ts +13 -8
- package/dist/plain/interval/intervalCountDate.js +46 -14
- package/dist/plain/interval/intervalCountDateTime.d.ts +6 -4
- package/dist/plain/interval/intervalCountDateTime.js +63 -18
- package/dist/plain/interval/intervalCountTime.d.ts +3 -4
- package/dist/plain/interval/intervalCountTime.js +9 -9
- package/dist/plain/interval/intervalDifferenceDate.d.ts +13 -6
- package/dist/plain/interval/intervalDifferenceDate.js +19 -32
- package/dist/plain/interval/intervalDifferenceDateTime.d.ts +10 -4
- package/dist/plain/interval/intervalDifferenceDateTime.js +21 -27
- package/dist/plain/interval/intervalDifferenceTime.d.ts +11 -4
- package/dist/plain/interval/intervalDifferenceTime.js +22 -27
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +16 -4
- package/dist/plain/interval/intervalDivideEquallyDate.js +57 -33
- package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +16 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +67 -31
- package/dist/plain/interval/intervalDivideEquallyTime.d.ts +16 -4
- package/dist/plain/interval/intervalDivideEquallyTime.js +58 -31
- package/dist/plain/interval/intervalEngulfsDate.d.ts +16 -9
- package/dist/plain/interval/intervalEngulfsDate.js +19 -12
- package/dist/plain/interval/intervalEngulfsDateTime.d.ts +16 -11
- package/dist/plain/interval/intervalEngulfsDateTime.js +24 -18
- package/dist/plain/interval/intervalEngulfsTime.d.ts +18 -8
- package/dist/plain/interval/intervalEngulfsTime.js +26 -15
- package/dist/plain/interval/intervalFromDurationDate.d.ts +5 -4
- package/dist/plain/interval/intervalFromDurationDate.js +11 -8
- package/dist/plain/interval/intervalFromDurationDateTime.js +4 -0
- package/dist/plain/interval/intervalFromDurationTime.d.ts +10 -12
- package/dist/plain/interval/intervalFromDurationTime.js +28 -17
- package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -4
- package/dist/plain/interval/intervalIntersectionDate.js +14 -9
- package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -4
- package/dist/plain/interval/intervalIntersectionDateTime.js +19 -13
- package/dist/plain/interval/intervalIntersectionTime.d.ts +7 -3
- package/dist/plain/interval/intervalIntersectionTime.js +17 -12
- package/dist/plain/interval/intervalLengthDate.d.ts +9 -6
- package/dist/plain/interval/intervalLengthDate.js +40 -8
- package/dist/plain/interval/intervalLengthDateTime.js +2 -2
- package/dist/plain/interval/intervalOverlappingDaysDate.d.ts +16 -17
- package/dist/plain/interval/intervalOverlappingDaysDate.js +30 -30
- package/dist/plain/interval/intervalOverlappingDaysDateTime.d.ts +7 -12
- package/dist/plain/interval/intervalOverlappingDaysDateTime.js +24 -24
- package/dist/plain/interval/intervalSplitAtDate.d.ts +10 -5
- package/dist/plain/interval/intervalSplitAtDate.js +48 -36
- package/dist/plain/interval/intervalSplitAtDateTime.d.ts +9 -4
- package/dist/plain/interval/intervalSplitAtDateTime.js +44 -32
- package/dist/plain/interval/intervalSplitAtTime.d.ts +9 -4
- package/dist/plain/interval/intervalSplitAtTime.js +44 -32
- package/dist/plain/interval/intervalUnionDate.d.ts +14 -6
- package/dist/plain/interval/intervalUnionDate.js +19 -11
- package/dist/plain/interval/intervalUnionDateTime.d.ts +12 -5
- package/dist/plain/interval/intervalUnionDateTime.js +22 -14
- package/dist/plain/interval/intervalUnionTime.d.ts +10 -3
- package/dist/plain/interval/intervalUnionTime.js +20 -12
- package/dist/plain/interval/intervalXorAllDate.d.ts +11 -10
- package/dist/plain/interval/intervalXorAllDate.js +37 -59
- package/dist/plain/interval/intervalXorAllDateTime.d.ts +7 -5
- package/dist/plain/interval/intervalXorAllDateTime.js +28 -48
- package/dist/plain/interval/intervalXorAllTime.d.ts +8 -4
- package/dist/plain/interval/intervalXorAllTime.js +29 -47
- package/dist/plain/interval/intervalXorDate.d.ts +10 -9
- package/dist/plain/interval/intervalXorDate.js +19 -54
- package/dist/plain/interval/intervalXorDateTime.d.ts +9 -7
- package/dist/plain/interval/intervalXorDateTime.js +23 -50
- package/dist/plain/interval/intervalXorTime.d.ts +8 -7
- package/dist/plain/interval/intervalXorTime.js +22 -50
- package/dist/plain/interval/intervalsOverlapDate.d.ts +14 -7
- package/dist/plain/interval/intervalsOverlapDate.js +17 -10
- package/dist/plain/interval/intervalsOverlapDateTime.d.ts +12 -7
- package/dist/plain/interval/intervalsOverlapDateTime.js +20 -14
- package/dist/plain/interval/intervalsOverlapTime.d.ts +10 -5
- package/dist/plain/interval/intervalsOverlapTime.js +18 -12
- package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -5
- package/dist/plain/interval/mergeIntervalsDate.js +37 -38
- package/dist/plain/interval/mergeIntervalsDateTime.d.ts +7 -3
- package/dist/plain/interval/mergeIntervalsDateTime.js +31 -32
- package/dist/plain/interval/mergeIntervalsTime.d.ts +7 -3
- package/dist/plain/interval/mergeIntervalsTime.js +31 -31
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +26 -6
- package/dist/plain/interval/splitIntervalByUnitDate.js +76 -43
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -2
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +65 -39
- package/dist/plain/interval/splitIntervalByUnitTime.d.ts +18 -2
- package/dist/plain/interval/splitIntervalByUnitTime.js +76 -39
- package/dist/plain/interval/validate/isValidDateInterval.d.ts +4 -2
- package/dist/plain/interval/validate/isValidDateInterval.js +4 -2
- package/dist/plain/interval/validate/isValidDateTimeInterval.d.ts +5 -0
- package/dist/plain/interval/validate/isValidDateTimeInterval.js +7 -2
- package/dist/plain/interval/validate/isValidTimeInterval.d.ts +5 -0
- package/dist/plain/interval/validate/isValidTimeInterval.js +8 -18
- package/dist/plain/locale/getLocaleEraNames.d.ts +14 -4
- package/dist/plain/locale/getLocaleEraNames.js +56 -41
- package/dist/plain/locale/getLocaleMeridiems.d.ts +7 -4
- package/dist/plain/locale/getLocaleMeridiems.js +28 -22
- package/dist/plain/locale/getLocaleMonthNames.d.ts +14 -4
- package/dist/plain/locale/getLocaleMonthNames.js +34 -19
- package/dist/plain/locale/getLocaleWeekdayNames.d.ts +14 -7
- package/dist/plain/locale/getLocaleWeekdayNames.js +40 -22
- package/dist/plain/map/mapDatesInRange.d.ts +18 -1
- package/dist/plain/map/mapDatesInRange.js +53 -17
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +3 -2
- package/dist/plain/parse/parseDateTimeWithPattern.js +30 -24
- package/dist/plain/parse/parseDateWithPattern.d.ts +3 -2
- package/dist/plain/parse/parseDateWithPattern.js +22 -16
- package/dist/plain/parse/parseMicrosecondFromDateTime.d.ts +2 -1
- package/dist/plain/parse/parseMicrosecondFromDateTime.js +2 -1
- package/dist/plain/parse/parseMicrosecondFromTime.d.ts +2 -1
- package/dist/plain/parse/parseMicrosecondFromTime.js +2 -1
- package/dist/plain/parse/parseNanosecondFromDateTime.d.ts +2 -1
- package/dist/plain/parse/parseNanosecondFromDateTime.js +2 -1
- package/dist/plain/parse/parseNanosecondFromTime.d.ts +2 -1
- package/dist/plain/parse/parseNanosecondFromTime.js +2 -1
- package/dist/plain/parse/parseSql.d.ts +15 -12
- package/dist/plain/parse/parseSql.js +16 -13
- package/dist/plain/parse/parseTimeWithPattern.d.ts +3 -2
- package/dist/plain/parse/parseTimeWithPattern.js +27 -21
- package/dist/plain/parse/parseUnitFromDate.d.ts +9 -2
- package/dist/plain/parse/parseUnitFromDate.js +39 -19
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDateTime.js +54 -28
- package/dist/plain/parse/parseUnitFromTime.d.ts +9 -3
- package/dist/plain/parse/parseUnitFromTime.js +13 -3
- package/dist/plain/parse/parseWeekFromDate.d.ts +5 -0
- package/dist/plain/parse/parseWeekFromDate.js +24 -5
- package/dist/plain/parse/parseWeekFromDateTime.d.ts +5 -0
- package/dist/plain/parse/parseWeekFromDateTime.js +26 -5
- package/dist/plain/validate/isLeapSecond.d.ts +27 -9
- package/dist/plain/validate/isLeapSecond.js +30 -9
- package/dist/plain/validate/isLeapYear.d.ts +7 -1
- package/dist/plain/validate/isLeapYear.js +10 -1
- package/dist/plain/validate/isValidCalendarDate.d.ts +37 -6
- package/dist/plain/validate/isValidCalendarDate.js +37 -6
- package/dist/plain/validate/isValidDate.d.ts +9 -1
- package/dist/plain/validate/isValidDate.js +14 -5
- package/dist/plain/validate/isValidDateRange.d.ts +11 -4
- package/dist/plain/validate/isValidDateRange.js +32 -22
- package/dist/plain/validate/isValidDateTime.d.ts +7 -1
- package/dist/plain/validate/isValidDateTime.js +12 -5
- package/dist/plain/validate/isValidDateTimeRange.d.ts +3 -2
- package/dist/plain/validate/isValidDateTimeRange.js +30 -15
- package/dist/plain/validate/isValidIsoDateLike.d.ts +6 -1
- package/dist/plain/validate/isValidIsoDateLike.js +13 -8
- package/dist/plain/validate/isValidTime.d.ts +6 -1
- package/dist/plain/validate/isValidTime.js +10 -3
- package/dist/plain/validate/isValidTimeRange.d.ts +4 -2
- package/dist/plain/validate/isValidTimeRange.js +31 -27
- package/dist/precision/calculate/index.d.ts +1 -0
- package/dist/precision/calculate/index.js +1 -0
- package/dist/precision/calculate/truncateNanoseconds.d.ts +37 -0
- package/dist/precision/calculate/truncateNanoseconds.js +41 -0
- package/dist/precision/convert/fromDotNetTicks.d.ts +30 -0
- package/dist/precision/convert/fromDotNetTicks.js +39 -0
- package/dist/precision/convert/fromExcelSerial.d.ts +38 -0
- package/dist/precision/convert/fromExcelSerial.js +81 -0
- package/dist/precision/convert/fromFileTime.d.ts +30 -0
- package/dist/precision/convert/fromFileTime.js +39 -0
- package/dist/precision/convert/fromNanoseconds.d.ts +29 -0
- package/dist/precision/convert/fromNanoseconds.js +50 -0
- package/dist/precision/convert/fromNtpTimestamp.d.ts +43 -0
- package/dist/precision/convert/fromNtpTimestamp.js +57 -0
- package/dist/precision/convert/fromPgMicroseconds.d.ts +26 -0
- package/dist/precision/convert/fromPgMicroseconds.js +33 -0
- package/dist/precision/convert/index.d.ts +12 -0
- package/dist/precision/convert/index.js +12 -0
- package/dist/precision/convert/toDotNetTicks.d.ts +29 -0
- package/dist/precision/convert/toDotNetTicks.js +40 -0
- package/dist/precision/convert/toExcelSerial.d.ts +56 -0
- package/dist/precision/convert/toExcelSerial.js +85 -0
- package/dist/precision/convert/toFileTime.d.ts +31 -0
- package/dist/precision/convert/toFileTime.js +43 -0
- package/dist/precision/convert/toNanoseconds.d.ts +37 -0
- package/dist/precision/convert/toNanoseconds.js +40 -0
- package/dist/precision/convert/toNtpTimestamp.d.ts +30 -0
- package/dist/precision/convert/toNtpTimestamp.js +38 -0
- package/dist/precision/convert/toPgMicroseconds.d.ts +29 -0
- package/dist/precision/convert/toPgMicroseconds.js +42 -0
- package/dist/precision/format/formatNanoseconds.d.ts +26 -0
- package/dist/precision/format/formatNanoseconds.js +32 -0
- package/dist/precision/format/index.d.ts +1 -0
- package/dist/precision/format/index.js +1 -0
- package/dist/precision/index.d.ts +6 -0
- package/dist/precision/index.js +7 -0
- package/dist/precision/parse/index.d.ts +1 -0
- package/dist/precision/parse/index.js +1 -0
- package/dist/precision/parse/parseNanoseconds.d.ts +27 -0
- package/dist/precision/parse/parseNanoseconds.js +32 -0
- package/dist/precision/validate/index.d.ts +3 -0
- package/dist/precision/validate/index.js +3 -0
- package/dist/precision/validate/isValidInstant.d.ts +37 -0
- package/dist/precision/validate/isValidInstant.js +40 -0
- package/dist/precision/validate/isValidNanoPattern.d.ts +27 -0
- package/dist/precision/validate/isValidNanoPattern.js +40 -0
- package/dist/precision/validate/isValidNanoseconds.d.ts +25 -0
- package/dist/precision/validate/isValidNanoseconds.js +28 -0
- package/dist/regex/calendar-date.d.ts +30 -0
- package/dist/regex/calendar-date.js +31 -11
- package/dist/regex/calendar-zoned-date-time.d.ts +29 -0
- package/dist/regex/calendar-zoned-date-time.js +30 -41
- package/dist/regex/date-time.d.ts +28 -0
- package/dist/regex/date-time.js +29 -2
- package/dist/regex/date.d.ts +58 -0
- package/dist/regex/date.js +60 -3
- package/dist/regex/http-date.d.ts +19 -0
- package/dist/regex/http-date.js +19 -6
- package/dist/regex/index.d.ts +3 -0
- package/dist/regex/index.js +4 -0
- package/dist/regex/leap-second.d.ts +45 -0
- package/dist/regex/leap-second.js +46 -2
- package/dist/regex/nanoseconds.d.ts +20 -0
- package/dist/regex/nanoseconds.js +20 -0
- package/dist/regex/rfc-2822.d.ts +26 -0
- package/dist/regex/rfc-2822.js +26 -8
- package/dist/regex/rfc-3339.d.ts +26 -0
- package/dist/regex/rfc-3339.js +27 -7
- package/dist/regex/sql-date-time.d.ts +33 -0
- package/dist/regex/sql-date-time.js +34 -7
- package/dist/regex/time-zone-like.d.ts +30 -0
- package/dist/regex/time-zone-like.js +31 -1
- package/dist/regex/time.d.ts +73 -0
- package/dist/regex/time.js +73 -3
- package/dist/regex/unix.d.ts +29 -0
- package/dist/regex/unix.js +29 -0
- package/dist/regex/utc-date-time.d.ts +30 -0
- package/dist/regex/utc-date-time.js +31 -2
- package/dist/regex/utc-offset.d.ts +24 -0
- package/dist/regex/utc-offset.js +24 -0
- package/dist/span/calculate/index.d.ts +3 -0
- package/dist/span/calculate/index.js +3 -0
- package/dist/span/calculate/spanMs.d.ts +52 -0
- package/dist/span/calculate/spanMs.js +80 -0
- package/dist/span/calculate/spanNs.d.ts +43 -0
- package/dist/span/calculate/spanNs.js +51 -0
- package/dist/span/calculate/spanWallClock.d.ts +60 -0
- package/dist/span/calculate/spanWallClock.js +80 -0
- package/dist/span/index.d.ts +3 -0
- package/dist/span/index.js +4 -0
- package/dist/span/validate/index.d.ts +1 -0
- package/dist/span/validate/index.js +1 -0
- package/dist/span/validate/isValidSpan.d.ts +37 -0
- package/dist/span/validate/isValidSpan.js +41 -0
- package/dist/types/business-calendar.d.ts +27 -0
- package/dist/types/business-calendar.js +0 -0
- package/dist/types/calendar-options.d.ts +11 -0
- package/dist/types/calendar-options.js +0 -0
- package/dist/types/calendar-system.d.ts +9 -1
- package/dist/types/datetime-format-options.d.ts +6 -0
- package/dist/types/datetime-format-options.js +0 -0
- package/dist/types/duration-unit.d.ts +5 -0
- package/dist/types/duration-unit.js +0 -0
- package/dist/types/fiscal-calendar.d.ts +22 -0
- package/dist/types/fiscal-calendar.js +0 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.js +16 -0
- package/dist/types/interval.d.ts +18 -0
- package/dist/types/interval.js +0 -0
- package/dist/types/now-unit.d.ts +5 -0
- package/dist/types/now-unit.js +0 -0
- package/dist/types/relative-date-time-unit.d.ts +6 -0
- package/dist/types/relative-date-time-unit.js +0 -0
- package/dist/types/relative-date-unit.d.ts +5 -0
- package/dist/types/relative-date-unit.js +0 -0
- package/dist/types/relative-time-options.d.ts +18 -0
- package/dist/types/relative-time-options.js +0 -0
- package/dist/types/relative-time-unit.d.ts +5 -0
- package/dist/types/relative-time-unit.js +0 -0
- package/dist/types/relative-unit.d.ts +6 -0
- package/dist/types/relative-unit.js +0 -0
- package/dist/types/roll-convention.d.ts +32 -0
- package/dist/types/roll-convention.js +0 -0
- package/dist/types/unix-now-unit.d.ts +5 -0
- package/dist/types/unix-now-unit.js +0 -0
- package/dist/types/utc-now-unit.d.ts +5 -0
- package/dist/types/utc-now-unit.js +0 -0
- package/dist/types/zone-bucket-unit.d.ts +11 -0
- package/dist/types/zone-bucket-unit.js +0 -0
- package/dist/unix/calculate/addUnix.d.ts +10 -4
- package/dist/unix/calculate/addUnix.js +39 -26
- package/dist/unix/calculate/diffUnix.d.ts +38 -11
- package/dist/unix/calculate/diffUnix.js +84 -40
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +17 -7
- package/dist/unix/calculate/diffUnixAsDuration.js +42 -23
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +15 -11
- package/dist/unix/calculate/endOfQuarterForUnix.js +20 -39
- package/dist/unix/calculate/endOfUnix.d.ts +23 -18
- package/dist/unix/calculate/endOfUnix.js +37 -15
- package/dist/unix/calculate/isBetweenUnix.d.ts +12 -6
- package/dist/unix/calculate/isBetweenUnix.js +34 -23
- package/dist/unix/calculate/maxUnix.d.ts +6 -3
- package/dist/unix/calculate/maxUnix.js +17 -8
- package/dist/unix/calculate/minUnix.d.ts +6 -3
- package/dist/unix/calculate/minUnix.js +17 -8
- package/dist/unix/calculate/roundUnix.d.ts +24 -10
- package/dist/unix/calculate/roundUnix.js +67 -42
- package/dist/unix/calculate/setUnix.d.ts +14 -5
- package/dist/unix/calculate/setUnix.js +48 -29
- package/dist/unix/calculate/sortUnix.d.ts +6 -3
- package/dist/unix/calculate/sortUnix.js +19 -11
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +17 -12
- package/dist/unix/calculate/startOfQuarterForUnix.js +22 -30
- package/dist/unix/calculate/startOfUnix.d.ts +23 -18
- package/dist/unix/calculate/startOfUnix.js +37 -15
- package/dist/unix/calculate/subtractUnix.d.ts +10 -4
- package/dist/unix/calculate/subtractUnix.js +39 -26
- package/dist/unix/compare/areUnixEqual.d.ts +9 -5
- package/dist/unix/compare/areUnixEqual.js +17 -13
- package/dist/unix/compare/areUnixEqualBy.d.ts +14 -7
- package/dist/unix/compare/areUnixEqualBy.js +14 -7
- package/dist/unix/compare/isAfterUnix.d.ts +8 -4
- package/dist/unix/compare/isAfterUnix.js +16 -12
- package/dist/unix/compare/isBeforeUnix.d.ts +7 -4
- package/dist/unix/compare/isBeforeUnix.js +15 -12
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +17 -9
- package/dist/unix/convert/convertUnixToPlainDate.js +34 -21
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +15 -9
- package/dist/unix/convert/convertUnixToPlainDateTime.js +32 -21
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +15 -9
- package/dist/unix/convert/convertUnixToPlainTime.js +32 -21
- package/dist/unix/convert/convertUnixToUtc.d.ts +15 -7
- package/dist/unix/convert/convertUnixToUtc.js +20 -15
- package/dist/unix/convert/convertUnixToZoned.d.ts +17 -10
- package/dist/unix/convert/convertUnixToZoned.js +31 -20
- package/dist/unix/format/formatCalendarUnix.d.ts +35 -6
- package/dist/unix/format/formatCalendarUnix.js +35 -81
- package/dist/unix/format/formatRelativeUnix.d.ts +26 -16
- package/dist/unix/format/formatRelativeUnix.js +46 -93
- package/dist/unix/format/formatUnix.d.ts +43 -2
- package/dist/unix/format/formatUnix.js +65 -32
- package/dist/unix/get/getUnixNow.d.ts +13 -7
- package/dist/unix/get/getUnixNow.js +27 -17
- package/dist/unix/get/getUnixNowUnit.d.ts +7 -5
- package/dist/unix/get/getUnixNowUnit.js +9 -35
- package/dist/unix/index.d.ts +1 -0
- package/dist/unix/index.js +2 -0
- package/dist/unix/interval/intervalAbutsUnix.d.ts +17 -12
- package/dist/unix/interval/intervalAbutsUnix.js +23 -41
- package/dist/unix/interval/intervalContainsUnix.d.ts +17 -7
- package/dist/unix/interval/intervalContainsUnix.js +25 -37
- package/dist/unix/interval/intervalCountUnix.d.ts +30 -13
- package/dist/unix/interval/intervalCountUnix.js +49 -23
- package/dist/unix/interval/intervalDifferenceUnix.d.ts +19 -10
- package/dist/unix/interval/intervalDifferenceUnix.js +25 -43
- package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +24 -10
- package/dist/unix/interval/intervalDivideEquallyUnix.js +57 -36
- package/dist/unix/interval/intervalEngulfsUnix.d.ts +13 -7
- package/dist/unix/interval/intervalEngulfsUnix.js +18 -30
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +10 -6
- package/dist/unix/interval/intervalFromDurationUnix.js +51 -39
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +18 -11
- package/dist/unix/interval/intervalIntersectionUnix.js +25 -46
- package/dist/unix/interval/intervalLengthUnix.d.ts +21 -9
- package/dist/unix/interval/intervalLengthUnix.js +41 -18
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +26 -12
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +67 -63
- package/dist/unix/interval/intervalSplitAtUnix.d.ts +11 -6
- package/dist/unix/interval/intervalSplitAtUnix.js +41 -34
- package/dist/unix/interval/intervalUnionUnix.d.ts +15 -9
- package/dist/unix/interval/intervalUnionUnix.js +20 -42
- package/dist/unix/interval/intervalXorAllUnix.d.ts +8 -6
- package/dist/unix/interval/intervalXorAllUnix.js +21 -56
- package/dist/unix/interval/intervalXorUnix.d.ts +22 -11
- package/dist/unix/interval/intervalXorUnix.js +28 -56
- package/dist/unix/interval/intervalsOverlapUnix.d.ts +16 -10
- package/dist/unix/interval/intervalsOverlapUnix.js +21 -37
- package/dist/unix/interval/mergeIntervalsUnix.d.ts +10 -4
- package/dist/unix/interval/mergeIntervalsUnix.js +25 -36
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +38 -8
- package/dist/unix/interval/splitIntervalByUnitUnix.js +72 -56
- package/dist/unix/interval/validate/isValidUnixInterval.d.ts +12 -6
- package/dist/unix/interval/validate/isValidUnixInterval.js +17 -16
- package/dist/unix/parse/index.d.ts +2 -0
- package/dist/unix/parse/index.js +2 -0
- package/dist/unix/parse/parseDateFromUnix.d.ts +10 -8
- package/dist/unix/parse/parseDateFromUnix.js +17 -29
- package/dist/unix/parse/parseDayFromUnix.d.ts +6 -4
- package/dist/unix/parse/parseDayFromUnix.js +18 -5
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +8 -5
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +15 -28
- package/dist/unix/parse/parseHourFromUnix.d.ts +6 -4
- package/dist/unix/parse/parseHourFromUnix.js +18 -5
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.js +16 -3
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMillisecondFromUnix.js +16 -3
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +6 -4
- package/dist/unix/parse/parseMinuteFromUnix.js +18 -5
- package/dist/unix/parse/parseMonthFromUnix.d.ts +6 -4
- package/dist/unix/parse/parseMonthFromUnix.js +18 -5
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +8 -5
- package/dist/unix/parse/parseNanosecondFromUnix.js +20 -6
- package/dist/unix/parse/parseSecondFromUnix.d.ts +5 -3
- package/dist/unix/parse/parseSecondFromUnix.js +17 -4
- package/dist/unix/parse/parseTimeFromUnix.d.ts +10 -8
- package/dist/unix/parse/parseTimeFromUnix.js +17 -29
- package/dist/unix/parse/parseUnitFromUnix.d.ts +40 -9
- package/dist/unix/parse/parseUnitFromUnix.js +57 -55
- package/dist/unix/parse/parseWeekFromUnix.d.ts +15 -7
- package/dist/unix/parse/parseWeekFromUnix.js +32 -30
- package/dist/unix/parse/parseYearFromUnix.d.ts +5 -3
- package/dist/unix/parse/parseYearFromUnix.js +17 -4
- package/dist/unix/validate/isValidUnixMilliseconds.d.ts +8 -5
- package/dist/unix/validate/isValidUnixMilliseconds.js +10 -9
- package/dist/unix/validate/isValidUnixRange.d.ts +13 -7
- package/dist/unix/validate/isValidUnixRange.js +29 -19
- package/dist/unix/validate/isValidUnixSeconds.d.ts +8 -5
- package/dist/unix/validate/isValidUnixSeconds.js +10 -9
- package/dist/unix/validate/isValidUnixUnit.d.ts +22 -5
- package/dist/unix/validate/isValidUnixUnit.js +6 -8
- package/dist/utc/calculate/addUtc.js +26 -12
- package/dist/utc/calculate/diffUtc.d.ts +22 -7
- package/dist/utc/calculate/diffUtc.js +75 -31
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +2 -2
- package/dist/utc/calculate/diffUtcAsDuration.js +10 -3
- package/dist/utc/calculate/endOfQuarterForUtc.d.ts +1 -1
- package/dist/utc/calculate/endOfQuarterForUtc.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +11 -4
- package/dist/utc/calculate/endOfUtc.js +22 -5
- package/dist/utc/calculate/isBetweenUtc.js +40 -24
- package/dist/utc/calculate/maxUtc.js +19 -12
- package/dist/utc/calculate/minUtc.js +19 -12
- package/dist/utc/calculate/roundUtc.d.ts +16 -2
- package/dist/utc/calculate/roundUtc.js +42 -31
- package/dist/utc/calculate/setUtc.d.ts +4 -8
- package/dist/utc/calculate/setUtc.js +25 -18
- package/dist/utc/calculate/sortUtc.js +17 -10
- package/dist/utc/calculate/startOfQuarterForUtc.d.ts +2 -0
- package/dist/utc/calculate/startOfQuarterForUtc.js +12 -1
- package/dist/utc/calculate/startOfUtc.d.ts +6 -4
- package/dist/utc/calculate/startOfUtc.js +17 -5
- package/dist/utc/calculate/subtractUtc.js +26 -12
- package/dist/utc/chop/chopUtc.d.ts +5 -2
- package/dist/utc/chop/chopUtc.js +8 -4
- package/dist/utc/compare/areUtcEqualBy.d.ts +10 -5
- package/dist/utc/compare/areUtcEqualBy.js +34 -11
- package/dist/utc/convert/convertUtcToPlainDate.js +22 -10
- package/dist/utc/convert/convertUtcToPlainDateTime.js +28 -16
- package/dist/utc/convert/convertUtcToPlainTime.js +22 -10
- package/dist/utc/convert/convertUtcToUnix.d.ts +12 -5
- package/dist/utc/convert/convertUtcToUnix.js +22 -13
- package/dist/utc/format/formatCalendarUtc.d.ts +13 -8
- package/dist/utc/format/formatCalendarUtc.js +32 -41
- package/dist/utc/format/formatHttp.d.ts +9 -3
- package/dist/utc/format/formatHttp.js +14 -12
- package/dist/utc/format/formatRelativeUtc.d.ts +20 -18
- package/dist/utc/format/formatRelativeUtc.js +43 -51
- package/dist/utc/format/formatUtc.d.ts +51 -1
- package/dist/utc/format/formatUtc.js +57 -11
- package/dist/utc/get/getUtcNowUnit.d.ts +5 -3
- package/dist/utc/get/getUtcNowUnit.js +11 -33
- package/dist/utc/index.d.ts +1 -0
- package/dist/utc/index.js +2 -0
- package/dist/utc/interval/intervalAbutsUtc.d.ts +10 -7
- package/dist/utc/interval/intervalAbutsUtc.js +18 -30
- package/dist/utc/interval/intervalContainsUtc.d.ts +19 -11
- package/dist/utc/interval/intervalContainsUtc.js +33 -34
- package/dist/utc/interval/intervalCountUtc.d.ts +3 -4
- package/dist/utc/interval/intervalCountUtc.js +12 -18
- package/dist/utc/interval/intervalDifferenceUtc.d.ts +13 -5
- package/dist/utc/interval/intervalDifferenceUtc.js +25 -51
- package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +16 -3
- package/dist/utc/interval/intervalDivideEquallyUtc.js +54 -34
- package/dist/utc/interval/intervalEngulfsUtc.d.ts +17 -12
- package/dist/utc/interval/intervalEngulfsUtc.js +25 -26
- package/dist/utc/interval/intervalFromDurationUtc.js +5 -0
- package/dist/utc/interval/intervalIntersectionUtc.d.ts +12 -6
- package/dist/utc/interval/intervalIntersectionUtc.js +24 -41
- package/dist/utc/interval/intervalLengthUtc.js +5 -7
- package/dist/utc/interval/intervalOverlappingDaysUtc.d.ts +7 -13
- package/dist/utc/interval/intervalOverlappingDaysUtc.js +25 -36
- package/dist/utc/interval/intervalSplitAtUtc.d.ts +7 -2
- package/dist/utc/interval/intervalSplitAtUtc.js +39 -33
- package/dist/utc/interval/intervalUnionUtc.d.ts +15 -7
- package/dist/utc/interval/intervalUnionUtc.js +31 -42
- package/dist/utc/interval/intervalXorAllUtc.d.ts +7 -4
- package/dist/utc/interval/intervalXorAllUtc.js +30 -52
- package/dist/utc/interval/intervalXorUtc.d.ts +8 -6
- package/dist/utc/interval/intervalXorUtc.js +22 -56
- package/dist/utc/interval/intervalsOverlapUtc.d.ts +15 -9
- package/dist/utc/interval/intervalsOverlapUtc.js +23 -39
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +9 -2
- package/dist/utc/interval/mergeIntervalsUtc.js +23 -36
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +23 -2
- package/dist/utc/interval/splitIntervalByUnitUtc.js +65 -44
- package/dist/utc/interval/validate/isValidUtcInterval.d.ts +5 -0
- package/dist/utc/interval/validate/isValidUtcInterval.js +7 -6
- package/dist/utc/parse/parseDateFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseDateFromUtc.js +14 -9
- package/dist/utc/parse/parseDayFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseDayFromUtc.js +14 -8
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +24 -6
- package/dist/utc/parse/parseHourFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseHourFromUtc.js +14 -8
- package/dist/utc/parse/parseHttp.d.ts +39 -14
- package/dist/utc/parse/parseHttp.js +69 -28
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +9 -2
- package/dist/utc/parse/parseMicrosecondFromUtc.js +18 -9
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseMillisecondFromUtc.js +16 -8
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseMinuteFromUtc.js +14 -8
- package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseMonthFromUtc.js +14 -8
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +9 -2
- package/dist/utc/parse/parseNanosecondFromUtc.js +18 -9
- package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseSecondFromUtc.js +14 -8
- package/dist/utc/parse/parseTimeFromUtc.js +21 -10
- package/dist/utc/parse/parseUnitFromUtc.d.ts +39 -5
- package/dist/utc/parse/parseUnitFromUtc.js +58 -31
- package/dist/utc/parse/parseWeekFromUtc.d.ts +16 -3
- package/dist/utc/parse/parseWeekFromUtc.js +38 -10
- package/dist/utc/parse/parseYearFromUtc.d.ts +7 -1
- package/dist/utc/parse/parseYearFromUtc.js +14 -8
- package/dist/utc/validate/isValidUtc.d.ts +8 -1
- package/dist/utc/validate/isValidUtc.js +12 -3
- package/dist/utc/validate/isValidUtcRange.d.ts +3 -2
- package/dist/utc/validate/isValidUtcRange.js +30 -19
- package/dist/zoned/calculate/addZoned.d.ts +40 -27
- package/dist/zoned/calculate/addZoned.js +71 -56
- package/dist/zoned/calculate/addZonedBusinessDays.d.ts +2 -0
- package/dist/zoned/calculate/addZonedBusinessDays.js +5 -2
- package/dist/zoned/calculate/clampZoned.js +4 -3
- package/dist/zoned/calculate/closestZonedTo.d.ts +6 -6
- package/dist/zoned/calculate/closestZonedTo.js +35 -26
- package/dist/zoned/calculate/cycleZoned.d.ts +10 -7
- package/dist/zoned/calculate/cycleZoned.js +19 -11
- package/dist/zoned/calculate/diffZoned.d.ts +39 -17
- package/dist/zoned/calculate/diffZoned.js +90 -45
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +19 -9
- package/dist/zoned/calculate/diffZonedAsDuration.js +32 -15
- package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +11 -11
- package/dist/zoned/calculate/endOfQuarterForZoned.js +32 -31
- package/dist/zoned/calculate/endOfZoned.d.ts +21 -14
- package/dist/zoned/calculate/endOfZoned.js +25 -111
- package/dist/zoned/calculate/getHoursInZonedDay.d.ts +8 -1
- package/dist/zoned/calculate/getHoursInZonedDay.js +10 -14
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +8 -4
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +9 -6
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +20 -26
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +40 -44
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +16 -24
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +36 -42
- package/dist/zoned/calculate/getQuarterForZoned.js +2 -2
- package/dist/zoned/calculate/maxZoned.js +20 -12
- package/dist/zoned/calculate/minZoned.d.ts +1 -1
- package/dist/zoned/calculate/minZoned.js +21 -13
- package/dist/zoned/calculate/roundZoned.d.ts +18 -4
- package/dist/zoned/calculate/roundZoned.js +58 -33
- package/dist/zoned/calculate/setZoned.d.ts +9 -3
- package/dist/zoned/calculate/setZoned.js +39 -18
- package/dist/zoned/calculate/sortZoned.js +18 -10
- package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +4 -7
- package/dist/zoned/calculate/startOfQuarterForZoned.js +23 -17
- package/dist/zoned/calculate/startOfZoned.d.ts +17 -13
- package/dist/zoned/calculate/startOfZoned.js +21 -103
- package/dist/zoned/calculate/subtractZoned.d.ts +36 -24
- package/dist/zoned/calculate/subtractZoned.js +66 -50
- package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +2 -0
- package/dist/zoned/calculate/subtractZonedBusinessDays.js +5 -2
- package/dist/zoned/chop/chopZonedDate.js +2 -2
- package/dist/zoned/chop/chopZonedDateTime.js +2 -2
- package/dist/zoned/chop/chopZonedMilliseconds.js +2 -2
- package/dist/zoned/chop/chopZonedSeconds.js +2 -2
- package/dist/zoned/chop/chopZonedTime.js +2 -2
- package/dist/zoned/chop/chopZonedTimezone.js +2 -2
- package/dist/zoned/compare/areZonedEqual.js +3 -2
- package/dist/zoned/compare/areZonedEqualBy.d.ts +15 -2
- package/dist/zoned/compare/areZonedEqualBy.js +45 -12
- package/dist/zoned/compare/isAfterZoned.js +3 -2
- package/dist/zoned/compare/isBeforeZoned.d.ts +1 -1
- package/dist/zoned/compare/isBeforeZoned.js +4 -3
- package/dist/zoned/compare/isBetweenZoned.js +46 -29
- package/dist/zoned/compare/isInDaylightSaving.js +4 -4
- package/dist/zoned/compare/isZonedBusinessDay.d.ts +7 -4
- package/dist/zoned/compare/isZonedBusinessDay.js +9 -6
- package/dist/zoned/compare/isZonedFuture.js +2 -1
- package/dist/zoned/compare/isZonedPast.js +2 -1
- package/dist/zoned/compare/isZonedRelativeDay.js +2 -1
- package/dist/zoned/compare/isZonedThisUnit.d.ts +12 -4
- package/dist/zoned/compare/isZonedThisUnit.js +37 -16
- package/dist/zoned/compare/isZonedWeekend.d.ts +8 -4
- package/dist/zoned/compare/isZonedWeekend.js +9 -6
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +10 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +34 -16
- package/dist/zoned/convert/convertZonedToCalendar.d.ts +26 -38
- package/dist/zoned/convert/convertZonedToCalendar.js +33 -48
- package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +6 -0
- package/dist/zoned/convert/convertZonedToPlainDateTime.js +8 -2
- package/dist/zoned/convert/convertZonedToUnix.d.ts +12 -6
- package/dist/zoned/convert/convertZonedToUnix.js +23 -16
- package/dist/zoned/convert/convertZonedToUtc.js +2 -2
- package/dist/zoned/convert/convertZonedToZoned.js +2 -2
- package/dist/zoned/format/formatCalendarZoned.d.ts +7 -3
- package/dist/zoned/format/formatCalendarZoned.js +37 -39
- package/dist/zoned/format/formatRelativeZoned.d.ts +16 -14
- package/dist/zoned/format/formatRelativeZoned.js +54 -54
- package/dist/zoned/format/formatRfc2822.d.ts +14 -1
- package/dist/zoned/format/formatRfc2822.js +27 -13
- package/dist/zoned/format/formatRfc3339.d.ts +14 -1
- package/dist/zoned/format/formatRfc3339.js +29 -3
- package/dist/zoned/format/formatTimeZoneName.d.ts +18 -2
- package/dist/zoned/format/formatTimeZoneName.js +28 -18
- package/dist/zoned/format/formatZonedDateTime.d.ts +26 -5
- package/dist/zoned/format/formatZonedDateTime.js +40 -9
- package/dist/zoned/format/formatZonedRange.d.ts +25 -6
- package/dist/zoned/format/formatZonedRange.js +61 -28
- package/dist/zoned/format/formatZonedToParts.d.ts +30 -6
- package/dist/zoned/format/formatZonedToParts.js +42 -13
- package/dist/zoned/get/getDstTransitions.d.ts +24 -3
- package/dist/zoned/get/getDstTransitions.js +17 -15
- package/dist/zoned/get/getTimeZoneOffset.d.ts +11 -1
- package/dist/zoned/get/getTimeZoneOffset.js +19 -2
- package/dist/zoned/get/getZonedNow.js +20 -9
- package/dist/zoned/get/getZonedNowUnit.d.ts +30 -2
- package/dist/zoned/get/getZonedNowUnit.js +15 -31
- package/dist/zoned/index.js +1 -1
- package/dist/zoned/interval/intervalAbutsZoned.d.ts +18 -11
- package/dist/zoned/interval/intervalAbutsZoned.js +24 -25
- package/dist/zoned/interval/intervalContainsZoned.d.ts +16 -7
- package/dist/zoned/interval/intervalContainsZoned.js +22 -14
- package/dist/zoned/interval/intervalCountZoned.d.ts +19 -11
- package/dist/zoned/interval/intervalCountZoned.js +32 -27
- package/dist/zoned/interval/intervalDifferenceZoned.d.ts +14 -8
- package/dist/zoned/interval/intervalDifferenceZoned.js +25 -37
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +18 -9
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +67 -46
- package/dist/zoned/interval/intervalEngulfsZoned.d.ts +10 -5
- package/dist/zoned/interval/intervalEngulfsZoned.js +16 -10
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +25 -11
- package/dist/zoned/interval/intervalFromDurationZoned.js +61 -44
- package/dist/zoned/interval/intervalIntersectionZoned.d.ts +12 -6
- package/dist/zoned/interval/intervalIntersectionZoned.js +24 -18
- package/dist/zoned/interval/intervalLengthZoned.d.ts +15 -6
- package/dist/zoned/interval/intervalLengthZoned.js +23 -9
- package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +28 -17
- package/dist/zoned/interval/intervalOverlappingDaysZoned.js +46 -34
- package/dist/zoned/interval/intervalSplitAtZoned.d.ts +6 -3
- package/dist/zoned/interval/intervalSplitAtZoned.js +52 -42
- package/dist/zoned/interval/intervalUnionZoned.d.ts +14 -8
- package/dist/zoned/interval/intervalUnionZoned.js +25 -20
- package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -7
- package/dist/zoned/interval/intervalXorAllZoned.js +42 -73
- package/dist/zoned/interval/intervalXorZoned.d.ts +20 -10
- package/dist/zoned/interval/intervalXorZoned.js +34 -62
- package/dist/zoned/interval/intervalsOverlapZoned.d.ts +15 -7
- package/dist/zoned/interval/intervalsOverlapZoned.js +21 -12
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +10 -3
- package/dist/zoned/interval/mergeIntervalsZoned.js +44 -41
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +28 -5
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +72 -39
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +13 -10
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +13 -10
- package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +7 -5
- package/dist/zoned/interval/validate/isValidZonedInterval.js +12 -16
- package/dist/zoned/map/mapZonedDatesInRange.d.ts +17 -1
- package/dist/zoned/map/mapZonedDatesInRange.js +62 -26
- package/dist/zoned/map/mapZonedHoursInDay.d.ts +10 -13
- package/dist/zoned/map/mapZonedHoursInDay.js +13 -21
- package/dist/zoned/parse/getZonedOffset.js +2 -2
- package/dist/zoned/parse/getZonedOffsetAs.d.ts +15 -2
- package/dist/zoned/parse/getZonedOffsetAs.js +10 -5
- package/dist/zoned/parse/parseDateFromZoned.js +2 -2
- package/dist/zoned/parse/parseDateTimeFromZoned.js +2 -2
- package/dist/zoned/parse/parseDayFromZoned.js +2 -2
- package/dist/zoned/parse/parseDayOfWeekFromZoned.js +2 -2
- package/dist/zoned/parse/parseHourFromZoned.js +2 -2
- package/dist/zoned/parse/parseMicrosecondFromZoned.d.ts +2 -1
- package/dist/zoned/parse/parseMicrosecondFromZoned.js +4 -3
- package/dist/zoned/parse/parseMillisecondFromZoned.js +2 -2
- package/dist/zoned/parse/parseMinuteFromZoned.js +2 -2
- package/dist/zoned/parse/parseMonthFromZoned.js +2 -2
- package/dist/zoned/parse/parseNanosecondFromZoned.d.ts +2 -1
- package/dist/zoned/parse/parseNanosecondFromZoned.js +4 -3
- package/dist/zoned/parse/parseRfc2822.d.ts +32 -12
- package/dist/zoned/parse/parseRfc2822.js +47 -45
- package/dist/zoned/parse/parseRfc3339.d.ts +6 -0
- package/dist/zoned/parse/parseRfc3339.js +6 -0
- package/dist/zoned/parse/parseSecondFromZoned.js +2 -2
- package/dist/zoned/parse/parseTimeFromZoned.js +2 -2
- package/dist/zoned/parse/parseTimeZoneFromZoned.js +2 -2
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +36 -3
- package/dist/zoned/parse/parseUnitFromZoned.js +59 -33
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +13 -3
- package/dist/zoned/parse/parseWeekFromZoned.js +34 -10
- package/dist/zoned/parse/parseYearFromZoned.js +2 -2
- package/dist/zoned/validate/hasDaylightSaving.js +3 -3
- package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +31 -16
- package/dist/zoned/validate/isValidCalendarZonedDateTime.js +31 -16
- package/dist/zoned/validate/isValidTimeZone.d.ts +15 -2
- package/dist/zoned/validate/isValidTimeZone.js +17 -4
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +14 -7
- package/dist/zoned/validate/isValidZonedDateTime.js +20 -12
- package/dist/zoned/validate/isValidZonedRange.d.ts +9 -2
- package/dist/zoned/validate/isValidZonedRange.js +44 -16
- package/package.json +487 -28
- package/skills/gmt-arithmetic/SKILL.md +264 -0
- package/skills/gmt-basics/SKILL.md +127 -0
- package/skills/gmt-integration/SKILL.md +119 -0
- package/skills/gmt-timezone/SKILL.md +197 -0
- package/dist/internal/advanceBusinessDays.d.ts +0 -2
- package/dist/internal/advanceBusinessDays.js +0 -15
- package/dist/internal/ethiopicFamilyCalendar.d.ts +0 -47
- package/dist/internal/ethiopicFamilyCalendar.js +0 -136
- package/dist/internal/getLocaleMinimalDaysInFirstWeek.d.ts +0 -20
- package/dist/internal/getLocaleMinimalDaysInFirstWeek.js +0 -31
- package/dist/internal/resolveUnixTimeZone.d.ts +0 -20
- package/dist/internal/resolveUnixTimeZone.js +0 -30
- package/dist/unix/calculate/startOrEndOfUnix.d.ts +0 -9
- package/dist/unix/calculate/startOrEndOfUnix.js +0 -122
- package/dist/unix/interval/resolveUnixIntervalPair.d.ts +0 -7
- package/dist/unix/interval/resolveUnixIntervalPair.js +0 -36
- package/dist/utc/calculate/startOrEndOfUtc.d.ts +0 -6
- package/skills/_artifacts/domain_map.yaml +0 -547
- package/skills/_artifacts/skill_spec.md +0 -67
- package/skills/_artifacts/skill_tree.yaml +0 -278
- package/skills/api-expansion-workflow/SKILL.md +0 -52
- package/skills/app-integration/SKILL.md +0 -38
- package/skills/calculate-dates/SKILL.md +0 -432
- package/skills/compare-dates/SKILL.md +0 -412
- package/skills/convert-types/SKILL.md +0 -305
- package/skills/durations/SKILL.md +0 -418
- package/skills/format-date-time/SKILL.md +0 -486
- package/skills/format-date-time/references/format-api.md +0 -34
- package/skills/format-relative-time/SKILL.md +0 -223
- package/skills/get-current/SKILL.md +0 -229
- package/skills/interval-ops/SKILL.md +0 -432
- package/skills/issue-creation/SKILL.md +0 -118
- package/skills/lint-package-suggestion/SKILL.md +0 -37
- package/skills/new-method-implementation/SKILL.md +0 -71
- package/skills/parse-date-time/SKILL.md +0 -349
- package/skills/pr-contribution/SKILL.md +0 -180
- package/skills/unit-test-generation/SKILL.md +0 -56
- package/skills/validate-dates/SKILL.md +0 -438
- package/skills/zoned-date-ops/SKILL.md +0 -422
- package/skills/zoned-date-ops/references/timezones.md +0 -13
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { Temporal } from "@js-temporal/polyfill";
|
|
2
1
|
import { getWeekNumber } from "../../plain/calculate/getWeekNumber.js";
|
|
3
2
|
import { isValidZonedDateTime } from "../validate/index.js";
|
|
3
|
+
import { zonedDateTimeFrom } from "../../internal/index.js";
|
|
4
|
+
import { resolveDateTimeUnit } from "../../internal/resolveDateTimeUnit.js";
|
|
5
|
+
import { resolveWeekStartsOn } from "../../internal/resolveWeekStartsOn.js";
|
|
6
|
+
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
4
7
|
function isValidZonedUnit(unit) {
|
|
5
8
|
return [
|
|
6
9
|
"year",
|
|
@@ -12,6 +15,7 @@ function isValidZonedUnit(unit) {
|
|
|
12
15
|
"minute",
|
|
13
16
|
"second",
|
|
14
17
|
"millisecond",
|
|
18
|
+
"microsecond",
|
|
15
19
|
"nanosecond",
|
|
16
20
|
"timeZone",
|
|
17
21
|
].includes(unit);
|
|
@@ -19,53 +23,75 @@ function isValidZonedUnit(unit) {
|
|
|
19
23
|
/**
|
|
20
24
|
* Return the requested unit value from an ISO 8601 zoned datetime string.
|
|
21
25
|
*
|
|
22
|
-
* - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "nanosecond", "timeZone".
|
|
26
|
+
* - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond", "timeZone".
|
|
23
27
|
* - Uses Temporal.ZonedDateTime.from to parse.
|
|
28
|
+
* - `unit` accepts the singular or plural name of a Temporal unit (`"hour"` or `"hours"`), as Temporal
|
|
29
|
+
* does; `"dayOfWeek"` has no plural.
|
|
30
|
+
* - `weekStartsOn: "sunday"` numbers weeks by UTS #35 (week 1 holds 1 January, so late-December
|
|
31
|
+
* days can be week 1); any value other than `"monday"` or `"sunday"` returns "".
|
|
24
32
|
* - Returns "" for invalid input.
|
|
25
33
|
*
|
|
26
34
|
* @param value zoned ISO 8601 datetime string
|
|
27
35
|
* @param unit unit to extract
|
|
28
|
-
* @param
|
|
36
|
+
* @param optionsArg optional settings (e.g. weekStartsOn for week calculations); a non-object value (such as `null`) is invalid
|
|
29
37
|
* @returns string representation of the requested unit or "" when invalid
|
|
30
38
|
*
|
|
31
39
|
* @example parseUnitFromZoned("2024-02-29T12:34:56.789+00:00[UTC]", "year") // "2024"
|
|
40
|
+
* @example parseUnitFromZoned("2024-02-29T12:34:56.789+00:00[UTC]", "milliseconds") // "789"
|
|
41
|
+
* @example parseUnitFromZoned("2024-12-31T12:00:00+00:00[UTC]", "week", { weekStartsOn: "sunday" }) // "1"
|
|
32
42
|
* @example parseUnitFromZoned("invalid", "year") // ""
|
|
33
43
|
*/
|
|
34
44
|
export function parseUnitFromZoned(value, unit, optionsArg) {
|
|
35
|
-
if (!isValidZonedDateTime(value) || !isValidZonedUnit(unit)) {
|
|
36
|
-
return "";
|
|
37
|
-
}
|
|
38
|
-
const weekStartsOn = optionsArg?.weekStartsOn ?? "monday";
|
|
39
45
|
try {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
46
|
+
// Temporal GetOptionsObject: options are an object or omitted; null and primitives are invalid.
|
|
47
|
+
if (!isOptionsArgument(optionsArg)) {
|
|
48
|
+
return "";
|
|
49
|
+
}
|
|
50
|
+
const resolvedUnit = resolveDateTimeUnit(unit);
|
|
51
|
+
const weekStartsOn = resolveWeekStartsOn(optionsArg?.weekStartsOn);
|
|
52
|
+
if (!isValidZonedDateTime(value) ||
|
|
53
|
+
!isValidZonedUnit(resolvedUnit) ||
|
|
54
|
+
weekStartsOn === null) {
|
|
55
|
+
return "";
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const zonedDateTime = zonedDateTimeFrom(value);
|
|
59
|
+
switch (resolvedUnit) {
|
|
60
|
+
case "year":
|
|
61
|
+
return zonedDateTime.year.toString();
|
|
62
|
+
case "month":
|
|
63
|
+
return zonedDateTime.month.toString().padStart(2, "0");
|
|
64
|
+
case "week":
|
|
65
|
+
return (getWeekNumber(zonedDateTime.toPlainDate().toString(), weekStartsOn) ?? 0).toString();
|
|
66
|
+
case "day":
|
|
67
|
+
return zonedDateTime.day.toString().padStart(2, "0");
|
|
68
|
+
case "dayOfWeek":
|
|
69
|
+
return zonedDateTime.dayOfWeek.toString();
|
|
70
|
+
case "hour":
|
|
71
|
+
return zonedDateTime.hour.toString().padStart(2, "0");
|
|
72
|
+
case "minute":
|
|
73
|
+
return zonedDateTime.minute.toString().padStart(2, "0");
|
|
74
|
+
case "second":
|
|
75
|
+
return zonedDateTime.second.toString().padStart(2, "0");
|
|
76
|
+
case "millisecond":
|
|
77
|
+
return zonedDateTime.millisecond.toString().padStart(3, "0");
|
|
78
|
+
case "microsecond":
|
|
79
|
+
return zonedDateTime.microsecond.toString().padStart(3, "0");
|
|
80
|
+
case "nanosecond":
|
|
81
|
+
return zonedDateTime.nanosecond.toString().padStart(3, "0");
|
|
82
|
+
case "timeZone":
|
|
83
|
+
return zonedDateTime.timeZoneId;
|
|
84
|
+
default:
|
|
85
|
+
return "";
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return "";
|
|
66
90
|
}
|
|
67
91
|
}
|
|
68
92
|
catch {
|
|
93
|
+
// Never throws (Core Rule 3): a hostile
|
|
94
|
+
// argument is invalid input, not an exception.
|
|
69
95
|
return "";
|
|
70
96
|
}
|
|
71
97
|
}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Return the week of the year
|
|
2
|
+
* Return the week of the year for a given ISO 8601 zoned datetime string.
|
|
3
3
|
*
|
|
4
|
-
* -
|
|
4
|
+
* - `"monday"` (default) is the ISO 8601 week of the week-year: week 1 is the week containing the
|
|
5
|
+
* first Thursday, so late-December days can be week 1 of the next year (a value on 2024-12-31
|
|
6
|
+
* → 1). The result is 1–53.
|
|
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 own date on its own wall clock.
|
|
5
12
|
* - Returns null for invalid input.
|
|
6
13
|
*
|
|
7
14
|
* @param value ISO zoned datetime string
|
|
8
15
|
* @param optionsArg optional: weekStartsOn ("monday" | "sunday") for week calculations
|
|
9
|
-
* @returns Week number (1-53) or null on invalid input
|
|
16
|
+
* @returns Week number (1-53), or null on invalid input
|
|
10
17
|
*
|
|
11
18
|
* @example parseWeekFromZoned("2024-01-01T14:30:45.123+00:00[UTC]") // 1
|
|
12
19
|
* @example parseWeekFromZoned("2024-01-08T14:30:45.123+00:00[UTC]") // 2
|
|
20
|
+
* @example parseWeekFromZoned("2024-12-31T12:00:00+00:00[UTC]") // 1 (ISO week 1 of 2025)
|
|
21
|
+
* @example parseWeekFromZoned("2024-12-31T12:00:00+00:00[UTC]", { weekStartsOn: "sunday" }) // 1 (its Sunday-first week holds 1 January 2025)
|
|
22
|
+
* @example parseWeekFromZoned("2000-12-31T12:00:00+00:00[UTC]", { weekStartsOn: "sunday" }) // 1 (its Sunday-first week holds 1 January 2001)
|
|
13
23
|
* @example parseWeekFromZoned("invalid") // null
|
|
14
24
|
*/
|
|
15
25
|
export declare function parseWeekFromZoned(value: string, optionsArg?: {
|
|
@@ -1,30 +1,54 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveWeekStartsOn } from "../../internal/resolveWeekStartsOn.js";
|
|
2
2
|
import { getWeekNumber } from "../../plain/calculate/getWeekNumber.js";
|
|
3
3
|
import { isValidZonedDateTime } from "../validate/index.js";
|
|
4
|
+
import { zonedDateTimeFrom } from "../../internal/index.js";
|
|
5
|
+
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
4
6
|
/**
|
|
5
|
-
* Return the week of the year
|
|
7
|
+
* Return the week of the year for a given ISO 8601 zoned datetime string.
|
|
6
8
|
*
|
|
7
|
-
* -
|
|
9
|
+
* - `"monday"` (default) is the ISO 8601 week of the week-year: week 1 is the week containing the
|
|
10
|
+
* first Thursday, so late-December days can be week 1 of the next year (a value on 2024-12-31
|
|
11
|
+
* → 1). The result is 1–53.
|
|
12
|
+
* - `"sunday"` is the UTS #35 week of the week-year with a Sunday first day and minimal days 1:
|
|
13
|
+
* week 1 is the Sunday-first week holding 1 January, so late-December days can be week 1 of the
|
|
14
|
+
* next year (2024-12-31 → 1, 2000-12-30 → 53). The result is 1–53.
|
|
15
|
+
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null.
|
|
16
|
+
* - The week is read from the value's own date on its own wall clock.
|
|
8
17
|
* - Returns null for invalid input.
|
|
9
18
|
*
|
|
10
19
|
* @param value ISO zoned datetime string
|
|
11
20
|
* @param optionsArg optional: weekStartsOn ("monday" | "sunday") for week calculations
|
|
12
|
-
* @returns Week number (1-53) or null on invalid input
|
|
21
|
+
* @returns Week number (1-53), or null on invalid input
|
|
13
22
|
*
|
|
14
23
|
* @example parseWeekFromZoned("2024-01-01T14:30:45.123+00:00[UTC]") // 1
|
|
15
24
|
* @example parseWeekFromZoned("2024-01-08T14:30:45.123+00:00[UTC]") // 2
|
|
25
|
+
* @example parseWeekFromZoned("2024-12-31T12:00:00+00:00[UTC]") // 1 (ISO week 1 of 2025)
|
|
26
|
+
* @example parseWeekFromZoned("2024-12-31T12:00:00+00:00[UTC]", { weekStartsOn: "sunday" }) // 1 (its Sunday-first week holds 1 January 2025)
|
|
27
|
+
* @example parseWeekFromZoned("2000-12-31T12:00:00+00:00[UTC]", { weekStartsOn: "sunday" }) // 1 (its Sunday-first week holds 1 January 2001)
|
|
16
28
|
* @example parseWeekFromZoned("invalid") // null
|
|
17
29
|
*/
|
|
18
30
|
export function parseWeekFromZoned(value, optionsArg) {
|
|
19
|
-
if (!isValidZonedDateTime(value)) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
const weekStartsOn = optionsArg?.weekStartsOn ?? "monday";
|
|
23
31
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
if (!isOptionsArgument(optionsArg)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
if (!isValidZonedDateTime(value)) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const weekStartsOn = resolveWeekStartsOn(optionsArg?.weekStartsOn);
|
|
39
|
+
if (weekStartsOn === null)
|
|
40
|
+
return null;
|
|
41
|
+
try {
|
|
42
|
+
const zonedDateTime = zonedDateTimeFrom(value);
|
|
43
|
+
return getWeekNumber(zonedDateTime.toPlainDate().toString(), weekStartsOn);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
26
48
|
}
|
|
27
49
|
catch {
|
|
50
|
+
// Never throws (Core Rule 3): a hostile
|
|
51
|
+
// argument is invalid input, not an exception.
|
|
28
52
|
return null;
|
|
29
53
|
}
|
|
30
54
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Temporal } from "@js-temporal/polyfill";
|
|
2
1
|
import { isValidZonedDateTime } from "../validate/index.js";
|
|
2
|
+
import { zonedDateTimeFrom } from "../../internal/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the year for a given ISO 8601 zoned datetime string.
|
|
5
5
|
*
|
|
@@ -17,7 +17,7 @@ export function parseYearFromZoned(value) {
|
|
|
17
17
|
return "";
|
|
18
18
|
}
|
|
19
19
|
try {
|
|
20
|
-
const zonedDateTime =
|
|
20
|
+
const zonedDateTime = zonedDateTimeFrom(value);
|
|
21
21
|
return zonedDateTime.year.toString();
|
|
22
22
|
}
|
|
23
23
|
catch {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { zonedDateTimeFrom } from "../../internal/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Check whether an IANA timeZone identifier observes daylight saving time.
|
|
4
4
|
*
|
|
@@ -17,7 +17,7 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
17
17
|
*/
|
|
18
18
|
export function hasDaylightSaving(timeZone) {
|
|
19
19
|
try {
|
|
20
|
-
const zdtJanuary =
|
|
20
|
+
const zdtJanuary = zonedDateTimeFrom({
|
|
21
21
|
year: 2024,
|
|
22
22
|
month: 1,
|
|
23
23
|
day: 15,
|
|
@@ -26,7 +26,7 @@ export function hasDaylightSaving(timeZone) {
|
|
|
26
26
|
second: 0,
|
|
27
27
|
timeZone,
|
|
28
28
|
});
|
|
29
|
-
const zdtJuly =
|
|
29
|
+
const zdtJuly = zonedDateTimeFrom({
|
|
30
30
|
year: 2024,
|
|
31
31
|
month: 7,
|
|
32
32
|
day: 15,
|
|
@@ -1,30 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Return true if `value` is a valid GMT ZonedDateTime string: a bare ISO zoned datetime
|
|
3
|
-
* ("2024-10-03T14:30:45-04:00[America/New_York]") or
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* ("2024-10-03T14:30:45-04:00[America/New_York]") or an RFC 9557 calendar-annotated one
|
|
4
|
+
* ("2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]"), as
|
|
5
|
+
* `Temporal.ZonedDateTime#toString()` and `convertZonedToCalendar` write it.
|
|
6
6
|
*
|
|
7
|
-
* - Parallel to `isValidZonedDateTime`, which
|
|
8
|
-
*
|
|
9
|
-
* functions gate on this validator
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
*
|
|
13
|
-
*
|
|
7
|
+
* - Parallel to `isValidZonedDateTime`, which accepts `[u-ca=iso8601]` and rejects every other
|
|
8
|
+
* calendar. Only
|
|
9
|
+
* the calendar-aware `zoned/` functions gate on this validator, so a string is never certified
|
|
10
|
+
* by a validator whose own namespace refuses it.
|
|
11
|
+
* - The calendar annotation follows the time zone annotation (RFC 9557 §4.1); a calendar before
|
|
12
|
+
* the zone, which Temporal also rejects, returns false.
|
|
13
|
+
* - A `[u-ca=<id>]` annotation, optionally critical. Temporal's `CanonicalizeCalendar` validates
|
|
14
|
+
* the id (folding case and aliases), and the calendar must be one GMT supports
|
|
15
|
+
* (`CalendarSystem`).
|
|
16
|
+
* - The annotations follow Temporal's ISO grammar, as `Temporal.ZonedDateTime.from` reads them:
|
|
17
|
+
* elective unknown annotations (`[foo=bar]`) are ignored and the first `u-ca` annotation names
|
|
18
|
+
* the calendar; an unknown critical annotation or a second `u-ca` annotation when either is
|
|
19
|
+
* critical returns false.
|
|
20
|
+
* - The part before the first annotation must be ISO 8601 extended format, as
|
|
21
|
+
* `isValidZonedDateTime` requires: basic format, a space or lower-case `t` separator, a
|
|
22
|
+
* lower-case `z`, an hour-only time or offset and a date without a time return false.
|
|
14
23
|
* - Rejects leap seconds, which `Temporal.ZonedDateTime.from` otherwise clamps to `:59`.
|
|
15
|
-
* - Delegates
|
|
16
|
-
* `parseCalendarZonedValue`)
|
|
24
|
+
* - Delegates the date, time, offset, zone and annotation checks to `Temporal.ZonedDateTime.from`
|
|
25
|
+
* (via `parseCalendarZonedValue`).
|
|
17
26
|
* - Returns false for non-strings or empty strings.
|
|
18
27
|
*
|
|
28
|
+
* Compatibility: since 1.16.0 the string is RFC 9557. Earlier releases accepted calendar-native
|
|
29
|
+
* digits, `;era=`, the calendar annotation before the zone, and the ids `gregorian`, `taiwan`,
|
|
30
|
+
* `islamic-tabular` and `ethiopic-amete-alem`.
|
|
31
|
+
*
|
|
19
32
|
* @param value candidate zoned datetime string, optionally calendar-annotated
|
|
20
33
|
* @returns boolean indicating validity
|
|
21
34
|
*
|
|
22
35
|
* @example isValidCalendarZonedDateTime("2024-10-03T14:30:45-04:00[America/New_York]") // true
|
|
23
|
-
* @example isValidCalendarZonedDateTime("
|
|
24
|
-
* @example isValidCalendarZonedDateTime("
|
|
25
|
-
* @example isValidCalendarZonedDateTime("
|
|
26
|
-
* @example isValidCalendarZonedDateTime("
|
|
36
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00-05:00[America/New_York][u-ca=hebrew]") // true
|
|
37
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00-05:00[America/New_York][foo=bar][u-ca=hebrew]") // true (elective annotation ignored)
|
|
38
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00-05:00[u-ca=hebrew][America/New_York]") // false (calendar before zone)
|
|
39
|
+
* @example isValidCalendarZonedDateTime("2019-04-30T12:00:00+09:00[Asia/Tokyo][u-ca=japanese;era=heisei]") // false (not RFC 9557)
|
|
40
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00+03:00[America/New_York][u-ca=hebrew]") // false (offset wrong for the zone)
|
|
27
41
|
* @example isValidCalendarZonedDateTime("2024-06-30T23:59:60+00:00[UTC]") // false (leap second)
|
|
42
|
+
* @example isValidCalendarZonedDateTime("2024-02-24 14:30:00-05:00[America/New_York][u-ca=hebrew]") // false (space separator)
|
|
28
43
|
* @example isValidCalendarZonedDateTime("invalid") // false
|
|
29
44
|
*/
|
|
30
45
|
export declare function isValidCalendarZonedDateTime(value: string): boolean;
|
|
@@ -1,31 +1,46 @@
|
|
|
1
1
|
import { parseCalendarZonedValue } from "../../internal/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Return true if `value` is a valid GMT ZonedDateTime string: a bare ISO zoned datetime
|
|
4
|
-
* ("2024-10-03T14:30:45-04:00[America/New_York]") or
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* ("2024-10-03T14:30:45-04:00[America/New_York]") or an RFC 9557 calendar-annotated one
|
|
5
|
+
* ("2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]"), as
|
|
6
|
+
* `Temporal.ZonedDateTime#toString()` and `convertZonedToCalendar` write it.
|
|
7
7
|
*
|
|
8
|
-
* - Parallel to `isValidZonedDateTime`, which
|
|
9
|
-
*
|
|
10
|
-
* functions gate on this validator
|
|
11
|
-
*
|
|
12
|
-
* -
|
|
13
|
-
*
|
|
14
|
-
*
|
|
8
|
+
* - Parallel to `isValidZonedDateTime`, which accepts `[u-ca=iso8601]` and rejects every other
|
|
9
|
+
* calendar. Only
|
|
10
|
+
* the calendar-aware `zoned/` functions gate on this validator, so a string is never certified
|
|
11
|
+
* by a validator whose own namespace refuses it.
|
|
12
|
+
* - The calendar annotation follows the time zone annotation (RFC 9557 §4.1); a calendar before
|
|
13
|
+
* the zone, which Temporal also rejects, returns false.
|
|
14
|
+
* - A `[u-ca=<id>]` annotation, optionally critical. Temporal's `CanonicalizeCalendar` validates
|
|
15
|
+
* the id (folding case and aliases), and the calendar must be one GMT supports
|
|
16
|
+
* (`CalendarSystem`).
|
|
17
|
+
* - The annotations follow Temporal's ISO grammar, as `Temporal.ZonedDateTime.from` reads them:
|
|
18
|
+
* elective unknown annotations (`[foo=bar]`) are ignored and the first `u-ca` annotation names
|
|
19
|
+
* the calendar; an unknown critical annotation or a second `u-ca` annotation when either is
|
|
20
|
+
* critical returns false.
|
|
21
|
+
* - The part before the first annotation must be ISO 8601 extended format, as
|
|
22
|
+
* `isValidZonedDateTime` requires: basic format, a space or lower-case `t` separator, a
|
|
23
|
+
* lower-case `z`, an hour-only time or offset and a date without a time return false.
|
|
15
24
|
* - Rejects leap seconds, which `Temporal.ZonedDateTime.from` otherwise clamps to `:59`.
|
|
16
|
-
* - Delegates
|
|
17
|
-
* `parseCalendarZonedValue`)
|
|
25
|
+
* - Delegates the date, time, offset, zone and annotation checks to `Temporal.ZonedDateTime.from`
|
|
26
|
+
* (via `parseCalendarZonedValue`).
|
|
18
27
|
* - Returns false for non-strings or empty strings.
|
|
19
28
|
*
|
|
29
|
+
* Compatibility: since 1.16.0 the string is RFC 9557. Earlier releases accepted calendar-native
|
|
30
|
+
* digits, `;era=`, the calendar annotation before the zone, and the ids `gregorian`, `taiwan`,
|
|
31
|
+
* `islamic-tabular` and `ethiopic-amete-alem`.
|
|
32
|
+
*
|
|
20
33
|
* @param value candidate zoned datetime string, optionally calendar-annotated
|
|
21
34
|
* @returns boolean indicating validity
|
|
22
35
|
*
|
|
23
36
|
* @example isValidCalendarZonedDateTime("2024-10-03T14:30:45-04:00[America/New_York]") // true
|
|
24
|
-
* @example isValidCalendarZonedDateTime("
|
|
25
|
-
* @example isValidCalendarZonedDateTime("
|
|
26
|
-
* @example isValidCalendarZonedDateTime("
|
|
27
|
-
* @example isValidCalendarZonedDateTime("
|
|
37
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00-05:00[America/New_York][u-ca=hebrew]") // true
|
|
38
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00-05:00[America/New_York][foo=bar][u-ca=hebrew]") // true (elective annotation ignored)
|
|
39
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00-05:00[u-ca=hebrew][America/New_York]") // false (calendar before zone)
|
|
40
|
+
* @example isValidCalendarZonedDateTime("2019-04-30T12:00:00+09:00[Asia/Tokyo][u-ca=japanese;era=heisei]") // false (not RFC 9557)
|
|
41
|
+
* @example isValidCalendarZonedDateTime("2024-02-24T14:30:00+03:00[America/New_York][u-ca=hebrew]") // false (offset wrong for the zone)
|
|
28
42
|
* @example isValidCalendarZonedDateTime("2024-06-30T23:59:60+00:00[UTC]") // false (leap second)
|
|
43
|
+
* @example isValidCalendarZonedDateTime("2024-02-24 14:30:00-05:00[America/New_York][u-ca=hebrew]") // false (space separator)
|
|
29
44
|
* @example isValidCalendarZonedDateTime("invalid") // false
|
|
30
45
|
*/
|
|
31
46
|
export function isValidCalendarZonedDateTime(value) {
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Validate whether a string is a valid IANA
|
|
2
|
+
* Validate whether a string is a valid time zone identifier: an IANA name or a UTC offset.
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.ZonedDateTime.from to test timezone validity.
|
|
5
|
-
* - Uses regex to check
|
|
5
|
+
* - Uses the `timeZoneLike` regex to check the identifier's shape: Temporal's
|
|
6
|
+
* `TimeZoneIdentifier` grammar (§14.6.2).
|
|
7
|
+
* - Accepts every IANA Zone and Link name the runtime accepts, including single-component names
|
|
8
|
+
* (`UTC`, `Japan`, `Zulu`, `EST5EDT`, `GMT+0`), in any letter case (ECMA-402 matches
|
|
9
|
+
* identifiers ASCII-case-insensitively, so `utc` is as valid as `america/new_york`).
|
|
10
|
+
* - Accepts an offset identifier (`UTCOffset[~SubMinutePrecision]`): `"+05:00"`, `"+0530"`,
|
|
11
|
+
* `"-08"`, hour `00`–`23`, no seconds. Temporal and `Intl.DateTimeFormat` accept the same ones.
|
|
6
12
|
* - Returns false for invalid timezone formats.
|
|
13
|
+
* - Compatibility: earlier releases required a `/` in every name except `UTC` and `GMT`. To keep
|
|
14
|
+
* that narrower rule, also require `timeZone.includes("/")` or `"UTC"`/`"GMT"`.
|
|
7
15
|
*
|
|
8
16
|
* @param timeZone timeZone identifier to validate
|
|
9
17
|
* @returns boolean indicating validity
|
|
@@ -11,5 +19,10 @@
|
|
|
11
19
|
* @example isValidTimeZone("America/New_York") // true
|
|
12
20
|
* @example isValidTimeZone("Europe/London") // true
|
|
13
21
|
* @example isValidTimeZone("Invalid/Timezone") // false
|
|
22
|
+
* @example isValidTimeZone("Japan") // true (IANA link to Asia/Tokyo)
|
|
23
|
+
* @example isValidTimeZone("utc") // true (case-insensitive)
|
|
24
|
+
* @example isValidTimeZone("+05:00") // true (an offset identifier)
|
|
25
|
+
* @example isValidTimeZone("+05:00:00") // false (no seconds in an offset identifier)
|
|
26
|
+
* @example "Japan".includes("/") // false (the earlier slash-only rule)
|
|
14
27
|
*/
|
|
15
28
|
export declare function isValidTimeZone(timeZone: string): boolean;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { Temporal } from "@js-temporal/polyfill";
|
|
2
1
|
import { timeZoneLike } from "../../regex/index.js";
|
|
2
|
+
import { zonedDateTimeFrom } from "../../internal/index.js";
|
|
3
3
|
/**
|
|
4
|
-
* Validate whether a string is a valid IANA
|
|
4
|
+
* Validate whether a string is a valid time zone identifier: an IANA name or a UTC offset.
|
|
5
5
|
*
|
|
6
6
|
* - Uses Temporal.ZonedDateTime.from to test timezone validity.
|
|
7
|
-
* - Uses regex to check
|
|
7
|
+
* - Uses the `timeZoneLike` regex to check the identifier's shape: Temporal's
|
|
8
|
+
* `TimeZoneIdentifier` grammar (§14.6.2).
|
|
9
|
+
* - Accepts every IANA Zone and Link name the runtime accepts, including single-component names
|
|
10
|
+
* (`UTC`, `Japan`, `Zulu`, `EST5EDT`, `GMT+0`), in any letter case (ECMA-402 matches
|
|
11
|
+
* identifiers ASCII-case-insensitively, so `utc` is as valid as `america/new_york`).
|
|
12
|
+
* - Accepts an offset identifier (`UTCOffset[~SubMinutePrecision]`): `"+05:00"`, `"+0530"`,
|
|
13
|
+
* `"-08"`, hour `00`–`23`, no seconds. Temporal and `Intl.DateTimeFormat` accept the same ones.
|
|
8
14
|
* - Returns false for invalid timezone formats.
|
|
15
|
+
* - Compatibility: earlier releases required a `/` in every name except `UTC` and `GMT`. To keep
|
|
16
|
+
* that narrower rule, also require `timeZone.includes("/")` or `"UTC"`/`"GMT"`.
|
|
9
17
|
*
|
|
10
18
|
* @param timeZone timeZone identifier to validate
|
|
11
19
|
* @returns boolean indicating validity
|
|
@@ -13,10 +21,15 @@ import { timeZoneLike } from "../../regex/index.js";
|
|
|
13
21
|
* @example isValidTimeZone("America/New_York") // true
|
|
14
22
|
* @example isValidTimeZone("Europe/London") // true
|
|
15
23
|
* @example isValidTimeZone("Invalid/Timezone") // false
|
|
24
|
+
* @example isValidTimeZone("Japan") // true (IANA link to Asia/Tokyo)
|
|
25
|
+
* @example isValidTimeZone("utc") // true (case-insensitive)
|
|
26
|
+
* @example isValidTimeZone("+05:00") // true (an offset identifier)
|
|
27
|
+
* @example isValidTimeZone("+05:00:00") // false (no seconds in an offset identifier)
|
|
28
|
+
* @example "Japan".includes("/") // false (the earlier slash-only rule)
|
|
16
29
|
*/
|
|
17
30
|
export function isValidTimeZone(timeZone) {
|
|
18
31
|
try {
|
|
19
|
-
|
|
32
|
+
zonedDateTimeFrom({
|
|
20
33
|
year: 2020,
|
|
21
34
|
month: 2,
|
|
22
35
|
day: 28,
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Validate whether a string is a valid ISO 8601 zoned datetime string.
|
|
3
3
|
*
|
|
4
|
+
* - The part before the first annotation must be ISO 8601 extended format: `<date>T<time>`, then
|
|
5
|
+
* nothing, `Z`, or a `±HH:MM[:SS[.fraction]]` offset. Basic format (`20241003T143000-0400`), a
|
|
6
|
+
* space or lower-case `t` separator, a lower-case `z`, an hour-only time or offset, and a date
|
|
7
|
+
* without a time are rejected, although `Temporal.ZonedDateTime.from` reads them.
|
|
4
8
|
* - Uses Temporal.ZonedDateTime.from for validation.
|
|
5
9
|
* - Rejects leap seconds.
|
|
6
|
-
* -
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* blessing it. See `context/roadmap/issues/E.md`'s E5 section for the follow-up story
|
|
11
|
-
* proposal to extend `zoned/` with a GMT-shape annotated string deliberately.
|
|
10
|
+
* - Reads RFC 9557 annotations as `Temporal.ZonedDateTime.from` does: elective ones
|
|
11
|
+
* (`[foo=bar]`) are ignored and an unknown critical one (`[!foo=bar]`) is rejected.
|
|
12
|
+
* - The calendar must be ISO: `[u-ca=iso8601]` is accepted, and a non-ISO calendar annotation is
|
|
13
|
+
* `isValidCalendarZonedDateTime`'s input.
|
|
12
14
|
* - Returns false for non-strings or empty strings.
|
|
13
15
|
*
|
|
14
16
|
* @param value candidate zoned datetime string
|
|
@@ -16,7 +18,12 @@
|
|
|
16
18
|
*
|
|
17
19
|
* @example isValidZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]") // true
|
|
18
20
|
* @example isValidZonedDateTime("2024-06-30T23:59:60+00:00[UTC]") // false (leap second)
|
|
19
|
-
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][u-ca=hebrew]") // false (calendar
|
|
21
|
+
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][u-ca=hebrew]") // false (non-ISO calendar: use isValidCalendarZonedDateTime)
|
|
22
|
+
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][u-ca=iso8601]") // true
|
|
23
|
+
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][foo=bar]") // true (elective annotation ignored)
|
|
24
|
+
* @example isValidZonedDateTime("20241003T143000-0400[America/New_York]") // false (basic format)
|
|
25
|
+
* @example isValidZonedDateTime("2024-10-03 14:30:00-04:00[America/New_York]") // false (space separator)
|
|
26
|
+
* @example isValidZonedDateTime("2024-10-03[America/New_York]") // false (no time)
|
|
20
27
|
* @example isValidZonedDateTime("invalid") // false
|
|
21
28
|
*/
|
|
22
29
|
export declare function isValidZonedDateTime(value: string): boolean;
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { zonedDateTimeFrom } from "../../internal/index.js";
|
|
2
|
+
import { hasZonedDateTimeShape } from "../../internal/isoStringBody.js";
|
|
3
3
|
import { isLeapSecond } from "../../plain/validate/isLeapSecond.js";
|
|
4
4
|
/**
|
|
5
5
|
* Validate whether a string is a valid ISO 8601 zoned datetime string.
|
|
6
6
|
*
|
|
7
|
+
* - The part before the first annotation must be ISO 8601 extended format: `<date>T<time>`, then
|
|
8
|
+
* nothing, `Z`, or a `±HH:MM[:SS[.fraction]]` offset. Basic format (`20241003T143000-0400`), a
|
|
9
|
+
* space or lower-case `t` separator, a lower-case `z`, an hour-only time or offset, and a date
|
|
10
|
+
* without a time are rejected, although `Temporal.ZonedDateTime.from` reads them.
|
|
7
11
|
* - Uses Temporal.ZonedDateTime.from for validation.
|
|
8
12
|
* - Rejects leap seconds.
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* blessing it. See `context/roadmap/issues/E.md`'s E5 section for the follow-up story
|
|
14
|
-
* proposal to extend `zoned/` with a GMT-shape annotated string deliberately.
|
|
13
|
+
* - Reads RFC 9557 annotations as `Temporal.ZonedDateTime.from` does: elective ones
|
|
14
|
+
* (`[foo=bar]`) are ignored and an unknown critical one (`[!foo=bar]`) is rejected.
|
|
15
|
+
* - The calendar must be ISO: `[u-ca=iso8601]` is accepted, and a non-ISO calendar annotation is
|
|
16
|
+
* `isValidCalendarZonedDateTime`'s input.
|
|
15
17
|
* - Returns false for non-strings or empty strings.
|
|
16
18
|
*
|
|
17
19
|
* @param value candidate zoned datetime string
|
|
@@ -19,19 +21,25 @@ import { isLeapSecond } from "../../plain/validate/isLeapSecond.js";
|
|
|
19
21
|
*
|
|
20
22
|
* @example isValidZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]") // true
|
|
21
23
|
* @example isValidZonedDateTime("2024-06-30T23:59:60+00:00[UTC]") // false (leap second)
|
|
22
|
-
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][u-ca=hebrew]") // false (calendar
|
|
24
|
+
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][u-ca=hebrew]") // false (non-ISO calendar: use isValidCalendarZonedDateTime)
|
|
25
|
+
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][u-ca=iso8601]") // true
|
|
26
|
+
* @example isValidZonedDateTime("2024-02-10T12:00:00-05:00[America/New_York][foo=bar]") // true (elective annotation ignored)
|
|
27
|
+
* @example isValidZonedDateTime("20241003T143000-0400[America/New_York]") // false (basic format)
|
|
28
|
+
* @example isValidZonedDateTime("2024-10-03 14:30:00-04:00[America/New_York]") // false (space separator)
|
|
29
|
+
* @example isValidZonedDateTime("2024-10-03[America/New_York]") // false (no time)
|
|
23
30
|
* @example isValidZonedDateTime("invalid") // false
|
|
24
31
|
*/
|
|
25
32
|
export function isValidZonedDateTime(value) {
|
|
26
33
|
if (typeof value !== "string" || value.length === 0) {
|
|
27
34
|
return false;
|
|
28
35
|
}
|
|
29
|
-
if (isLeapSecond(value) ||
|
|
36
|
+
if (isLeapSecond(value) || !hasZonedDateTimeShape(value)) {
|
|
30
37
|
return false;
|
|
31
38
|
}
|
|
32
39
|
try {
|
|
33
|
-
const zonedDateTime =
|
|
34
|
-
return zonedDateTime.timeZoneId.length > 0
|
|
40
|
+
const zonedDateTime = zonedDateTimeFrom(value);
|
|
41
|
+
return (zonedDateTime.timeZoneId.length > 0 &&
|
|
42
|
+
zonedDateTime.calendarId === "iso8601");
|
|
35
43
|
}
|
|
36
44
|
catch {
|
|
37
45
|
return false;
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
* Return true if `value1` and `value2` form a valid zoned range — both parseable as
|
|
3
3
|
* ISO ZonedDateTime strings and the instant at `value1` is <= the instant at `value2`.
|
|
4
4
|
*
|
|
5
|
-
* - Both inputs must be valid ISO 8601 zoned datetime strings
|
|
5
|
+
* - Both inputs must be valid ISO 8601 zoned datetime strings in extended format, as
|
|
6
|
+
* `isValidZonedDateTime` requires: basic format, a space or lower-case `t` separator, a
|
|
7
|
+
* lower-case `z` and a date without a time return `false`.
|
|
6
8
|
* - Equal `value1 === value2` is valid when `options.allowEqual` is true.
|
|
7
9
|
* - Comparison is done by instant, so intervals spanning DST transitions are compared
|
|
8
10
|
* by absolute time.
|
|
9
11
|
* - Invalid input, malformed strings, or leap-second strings return `false`.
|
|
12
|
+
* - Annotations are read as `isValidZonedDateTime` reads them: elective ones are ignored,
|
|
13
|
+
* `[u-ca=iso8601]` is accepted, and a non-ISO calendar on either endpoint returns `false`.
|
|
10
14
|
*
|
|
11
15
|
* @param value1 first ISO ZonedDateTime string
|
|
12
16
|
* @param value2 second ISO ZonedDateTime string
|
|
@@ -16,8 +20,11 @@
|
|
|
16
20
|
* @example isValidZonedRange({ value1: "2024-01-01T10:00:00+00:00[UTC]", value2: "2024-12-31T23:59:59+00:00[UTC]" }) // true
|
|
17
21
|
* @example isValidZonedRange({ value1: "2024-12-31T23:59:59+00:00[UTC]", value2: "2024-01-01T10:00:00+00:00[UTC]" }) // false
|
|
18
22
|
* @example isValidZonedRange({ value1: "2024-06-15T12:00:00-04:00[America/New_York]", value2: "2024-06-15T12:00:00-04:00[America/New_York]", options: { allowEqual: true } }) // true
|
|
23
|
+
* @example isValidZonedRange({ value1: "2024-01-01T00:00:00+00:00[UTC][u-ca=hebrew]", value2: "2024-02-01T00:00:00+00:00[UTC]" }) // false (non-ISO calendar)
|
|
24
|
+
* @example isValidZonedRange({ value1: "2024-01-01T00:00:00+00:00[UTC][u-ca=iso8601]", value2: "2024-02-01T00:00:00+00:00[UTC]" }) // true
|
|
25
|
+
* @example isValidZonedRange({ value1: "2024-01-01 10:00:00+00:00[UTC]", value2: "2024-12-31T23:59:59+00:00[UTC]" }) // false (space separator)
|
|
19
26
|
*/
|
|
20
|
-
export declare function isValidZonedRange(
|
|
27
|
+
export declare function isValidZonedRange(props: {
|
|
21
28
|
value1: string;
|
|
22
29
|
value2: string;
|
|
23
30
|
options?: {
|