@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 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching ISO 8601 local date-time (extended): `<date>T<time>`.
|
|
3
|
+
*
|
|
4
|
+
* - Date half: `YYYY-MM-DD` or `±YYYYYY-MM-DD` (6-digit year with sign, never `-000000`,
|
|
5
|
+
* which is a Syntax Error in Temporal's `DateYear`).
|
|
6
|
+
* - Time half: `HH:mm` with optional `:ss[.fffffffff]` (fractional seconds use `.` or `,`).
|
|
7
|
+
* - Second `60` does not match. Temporal's `TimeSecond` admits it, but GMT rejects leap
|
|
8
|
+
* seconds because Temporal would read one as `:59`. The 9-digit fraction cap is Temporal's
|
|
9
|
+
* nanosecond precision.
|
|
10
|
+
* - No timezone designator — this is a plain/local date-time only.
|
|
11
|
+
* - Shape-only validation; real calendar validation is delegated to
|
|
12
|
+
* `Temporal.PlainDateTime.from` in `isValidDateTime`.
|
|
13
|
+
*
|
|
14
|
+
* Capture groups: 1 month, 2 day, 3 hour. The year, minute, second and fraction are not
|
|
15
|
+
* captured.
|
|
16
|
+
*
|
|
17
|
+
* The written form only, with no RFC 9557 annotation. `isValidDateTime` reads more: it matches this
|
|
18
|
+
* against the part before the first `[` and lets Temporal read the annotations
|
|
19
|
+
* (`"…[u-ca=iso8601]"`, an elective `"…[foo=bar]"`).
|
|
20
|
+
*
|
|
21
|
+
* @example plainDateTime.test("2024-03-15T14:30:00") // true
|
|
22
|
+
* @example plainDateTime.test("2024-03-15T14:30") // true (seconds omitted)
|
|
23
|
+
* @example plainDateTime.test("+000031-04-30T12:00:00.123") // true (6-digit year)
|
|
24
|
+
* @example plainDateTime.exec("2024-03-15T14:30:45")?.slice(1) // ["03", "15", "14"] (month, day, hour)
|
|
25
|
+
* @example plainDateTime.test("-000000-01-01T00:00") // false (negative zero year)
|
|
26
|
+
* @example plainDateTime.test("2024-03-15 14:30:00") // false (space separator)
|
|
27
|
+
* @example plainDateTime.test("2024-03-15T14:30:00Z") // false (has timezone)
|
|
28
|
+
*/
|
|
1
29
|
export declare const plainDateTime: RegExp;
|
package/dist/regex/date-time.js
CHANGED
|
@@ -1,2 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching ISO 8601 local date-time (extended): `<date>T<time>`.
|
|
3
|
+
*
|
|
4
|
+
* - Date half: `YYYY-MM-DD` or `±YYYYYY-MM-DD` (6-digit year with sign, never `-000000`,
|
|
5
|
+
* which is a Syntax Error in Temporal's `DateYear`).
|
|
6
|
+
* - Time half: `HH:mm` with optional `:ss[.fffffffff]` (fractional seconds use `.` or `,`).
|
|
7
|
+
* - Second `60` does not match. Temporal's `TimeSecond` admits it, but GMT rejects leap
|
|
8
|
+
* seconds because Temporal would read one as `:59`. The 9-digit fraction cap is Temporal's
|
|
9
|
+
* nanosecond precision.
|
|
10
|
+
* - No timezone designator — this is a plain/local date-time only.
|
|
11
|
+
* - Shape-only validation; real calendar validation is delegated to
|
|
12
|
+
* `Temporal.PlainDateTime.from` in `isValidDateTime`.
|
|
13
|
+
*
|
|
14
|
+
* Capture groups: 1 month, 2 day, 3 hour. The year, minute, second and fraction are not
|
|
15
|
+
* captured.
|
|
16
|
+
*
|
|
17
|
+
* The written form only, with no RFC 9557 annotation. `isValidDateTime` reads more: it matches this
|
|
18
|
+
* against the part before the first `[` and lets Temporal read the annotations
|
|
19
|
+
* (`"…[u-ca=iso8601]"`, an elective `"…[foo=bar]"`).
|
|
20
|
+
*
|
|
21
|
+
* @example plainDateTime.test("2024-03-15T14:30:00") // true
|
|
22
|
+
* @example plainDateTime.test("2024-03-15T14:30") // true (seconds omitted)
|
|
23
|
+
* @example plainDateTime.test("+000031-04-30T12:00:00.123") // true (6-digit year)
|
|
24
|
+
* @example plainDateTime.exec("2024-03-15T14:30:45")?.slice(1) // ["03", "15", "14"] (month, day, hour)
|
|
25
|
+
* @example plainDateTime.test("-000000-01-01T00:00") // false (negative zero year)
|
|
26
|
+
* @example plainDateTime.test("2024-03-15 14:30:00") // false (space separator)
|
|
27
|
+
* @example plainDateTime.test("2024-03-15T14:30:00Z") // false (has timezone)
|
|
28
|
+
*/
|
|
29
|
+
export const plainDateTime = /^(?:\d{4}|\+\d{6}|-(?!0{6})\d{6})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:[.,][0-9]{1,9})?)?$/;
|
package/dist/regex/date.d.ts
CHANGED
|
@@ -1,4 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching the shape of an ISO 8601 year: 4 digits, or a sign and 6 digits (Temporal's
|
|
3
|
+
* `DateYear`).
|
|
4
|
+
*
|
|
5
|
+
* - Shape only. Any 6 digits match, including years outside the range Temporal can represent
|
|
6
|
+
* (`-271821` to `+275760`); that range is checked by `Temporal.PlainDate.from`.
|
|
7
|
+
* - `-000000` does not match: Temporal's grammar makes it a Syntax Error ("It is a Syntax Error
|
|
8
|
+
* if DateYear is `-000000`"). `+000000` and `0000` match.
|
|
9
|
+
*
|
|
10
|
+
* @example year.test("2024") // true
|
|
11
|
+
* @example year.test("+275760") // true (expanded year)
|
|
12
|
+
* @example year.test("-271821") // true (negative expanded year)
|
|
13
|
+
* @example year.test("+999999") // true (shape only; outside Temporal's range)
|
|
14
|
+
* @example year.test("-000000") // false (negative zero)
|
|
15
|
+
* @example year.test("24") // false (too few digits)
|
|
16
|
+
* @example year.test("20245") // false (5 digits without a sign)
|
|
17
|
+
*/
|
|
1
18
|
export declare const year: RegExp;
|
|
19
|
+
/**
|
|
20
|
+
* RegExp matching an ISO 8601 month: `01`–`12`.
|
|
21
|
+
*
|
|
22
|
+
* @example month.test("01") // true
|
|
23
|
+
* @example month.test("12") // true
|
|
24
|
+
* @example month.test("13") // false (out of range)
|
|
25
|
+
* @example month.test("1") // false (not zero-padded)
|
|
26
|
+
*/
|
|
2
27
|
export declare const month: RegExp;
|
|
28
|
+
/**
|
|
29
|
+
* RegExp matching an ISO 8601 day of the month: `01`–`31` (shape only; whether the day exists
|
|
30
|
+
* in its month is checked by `Temporal.PlainDate.from` in `isValidDate`).
|
|
31
|
+
*
|
|
32
|
+
* @example day.test("01") // true
|
|
33
|
+
* @example day.test("31") // true
|
|
34
|
+
* @example day.test("32") // false (out of range)
|
|
35
|
+
* @example day.test("00") // false (day zero)
|
|
36
|
+
* @example day.test("9") // false (not zero-padded)
|
|
37
|
+
*/
|
|
3
38
|
export declare const day: RegExp;
|
|
39
|
+
/**
|
|
40
|
+
* RegExp matching ISO 8601 calendar date (extended): `YYYY-MM-DD` or `±YYYYYY-MM-DD`.
|
|
41
|
+
*
|
|
42
|
+
* - Year: 4-digit (`2024`) or 6-digit with sign (`+000031` / `-000031`), never `-000000`
|
|
43
|
+
* (a Syntax Error in Temporal's `DateYear`).
|
|
44
|
+
* - Month: `01`–`12`, zero-padded.
|
|
45
|
+
* - Day: `01`–`31`, zero-padded (shape-only; real calendar validation is delegated to
|
|
46
|
+
* `Temporal.PlainDate.from` in `isValidDate`).
|
|
47
|
+
*
|
|
48
|
+
* Capture groups: 1 month, 2 day. The year is not captured.
|
|
49
|
+
*
|
|
50
|
+
* The written form only, with no RFC 9557 annotation. `isValidDate` reads more: it matches this
|
|
51
|
+
* against the part before the first `[` and lets Temporal read the annotations
|
|
52
|
+
* (`"…[u-ca=iso8601]"`, an elective `"…[foo=bar]"`).
|
|
53
|
+
*
|
|
54
|
+
* @example plainDate.test("2024-03-15") // true
|
|
55
|
+
* @example plainDate.test("+000031-04-30") // true (6-digit year)
|
|
56
|
+
* @example plainDate.test("-000031-04-30") // true (negative 6-digit year)
|
|
57
|
+
* @example plainDate.exec("2024-03-15")?.slice(1) // ["03", "15"] (month, day)
|
|
58
|
+
* @example plainDate.test("-000000-01-01") // false (negative zero year)
|
|
59
|
+
* @example plainDate.test("2024-3-15") // false (unpadded month)
|
|
60
|
+
* @example plainDate.test("2024-03-00") // false (day zero)
|
|
61
|
+
*/
|
|
4
62
|
export declare const plainDate: RegExp;
|
package/dist/regex/date.js
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching the shape of an ISO 8601 year: 4 digits, or a sign and 6 digits (Temporal's
|
|
3
|
+
* `DateYear`).
|
|
4
|
+
*
|
|
5
|
+
* - Shape only. Any 6 digits match, including years outside the range Temporal can represent
|
|
6
|
+
* (`-271821` to `+275760`); that range is checked by `Temporal.PlainDate.from`.
|
|
7
|
+
* - `-000000` does not match: Temporal's grammar makes it a Syntax Error ("It is a Syntax Error
|
|
8
|
+
* if DateYear is `-000000`"). `+000000` and `0000` match.
|
|
9
|
+
*
|
|
10
|
+
* @example year.test("2024") // true
|
|
11
|
+
* @example year.test("+275760") // true (expanded year)
|
|
12
|
+
* @example year.test("-271821") // true (negative expanded year)
|
|
13
|
+
* @example year.test("+999999") // true (shape only; outside Temporal's range)
|
|
14
|
+
* @example year.test("-000000") // false (negative zero)
|
|
15
|
+
* @example year.test("24") // false (too few digits)
|
|
16
|
+
* @example year.test("20245") // false (5 digits without a sign)
|
|
17
|
+
*/
|
|
18
|
+
export const year = /^(?:\d{4}|\+\d{6}|-(?!0{6})\d{6})$/;
|
|
19
|
+
/**
|
|
20
|
+
* RegExp matching an ISO 8601 month: `01`–`12`.
|
|
21
|
+
*
|
|
22
|
+
* @example month.test("01") // true
|
|
23
|
+
* @example month.test("12") // true
|
|
24
|
+
* @example month.test("13") // false (out of range)
|
|
25
|
+
* @example month.test("1") // false (not zero-padded)
|
|
26
|
+
*/
|
|
2
27
|
export const month = /^(0[1-9]|1[0-2])$/;
|
|
28
|
+
/**
|
|
29
|
+
* RegExp matching an ISO 8601 day of the month: `01`–`31` (shape only; whether the day exists
|
|
30
|
+
* in its month is checked by `Temporal.PlainDate.from` in `isValidDate`).
|
|
31
|
+
*
|
|
32
|
+
* @example day.test("01") // true
|
|
33
|
+
* @example day.test("31") // true
|
|
34
|
+
* @example day.test("32") // false (out of range)
|
|
35
|
+
* @example day.test("00") // false (day zero)
|
|
36
|
+
* @example day.test("9") // false (not zero-padded)
|
|
37
|
+
*/
|
|
3
38
|
export const day = /^(0[1-9]|[12][0-9]|3[01])$/;
|
|
4
|
-
|
|
5
|
-
|
|
39
|
+
/**
|
|
40
|
+
* RegExp matching ISO 8601 calendar date (extended): `YYYY-MM-DD` or `±YYYYYY-MM-DD`.
|
|
41
|
+
*
|
|
42
|
+
* - Year: 4-digit (`2024`) or 6-digit with sign (`+000031` / `-000031`), never `-000000`
|
|
43
|
+
* (a Syntax Error in Temporal's `DateYear`).
|
|
44
|
+
* - Month: `01`–`12`, zero-padded.
|
|
45
|
+
* - Day: `01`–`31`, zero-padded (shape-only; real calendar validation is delegated to
|
|
46
|
+
* `Temporal.PlainDate.from` in `isValidDate`).
|
|
47
|
+
*
|
|
48
|
+
* Capture groups: 1 month, 2 day. The year is not captured.
|
|
49
|
+
*
|
|
50
|
+
* The written form only, with no RFC 9557 annotation. `isValidDate` reads more: it matches this
|
|
51
|
+
* against the part before the first `[` and lets Temporal read the annotations
|
|
52
|
+
* (`"…[u-ca=iso8601]"`, an elective `"…[foo=bar]"`).
|
|
53
|
+
*
|
|
54
|
+
* @example plainDate.test("2024-03-15") // true
|
|
55
|
+
* @example plainDate.test("+000031-04-30") // true (6-digit year)
|
|
56
|
+
* @example plainDate.test("-000031-04-30") // true (negative 6-digit year)
|
|
57
|
+
* @example plainDate.exec("2024-03-15")?.slice(1) // ["03", "15"] (month, day)
|
|
58
|
+
* @example plainDate.test("-000000-01-01") // false (negative zero year)
|
|
59
|
+
* @example plainDate.test("2024-3-15") // false (unpadded month)
|
|
60
|
+
* @example plainDate.test("2024-03-00") // false (day zero)
|
|
61
|
+
*/
|
|
62
|
+
export const plainDate = /^(?:\d{4}|\+\d{6}|-(?!0{6})\d{6})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
|
|
@@ -1 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching RFC 9110 §5.6.7 IMF-fixdate — the only form GMT's `formatHttp` emits and
|
|
3
|
+
* the preferred HTTP-date form. Day, year, and time-of-day fields are all fixed-width per the
|
|
4
|
+
* grammar (unlike RFC 5322's leniently-sized day); the trailing "GMT" literal is mandatory,
|
|
5
|
+
* never a numeric offset.
|
|
6
|
+
*
|
|
7
|
+
* - **IMF-fixdate only.** RFC 9110 requires a recipient to accept all three HTTP-date formats;
|
|
8
|
+
* the obsolete rfc850-date and asctime-date do not match this pattern. `parseHttp` reads all
|
|
9
|
+
* three.
|
|
10
|
+
* - The day name is not checked against the date; `parseHttp` does check it.
|
|
11
|
+
*
|
|
12
|
+
* Capture groups: 1 day-of-week, 2 day, 3 month, 4 year, 5 hour, 6 minute, 7 second.
|
|
13
|
+
*
|
|
14
|
+
* @example httpDate.test("Wed, 09 Jun 2021 10:18:14 GMT") // true
|
|
15
|
+
* @example httpDate.test("Jun 09 2021 10:18:14 GMT") // false (missing day-of-week)
|
|
16
|
+
* @example httpDate.test("Wed, 9 Jun 2021 10:18:14 GMT") // false (single-digit day)
|
|
17
|
+
* @example httpDate.test("Wed, 09 Jun 2021 10:18:14 +0000") // false (numeric offset)
|
|
18
|
+
* @example httpDate.test("Wednesday, 09-Jun-21 10:18:14 GMT") // false (rfc850-date: parseHttp reads it)
|
|
19
|
+
*/
|
|
1
20
|
export declare const httpDate: RegExp;
|
package/dist/regex/http-date.js
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching RFC 9110 §5.6.7 IMF-fixdate — the only form GMT's `formatHttp` emits and
|
|
3
|
+
* the preferred HTTP-date form. Day, year, and time-of-day fields are all fixed-width per the
|
|
4
|
+
* grammar (unlike RFC 5322's leniently-sized day); the trailing "GMT" literal is mandatory,
|
|
5
|
+
* never a numeric offset.
|
|
6
|
+
*
|
|
7
|
+
* - **IMF-fixdate only.** RFC 9110 requires a recipient to accept all three HTTP-date formats;
|
|
8
|
+
* the obsolete rfc850-date and asctime-date do not match this pattern. `parseHttp` reads all
|
|
9
|
+
* three.
|
|
10
|
+
* - The day name is not checked against the date; `parseHttp` does check it.
|
|
11
|
+
*
|
|
12
|
+
* Capture groups: 1 day-of-week, 2 day, 3 month, 4 year, 5 hour, 6 minute, 7 second.
|
|
13
|
+
*
|
|
14
|
+
* @example httpDate.test("Wed, 09 Jun 2021 10:18:14 GMT") // true
|
|
15
|
+
* @example httpDate.test("Jun 09 2021 10:18:14 GMT") // false (missing day-of-week)
|
|
16
|
+
* @example httpDate.test("Wed, 9 Jun 2021 10:18:14 GMT") // false (single-digit day)
|
|
17
|
+
* @example httpDate.test("Wed, 09 Jun 2021 10:18:14 +0000") // false (numeric offset)
|
|
18
|
+
* @example httpDate.test("Wednesday, 09-Jun-21 10:18:14 GMT") // false (rfc850-date: parseHttp reads it)
|
|
19
|
+
*/
|
|
7
20
|
export const httpDate = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2}):(\d{2}) GMT$/;
|
package/dist/regex/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
export * from "@js-temporal/polyfill";
|
|
1
2
|
export * from "./calendar-date.js";
|
|
2
3
|
export * from "./calendar-zoned-date-time.js";
|
|
3
4
|
export * from "./date.js";
|
|
4
5
|
export * from "./date-time.js";
|
|
5
6
|
export * from "./http-date.js";
|
|
6
7
|
export * from "./leap-second.js";
|
|
8
|
+
export * from "./nanoseconds.js";
|
|
7
9
|
export * from "./rfc-2822.js";
|
|
8
10
|
export * from "./rfc-3339.js";
|
|
9
11
|
export * from "./sql-date-time.js";
|
|
@@ -11,3 +13,4 @@ export * from "./time.js";
|
|
|
11
13
|
export * from "./time-zone-like.js";
|
|
12
14
|
export * from "./unix.js";
|
|
13
15
|
export * from "./utc-date-time.js";
|
|
16
|
+
export * from "./utc-offset.js";
|
package/dist/regex/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
// Re-export the Temporal polyfill (`Temporal`, `Intl`, `toTemporalInstant`) so every namespace subpath offers it
|
|
2
|
+
export * from "@js-temporal/polyfill";
|
|
1
3
|
export * from "./calendar-date.js";
|
|
2
4
|
export * from "./calendar-zoned-date-time.js";
|
|
3
5
|
export * from "./date.js";
|
|
4
6
|
export * from "./date-time.js";
|
|
5
7
|
export * from "./http-date.js";
|
|
6
8
|
export * from "./leap-second.js";
|
|
9
|
+
export * from "./nanoseconds.js";
|
|
7
10
|
export * from "./rfc-2822.js";
|
|
8
11
|
export * from "./rfc-3339.js";
|
|
9
12
|
export * from "./sql-date-time.js";
|
|
@@ -11,3 +14,4 @@ export * from "./time.js";
|
|
|
11
14
|
export * from "./time-zone-like.js";
|
|
12
15
|
export * from "./unix.js";
|
|
13
16
|
export * from "./utc-date-time.js";
|
|
17
|
+
export * from "./utc-offset.js";
|
|
@@ -1 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp fragment matching an ISO 8601 leap second (second `60`) in the time of day of a
|
|
3
|
+
* date-time or time string, in every spelling Temporal's `PlainDateTime.from`/`PlainTime.from`
|
|
4
|
+
* grammar parses.
|
|
5
|
+
*
|
|
6
|
+
* - Detects second = 60 within a date-time or time string, not a full standalone value.
|
|
7
|
+
* - Covers a `T`, `t` or space date/time separator (`DateTimeSeparator`), extended (`23:59:60`)
|
|
8
|
+
* or basic (`235960`) time digits, extended or basic date digits, and a bare time with or
|
|
9
|
+
* without a `T`/`t` designator (`TimeSpec`). The second may be followed by a fraction, then
|
|
10
|
+
* `Z`/`z`, a numeric offset, `[` opening an annotation, or the end of the string: Temporal's
|
|
11
|
+
* ParseISODateTime silently clamps a second of 60 to 59 in each case, so a guard that misses
|
|
12
|
+
* a spelling lets that clamp through.
|
|
13
|
+
* - Looks only before the first `[`. An RFC 9557 annotation value is `1*alphanum` joined by
|
|
14
|
+
* `-` (§4.1), so `[x=T123460Z]` is a legal elective tag, not a time of day.
|
|
15
|
+
* - Rejecting a leap second is GMT's decision, not the grammar's range: Temporal's
|
|
16
|
+
* `TimeSecond` and RFC 3339's `time-second` both admit 60. GMT refuses the value because
|
|
17
|
+
* Temporal cannot represent it and would otherwise read it as `:59`.
|
|
18
|
+
* - Used by `isLeapSecond`. Validators reject a second of 60 in their own patterns.
|
|
19
|
+
*
|
|
20
|
+
* @example leapSecond.test("2024-12-31T23:59:60Z") // true
|
|
21
|
+
* @example leapSecond.test("2024-12-31T23:59:60.123+00:00") // true
|
|
22
|
+
* @example leapSecond.test("2024-12-31t23:59:60+00:00[UTC]") // true (lowercase t)
|
|
23
|
+
* @example leapSecond.test("20241231 235960Z") // true (space separator, basic format)
|
|
24
|
+
* @example leapSecond.test("2024-12-31T23:59:60") // true (no designator: PlainDateTime clamps it)
|
|
25
|
+
* @example leapSecond.test("23:59:60") // true (a time: PlainTime clamps it)
|
|
26
|
+
* @example leapSecond.test("2024-12-31T23:59:59Z") // false (second = 59)
|
|
27
|
+
* @example leapSecond.test("2024-01-01T00:00:00Z[x=T123460Z]") // false (inside an annotation value)
|
|
28
|
+
*/
|
|
1
29
|
export declare const leapSecond: RegExp;
|
|
30
|
+
/**
|
|
31
|
+
* RegExp fragment matching an ISO 8601 leap second in every shape `Temporal.Instant.from`
|
|
32
|
+
* accepts.
|
|
33
|
+
*
|
|
34
|
+
* - An instant has a date, a `T`, `t` or space separator and a designator (`Z`/`z` or an
|
|
35
|
+
* offset), so a second of 60 must be followed by a fraction or that designator (or `[`).
|
|
36
|
+
* - Covers extended (`23:59:60`) or basic (`235960`) time digits, and nothing inside an
|
|
37
|
+
* RFC 9557 annotation value.
|
|
38
|
+
*
|
|
39
|
+
* @example instantLeapSecond.test("2016-12-31T23:59:60Z") // true
|
|
40
|
+
* @example instantLeapSecond.test("2016-12-31 23:59:60Z") // true (space separator)
|
|
41
|
+
* @example instantLeapSecond.test("20161231t235960Z") // true (basic format)
|
|
42
|
+
* @example instantLeapSecond.test("2016-12-31T23:59:59Z") // false (second = 59)
|
|
43
|
+
* @example instantLeapSecond.test("2016-12-31T23:59:60") // false (no designator, so not an instant)
|
|
44
|
+
* @example instantLeapSecond.test("2024-01-01T00:00:00Z[x=T123460Z]") // false (inside an annotation value)
|
|
45
|
+
*/
|
|
46
|
+
export declare const instantLeapSecond: RegExp;
|
|
@@ -1,2 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* RegExp fragment matching an ISO 8601 leap second (second `60`) in the time of day of a
|
|
3
|
+
* date-time or time string, in every spelling Temporal's `PlainDateTime.from`/`PlainTime.from`
|
|
4
|
+
* grammar parses.
|
|
5
|
+
*
|
|
6
|
+
* - Detects second = 60 within a date-time or time string, not a full standalone value.
|
|
7
|
+
* - Covers a `T`, `t` or space date/time separator (`DateTimeSeparator`), extended (`23:59:60`)
|
|
8
|
+
* or basic (`235960`) time digits, extended or basic date digits, and a bare time with or
|
|
9
|
+
* without a `T`/`t` designator (`TimeSpec`). The second may be followed by a fraction, then
|
|
10
|
+
* `Z`/`z`, a numeric offset, `[` opening an annotation, or the end of the string: Temporal's
|
|
11
|
+
* ParseISODateTime silently clamps a second of 60 to 59 in each case, so a guard that misses
|
|
12
|
+
* a spelling lets that clamp through.
|
|
13
|
+
* - Looks only before the first `[`. An RFC 9557 annotation value is `1*alphanum` joined by
|
|
14
|
+
* `-` (§4.1), so `[x=T123460Z]` is a legal elective tag, not a time of day.
|
|
15
|
+
* - Rejecting a leap second is GMT's decision, not the grammar's range: Temporal's
|
|
16
|
+
* `TimeSecond` and RFC 3339's `time-second` both admit 60. GMT refuses the value because
|
|
17
|
+
* Temporal cannot represent it and would otherwise read it as `:59`.
|
|
18
|
+
* - Used by `isLeapSecond`. Validators reject a second of 60 in their own patterns.
|
|
19
|
+
*
|
|
20
|
+
* @example leapSecond.test("2024-12-31T23:59:60Z") // true
|
|
21
|
+
* @example leapSecond.test("2024-12-31T23:59:60.123+00:00") // true
|
|
22
|
+
* @example leapSecond.test("2024-12-31t23:59:60+00:00[UTC]") // true (lowercase t)
|
|
23
|
+
* @example leapSecond.test("20241231 235960Z") // true (space separator, basic format)
|
|
24
|
+
* @example leapSecond.test("2024-12-31T23:59:60") // true (no designator: PlainDateTime clamps it)
|
|
25
|
+
* @example leapSecond.test("23:59:60") // true (a time: PlainTime clamps it)
|
|
26
|
+
* @example leapSecond.test("2024-12-31T23:59:59Z") // false (second = 59)
|
|
27
|
+
* @example leapSecond.test("2024-01-01T00:00:00Z[x=T123460Z]") // false (inside an annotation value)
|
|
28
|
+
*/
|
|
29
|
+
export const leapSecond = /^(?:[^[]*?[Tt ]|[Tt]?)\d{2}:?\d{2}:?60(?:[.,]\d+)?(?:[-+Zz[]|$)/;
|
|
30
|
+
/**
|
|
31
|
+
* RegExp fragment matching an ISO 8601 leap second in every shape `Temporal.Instant.from`
|
|
32
|
+
* accepts.
|
|
33
|
+
*
|
|
34
|
+
* - An instant has a date, a `T`, `t` or space separator and a designator (`Z`/`z` or an
|
|
35
|
+
* offset), so a second of 60 must be followed by a fraction or that designator (or `[`).
|
|
36
|
+
* - Covers extended (`23:59:60`) or basic (`235960`) time digits, and nothing inside an
|
|
37
|
+
* RFC 9557 annotation value.
|
|
38
|
+
*
|
|
39
|
+
* @example instantLeapSecond.test("2016-12-31T23:59:60Z") // true
|
|
40
|
+
* @example instantLeapSecond.test("2016-12-31 23:59:60Z") // true (space separator)
|
|
41
|
+
* @example instantLeapSecond.test("20161231t235960Z") // true (basic format)
|
|
42
|
+
* @example instantLeapSecond.test("2016-12-31T23:59:59Z") // false (second = 59)
|
|
43
|
+
* @example instantLeapSecond.test("2016-12-31T23:59:60") // false (no designator, so not an instant)
|
|
44
|
+
* @example instantLeapSecond.test("2024-01-01T00:00:00Z[x=T123460Z]") // false (inside an annotation value)
|
|
45
|
+
*/
|
|
46
|
+
export const instantLeapSecond = /^[^[]*?[Tt ]\d{2}:?\d{2}:?60(?:[.,]\d+)?[-+Zz[]/;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching the canonical decimal form of a nanosecond timestamp — the shape
|
|
3
|
+
* `formatNanoseconds` emits and `parseNanoseconds` accepts.
|
|
4
|
+
*
|
|
5
|
+
* - An optional `-`, then digits with no leading zeros. Anchored, so it matches a whole
|
|
6
|
+
* value rather than a fragment.
|
|
7
|
+
* - Exponents, fractions, hex, digit separators, a `+` sign and surrounding whitespace are
|
|
8
|
+
* all rejected. That strictness is the point: a payload written by another language's
|
|
9
|
+
* serialiser either reads back exactly or fails loudly, never silently coerced.
|
|
10
|
+
* - Shape only. The representable-instant range is a separate check — see
|
|
11
|
+
* `isValidNanoPattern`, which applies both.
|
|
12
|
+
*
|
|
13
|
+
* @example nanosecondDecimal.test("1710072000123456789") // true
|
|
14
|
+
* @example nanosecondDecimal.test("-1000000000") // true
|
|
15
|
+
* @example nanosecondDecimal.test("0") // true
|
|
16
|
+
* @example nanosecondDecimal.test("01") // false (leading zero)
|
|
17
|
+
* @example nanosecondDecimal.test("1.5") // false
|
|
18
|
+
* @example nanosecondDecimal.test("1e18") // false
|
|
19
|
+
*/
|
|
20
|
+
export declare const nanosecondDecimal: RegExp;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching the canonical decimal form of a nanosecond timestamp — the shape
|
|
3
|
+
* `formatNanoseconds` emits and `parseNanoseconds` accepts.
|
|
4
|
+
*
|
|
5
|
+
* - An optional `-`, then digits with no leading zeros. Anchored, so it matches a whole
|
|
6
|
+
* value rather than a fragment.
|
|
7
|
+
* - Exponents, fractions, hex, digit separators, a `+` sign and surrounding whitespace are
|
|
8
|
+
* all rejected. That strictness is the point: a payload written by another language's
|
|
9
|
+
* serialiser either reads back exactly or fails loudly, never silently coerced.
|
|
10
|
+
* - Shape only. The representable-instant range is a separate check — see
|
|
11
|
+
* `isValidNanoPattern`, which applies both.
|
|
12
|
+
*
|
|
13
|
+
* @example nanosecondDecimal.test("1710072000123456789") // true
|
|
14
|
+
* @example nanosecondDecimal.test("-1000000000") // true
|
|
15
|
+
* @example nanosecondDecimal.test("0") // true
|
|
16
|
+
* @example nanosecondDecimal.test("01") // false (leading zero)
|
|
17
|
+
* @example nanosecondDecimal.test("1.5") // false
|
|
18
|
+
* @example nanosecondDecimal.test("1e18") // false
|
|
19
|
+
*/
|
|
20
|
+
export const nanosecondDecimal = /^-?(?:0|[1-9][0-9]*)$/;
|
package/dist/regex/rfc-2822.d.ts
CHANGED
|
@@ -1 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching the strict shape of an RFC 5322 §3.3 date-time (obsoletes RFC 2822): the
|
|
3
|
+
* single-space, case-exact form a generator writes. English day/month names are mandated by
|
|
4
|
+
* the spec regardless of locale — see `internal/englishCalendarNames.ts`. Day is `1*2DIGIT` per
|
|
5
|
+
* the formal grammar, so single-digit days are valid even though GMT's own formatter always
|
|
6
|
+
* emits the zero-padded 2-digit form. `zone` accepts a numeric offset or one of the obsolete
|
|
7
|
+
* named zones RFC 5322 §4.3 lists (UT/GMT plus the eight North American zones).
|
|
8
|
+
*
|
|
9
|
+
* - **A shape check, not the receiver grammar.** RFC 5322 §4 says obsolete syntax "MUST be
|
|
10
|
+
* accepted and parsed by a conformant receiver", and §3.3 itself allows folding white space,
|
|
11
|
+
* comments, lower-case names and 5-digit years. This pattern matches none of those; §4.3
|
|
12
|
+
* also says military and unknown alphabetic zones SHOULD be read as `-0000`, not rejected.
|
|
13
|
+
* `parseRfc2822` reads the full receiver grammar — use it to decode a header, and this
|
|
14
|
+
* pattern only to check that a string has the strict shape.
|
|
15
|
+
* - The day-of-week is not checked against the date; `parseRfc2822` does check it.
|
|
16
|
+
*
|
|
17
|
+
* Capture groups: 1 day-of-week (optional, for weekday-prefixed form), 2 day, 3 month,
|
|
18
|
+
* 4 year, 5 hour, 6 minute, 7 second (optional), 8 zone.
|
|
19
|
+
*
|
|
20
|
+
* @example rfc2822DateTime.test("Wed, 09 Jun 2021 10:18:14 GMT") // true
|
|
21
|
+
* @example rfc2822DateTime.test("09 Jun 2021 10:18:14 +0000") // true (no weekday)
|
|
22
|
+
* @example rfc2822DateTime.test("9 Jun 2021 10:18:14 PST") // true (single-digit day)
|
|
23
|
+
* @example rfc2822DateTime.test("Wed, 09 Jun 2021 10:18:14 EST") // true (named zone)
|
|
24
|
+
* @example rfc2822DateTime.test("Wed, 09 Jun 2021 10:18:14 -0400 (EDT)") // false (comment: valid RFC 5322, parseRfc2822 reads it)
|
|
25
|
+
* @example rfc2822DateTime.test("2024-03-15T14:30:00Z") // false (ISO shape)
|
|
26
|
+
*/
|
|
1
27
|
export declare const rfc2822DateTime: RegExp;
|
package/dist/regex/rfc-2822.js
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching the strict shape of an RFC 5322 §3.3 date-time (obsoletes RFC 2822): the
|
|
3
|
+
* single-space, case-exact form a generator writes. English day/month names are mandated by
|
|
4
|
+
* the spec regardless of locale — see `internal/englishCalendarNames.ts`. Day is `1*2DIGIT` per
|
|
5
|
+
* the formal grammar, so single-digit days are valid even though GMT's own formatter always
|
|
6
|
+
* emits the zero-padded 2-digit form. `zone` accepts a numeric offset or one of the obsolete
|
|
7
|
+
* named zones RFC 5322 §4.3 lists (UT/GMT plus the eight North American zones).
|
|
8
|
+
*
|
|
9
|
+
* - **A shape check, not the receiver grammar.** RFC 5322 §4 says obsolete syntax "MUST be
|
|
10
|
+
* accepted and parsed by a conformant receiver", and §3.3 itself allows folding white space,
|
|
11
|
+
* comments, lower-case names and 5-digit years. This pattern matches none of those; §4.3
|
|
12
|
+
* also says military and unknown alphabetic zones SHOULD be read as `-0000`, not rejected.
|
|
13
|
+
* `parseRfc2822` reads the full receiver grammar — use it to decode a header, and this
|
|
14
|
+
* pattern only to check that a string has the strict shape.
|
|
15
|
+
* - The day-of-week is not checked against the date; `parseRfc2822` does check it.
|
|
16
|
+
*
|
|
17
|
+
* Capture groups: 1 day-of-week (optional, for weekday-prefixed form), 2 day, 3 month,
|
|
18
|
+
* 4 year, 5 hour, 6 minute, 7 second (optional), 8 zone.
|
|
19
|
+
*
|
|
20
|
+
* @example rfc2822DateTime.test("Wed, 09 Jun 2021 10:18:14 GMT") // true
|
|
21
|
+
* @example rfc2822DateTime.test("09 Jun 2021 10:18:14 +0000") // true (no weekday)
|
|
22
|
+
* @example rfc2822DateTime.test("9 Jun 2021 10:18:14 PST") // true (single-digit day)
|
|
23
|
+
* @example rfc2822DateTime.test("Wed, 09 Jun 2021 10:18:14 EST") // true (named zone)
|
|
24
|
+
* @example rfc2822DateTime.test("Wed, 09 Jun 2021 10:18:14 -0400 (EDT)") // false (comment: valid RFC 5322, parseRfc2822 reads it)
|
|
25
|
+
* @example rfc2822DateTime.test("2024-03-15T14:30:00Z") // false (ISO shape)
|
|
26
|
+
*/
|
|
9
27
|
export const rfc2822DateTime = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun), )?(\d{1,2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2})(?::(\d{2}))? (UT|GMT|EST|EDT|CST|CDT|MST|MDT|PST|PDT|[+-]\d{4})$/;
|
package/dist/regex/rfc-3339.d.ts
CHANGED
|
@@ -1 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching an RFC 3339 §5.6 date-time: ISO 8601 with a mandatory offset
|
|
3
|
+
* (`Z` or `±HH:MM`).
|
|
4
|
+
*
|
|
5
|
+
* - Separator may be `T`, `t`, or a space.
|
|
6
|
+
* - Offset is mandatory. GMT's own zoned strings with a bracketed IANA zone annotation
|
|
7
|
+
* (`"...+00:00[UTC]"`) do NOT match — use `calendarZonedDateTime` for those.
|
|
8
|
+
* - Offset hour `00`–`23` and minute `00`–`59` (§5.6 `time-numoffset`).
|
|
9
|
+
* - Two GMT restrictions narrower than the grammar: second `60` does not match (§5.6
|
|
10
|
+
* `time-second` admits it; GMT rejects leap seconds because Temporal would read one as
|
|
11
|
+
* `:59`), and the fraction is capped at 9 digits (`time-secfrac` is `1*DIGIT`; Temporal keeps
|
|
12
|
+
* nanoseconds).
|
|
13
|
+
* - Shape-only validation; real calendar validation is delegated to
|
|
14
|
+
* `Temporal.PlainDateTime.from(...).toZonedDateTime(offset)` in `parseRfc3339`.
|
|
15
|
+
* - Capture groups: 1 year, 2 month, 3 day, 4 hour, 5 minute, 6 second,
|
|
16
|
+
* 7 fractional (optional), 8 offset.
|
|
17
|
+
*
|
|
18
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00-04:00") // true
|
|
19
|
+
* @example rfc3339DateTime.test("2024-03-15t14:30:00z") // true
|
|
20
|
+
* @example rfc3339DateTime.test("2024-03-15 14:30:00Z") // true (space separator)
|
|
21
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00") // false (no offset)
|
|
22
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00+00:00[UTC]") // false (bracketed zone)
|
|
23
|
+
* @example rfc3339DateTime.test("2024-3-15T14:30:00Z") // false (unpadded)
|
|
24
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00+24:00") // false (offset hour out of range)
|
|
25
|
+
* @example rfc3339DateTime.test("2016-12-31T23:59:60Z") // false (leap second; GMT rejects it)
|
|
26
|
+
*/
|
|
1
27
|
export declare const rfc3339DateTime: RegExp;
|
package/dist/regex/rfc-3339.js
CHANGED
|
@@ -1,7 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching an RFC 3339 §5.6 date-time: ISO 8601 with a mandatory offset
|
|
3
|
+
* (`Z` or `±HH:MM`).
|
|
4
|
+
*
|
|
5
|
+
* - Separator may be `T`, `t`, or a space.
|
|
6
|
+
* - Offset is mandatory. GMT's own zoned strings with a bracketed IANA zone annotation
|
|
7
|
+
* (`"...+00:00[UTC]"`) do NOT match — use `calendarZonedDateTime` for those.
|
|
8
|
+
* - Offset hour `00`–`23` and minute `00`–`59` (§5.6 `time-numoffset`).
|
|
9
|
+
* - Two GMT restrictions narrower than the grammar: second `60` does not match (§5.6
|
|
10
|
+
* `time-second` admits it; GMT rejects leap seconds because Temporal would read one as
|
|
11
|
+
* `:59`), and the fraction is capped at 9 digits (`time-secfrac` is `1*DIGIT`; Temporal keeps
|
|
12
|
+
* nanoseconds).
|
|
13
|
+
* - Shape-only validation; real calendar validation is delegated to
|
|
14
|
+
* `Temporal.PlainDateTime.from(...).toZonedDateTime(offset)` in `parseRfc3339`.
|
|
15
|
+
* - Capture groups: 1 year, 2 month, 3 day, 4 hour, 5 minute, 6 second,
|
|
16
|
+
* 7 fractional (optional), 8 offset.
|
|
17
|
+
*
|
|
18
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00-04:00") // true
|
|
19
|
+
* @example rfc3339DateTime.test("2024-03-15t14:30:00z") // true
|
|
20
|
+
* @example rfc3339DateTime.test("2024-03-15 14:30:00Z") // true (space separator)
|
|
21
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00") // false (no offset)
|
|
22
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00+00:00[UTC]") // false (bracketed zone)
|
|
23
|
+
* @example rfc3339DateTime.test("2024-3-15T14:30:00Z") // false (unpadded)
|
|
24
|
+
* @example rfc3339DateTime.test("2024-03-15T14:30:00+24:00") // false (offset hour out of range)
|
|
25
|
+
* @example rfc3339DateTime.test("2016-12-31T23:59:60Z") // false (leap second; GMT rejects it)
|
|
26
|
+
*/
|
|
27
|
+
export const rfc3339DateTime = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])[Tt ](0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(\.[0-9]{1,9})?(Z|z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])$/;
|
|
@@ -1 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RegExp matching a SQL timestamp literal without a time zone: `YYYY-MM-DD HH:MM:SS[.fffffffff]`.
|
|
3
|
+
*
|
|
4
|
+
* The grammar is SQL-92 §5.3 `<timestamp string>` and the ODBC `ts` escape
|
|
5
|
+
* (`yyyy-mm-dd hh:mm:ss[.f...]`):
|
|
6
|
+
*
|
|
7
|
+
* - `<date value> <space> <time value>`: a single space separator, never `T`.
|
|
8
|
+
* - Syntax Rule 21: the year is four digits and every other field two digits, zero-padded. No
|
|
9
|
+
* sign and no expanded year.
|
|
10
|
+
* - Table 10: YEAR `0001`–`9999`, MONTH `01`–`12`, DAY `01`–`31`, HOUR `00`–`23`, MINUTE
|
|
11
|
+
* `00`–`59`.
|
|
12
|
+
* - Seconds are required (`<time value>` is `<hours value>:<minutes value>:<seconds value>`).
|
|
13
|
+
* - `<seconds value> ::= <seconds integer value> [ <period> [ <seconds fraction> ] ]`: an optional
|
|
14
|
+
* `.` then up to 9 fraction digits. SQL-92 leaves the precision to the implementation; 9 is
|
|
15
|
+
* Temporal's nanosecond.
|
|
16
|
+
* - SECOND `60`–`61` does not match, although Table 10 allows them: GMT rejects leap seconds
|
|
17
|
+
* because Temporal would read one as `:59`.
|
|
18
|
+
* - Shape-only validation; the calendar date is checked by `Temporal.PlainDateTime.from` in
|
|
19
|
+
* `parseSql`.
|
|
20
|
+
*
|
|
21
|
+
* Capture groups: 1 month, 2 day, 3 hour. The year, minute, second and fraction are not
|
|
22
|
+
* captured.
|
|
23
|
+
*
|
|
24
|
+
* @example sqlDateTime.test("2024-03-15 14:30:00.123456789") // true
|
|
25
|
+
* @example sqlDateTime.test("0001-01-01 00:00:00") // true (the first year SQL allows)
|
|
26
|
+
* @example sqlDateTime.test("2024-03-15 14:30:00.") // true (period with no fraction)
|
|
27
|
+
* @example sqlDateTime.test("2024-03-15 14:30") // false (seconds are required)
|
|
28
|
+
* @example sqlDateTime.test("0000-01-01 00:00:00") // false (year outside 0001–9999)
|
|
29
|
+
* @example sqlDateTime.test("+002024-03-15 14:30:00") // false (expanded year)
|
|
30
|
+
* @example sqlDateTime.test("2024-03-15T14:30:00") // false (T separator)
|
|
31
|
+
* @example sqlDateTime.test("2024-3-5 14:30:00") // false (unpadded)
|
|
32
|
+
* @example sqlDateTime.test("2024-03-15 14:30:60") // false (leap second; GMT rejects it)
|
|
33
|
+
*/
|
|
1
34
|
export declare const sqlDateTime: RegExp;
|