@northguild/gmt 1.14.2
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/LICENSE +21 -0
- package/README.md +1626 -0
- package/dist/duration/calculate/absDuration.d.ts +20 -0
- package/dist/duration/calculate/absDuration.js +32 -0
- package/dist/duration/calculate/addDuration.d.ts +20 -0
- package/dist/duration/calculate/addDuration.js +32 -0
- package/dist/duration/calculate/durationAs.d.ts +38 -0
- package/dist/duration/calculate/durationAs.js +52 -0
- package/dist/duration/calculate/getDurationSign.d.ts +22 -0
- package/dist/duration/calculate/getDurationSign.js +34 -0
- package/dist/duration/calculate/getDurationUnit.d.ts +31 -0
- package/dist/duration/calculate/getDurationUnit.js +43 -0
- package/dist/duration/calculate/index.d.ts +7 -0
- package/dist/duration/calculate/index.js +7 -0
- package/dist/duration/calculate/negateDuration.d.ts +20 -0
- package/dist/duration/calculate/negateDuration.js +32 -0
- package/dist/duration/calculate/subtractDuration.d.ts +21 -0
- package/dist/duration/calculate/subtractDuration.js +33 -0
- package/dist/duration/compare/compareDurations.d.ts +37 -0
- package/dist/duration/compare/compareDurations.js +49 -0
- package/dist/duration/compare/index.d.ts +1 -0
- package/dist/duration/compare/index.js +1 -0
- package/dist/duration/format/formatDuration.d.ts +37 -0
- package/dist/duration/format/formatDuration.js +93 -0
- package/dist/duration/format/index.d.ts +1 -0
- package/dist/duration/format/index.js +1 -0
- package/dist/duration/index.d.ts +6 -0
- package/dist/duration/index.js +6 -0
- package/dist/duration/normalize/index.d.ts +1 -0
- package/dist/duration/normalize/index.js +1 -0
- package/dist/duration/normalize/normalizeDuration.d.ts +36 -0
- package/dist/duration/normalize/normalizeDuration.js +49 -0
- package/dist/duration/parse/index.d.ts +1 -0
- package/dist/duration/parse/index.js +1 -0
- package/dist/duration/parse/parseDuration.d.ts +24 -0
- package/dist/duration/parse/parseDuration.js +35 -0
- package/dist/duration/validate/index.d.ts +1 -0
- package/dist/duration/validate/index.js +1 -0
- package/dist/duration/validate/isValidDuration.d.ts +16 -0
- package/dist/duration/validate/isValidDuration.js +28 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7 -0
- package/dist/internal/adjustZonedBusinessDays.d.ts +1 -0
- package/dist/internal/adjustZonedBusinessDays.js +16 -0
- package/dist/internal/advanceBusinessDays.d.ts +2 -0
- package/dist/internal/advanceBusinessDays.js +15 -0
- package/dist/internal/advanceToWeekday.d.ts +12 -0
- package/dist/internal/advanceToWeekday.js +24 -0
- package/dist/internal/calendarDatePairPolicy.d.ts +25 -0
- package/dist/internal/calendarDatePairPolicy.js +33 -0
- package/dist/internal/calendarDateString.d.ts +65 -0
- package/dist/internal/calendarDateString.js +103 -0
- package/dist/internal/calendarSystemIds.d.ts +4 -0
- package/dist/internal/calendarSystemIds.js +55 -0
- package/dist/internal/calendarValueOfDate.d.ts +22 -0
- package/dist/internal/calendarValueOfDate.js +41 -0
- package/dist/internal/calendarValueOfZoned.d.ts +38 -0
- package/dist/internal/calendarValueOfZoned.js +58 -0
- package/dist/internal/calendarZonedPairPolicy.d.ts +31 -0
- package/dist/internal/calendarZonedPairPolicy.js +39 -0
- package/dist/internal/calendarZonedString.d.ts +77 -0
- package/dist/internal/calendarZonedString.js +120 -0
- package/dist/internal/cycleFieldValue.d.ts +30 -0
- package/dist/internal/cycleFieldValue.js +48 -0
- package/dist/internal/dateCycleFieldBounds.d.ts +25 -0
- package/dist/internal/dateCycleFieldBounds.js +27 -0
- package/dist/internal/dateTimeUnitHelpers.d.ts +27 -0
- package/dist/internal/dateTimeUnitHelpers.js +50 -0
- package/dist/internal/dateUnitHelpers.d.ts +23 -0
- package/dist/internal/dateUnitHelpers.js +46 -0
- package/dist/internal/durationUntilString.d.ts +17 -0
- package/dist/internal/durationUntilString.js +13 -0
- package/dist/internal/englishCalendarNames.d.ts +2 -0
- package/dist/internal/englishCalendarNames.js +30 -0
- package/dist/internal/ethiopicFamilyCalendar.d.ts +47 -0
- package/dist/internal/ethiopicFamilyCalendar.js +136 -0
- package/dist/internal/formatDateInCalendar.d.ts +47 -0
- package/dist/internal/formatDateInCalendar.js +54 -0
- package/dist/internal/getLocaleFirstDayOfWeek.d.ts +11 -0
- package/dist/internal/getLocaleFirstDayOfWeek.js +26 -0
- package/dist/internal/getLocaleMinimalDaysInFirstWeek.d.ts +20 -0
- package/dist/internal/getLocaleMinimalDaysInFirstWeek.js +31 -0
- package/dist/internal/getLocaleWeekYearBounds.d.ts +19 -0
- package/dist/internal/getLocaleWeekYearBounds.js +44 -0
- package/dist/internal/getLocaleWeekendDays.d.ts +22 -0
- package/dist/internal/getLocaleWeekendDays.js +20 -0
- package/dist/internal/hasCalendarAnnotation.d.ts +27 -0
- package/dist/internal/hasCalendarAnnotation.js +29 -0
- package/dist/internal/index.d.ts +34 -0
- package/dist/internal/index.js +34 -0
- package/dist/internal/intervalCountHelpers.d.ts +26 -0
- package/dist/internal/intervalCountHelpers.js +62 -0
- package/dist/internal/isValidAmount.d.ts +9 -0
- package/dist/internal/isValidAmount.js +11 -0
- package/dist/internal/isValidDayOfWeek.d.ts +11 -0
- package/dist/internal/isValidDayOfWeek.js +13 -0
- package/dist/internal/joinDateTimeConnector.d.ts +37 -0
- package/dist/internal/joinDateTimeConnector.js +85 -0
- package/dist/internal/monthGridWeekRow.d.ts +12 -0
- package/dist/internal/monthGridWeekRow.js +14 -0
- package/dist/internal/normalizeDateTime.d.ts +14 -0
- package/dist/internal/normalizeDateTime.js +34 -0
- package/dist/internal/normalizeTimeZone.d.ts +14 -0
- package/dist/internal/normalizeTimeZone.js +22 -0
- package/dist/internal/patternToken.d.ts +45 -0
- package/dist/internal/patternToken.js +385 -0
- package/dist/internal/resolveDateTimeUnit.d.ts +11 -0
- package/dist/internal/resolveDateTimeUnit.js +23 -0
- package/dist/internal/resolveDurationRelativeTo.d.ts +29 -0
- package/dist/internal/resolveDurationRelativeTo.js +35 -0
- package/dist/internal/resolveDurationUnit.d.ts +10 -0
- package/dist/internal/resolveDurationUnit.js +23 -0
- package/dist/internal/resolveOverflow.d.ts +10 -0
- package/dist/internal/resolveOverflow.js +11 -0
- package/dist/internal/resolveRelativeRounding.d.ts +19 -0
- package/dist/internal/resolveRelativeRounding.js +20 -0
- package/dist/internal/resolveUnixTimeZone.d.ts +20 -0
- package/dist/internal/resolveUnixTimeZone.js +30 -0
- package/dist/internal/timeCycleFieldBounds.d.ts +16 -0
- package/dist/internal/timeCycleFieldBounds.js +24 -0
- package/dist/internal/toInstantFromUtc.d.ts +2 -0
- package/dist/internal/toInstantFromUtc.js +11 -0
- package/dist/plain/calculate/addBusinessDays.d.ts +17 -0
- package/dist/plain/calculate/addBusinessDays.js +35 -0
- package/dist/plain/calculate/addDate.d.ts +35 -0
- package/dist/plain/calculate/addDate.js +55 -0
- package/dist/plain/calculate/addDateTime.d.ts +22 -0
- package/dist/plain/calculate/addDateTime.js +38 -0
- package/dist/plain/calculate/addTime.d.ts +22 -0
- package/dist/plain/calculate/addTime.js +38 -0
- package/dist/plain/calculate/clampDate.d.ts +20 -0
- package/dist/plain/calculate/clampDate.js +46 -0
- package/dist/plain/calculate/closestDateTo.d.ts +18 -0
- package/dist/plain/calculate/closestDateTo.js +43 -0
- package/dist/plain/calculate/cycleDate.d.ts +44 -0
- package/dist/plain/calculate/cycleDate.js +56 -0
- package/dist/plain/calculate/cycleDateTime.d.ts +38 -0
- package/dist/plain/calculate/cycleDateTime.js +52 -0
- package/dist/plain/calculate/cycleTime.d.ts +38 -0
- package/dist/plain/calculate/cycleTime.js +50 -0
- package/dist/plain/calculate/diffDate.d.ts +32 -0
- package/dist/plain/calculate/diffDate.js +64 -0
- package/dist/plain/calculate/diffDateAsDuration.d.ts +36 -0
- package/dist/plain/calculate/diffDateAsDuration.js +49 -0
- package/dist/plain/calculate/diffDateTime.d.ts +25 -0
- package/dist/plain/calculate/diffDateTime.js +57 -0
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +33 -0
- package/dist/plain/calculate/diffDateTimeAsDuration.js +48 -0
- package/dist/plain/calculate/diffTime.d.ts +25 -0
- package/dist/plain/calculate/diffTime.js +56 -0
- package/dist/plain/calculate/endOfDate.d.ts +17 -0
- package/dist/plain/calculate/endOfDate.js +51 -0
- package/dist/plain/calculate/endOfDateTime.d.ts +19 -0
- package/dist/plain/calculate/endOfDateTime.js +138 -0
- package/dist/plain/calculate/endOfQuarterForDate.d.ts +17 -0
- package/dist/plain/calculate/endOfQuarterForDate.js +34 -0
- package/dist/plain/calculate/endOfQuarterForDateTime.d.ts +15 -0
- package/dist/plain/calculate/endOfQuarterForDateTime.js +48 -0
- package/dist/plain/calculate/endOfTime.d.ts +20 -0
- package/dist/plain/calculate/endOfTime.js +91 -0
- package/dist/plain/calculate/getDayOfYear.d.ts +16 -0
- package/dist/plain/calculate/getDayOfYear.js +28 -0
- package/dist/plain/calculate/getDaysInMonth.d.ts +16 -0
- package/dist/plain/calculate/getDaysInMonth.js +28 -0
- package/dist/plain/calculate/getDaysInYear.d.ts +14 -0
- package/dist/plain/calculate/getDaysInYear.js +26 -0
- package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +16 -0
- package/dist/plain/calculate/getLargestDateDurationUnit.js +24 -0
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +16 -0
- package/dist/plain/calculate/getLargestDateTimeDurationUnit.js +35 -0
- package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +16 -0
- package/dist/plain/calculate/getLargestTimeDurationUnit.js +31 -0
- package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +20 -0
- package/dist/plain/calculate/getLocaleDayOfWeek.js +36 -0
- package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +23 -0
- package/dist/plain/calculate/getLocaleEndOfWeek.js +40 -0
- package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +23 -0
- package/dist/plain/calculate/getLocaleStartOfWeek.js +40 -0
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +28 -0
- package/dist/plain/calculate/getLocaleWeekYear.js +45 -0
- package/dist/plain/calculate/getQuarterForDate.d.ts +17 -0
- package/dist/plain/calculate/getQuarterForDate.js +30 -0
- package/dist/plain/calculate/getQuarterForDateTime.d.ts +17 -0
- package/dist/plain/calculate/getQuarterForDateTime.js +30 -0
- package/dist/plain/calculate/getWeekNumber.d.ts +17 -0
- package/dist/plain/calculate/getWeekNumber.js +39 -0
- package/dist/plain/calculate/getWeekOfMonth.d.ts +26 -0
- package/dist/plain/calculate/getWeekOfMonth.js +43 -0
- package/dist/plain/calculate/getWeekYear.d.ts +21 -0
- package/dist/plain/calculate/getWeekYear.js +33 -0
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +24 -0
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +43 -0
- package/dist/plain/calculate/getWeeksInMonth.d.ts +23 -0
- package/dist/plain/calculate/getWeeksInMonth.js +40 -0
- package/dist/plain/calculate/getWeeksInYear.d.ts +23 -0
- package/dist/plain/calculate/getWeeksInYear.js +43 -0
- package/dist/plain/calculate/index.d.ts +64 -0
- package/dist/plain/calculate/index.js +64 -0
- package/dist/plain/calculate/maxDate.d.ts +13 -0
- package/dist/plain/calculate/maxDate.js +33 -0
- package/dist/plain/calculate/maxDateTime.d.ts +13 -0
- package/dist/plain/calculate/maxDateTime.js +33 -0
- package/dist/plain/calculate/maxTime.d.ts +13 -0
- package/dist/plain/calculate/maxTime.js +33 -0
- package/dist/plain/calculate/minDate.d.ts +13 -0
- package/dist/plain/calculate/minDate.js +33 -0
- package/dist/plain/calculate/minDateTime.d.ts +13 -0
- package/dist/plain/calculate/minDateTime.js +33 -0
- package/dist/plain/calculate/minTime.d.ts +13 -0
- package/dist/plain/calculate/minTime.js +33 -0
- package/dist/plain/calculate/nextWeekday.d.ts +36 -0
- package/dist/plain/calculate/nextWeekday.js +47 -0
- package/dist/plain/calculate/previousWeekday.d.ts +36 -0
- package/dist/plain/calculate/previousWeekday.js +47 -0
- package/dist/plain/calculate/roundDate.d.ts +26 -0
- package/dist/plain/calculate/roundDate.js +72 -0
- package/dist/plain/calculate/roundDateTime.d.ts +26 -0
- package/dist/plain/calculate/roundDateTime.js +98 -0
- package/dist/plain/calculate/roundTime.d.ts +22 -0
- package/dist/plain/calculate/roundTime.js +42 -0
- package/dist/plain/calculate/setDate.d.ts +32 -0
- package/dist/plain/calculate/setDate.js +47 -0
- package/dist/plain/calculate/setDateTime.d.ts +31 -0
- package/dist/plain/calculate/setDateTime.js +46 -0
- package/dist/plain/calculate/setTime.d.ts +31 -0
- package/dist/plain/calculate/setTime.js +46 -0
- package/dist/plain/calculate/sortDateTimes.d.ts +14 -0
- package/dist/plain/calculate/sortDateTimes.js +33 -0
- package/dist/plain/calculate/sortDates.d.ts +14 -0
- package/dist/plain/calculate/sortDates.js +33 -0
- package/dist/plain/calculate/sortTimes.d.ts +14 -0
- package/dist/plain/calculate/sortTimes.js +33 -0
- package/dist/plain/calculate/startOfDate.d.ts +17 -0
- package/dist/plain/calculate/startOfDate.js +50 -0
- package/dist/plain/calculate/startOfDateTime.d.ts +19 -0
- package/dist/plain/calculate/startOfDateTime.js +85 -0
- package/dist/plain/calculate/startOfQuarterForDate.d.ts +17 -0
- package/dist/plain/calculate/startOfQuarterForDate.js +32 -0
- package/dist/plain/calculate/startOfQuarterForDateTime.d.ts +15 -0
- package/dist/plain/calculate/startOfQuarterForDateTime.js +32 -0
- package/dist/plain/calculate/startOfTime.d.ts +20 -0
- package/dist/plain/calculate/startOfTime.js +69 -0
- package/dist/plain/calculate/subtractBusinessDays.d.ts +18 -0
- package/dist/plain/calculate/subtractBusinessDays.js +36 -0
- package/dist/plain/calculate/subtractDate.d.ts +27 -0
- package/dist/plain/calculate/subtractDate.js +47 -0
- package/dist/plain/calculate/subtractDateTime.d.ts +22 -0
- package/dist/plain/calculate/subtractDateTime.js +38 -0
- package/dist/plain/calculate/subtractTime.d.ts +22 -0
- package/dist/plain/calculate/subtractTime.js +38 -0
- package/dist/plain/calculate/weekOfYear.d.ts +30 -0
- package/dist/plain/calculate/weekOfYear.js +57 -0
- package/dist/plain/chop/chopDate.d.ts +13 -0
- package/dist/plain/chop/chopDate.js +24 -0
- package/dist/plain/chop/chopMilliseconds.d.ts +15 -0
- package/dist/plain/chop/chopMilliseconds.js +34 -0
- package/dist/plain/chop/chopSeconds.d.ts +15 -0
- package/dist/plain/chop/chopSeconds.js +34 -0
- package/dist/plain/chop/chopTime.d.ts +13 -0
- package/dist/plain/chop/chopTime.js +24 -0
- package/dist/plain/chop/index.d.ts +5 -0
- package/dist/plain/chop/index.js +5 -0
- package/dist/plain/compare/areDateTimesEqual.d.ts +15 -0
- package/dist/plain/compare/areDateTimesEqual.js +37 -0
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +37 -0
- package/dist/plain/compare/areDateTimesEqualBy.js +49 -0
- package/dist/plain/compare/areDatesEqual.d.ts +17 -0
- package/dist/plain/compare/areDatesEqual.js +33 -0
- package/dist/plain/compare/areDatesEqualBy.d.ts +34 -0
- package/dist/plain/compare/areDatesEqualBy.js +54 -0
- package/dist/plain/compare/areTimesEqual.d.ts +18 -0
- package/dist/plain/compare/areTimesEqual.js +37 -0
- package/dist/plain/compare/index.d.ts +20 -0
- package/dist/plain/compare/index.js +20 -0
- package/dist/plain/compare/isAfterDate.d.ts +16 -0
- package/dist/plain/compare/isAfterDate.js +28 -0
- package/dist/plain/compare/isAfterDateTime.d.ts +17 -0
- package/dist/plain/compare/isAfterDateTime.js +29 -0
- package/dist/plain/compare/isAfterTime.d.ts +17 -0
- package/dist/plain/compare/isAfterTime.js +29 -0
- package/dist/plain/compare/isBeforeDate.d.ts +17 -0
- package/dist/plain/compare/isBeforeDate.js +29 -0
- package/dist/plain/compare/isBeforeDateTime.d.ts +17 -0
- package/dist/plain/compare/isBeforeDateTime.js +29 -0
- package/dist/plain/compare/isBeforeTime.d.ts +17 -0
- package/dist/plain/compare/isBeforeTime.js +29 -0
- package/dist/plain/compare/isBetweenDate.d.ts +26 -0
- package/dist/plain/compare/isBetweenDate.js +49 -0
- package/dist/plain/compare/isBetweenDateTime.d.ts +26 -0
- package/dist/plain/compare/isBetweenDateTime.js +51 -0
- package/dist/plain/compare/isBetweenTime.d.ts +28 -0
- package/dist/plain/compare/isBetweenTime.js +51 -0
- package/dist/plain/compare/isBusinessDay.d.ts +21 -0
- package/dist/plain/compare/isBusinessDay.js +33 -0
- package/dist/plain/compare/isFuture.d.ts +21 -0
- package/dist/plain/compare/isFuture.js +33 -0
- package/dist/plain/compare/isPast.d.ts +21 -0
- package/dist/plain/compare/isPast.js +33 -0
- package/dist/plain/compare/isRelativeDay.d.ts +32 -0
- package/dist/plain/compare/isRelativeDay.js +49 -0
- package/dist/plain/compare/isThisUnit.d.ts +35 -0
- package/dist/plain/compare/isThisUnit.js +52 -0
- package/dist/plain/compare/isWeekend.d.ts +21 -0
- package/dist/plain/compare/isWeekend.js +37 -0
- package/dist/plain/convert/convertDateToCalendar.d.ts +44 -0
- package/dist/plain/convert/convertDateToCalendar.js +59 -0
- package/dist/plain/convert/index.d.ts +1 -0
- package/dist/plain/convert/index.js +1 -0
- package/dist/plain/format/formatCalendar.d.ts +43 -0
- package/dist/plain/format/formatCalendar.js +70 -0
- package/dist/plain/format/formatDate.d.ts +17 -0
- package/dist/plain/format/formatDate.js +31 -0
- package/dist/plain/format/formatDateRange.d.ts +19 -0
- package/dist/plain/format/formatDateRange.js +33 -0
- package/dist/plain/format/formatDateTime.d.ts +17 -0
- package/dist/plain/format/formatDateTime.js +31 -0
- package/dist/plain/format/formatDateTimeRange.d.ts +19 -0
- package/dist/plain/format/formatDateTimeRange.js +33 -0
- package/dist/plain/format/formatDateTimeToParts.d.ts +28 -0
- package/dist/plain/format/formatDateTimeToParts.js +48 -0
- package/dist/plain/format/formatDateToParts.d.ts +27 -0
- package/dist/plain/format/formatDateToParts.js +47 -0
- package/dist/plain/format/formatRelativeDate.d.ts +32 -0
- package/dist/plain/format/formatRelativeDate.js +57 -0
- package/dist/plain/format/formatRelativeDateTime.d.ts +32 -0
- package/dist/plain/format/formatRelativeDateTime.js +57 -0
- package/dist/plain/format/formatRelativeTime.d.ts +32 -0
- package/dist/plain/format/formatRelativeTime.js +49 -0
- package/dist/plain/format/formatSql.d.ts +20 -0
- package/dist/plain/format/formatSql.js +31 -0
- package/dist/plain/format/formatTime.d.ts +17 -0
- package/dist/plain/format/formatTime.js +31 -0
- package/dist/plain/format/index.d.ts +12 -0
- package/dist/plain/format/index.js +12 -0
- package/dist/plain/get/getDay.d.ts +13 -0
- package/dist/plain/get/getDay.js +27 -0
- package/dist/plain/get/getDayOfWeek.d.ts +13 -0
- package/dist/plain/get/getDayOfWeek.js +26 -0
- package/dist/plain/get/getHour.d.ts +13 -0
- package/dist/plain/get/getHour.js +27 -0
- package/dist/plain/get/getMicrosecond.d.ts +13 -0
- package/dist/plain/get/getMicrosecond.js +27 -0
- package/dist/plain/get/getMillisecond.d.ts +13 -0
- package/dist/plain/get/getMillisecond.js +27 -0
- package/dist/plain/get/getMinute.d.ts +13 -0
- package/dist/plain/get/getMinute.js +27 -0
- package/dist/plain/get/getMonth.d.ts +13 -0
- package/dist/plain/get/getMonth.js +27 -0
- package/dist/plain/get/getNanosecond.d.ts +13 -0
- package/dist/plain/get/getNanosecond.js +27 -0
- package/dist/plain/get/getNow.d.ts +11 -0
- package/dist/plain/get/getNow.js +24 -0
- package/dist/plain/get/getNowUnit.d.ts +27 -0
- package/dist/plain/get/getNowUnit.js +72 -0
- package/dist/plain/get/getSecond.d.ts +13 -0
- package/dist/plain/get/getSecond.js +27 -0
- package/dist/plain/get/getToday.d.ts +11 -0
- package/dist/plain/get/getToday.js +24 -0
- package/dist/plain/get/getWeekOfYear.d.ts +13 -0
- package/dist/plain/get/getWeekOfYear.js +32 -0
- package/dist/plain/get/getYear.d.ts +13 -0
- package/dist/plain/get/getYear.js +27 -0
- package/dist/plain/get/index.d.ts +14 -0
- package/dist/plain/get/index.js +14 -0
- package/dist/plain/index.d.ts +12 -0
- package/dist/plain/index.js +13 -0
- package/dist/plain/interval/index.d.ts +51 -0
- package/dist/plain/interval/index.js +51 -0
- package/dist/plain/interval/intervalAbutsDate.d.ts +26 -0
- package/dist/plain/interval/intervalAbutsDate.js +68 -0
- package/dist/plain/interval/intervalAbutsDateTime.d.ts +22 -0
- package/dist/plain/interval/intervalAbutsDateTime.js +63 -0
- package/dist/plain/interval/intervalAbutsTime.d.ts +22 -0
- package/dist/plain/interval/intervalAbutsTime.js +63 -0
- package/dist/plain/interval/intervalContainsDate.d.ts +26 -0
- package/dist/plain/interval/intervalContainsDate.js +63 -0
- package/dist/plain/interval/intervalContainsDateTime.d.ts +24 -0
- package/dist/plain/interval/intervalContainsDateTime.js +60 -0
- package/dist/plain/interval/intervalContainsTime.d.ts +24 -0
- package/dist/plain/interval/intervalContainsTime.js +60 -0
- package/dist/plain/interval/intervalCountDate.d.ts +31 -0
- package/dist/plain/interval/intervalCountDate.js +62 -0
- package/dist/plain/interval/intervalCountDateTime.d.ts +26 -0
- package/dist/plain/interval/intervalCountDateTime.js +73 -0
- package/dist/plain/interval/intervalCountTime.d.ts +26 -0
- package/dist/plain/interval/intervalCountTime.js +67 -0
- package/dist/plain/interval/intervalDifferenceDate.d.ts +30 -0
- package/dist/plain/interval/intervalDifferenceDate.js +87 -0
- package/dist/plain/interval/intervalDifferenceDateTime.d.ts +24 -0
- package/dist/plain/interval/intervalDifferenceDateTime.js +69 -0
- package/dist/plain/interval/intervalDifferenceTime.d.ts +25 -0
- package/dist/plain/interval/intervalDifferenceTime.js +70 -0
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +33 -0
- package/dist/plain/interval/intervalDivideEquallyDate.js +70 -0
- package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +27 -0
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +62 -0
- package/dist/plain/interval/intervalDivideEquallyTime.d.ts +28 -0
- package/dist/plain/interval/intervalDivideEquallyTime.js +63 -0
- package/dist/plain/interval/intervalEngulfsDate.d.ts +24 -0
- package/dist/plain/interval/intervalEngulfsDate.js +57 -0
- package/dist/plain/interval/intervalEngulfsDateTime.d.ts +22 -0
- package/dist/plain/interval/intervalEngulfsDateTime.js +54 -0
- package/dist/plain/interval/intervalEngulfsTime.d.ts +22 -0
- package/dist/plain/interval/intervalEngulfsTime.js +54 -0
- package/dist/plain/interval/intervalFromDurationDate.d.ts +39 -0
- package/dist/plain/interval/intervalFromDurationDate.js +71 -0
- package/dist/plain/interval/intervalFromDurationDateTime.d.ts +33 -0
- package/dist/plain/interval/intervalFromDurationDateTime.js +58 -0
- package/dist/plain/interval/intervalFromDurationTime.d.ts +38 -0
- package/dist/plain/interval/intervalFromDurationTime.js +69 -0
- package/dist/plain/interval/intervalIntersectionDate.d.ts +28 -0
- package/dist/plain/interval/intervalIntersectionDate.js +70 -0
- package/dist/plain/interval/intervalIntersectionDateTime.d.ts +23 -0
- package/dist/plain/interval/intervalIntersectionDateTime.js +57 -0
- package/dist/plain/interval/intervalIntersectionTime.d.ts +24 -0
- package/dist/plain/interval/intervalIntersectionTime.js +58 -0
- package/dist/plain/interval/intervalLengthDate.d.ts +31 -0
- package/dist/plain/interval/intervalLengthDate.js +56 -0
- package/dist/plain/interval/intervalLengthDateTime.d.ts +24 -0
- package/dist/plain/interval/intervalLengthDateTime.js +50 -0
- package/dist/plain/interval/intervalLengthTime.d.ts +23 -0
- package/dist/plain/interval/intervalLengthTime.js +49 -0
- package/dist/plain/interval/intervalOverlappingDaysDate.d.ts +33 -0
- package/dist/plain/interval/intervalOverlappingDaysDate.js +78 -0
- package/dist/plain/interval/intervalOverlappingDaysDateTime.d.ts +28 -0
- package/dist/plain/interval/intervalOverlappingDaysDateTime.js +67 -0
- package/dist/plain/interval/intervalSplitAtDate.d.ts +34 -0
- package/dist/plain/interval/intervalSplitAtDate.js +73 -0
- package/dist/plain/interval/intervalSplitAtDateTime.d.ts +28 -0
- package/dist/plain/interval/intervalSplitAtDateTime.js +62 -0
- package/dist/plain/interval/intervalSplitAtTime.d.ts +30 -0
- package/dist/plain/interval/intervalSplitAtTime.js +64 -0
- package/dist/plain/interval/intervalUnionDate.d.ts +29 -0
- package/dist/plain/interval/intervalUnionDate.js +71 -0
- package/dist/plain/interval/intervalUnionDateTime.d.ts +24 -0
- package/dist/plain/interval/intervalUnionDateTime.js +58 -0
- package/dist/plain/interval/intervalUnionTime.d.ts +24 -0
- package/dist/plain/interval/intervalUnionTime.js +58 -0
- package/dist/plain/interval/intervalXorAllDate.d.ts +35 -0
- package/dist/plain/interval/intervalXorAllDate.js +89 -0
- package/dist/plain/interval/intervalXorAllDateTime.d.ts +29 -0
- package/dist/plain/interval/intervalXorAllDateTime.js +77 -0
- package/dist/plain/interval/intervalXorAllTime.d.ts +28 -0
- package/dist/plain/interval/intervalXorAllTime.js +76 -0
- package/dist/plain/interval/intervalXorDate.d.ts +30 -0
- package/dist/plain/interval/intervalXorDate.js +106 -0
- package/dist/plain/interval/intervalXorDateTime.d.ts +25 -0
- package/dist/plain/interval/intervalXorDateTime.js +90 -0
- package/dist/plain/interval/intervalXorTime.d.ts +26 -0
- package/dist/plain/interval/intervalXorTime.js +91 -0
- package/dist/plain/interval/intervalsOverlapDate.d.ts +23 -0
- package/dist/plain/interval/intervalsOverlapDate.js +56 -0
- package/dist/plain/interval/intervalsOverlapDateTime.d.ts +20 -0
- package/dist/plain/interval/intervalsOverlapDateTime.js +52 -0
- package/dist/plain/interval/intervalsOverlapTime.d.ts +21 -0
- package/dist/plain/interval/intervalsOverlapTime.js +53 -0
- package/dist/plain/interval/mergeIntervalsDate.d.ts +31 -0
- package/dist/plain/interval/mergeIntervalsDate.js +67 -0
- package/dist/plain/interval/mergeIntervalsDateTime.d.ts +26 -0
- package/dist/plain/interval/mergeIntervalsDateTime.js +58 -0
- package/dist/plain/interval/mergeIntervalsTime.d.ts +26 -0
- package/dist/plain/interval/mergeIntervalsTime.js +57 -0
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +32 -0
- package/dist/plain/interval/splitIntervalByUnitDate.js +80 -0
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +24 -0
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +72 -0
- package/dist/plain/interval/splitIntervalByUnitTime.d.ts +25 -0
- package/dist/plain/interval/splitIntervalByUnitTime.js +73 -0
- package/dist/plain/interval/validate/index.d.ts +3 -0
- package/dist/plain/interval/validate/index.js +3 -0
- package/dist/plain/interval/validate/isValidDateInterval.d.ts +21 -0
- package/dist/plain/interval/validate/isValidDateInterval.js +37 -0
- package/dist/plain/interval/validate/isValidDateTimeInterval.d.ts +18 -0
- package/dist/plain/interval/validate/isValidDateTimeInterval.js +33 -0
- package/dist/plain/interval/validate/isValidTimeInterval.d.ts +18 -0
- package/dist/plain/interval/validate/isValidTimeInterval.js +48 -0
- package/dist/plain/locale/getLocaleEraNames.d.ts +23 -0
- package/dist/plain/locale/getLocaleEraNames.js +66 -0
- package/dist/plain/locale/getLocaleMeridiems.d.ts +19 -0
- package/dist/plain/locale/getLocaleMeridiems.js +44 -0
- package/dist/plain/locale/getLocaleMonthNames.d.ts +28 -0
- package/dist/plain/locale/getLocaleMonthNames.js +45 -0
- package/dist/plain/locale/getLocaleWeekdayNames.d.ts +25 -0
- package/dist/plain/locale/getLocaleWeekdayNames.js +48 -0
- package/dist/plain/locale/index.d.ts +4 -0
- package/dist/plain/locale/index.js +4 -0
- package/dist/plain/map/index.d.ts +2 -0
- package/dist/plain/map/index.js +2 -0
- package/dist/plain/map/mapDatesInRange.d.ts +19 -0
- package/dist/plain/map/mapDatesInRange.js +46 -0
- package/dist/plain/map/mapDaysInMonth.d.ts +15 -0
- package/dist/plain/map/mapDaysInMonth.js +31 -0
- package/dist/plain/parse/index.d.ts +29 -0
- package/dist/plain/parse/index.js +29 -0
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +85 -0
- package/dist/plain/parse/parseDateTimeWithPattern.js +116 -0
- package/dist/plain/parse/parseDateWithPattern.d.ts +68 -0
- package/dist/plain/parse/parseDateWithPattern.js +91 -0
- package/dist/plain/parse/parseDayFromDate.d.ts +13 -0
- package/dist/plain/parse/parseDayFromDate.js +25 -0
- package/dist/plain/parse/parseDayFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseDayFromDateTime.js +26 -0
- package/dist/plain/parse/parseDayOfWeekFromDate.d.ts +15 -0
- package/dist/plain/parse/parseDayOfWeekFromDate.js +28 -0
- package/dist/plain/parse/parseDayOfWeekFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseDayOfWeekFromDateTime.js +27 -0
- package/dist/plain/parse/parseHourFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseHourFromDateTime.js +26 -0
- package/dist/plain/parse/parseHourFromTime.d.ts +13 -0
- package/dist/plain/parse/parseHourFromTime.js +25 -0
- package/dist/plain/parse/parseMicrosecondFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseMicrosecondFromDateTime.js +26 -0
- package/dist/plain/parse/parseMicrosecondFromTime.d.ts +11 -0
- package/dist/plain/parse/parseMicrosecondFromTime.js +23 -0
- package/dist/plain/parse/parseMillisecondFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseMillisecondFromDateTime.js +26 -0
- package/dist/plain/parse/parseMillisecondFromTime.d.ts +14 -0
- package/dist/plain/parse/parseMillisecondFromTime.js +26 -0
- package/dist/plain/parse/parseMinuteFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseMinuteFromDateTime.js +26 -0
- package/dist/plain/parse/parseMinuteFromTime.d.ts +14 -0
- package/dist/plain/parse/parseMinuteFromTime.js +26 -0
- package/dist/plain/parse/parseMonthFromDate.d.ts +13 -0
- package/dist/plain/parse/parseMonthFromDate.js +25 -0
- package/dist/plain/parse/parseMonthFromDateTime.d.ts +13 -0
- package/dist/plain/parse/parseMonthFromDateTime.js +25 -0
- package/dist/plain/parse/parseNanosecondFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseNanosecondFromDateTime.js +26 -0
- package/dist/plain/parse/parseNanosecondFromTime.d.ts +14 -0
- package/dist/plain/parse/parseNanosecondFromTime.js +26 -0
- package/dist/plain/parse/parseSecondFromDateTime.d.ts +14 -0
- package/dist/plain/parse/parseSecondFromDateTime.js +26 -0
- package/dist/plain/parse/parseSecondFromTime.d.ts +14 -0
- package/dist/plain/parse/parseSecondFromTime.js +26 -0
- package/dist/plain/parse/parseSql.d.ts +23 -0
- package/dist/plain/parse/parseSql.js +36 -0
- package/dist/plain/parse/parseTimeWithPattern.d.ts +57 -0
- package/dist/plain/parse/parseTimeWithPattern.js +85 -0
- package/dist/plain/parse/parseUnitFromDate.d.ts +23 -0
- package/dist/plain/parse/parseUnitFromDate.js +49 -0
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +22 -0
- package/dist/plain/parse/parseUnitFromDateTime.js +56 -0
- package/dist/plain/parse/parseUnitFromTime.d.ts +18 -0
- package/dist/plain/parse/parseUnitFromTime.js +42 -0
- package/dist/plain/parse/parseWeekFromDate.d.ts +19 -0
- package/dist/plain/parse/parseWeekFromDate.js +30 -0
- package/dist/plain/parse/parseWeekFromDateTime.d.ts +18 -0
- package/dist/plain/parse/parseWeekFromDateTime.js +29 -0
- package/dist/plain/parse/parseYearFromDate.d.ts +13 -0
- package/dist/plain/parse/parseYearFromDate.js +25 -0
- package/dist/plain/parse/parseYearFromDateTime.d.ts +13 -0
- package/dist/plain/parse/parseYearFromDateTime.js +25 -0
- package/dist/plain/validate/index.d.ts +19 -0
- package/dist/plain/validate/index.js +19 -0
- package/dist/plain/validate/isLeapSecond.d.ts +16 -0
- package/dist/plain/validate/isLeapSecond.js +19 -0
- package/dist/plain/validate/isLeapYear.d.ts +14 -0
- package/dist/plain/validate/isLeapYear.js +23 -0
- package/dist/plain/validate/isValidCalendarDate.d.ts +17 -0
- package/dist/plain/validate/isValidCalendarDate.js +29 -0
- package/dist/plain/validate/isValidDate.d.ts +16 -0
- package/dist/plain/validate/isValidDate.js +33 -0
- package/dist/plain/validate/isValidDateCycleField.d.ts +21 -0
- package/dist/plain/validate/isValidDateCycleField.js +25 -0
- package/dist/plain/validate/isValidDateDurationUnit.d.ts +16 -0
- package/dist/plain/validate/isValidDateDurationUnit.js +17 -0
- package/dist/plain/validate/isValidDateRange.d.ts +26 -0
- package/dist/plain/validate/isValidDateRange.js +47 -0
- package/dist/plain/validate/isValidDateTime.d.ts +16 -0
- package/dist/plain/validate/isValidDateTime.js +33 -0
- package/dist/plain/validate/isValidDateTimeCycleField.d.ts +16 -0
- package/dist/plain/validate/isValidDateTimeCycleField.js +19 -0
- package/dist/plain/validate/isValidDateTimeDurationUnit.d.ts +16 -0
- package/dist/plain/validate/isValidDateTimeDurationUnit.js +26 -0
- package/dist/plain/validate/isValidDateTimeRange.d.ts +24 -0
- package/dist/plain/validate/isValidDateTimeRange.js +39 -0
- package/dist/plain/validate/isValidDateTimeUnit.d.ts +19 -0
- package/dist/plain/validate/isValidDateTimeUnit.js +32 -0
- package/dist/plain/validate/isValidDateUnit.d.ts +21 -0
- package/dist/plain/validate/isValidDateUnit.js +25 -0
- package/dist/plain/validate/isValidIsoDateLike.d.ts +17 -0
- package/dist/plain/validate/isValidIsoDateLike.js +43 -0
- package/dist/plain/validate/isValidTime.d.ts +16 -0
- package/dist/plain/validate/isValidTime.js +33 -0
- package/dist/plain/validate/isValidTimeCycleField.d.ts +18 -0
- package/dist/plain/validate/isValidTimeCycleField.js +27 -0
- package/dist/plain/validate/isValidTimeDurationUnit.d.ts +16 -0
- package/dist/plain/validate/isValidTimeDurationUnit.js +22 -0
- package/dist/plain/validate/isValidTimeRange.d.ts +24 -0
- package/dist/plain/validate/isValidTimeRange.js +51 -0
- package/dist/plain/validate/isValidTimeUnit.d.ts +19 -0
- package/dist/plain/validate/isValidTimeUnit.js +28 -0
- package/dist/regex/calendar-date.d.ts +1 -0
- package/dist/regex/calendar-date.js +11 -0
- package/dist/regex/calendar-zoned-date-time.d.ts +1 -0
- package/dist/regex/calendar-zoned-date-time.js +41 -0
- package/dist/regex/date-time.d.ts +1 -0
- package/dist/regex/date-time.js +2 -0
- package/dist/regex/date.d.ts +4 -0
- package/dist/regex/date.js +5 -0
- package/dist/regex/http-date.d.ts +1 -0
- package/dist/regex/http-date.js +7 -0
- package/dist/regex/index.d.ts +13 -0
- package/dist/regex/index.js +13 -0
- package/dist/regex/leap-second.d.ts +1 -0
- package/dist/regex/leap-second.js +2 -0
- package/dist/regex/rfc-2822.d.ts +1 -0
- package/dist/regex/rfc-2822.js +9 -0
- package/dist/regex/rfc-3339.d.ts +1 -0
- package/dist/regex/rfc-3339.js +7 -0
- package/dist/regex/sql-date-time.d.ts +1 -0
- package/dist/regex/sql-date-time.js +7 -0
- package/dist/regex/time-zone-like.d.ts +1 -0
- package/dist/regex/time-zone-like.js +1 -0
- package/dist/regex/time.d.ts +6 -0
- package/dist/regex/time.js +9 -0
- package/dist/regex/unix.d.ts +2 -0
- package/dist/regex/unix.js +2 -0
- package/dist/regex/utc-date-time.d.ts +1 -0
- package/dist/regex/utc-date-time.js +2 -0
- package/dist/types/calendar-system.d.ts +1 -0
- package/dist/types/calendar-system.js +0 -0
- package/dist/types/date-cycle-field.d.ts +1 -0
- package/dist/types/date-cycle-field.js +0 -0
- package/dist/types/date-duration-unit.d.ts +2 -0
- package/dist/types/date-duration-unit.js +0 -0
- package/dist/types/date-time-cycle-field.d.ts +3 -0
- package/dist/types/date-time-cycle-field.js +0 -0
- package/dist/types/date-time-duration-units.d.ts +2 -0
- package/dist/types/date-time-duration-units.js +0 -0
- package/dist/types/date-time-unit.d.ts +2 -0
- package/dist/types/date-time-unit.js +0 -0
- package/dist/types/date-unit.d.ts +2 -0
- package/dist/types/date-unit.js +0 -0
- package/dist/types/disambiguation.d.ts +2 -0
- package/dist/types/disambiguation.js +0 -0
- package/dist/types/duration-relative-to.d.ts +2 -0
- package/dist/types/duration-relative-to.js +0 -0
- package/dist/types/duration-string-options.d.ts +6 -0
- package/dist/types/duration-string-options.js +0 -0
- package/dist/types/fractional-digit.d.ts +1 -0
- package/dist/types/fractional-digit.js +0 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.js +18 -0
- package/dist/types/offset.d.ts +2 -0
- package/dist/types/offset.js +0 -0
- package/dist/types/overflow.d.ts +2 -0
- package/dist/types/overflow.js +0 -0
- package/dist/types/relative-rounding-method.d.ts +1 -0
- package/dist/types/relative-rounding-method.js +0 -0
- package/dist/types/rounding-options.d.ts +6 -0
- package/dist/types/rounding-options.js +0 -0
- package/dist/types/time-cycle-field.d.ts +1 -0
- package/dist/types/time-cycle-field.js +0 -0
- package/dist/types/time-duration-unit.d.ts +2 -0
- package/dist/types/time-duration-unit.js +0 -0
- package/dist/types/time-unit.d.ts +2 -0
- package/dist/types/time-unit.js +0 -0
- package/dist/unix/calculate/addUnix.d.ts +25 -0
- package/dist/unix/calculate/addUnix.js +51 -0
- package/dist/unix/calculate/diffUnix.d.ts +30 -0
- package/dist/unix/calculate/diffUnix.js +66 -0
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +35 -0
- package/dist/unix/calculate/diffUnixAsDuration.js +56 -0
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +23 -0
- package/dist/unix/calculate/endOfQuarterForUnix.js +56 -0
- package/dist/unix/calculate/endOfUnix.d.ts +30 -0
- package/dist/unix/calculate/endOfUnix.js +26 -0
- package/dist/unix/calculate/index.d.ts +14 -0
- package/dist/unix/calculate/index.js +14 -0
- package/dist/unix/calculate/isBetweenUnix.d.ts +23 -0
- package/dist/unix/calculate/isBetweenUnix.js +54 -0
- package/dist/unix/calculate/maxUnix.d.ts +13 -0
- package/dist/unix/calculate/maxUnix.js +21 -0
- package/dist/unix/calculate/minUnix.d.ts +13 -0
- package/dist/unix/calculate/minUnix.js +21 -0
- package/dist/unix/calculate/roundUnix.d.ts +27 -0
- package/dist/unix/calculate/roundUnix.js +62 -0
- package/dist/unix/calculate/setUnix.d.ts +35 -0
- package/dist/unix/calculate/setUnix.js +60 -0
- package/dist/unix/calculate/sortUnix.d.ts +16 -0
- package/dist/unix/calculate/sortUnix.js +28 -0
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +23 -0
- package/dist/unix/calculate/startOfQuarterForUnix.js +46 -0
- package/dist/unix/calculate/startOfUnix.d.ts +30 -0
- package/dist/unix/calculate/startOfUnix.js +26 -0
- package/dist/unix/calculate/startOrEndOfUnix.d.ts +9 -0
- package/dist/unix/calculate/startOrEndOfUnix.js +122 -0
- package/dist/unix/calculate/subtractUnix.d.ts +25 -0
- package/dist/unix/calculate/subtractUnix.js +51 -0
- package/dist/unix/compare/areUnixEqual.d.ts +21 -0
- package/dist/unix/compare/areUnixEqual.js +33 -0
- package/dist/unix/compare/areUnixEqualBy.d.ts +31 -0
- package/dist/unix/compare/areUnixEqualBy.js +39 -0
- package/dist/unix/compare/index.d.ts +4 -0
- package/dist/unix/compare/index.js +4 -0
- package/dist/unix/compare/isAfterUnix.d.ts +19 -0
- package/dist/unix/compare/isAfterUnix.js +31 -0
- package/dist/unix/compare/isBeforeUnix.d.ts +21 -0
- package/dist/unix/compare/isBeforeUnix.js +33 -0
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +19 -0
- package/dist/unix/convert/convertUnixToPlainDate.js +38 -0
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +19 -0
- package/dist/unix/convert/convertUnixToPlainDateTime.js +38 -0
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +19 -0
- package/dist/unix/convert/convertUnixToPlainTime.js +38 -0
- package/dist/unix/convert/convertUnixToUtc.d.ts +17 -0
- package/dist/unix/convert/convertUnixToUtc.js +31 -0
- package/dist/unix/convert/convertUnixToZoned.d.ts +18 -0
- package/dist/unix/convert/convertUnixToZoned.js +35 -0
- package/dist/unix/convert/index.d.ts +5 -0
- package/dist/unix/convert/index.js +5 -0
- package/dist/unix/format/formatCalendarUnix.d.ts +29 -0
- package/dist/unix/format/formatCalendarUnix.js +107 -0
- package/dist/unix/format/formatRelativeUnix.d.ts +34 -0
- package/dist/unix/format/formatRelativeUnix.js +118 -0
- package/dist/unix/format/formatUnix.d.ts +6 -0
- package/dist/unix/format/formatUnix.js +41 -0
- package/dist/unix/format/index.d.ts +3 -0
- package/dist/unix/format/index.js +3 -0
- package/dist/unix/get/getUnixDay.d.ts +13 -0
- package/dist/unix/get/getUnixDay.js +24 -0
- package/dist/unix/get/getUnixHour.d.ts +13 -0
- package/dist/unix/get/getUnixHour.js +24 -0
- package/dist/unix/get/getUnixMicrosecond.d.ts +13 -0
- package/dist/unix/get/getUnixMicrosecond.js +23 -0
- package/dist/unix/get/getUnixMillisecond.d.ts +13 -0
- package/dist/unix/get/getUnixMillisecond.js +24 -0
- package/dist/unix/get/getUnixMinute.d.ts +13 -0
- package/dist/unix/get/getUnixMinute.js +24 -0
- package/dist/unix/get/getUnixMonth.d.ts +13 -0
- package/dist/unix/get/getUnixMonth.js +24 -0
- package/dist/unix/get/getUnixNanosecond.d.ts +13 -0
- package/dist/unix/get/getUnixNanosecond.js +23 -0
- package/dist/unix/get/getUnixNow.d.ts +15 -0
- package/dist/unix/get/getUnixNow.js +28 -0
- package/dist/unix/get/getUnixNowUnit.d.ts +18 -0
- package/dist/unix/get/getUnixNowUnit.js +61 -0
- package/dist/unix/get/getUnixSecond.d.ts +13 -0
- package/dist/unix/get/getUnixSecond.js +24 -0
- package/dist/unix/get/getUnixYear.d.ts +13 -0
- package/dist/unix/get/getUnixYear.js +24 -0
- package/dist/unix/get/index.d.ts +11 -0
- package/dist/unix/get/index.js +11 -0
- package/dist/unix/index.d.ts +8 -0
- package/dist/unix/index.js +8 -0
- package/dist/unix/interval/index.d.ts +18 -0
- package/dist/unix/interval/index.js +18 -0
- package/dist/unix/interval/intervalAbutsUnix.d.ts +22 -0
- package/dist/unix/interval/intervalAbutsUnix.js +54 -0
- package/dist/unix/interval/intervalContainsUnix.d.ts +25 -0
- package/dist/unix/interval/intervalContainsUnix.js +60 -0
- package/dist/unix/interval/intervalCountUnix.d.ts +28 -0
- package/dist/unix/interval/intervalCountUnix.js +44 -0
- package/dist/unix/interval/intervalDifferenceUnix.d.ts +24 -0
- package/dist/unix/interval/intervalDifferenceUnix.js +57 -0
- package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +27 -0
- package/dist/unix/interval/intervalDivideEquallyUnix.js +54 -0
- package/dist/unix/interval/intervalEngulfsUnix.d.ts +22 -0
- package/dist/unix/interval/intervalEngulfsUnix.js +46 -0
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +37 -0
- package/dist/unix/interval/intervalFromDurationUnix.js +73 -0
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +24 -0
- package/dist/unix/interval/intervalIntersectionUnix.js +57 -0
- package/dist/unix/interval/intervalLengthUnix.d.ts +24 -0
- package/dist/unix/interval/intervalLengthUnix.js +39 -0
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +34 -0
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +89 -0
- package/dist/unix/interval/intervalSplitAtUnix.d.ts +26 -0
- package/dist/unix/interval/intervalSplitAtUnix.js +55 -0
- package/dist/unix/interval/intervalUnionUnix.d.ts +25 -0
- package/dist/unix/interval/intervalUnionUnix.js +58 -0
- package/dist/unix/interval/intervalXorAllUnix.d.ts +28 -0
- package/dist/unix/interval/intervalXorAllUnix.js +77 -0
- package/dist/unix/interval/intervalXorUnix.d.ts +25 -0
- package/dist/unix/interval/intervalXorUnix.js +70 -0
- package/dist/unix/interval/intervalsOverlapUnix.d.ts +21 -0
- package/dist/unix/interval/intervalsOverlapUnix.js +51 -0
- package/dist/unix/interval/mergeIntervalsUnix.d.ts +25 -0
- package/dist/unix/interval/mergeIntervalsUnix.js +55 -0
- package/dist/unix/interval/resolveUnixIntervalPair.d.ts +7 -0
- package/dist/unix/interval/resolveUnixIntervalPair.js +36 -0
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +27 -0
- package/dist/unix/interval/splitIntervalByUnitUnix.js +85 -0
- package/dist/unix/interval/validate/index.d.ts +1 -0
- package/dist/unix/interval/validate/index.js +1 -0
- package/dist/unix/interval/validate/isValidUnixInterval.d.ts +18 -0
- package/dist/unix/interval/validate/isValidUnixInterval.js +31 -0
- package/dist/unix/parse/index.d.ts +12 -0
- package/dist/unix/parse/index.js +12 -0
- package/dist/unix/parse/parseDateFromUnix.d.ts +20 -0
- package/dist/unix/parse/parseDateFromUnix.js +45 -0
- package/dist/unix/parse/parseDayFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseDayFromUnix.js +17 -0
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +44 -0
- package/dist/unix/parse/parseHourFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseHourFromUnix.js +17 -0
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseMicrosecondFromUnix.js +17 -0
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseMillisecondFromUnix.js +17 -0
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseMinuteFromUnix.js +17 -0
- package/dist/unix/parse/parseMonthFromUnix.d.ts +19 -0
- package/dist/unix/parse/parseMonthFromUnix.js +18 -0
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseNanosecondFromUnix.js +17 -0
- package/dist/unix/parse/parseSecondFromUnix.d.ts +18 -0
- package/dist/unix/parse/parseSecondFromUnix.js +17 -0
- package/dist/unix/parse/parseTimeFromUnix.d.ts +20 -0
- package/dist/unix/parse/parseTimeFromUnix.js +45 -0
- package/dist/unix/parse/parseUnitFromUnix.d.ts +25 -0
- package/dist/unix/parse/parseUnitFromUnix.js +77 -0
- package/dist/unix/parse/parseWeekFromUnix.d.ts +20 -0
- package/dist/unix/parse/parseWeekFromUnix.js +47 -0
- package/dist/unix/parse/parseYearFromUnix.d.ts +19 -0
- package/dist/unix/parse/parseYearFromUnix.js +18 -0
- package/dist/unix/validate/index.d.ts +4 -0
- package/dist/unix/validate/index.js +4 -0
- package/dist/unix/validate/isValidUnixMilliseconds.d.ts +14 -0
- package/dist/unix/validate/isValidUnixMilliseconds.js +19 -0
- package/dist/unix/validate/isValidUnixRange.d.ts +24 -0
- package/dist/unix/validate/isValidUnixRange.js +34 -0
- package/dist/unix/validate/isValidUnixSeconds.d.ts +14 -0
- package/dist/unix/validate/isValidUnixSeconds.js +19 -0
- package/dist/unix/validate/isValidUnixUnit.d.ts +18 -0
- package/dist/unix/validate/isValidUnixUnit.js +22 -0
- package/dist/utc/calculate/addUtc.d.ts +23 -0
- package/dist/utc/calculate/addUtc.js +42 -0
- package/dist/utc/calculate/diffUtc.d.ts +27 -0
- package/dist/utc/calculate/diffUtc.js +61 -0
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +31 -0
- package/dist/utc/calculate/diffUtcAsDuration.js +50 -0
- package/dist/utc/calculate/endOfQuarterForUtc.d.ts +14 -0
- package/dist/utc/calculate/endOfQuarterForUtc.js +49 -0
- package/dist/utc/calculate/endOfUtc.d.ts +22 -0
- package/dist/utc/calculate/endOfUtc.js +21 -0
- package/dist/utc/calculate/index.d.ts +14 -0
- package/dist/utc/calculate/index.js +14 -0
- package/dist/utc/calculate/isBetweenUtc.d.ts +21 -0
- package/dist/utc/calculate/isBetweenUtc.js +52 -0
- package/dist/utc/calculate/maxUtc.d.ts +15 -0
- package/dist/utc/calculate/maxUtc.js +35 -0
- package/dist/utc/calculate/minUtc.d.ts +15 -0
- package/dist/utc/calculate/minUtc.js +35 -0
- package/dist/utc/calculate/roundUtc.d.ts +26 -0
- package/dist/utc/calculate/roundUtc.js +56 -0
- package/dist/utc/calculate/setUtc.d.ts +38 -0
- package/dist/utc/calculate/setUtc.js +54 -0
- package/dist/utc/calculate/sortUtc.d.ts +17 -0
- package/dist/utc/calculate/sortUtc.js +36 -0
- package/dist/utc/calculate/startOfQuarterForUtc.d.ts +13 -0
- package/dist/utc/calculate/startOfQuarterForUtc.js +32 -0
- package/dist/utc/calculate/startOfUtc.d.ts +22 -0
- package/dist/utc/calculate/startOfUtc.js +21 -0
- package/dist/utc/calculate/startOrEndOfUtc.d.ts +6 -0
- package/dist/utc/calculate/startOrEndOfUtc.js +143 -0
- package/dist/utc/calculate/subtractUtc.d.ts +23 -0
- package/dist/utc/calculate/subtractUtc.js +42 -0
- package/dist/utc/chop/chopUtc.d.ts +14 -0
- package/dist/utc/chop/chopUtc.js +21 -0
- package/dist/utc/chop/index.d.ts +1 -0
- package/dist/utc/chop/index.js +1 -0
- package/dist/utc/compare/areUtcEqual.d.ts +15 -0
- package/dist/utc/compare/areUtcEqual.js +29 -0
- package/dist/utc/compare/areUtcEqualBy.d.ts +30 -0
- package/dist/utc/compare/areUtcEqualBy.js +45 -0
- package/dist/utc/compare/index.d.ts +4 -0
- package/dist/utc/compare/index.js +4 -0
- package/dist/utc/compare/isAfterUtc.d.ts +15 -0
- package/dist/utc/compare/isAfterUtc.js +28 -0
- package/dist/utc/compare/isBeforeUtc.d.ts +15 -0
- package/dist/utc/compare/isBeforeUtc.js +29 -0
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +18 -0
- package/dist/utc/convert/convertUtcToPlainDate.js +35 -0
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +18 -0
- package/dist/utc/convert/convertUtcToPlainDateTime.js +41 -0
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +18 -0
- package/dist/utc/convert/convertUtcToPlainTime.js +35 -0
- package/dist/utc/convert/convertUtcToUnix.d.ts +17 -0
- package/dist/utc/convert/convertUtcToUnix.js +33 -0
- package/dist/utc/convert/convertUtcToZoned.d.ts +15 -0
- package/dist/utc/convert/convertUtcToZoned.js +28 -0
- package/dist/utc/convert/index.d.ts +5 -0
- package/dist/utc/convert/index.js +5 -0
- package/dist/utc/format/formatCalendarUtc.d.ts +28 -0
- package/dist/utc/format/formatCalendarUtc.js +68 -0
- package/dist/utc/format/formatHttp.d.ts +22 -0
- package/dist/utc/format/formatHttp.js +42 -0
- package/dist/utc/format/formatRelativeUtc.d.ts +33 -0
- package/dist/utc/format/formatRelativeUtc.js +76 -0
- package/dist/utc/format/formatUtc.d.ts +5 -0
- package/dist/utc/format/formatUtc.js +23 -0
- package/dist/utc/format/index.d.ts +4 -0
- package/dist/utc/format/index.js +4 -0
- package/dist/utc/get/getUtcDay.d.ts +13 -0
- package/dist/utc/get/getUtcDay.js +24 -0
- package/dist/utc/get/getUtcHour.d.ts +13 -0
- package/dist/utc/get/getUtcHour.js +24 -0
- package/dist/utc/get/getUtcMicrosecond.d.ts +13 -0
- package/dist/utc/get/getUtcMicrosecond.js +23 -0
- package/dist/utc/get/getUtcMillisecond.d.ts +13 -0
- package/dist/utc/get/getUtcMillisecond.js +24 -0
- package/dist/utc/get/getUtcMinute.d.ts +13 -0
- package/dist/utc/get/getUtcMinute.js +24 -0
- package/dist/utc/get/getUtcMonth.d.ts +13 -0
- package/dist/utc/get/getUtcMonth.js +24 -0
- package/dist/utc/get/getUtcNanosecond.d.ts +13 -0
- package/dist/utc/get/getUtcNanosecond.js +23 -0
- package/dist/utc/get/getUtcNow.d.ts +12 -0
- package/dist/utc/get/getUtcNow.js +20 -0
- package/dist/utc/get/getUtcNowUnit.d.ts +18 -0
- package/dist/utc/get/getUtcNowUnit.js +61 -0
- package/dist/utc/get/getUtcSecond.d.ts +13 -0
- package/dist/utc/get/getUtcSecond.js +24 -0
- package/dist/utc/get/getUtcYear.d.ts +13 -0
- package/dist/utc/get/getUtcYear.js +24 -0
- package/dist/utc/get/index.d.ts +11 -0
- package/dist/utc/get/index.js +11 -0
- package/dist/utc/index.d.ts +9 -0
- package/dist/utc/index.js +9 -0
- package/dist/utc/interval/index.d.ts +18 -0
- package/dist/utc/interval/index.js +18 -0
- package/dist/utc/interval/intervalAbutsUtc.d.ts +22 -0
- package/dist/utc/interval/intervalAbutsUtc.js +70 -0
- package/dist/utc/interval/intervalContainsUtc.d.ts +23 -0
- package/dist/utc/interval/intervalContainsUtc.js +66 -0
- package/dist/utc/interval/intervalCountUtc.d.ts +28 -0
- package/dist/utc/interval/intervalCountUtc.js +68 -0
- package/dist/utc/interval/intervalDifferenceUtc.d.ts +24 -0
- package/dist/utc/interval/intervalDifferenceUtc.js +76 -0
- package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +26 -0
- package/dist/utc/interval/intervalDivideEquallyUtc.js +65 -0
- package/dist/utc/interval/intervalEngulfsUtc.d.ts +22 -0
- package/dist/utc/interval/intervalEngulfsUtc.js +61 -0
- package/dist/utc/interval/intervalFromDurationUtc.d.ts +35 -0
- package/dist/utc/interval/intervalFromDurationUtc.js +64 -0
- package/dist/utc/interval/intervalIntersectionUtc.d.ts +23 -0
- package/dist/utc/interval/intervalIntersectionUtc.js +64 -0
- package/dist/utc/interval/intervalLengthUtc.d.ts +22 -0
- package/dist/utc/interval/intervalLengthUtc.js +52 -0
- package/dist/utc/interval/intervalOverlappingDaysUtc.d.ts +29 -0
- package/dist/utc/interval/intervalOverlappingDaysUtc.js +75 -0
- package/dist/utc/interval/intervalSplitAtUtc.d.ts +27 -0
- package/dist/utc/interval/intervalSplitAtUtc.js +64 -0
- package/dist/utc/interval/intervalUnionUtc.d.ts +24 -0
- package/dist/utc/interval/intervalUnionUtc.js +65 -0
- package/dist/utc/interval/intervalXorAllUtc.d.ts +28 -0
- package/dist/utc/interval/intervalXorAllUtc.js +81 -0
- package/dist/utc/interval/intervalXorUtc.d.ts +25 -0
- package/dist/utc/interval/intervalXorUtc.js +97 -0
- package/dist/utc/interval/intervalsOverlapUtc.d.ts +20 -0
- package/dist/utc/interval/intervalsOverlapUtc.js +59 -0
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +25 -0
- package/dist/utc/interval/mergeIntervalsUtc.js +61 -0
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +25 -0
- package/dist/utc/interval/splitIntervalByUnitUtc.js +78 -0
- package/dist/utc/interval/validate/index.d.ts +1 -0
- package/dist/utc/interval/validate/index.js +1 -0
- package/dist/utc/interval/validate/isValidUtcInterval.d.ts +19 -0
- package/dist/utc/interval/validate/isValidUtcInterval.js +40 -0
- package/dist/utc/parse/index.d.ts +15 -0
- package/dist/utc/parse/index.js +15 -0
- package/dist/utc/parse/parseDateFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseDateFromUtc.js +27 -0
- package/dist/utc/parse/parseDayFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseDayFromUtc.js +26 -0
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +14 -0
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +27 -0
- package/dist/utc/parse/parseHourFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseHourFromUtc.js +26 -0
- package/dist/utc/parse/parseHttp.d.ts +24 -0
- package/dist/utc/parse/parseHttp.js +51 -0
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseMicrosecondFromUtc.js +26 -0
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseMillisecondFromUtc.js +26 -0
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseMinuteFromUtc.js +26 -0
- package/dist/utc/parse/parseMonthFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseMonthFromUtc.js +26 -0
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseNanosecondFromUtc.js +26 -0
- package/dist/utc/parse/parseSecondFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseSecondFromUtc.js +26 -0
- package/dist/utc/parse/parseTimeFromUtc.d.ts +18 -0
- package/dist/utc/parse/parseTimeFromUtc.js +35 -0
- package/dist/utc/parse/parseUnitFromUtc.d.ts +21 -0
- package/dist/utc/parse/parseUnitFromUtc.js +55 -0
- package/dist/utc/parse/parseWeekFromUtc.d.ts +16 -0
- package/dist/utc/parse/parseWeekFromUtc.js +30 -0
- package/dist/utc/parse/parseYearFromUtc.d.ts +13 -0
- package/dist/utc/parse/parseYearFromUtc.js +26 -0
- package/dist/utc/validate/index.d.ts +2 -0
- package/dist/utc/validate/index.js +2 -0
- package/dist/utc/validate/isValidUtc.d.ts +17 -0
- package/dist/utc/validate/isValidUtc.js +34 -0
- package/dist/utc/validate/isValidUtcRange.d.ts +25 -0
- package/dist/utc/validate/isValidUtcRange.js +44 -0
- package/dist/zoned/calculate/addZoned.d.ts +50 -0
- package/dist/zoned/calculate/addZoned.js +88 -0
- package/dist/zoned/calculate/addZonedBusinessDays.d.ts +18 -0
- package/dist/zoned/calculate/addZonedBusinessDays.js +30 -0
- package/dist/zoned/calculate/clampZoned.d.ts +20 -0
- package/dist/zoned/calculate/clampZoned.js +48 -0
- package/dist/zoned/calculate/closestZonedTo.d.ts +18 -0
- package/dist/zoned/calculate/closestZonedTo.js +46 -0
- package/dist/zoned/calculate/cycleZoned.d.ts +44 -0
- package/dist/zoned/calculate/cycleZoned.js +58 -0
- package/dist/zoned/calculate/diffZoned.d.ts +39 -0
- package/dist/zoned/calculate/diffZoned.js +76 -0
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +36 -0
- package/dist/zoned/calculate/diffZonedAsDuration.js +55 -0
- package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +25 -0
- package/dist/zoned/calculate/endOfQuarterForZoned.js +50 -0
- package/dist/zoned/calculate/endOfZoned.d.ts +28 -0
- package/dist/zoned/calculate/endOfZoned.js +130 -0
- package/dist/zoned/calculate/getHoursInZonedDay.d.ts +22 -0
- package/dist/zoned/calculate/getHoursInZonedDay.js +45 -0
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +20 -0
- package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +36 -0
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +44 -0
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +68 -0
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +44 -0
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +68 -0
- package/dist/zoned/calculate/getQuarterForZoned.d.ts +15 -0
- package/dist/zoned/calculate/getQuarterForZoned.js +28 -0
- package/dist/zoned/calculate/index.d.ts +23 -0
- package/dist/zoned/calculate/index.js +23 -0
- package/dist/zoned/calculate/maxZoned.d.ts +15 -0
- package/dist/zoned/calculate/maxZoned.js +35 -0
- package/dist/zoned/calculate/minZoned.d.ts +15 -0
- package/dist/zoned/calculate/minZoned.js +35 -0
- package/dist/zoned/calculate/roundZoned.d.ts +23 -0
- package/dist/zoned/calculate/roundZoned.js +55 -0
- package/dist/zoned/calculate/setZoned.d.ts +39 -0
- package/dist/zoned/calculate/setZoned.js +56 -0
- package/dist/zoned/calculate/sortZoned.d.ts +17 -0
- package/dist/zoned/calculate/sortZoned.js +36 -0
- package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +25 -0
- package/dist/zoned/calculate/startOfQuarterForZoned.js +40 -0
- package/dist/zoned/calculate/startOfZoned.d.ts +27 -0
- package/dist/zoned/calculate/startOfZoned.js +122 -0
- package/dist/zoned/calculate/subtractZoned.d.ts +47 -0
- package/dist/zoned/calculate/subtractZoned.js +82 -0
- package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +18 -0
- package/dist/zoned/calculate/subtractZonedBusinessDays.js +28 -0
- package/dist/zoned/chop/chopZonedDate.d.ts +13 -0
- package/dist/zoned/chop/chopZonedDate.js +24 -0
- package/dist/zoned/chop/chopZonedDateTime.d.ts +13 -0
- package/dist/zoned/chop/chopZonedDateTime.js +26 -0
- package/dist/zoned/chop/chopZonedMilliseconds.d.ts +13 -0
- package/dist/zoned/chop/chopZonedMilliseconds.js +26 -0
- package/dist/zoned/chop/chopZonedSeconds.d.ts +13 -0
- package/dist/zoned/chop/chopZonedSeconds.js +26 -0
- package/dist/zoned/chop/chopZonedTime.d.ts +13 -0
- package/dist/zoned/chop/chopZonedTime.js +24 -0
- package/dist/zoned/chop/chopZonedTimezone.d.ts +13 -0
- package/dist/zoned/chop/chopZonedTimezone.js +24 -0
- package/dist/zoned/chop/index.d.ts +6 -0
- package/dist/zoned/chop/index.js +6 -0
- package/dist/zoned/compare/areZonedEqual.d.ts +15 -0
- package/dist/zoned/compare/areZonedEqual.js +45 -0
- package/dist/zoned/compare/areZonedEqualBy.d.ts +30 -0
- package/dist/zoned/compare/areZonedEqualBy.js +49 -0
- package/dist/zoned/compare/index.d.ts +12 -0
- package/dist/zoned/compare/index.js +12 -0
- package/dist/zoned/compare/isAfterZoned.d.ts +15 -0
- package/dist/zoned/compare/isAfterZoned.js +36 -0
- package/dist/zoned/compare/isBeforeZoned.d.ts +15 -0
- package/dist/zoned/compare/isBeforeZoned.js +36 -0
- package/dist/zoned/compare/isBetweenZoned.d.ts +19 -0
- package/dist/zoned/compare/isBetweenZoned.js +55 -0
- package/dist/zoned/compare/isInDaylightSaving.d.ts +25 -0
- package/dist/zoned/compare/isInDaylightSaving.js +68 -0
- package/dist/zoned/compare/isZonedBusinessDay.d.ts +22 -0
- package/dist/zoned/compare/isZonedBusinessDay.js +34 -0
- package/dist/zoned/compare/isZonedFuture.d.ts +18 -0
- package/dist/zoned/compare/isZonedFuture.js +31 -0
- package/dist/zoned/compare/isZonedPast.d.ts +18 -0
- package/dist/zoned/compare/isZonedPast.js +31 -0
- package/dist/zoned/compare/isZonedRelativeDay.d.ts +25 -0
- package/dist/zoned/compare/isZonedRelativeDay.js +40 -0
- package/dist/zoned/compare/isZonedThisUnit.d.ts +28 -0
- package/dist/zoned/compare/isZonedThisUnit.js +52 -0
- package/dist/zoned/compare/isZonedWeekend.d.ts +23 -0
- package/dist/zoned/compare/isZonedWeekend.js +39 -0
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +26 -0
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +42 -0
- package/dist/zoned/convert/convertZonedToCalendar.d.ts +49 -0
- package/dist/zoned/convert/convertZonedToCalendar.js +67 -0
- package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +13 -0
- package/dist/zoned/convert/convertZonedToPlainDateTime.js +25 -0
- package/dist/zoned/convert/convertZonedToUnix.d.ts +17 -0
- package/dist/zoned/convert/convertZonedToUnix.js +34 -0
- package/dist/zoned/convert/convertZonedToUtc.d.ts +13 -0
- package/dist/zoned/convert/convertZonedToUtc.js +25 -0
- package/dist/zoned/convert/convertZonedToZoned.d.ts +14 -0
- package/dist/zoned/convert/convertZonedToZoned.js +27 -0
- package/dist/zoned/convert/index.d.ts +6 -0
- package/dist/zoned/convert/index.js +6 -0
- package/dist/zoned/format/formatCalendarZoned.d.ts +34 -0
- package/dist/zoned/format/formatCalendarZoned.js +65 -0
- package/dist/zoned/format/formatRelativeZoned.d.ts +44 -0
- package/dist/zoned/format/formatRelativeZoned.js +79 -0
- package/dist/zoned/format/formatRfc2822.d.ts +22 -0
- package/dist/zoned/format/formatRfc2822.js +47 -0
- package/dist/zoned/format/formatRfc3339.d.ts +24 -0
- package/dist/zoned/format/formatRfc3339.js +37 -0
- package/dist/zoned/format/formatTimeZoneName.d.ts +39 -0
- package/dist/zoned/format/formatTimeZoneName.js +56 -0
- package/dist/zoned/format/formatZonedDateTime.d.ts +17 -0
- package/dist/zoned/format/formatZonedDateTime.js +32 -0
- package/dist/zoned/format/formatZonedRange.d.ts +18 -0
- package/dist/zoned/format/formatZonedRange.js +48 -0
- package/dist/zoned/format/formatZonedToParts.d.ts +29 -0
- package/dist/zoned/format/formatZonedToParts.js +48 -0
- package/dist/zoned/format/index.d.ts +8 -0
- package/dist/zoned/format/index.js +8 -0
- package/dist/zoned/get/getDstTransitions.d.ts +36 -0
- package/dist/zoned/get/getDstTransitions.js +62 -0
- package/dist/zoned/get/getSystemTimeZone.d.ts +11 -0
- package/dist/zoned/get/getSystemTimeZone.js +19 -0
- package/dist/zoned/get/getTimeZoneOffset.d.ts +21 -0
- package/dist/zoned/get/getTimeZoneOffset.js +33 -0
- package/dist/zoned/get/getTimeZones.d.ts +12 -0
- package/dist/zoned/get/getTimeZones.js +19 -0
- package/dist/zoned/get/getZonedDay.d.ts +13 -0
- package/dist/zoned/get/getZonedDay.js +26 -0
- package/dist/zoned/get/getZonedDayOfWeek.d.ts +14 -0
- package/dist/zoned/get/getZonedDayOfWeek.js +26 -0
- package/dist/zoned/get/getZonedHour.d.ts +13 -0
- package/dist/zoned/get/getZonedHour.js +26 -0
- package/dist/zoned/get/getZonedMicrosecond.d.ts +13 -0
- package/dist/zoned/get/getZonedMicrosecond.js +26 -0
- package/dist/zoned/get/getZonedMillisecond.d.ts +13 -0
- package/dist/zoned/get/getZonedMillisecond.js +26 -0
- package/dist/zoned/get/getZonedMinute.d.ts +13 -0
- package/dist/zoned/get/getZonedMinute.js +26 -0
- package/dist/zoned/get/getZonedMonth.d.ts +13 -0
- package/dist/zoned/get/getZonedMonth.js +26 -0
- package/dist/zoned/get/getZonedNanosecond.d.ts +13 -0
- package/dist/zoned/get/getZonedNanosecond.js +26 -0
- package/dist/zoned/get/getZonedNow.d.ts +17 -0
- package/dist/zoned/get/getZonedNow.js +31 -0
- package/dist/zoned/get/getZonedNowUnit.d.ts +16 -0
- package/dist/zoned/get/getZonedNowUnit.js +72 -0
- package/dist/zoned/get/getZonedSecond.d.ts +13 -0
- package/dist/zoned/get/getZonedSecond.js +26 -0
- package/dist/zoned/get/getZonedToday.d.ts +13 -0
- package/dist/zoned/get/getZonedToday.js +26 -0
- package/dist/zoned/get/getZonedWeekOfYear.d.ts +14 -0
- package/dist/zoned/get/getZonedWeekOfYear.js +26 -0
- package/dist/zoned/get/getZonedYear.d.ts +13 -0
- package/dist/zoned/get/getZonedYear.js +26 -0
- package/dist/zoned/get/index.d.ts +18 -0
- package/dist/zoned/get/index.js +18 -0
- package/dist/zoned/index.d.ts +11 -0
- package/dist/zoned/index.js +12 -0
- package/dist/zoned/interval/index.d.ts +18 -0
- package/dist/zoned/interval/index.js +18 -0
- package/dist/zoned/interval/intervalAbutsZoned.d.ts +30 -0
- package/dist/zoned/interval/intervalAbutsZoned.js +74 -0
- package/dist/zoned/interval/intervalContainsZoned.d.ts +31 -0
- package/dist/zoned/interval/intervalContainsZoned.js +70 -0
- package/dist/zoned/interval/intervalCountZoned.d.ts +39 -0
- package/dist/zoned/interval/intervalCountZoned.js +82 -0
- package/dist/zoned/interval/intervalDifferenceZoned.d.ts +38 -0
- package/dist/zoned/interval/intervalDifferenceZoned.js +94 -0
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +35 -0
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +80 -0
- package/dist/zoned/interval/intervalEngulfsZoned.d.ts +30 -0
- package/dist/zoned/interval/intervalEngulfsZoned.js +65 -0
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +45 -0
- package/dist/zoned/interval/intervalFromDurationZoned.js +85 -0
- package/dist/zoned/interval/intervalIntersectionZoned.d.ts +36 -0
- package/dist/zoned/interval/intervalIntersectionZoned.js +77 -0
- package/dist/zoned/interval/intervalLengthZoned.d.ts +31 -0
- package/dist/zoned/interval/intervalLengthZoned.js +61 -0
- package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +42 -0
- package/dist/zoned/interval/intervalOverlappingDaysZoned.js +89 -0
- package/dist/zoned/interval/intervalSplitAtZoned.d.ts +36 -0
- package/dist/zoned/interval/intervalSplitAtZoned.js +84 -0
- package/dist/zoned/interval/intervalUnionZoned.d.ts +38 -0
- package/dist/zoned/interval/intervalUnionZoned.js +79 -0
- package/dist/zoned/interval/intervalXorAllZoned.d.ts +37 -0
- package/dist/zoned/interval/intervalXorAllZoned.js +108 -0
- package/dist/zoned/interval/intervalXorZoned.d.ts +39 -0
- package/dist/zoned/interval/intervalXorZoned.js +118 -0
- package/dist/zoned/interval/intervalsOverlapZoned.d.ts +27 -0
- package/dist/zoned/interval/intervalsOverlapZoned.js +62 -0
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +36 -0
- package/dist/zoned/interval/mergeIntervalsZoned.js +77 -0
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +31 -0
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +77 -0
- package/dist/zoned/interval/validate/index.d.ts +2 -0
- package/dist/zoned/interval/validate/index.js +2 -0
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +31 -0
- package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +45 -0
- package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +23 -0
- package/dist/zoned/interval/validate/isValidZonedInterval.js +44 -0
- package/dist/zoned/map/index.d.ts +2 -0
- package/dist/zoned/map/index.js +2 -0
- package/dist/zoned/map/mapZonedDatesInRange.d.ts +16 -0
- package/dist/zoned/map/mapZonedDatesInRange.js +56 -0
- package/dist/zoned/map/mapZonedHoursInDay.d.ts +23 -0
- package/dist/zoned/map/mapZonedHoursInDay.js +47 -0
- package/dist/zoned/parse/getZonedOffset.d.ts +17 -0
- package/dist/zoned/parse/getZonedOffset.js +29 -0
- package/dist/zoned/parse/getZonedOffsetAs.d.ts +29 -0
- package/dist/zoned/parse/getZonedOffsetAs.js +44 -0
- package/dist/zoned/parse/index.d.ts +20 -0
- package/dist/zoned/parse/index.js +20 -0
- package/dist/zoned/parse/parseDateFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseDateFromZoned.js +26 -0
- package/dist/zoned/parse/parseDateTimeFromZoned.d.ts +14 -0
- package/dist/zoned/parse/parseDateTimeFromZoned.js +27 -0
- package/dist/zoned/parse/parseDayFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseDayFromZoned.js +26 -0
- package/dist/zoned/parse/parseDayOfWeekFromZoned.d.ts +14 -0
- package/dist/zoned/parse/parseDayOfWeekFromZoned.js +27 -0
- package/dist/zoned/parse/parseHourFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseHourFromZoned.js +26 -0
- package/dist/zoned/parse/parseMicrosecondFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseMicrosecondFromZoned.js +26 -0
- package/dist/zoned/parse/parseMillisecondFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseMillisecondFromZoned.js +26 -0
- package/dist/zoned/parse/parseMinuteFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseMinuteFromZoned.js +26 -0
- package/dist/zoned/parse/parseMonthFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseMonthFromZoned.js +26 -0
- package/dist/zoned/parse/parseNanosecondFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseNanosecondFromZoned.js +26 -0
- package/dist/zoned/parse/parseRfc2822.d.ts +26 -0
- package/dist/zoned/parse/parseRfc2822.js +71 -0
- package/dist/zoned/parse/parseRfc3339.d.ts +23 -0
- package/dist/zoned/parse/parseRfc3339.js +42 -0
- package/dist/zoned/parse/parseSecondFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseSecondFromZoned.js +26 -0
- package/dist/zoned/parse/parseTimeFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseTimeFromZoned.js +26 -0
- package/dist/zoned/parse/parseTimeZoneFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseTimeZoneFromZoned.js +25 -0
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +19 -0
- package/dist/zoned/parse/parseUnitFromZoned.js +71 -0
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +17 -0
- package/dist/zoned/parse/parseWeekFromZoned.js +30 -0
- package/dist/zoned/parse/parseYearFromZoned.d.ts +13 -0
- package/dist/zoned/parse/parseYearFromZoned.js +26 -0
- package/dist/zoned/validate/hasDaylightSaving.d.ts +17 -0
- package/dist/zoned/validate/hasDaylightSaving.js +43 -0
- package/dist/zoned/validate/index.d.ts +5 -0
- package/dist/zoned/validate/index.js +5 -0
- package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +30 -0
- package/dist/zoned/validate/isValidCalendarZonedDateTime.js +41 -0
- package/dist/zoned/validate/isValidTimeZone.d.ts +15 -0
- package/dist/zoned/validate/isValidTimeZone.js +33 -0
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +22 -0
- package/dist/zoned/validate/isValidZonedDateTime.js +39 -0
- package/dist/zoned/validate/isValidZonedRange.d.ts +26 -0
- package/dist/zoned/validate/isValidZonedRange.js +43 -0
- package/package.json +113 -0
- package/skills/_artifacts/domain_map.yaml +547 -0
- package/skills/_artifacts/skill_spec.md +67 -0
- package/skills/_artifacts/skill_tree.yaml +278 -0
- package/skills/api-expansion-workflow/SKILL.md +52 -0
- package/skills/app-integration/SKILL.md +38 -0
- package/skills/calculate-dates/SKILL.md +432 -0
- package/skills/compare-dates/SKILL.md +412 -0
- package/skills/convert-types/SKILL.md +305 -0
- package/skills/durations/SKILL.md +418 -0
- package/skills/format-date-time/SKILL.md +486 -0
- package/skills/format-date-time/references/format-api.md +34 -0
- package/skills/format-relative-time/SKILL.md +223 -0
- package/skills/get-current/SKILL.md +229 -0
- package/skills/interval-ops/SKILL.md +432 -0
- package/skills/issue-creation/SKILL.md +118 -0
- package/skills/lint-package-suggestion/SKILL.md +37 -0
- package/skills/new-method-implementation/SKILL.md +71 -0
- package/skills/parse-date-time/SKILL.md +349 -0
- package/skills/pr-contribution/SKILL.md +180 -0
- package/skills/unit-test-generation/SKILL.md +56 -0
- package/skills/validate-dates/SKILL.md +438 -0
- package/skills/zoned-date-ops/SKILL.md +422 -0
- package/skills/zoned-date-ops/references/timezones.md +13 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { adjustZonedBusinessDays, isValidAmount } from "../../internal/index.js";
|
|
2
|
+
import { isValidZonedDateTime } from "../validate/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return a zoned ISO 8601 datetime string with `amount` business days added to `value`.
|
|
5
|
+
*
|
|
6
|
+
* - Uses fixed ISO Monday–Friday business days (no locale awareness).
|
|
7
|
+
* - Saturday and Sunday are skipped during the count.
|
|
8
|
+
* - Preserves the original time component through the operation.
|
|
9
|
+
* - Returns "" on invalid input.
|
|
10
|
+
*
|
|
11
|
+
* @param value ISO 8601 zoned datetime string
|
|
12
|
+
* @param amount number of business days to add
|
|
13
|
+
* @returns Zoned ISO 8601 datetime string after adding business days, or "" on invalid input
|
|
14
|
+
*
|
|
15
|
+
* @example addZonedBusinessDays("2024-03-15T14:30:00-04:00[America/New_York]", 1) // "2024-03-18T14:30:00-04:00[America/New_York]"
|
|
16
|
+
* @example addZonedBusinessDays("2024-03-16T14:30:00-04:00[America/New_York]", 1) // "2024-03-18T14:30:00-04:00[America/New_York]"
|
|
17
|
+
* @example addZonedBusinessDays("2024-03-15T14:30:00-04:00[America/New_York]", 0) // "2024-03-15T14:30:00-04:00[America/New_York]"
|
|
18
|
+
* @example addZonedBusinessDays("invalid", 1) // ""
|
|
19
|
+
*/
|
|
20
|
+
export function addZonedBusinessDays(value, amount) {
|
|
21
|
+
if (!isValidZonedDateTime(value) || !isValidAmount(amount)) {
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
if (amount === 0) {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
const absAmount = Math.abs(amount);
|
|
28
|
+
const direction = amount > 0 ? 1 : -1;
|
|
29
|
+
return adjustZonedBusinessDays(value, direction, absAmount);
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Restrict `value` to the range [`min`, `max`] in zoned datetime space.
|
|
3
|
+
*
|
|
4
|
+
* - Returns `value` if it falls within the bounds (inclusive on both ends).
|
|
5
|
+
* - Returns `min` if `value` is before `min`.
|
|
6
|
+
* - Returns `max` if `value` is after `max`.
|
|
7
|
+
* - Returns `""` if any input is invalid or `min > max`.
|
|
8
|
+
*
|
|
9
|
+
* @param value ISO ZonedDateTime string to clamp
|
|
10
|
+
* @param min ISO ZonedDateTime string for the lower bound (inclusive)
|
|
11
|
+
* @param max ISO ZonedDateTime string for the upper bound (inclusive)
|
|
12
|
+
* @returns The clamped zoned datetime string, or "" on invalid input
|
|
13
|
+
*
|
|
14
|
+
* @example clampZoned("2024-03-15T12:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // "2024-03-15T12:00:00+00:00[UTC]"
|
|
15
|
+
* @example clampZoned("2024-02-01T12:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // "2024-03-01T00:00:00+00:00[UTC]"
|
|
16
|
+
* @example clampZoned("2024-05-01T12:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // "2024-03-31T23:59:59+00:00[UTC]"
|
|
17
|
+
* @example clampZoned("2024-03-15T12:00:00+00:00[UTC]", "2024-03-31T00:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]") // ""
|
|
18
|
+
* @example clampZoned("invalid", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // ""
|
|
19
|
+
*/
|
|
20
|
+
export declare function clampZoned(value: string, min: string, max: string): string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { isValidZonedDateTime } from "../validate/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Restrict `value` to the range [`min`, `max`] in zoned datetime space.
|
|
5
|
+
*
|
|
6
|
+
* - Returns `value` if it falls within the bounds (inclusive on both ends).
|
|
7
|
+
* - Returns `min` if `value` is before `min`.
|
|
8
|
+
* - Returns `max` if `value` is after `max`.
|
|
9
|
+
* - Returns `""` if any input is invalid or `min > max`.
|
|
10
|
+
*
|
|
11
|
+
* @param value ISO ZonedDateTime string to clamp
|
|
12
|
+
* @param min ISO ZonedDateTime string for the lower bound (inclusive)
|
|
13
|
+
* @param max ISO ZonedDateTime string for the upper bound (inclusive)
|
|
14
|
+
* @returns The clamped zoned datetime string, or "" on invalid input
|
|
15
|
+
*
|
|
16
|
+
* @example clampZoned("2024-03-15T12:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // "2024-03-15T12:00:00+00:00[UTC]"
|
|
17
|
+
* @example clampZoned("2024-02-01T12:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // "2024-03-01T00:00:00+00:00[UTC]"
|
|
18
|
+
* @example clampZoned("2024-05-01T12:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // "2024-03-31T23:59:59+00:00[UTC]"
|
|
19
|
+
* @example clampZoned("2024-03-15T12:00:00+00:00[UTC]", "2024-03-31T00:00:00+00:00[UTC]", "2024-03-01T00:00:00+00:00[UTC]") // ""
|
|
20
|
+
* @example clampZoned("invalid", "2024-03-01T00:00:00+00:00[UTC]", "2024-03-31T23:59:59+00:00[UTC]") // ""
|
|
21
|
+
*/
|
|
22
|
+
export function clampZoned(value, min, max) {
|
|
23
|
+
if (!isValidZonedDateTime(value) ||
|
|
24
|
+
!isValidZonedDateTime(min) ||
|
|
25
|
+
!isValidZonedDateTime(max)) {
|
|
26
|
+
return "";
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
const v = Temporal.ZonedDateTime.from(value);
|
|
30
|
+
const mn = Temporal.ZonedDateTime.from(min);
|
|
31
|
+
const mx = Temporal.ZonedDateTime.from(max);
|
|
32
|
+
if (Temporal.ZonedDateTime.compare(mn, mx) === 1) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
const cmpMin = Temporal.ZonedDateTime.compare(v, mn);
|
|
36
|
+
const cmpMax = Temporal.ZonedDateTime.compare(v, mx);
|
|
37
|
+
if (cmpMin < 0) {
|
|
38
|
+
return mn.toString();
|
|
39
|
+
}
|
|
40
|
+
if (cmpMax > 0) {
|
|
41
|
+
return mx.toString();
|
|
42
|
+
}
|
|
43
|
+
return v.toString();
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return "";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the candidate zoned datetime nearest to `target` by temporal distance.
|
|
3
|
+
*
|
|
4
|
+
* - Distance is measured in total days using `Temporal.Instant` epoch milliseconds.
|
|
5
|
+
* - Returns `null` if the candidates array is empty or contains no valid dates.
|
|
6
|
+
* - Returns `null` if `target` is invalid.
|
|
7
|
+
* - On a tie (two equidistant candidates), returns the first one in array order.
|
|
8
|
+
*
|
|
9
|
+
* @param target ISO ZonedDateTime string to measure distance from
|
|
10
|
+
* @param candidates Array of ISO ZonedDateTime strings to choose from
|
|
11
|
+
* @returns The nearest candidate zoned datetime string, or null on invalid input
|
|
12
|
+
*
|
|
13
|
+
* @example closestZonedTo("2024-03-15T12:00:00+00:00[UTC]", ["2024-03-01T00:00:00+00:00[UTC]", "2024-03-20T00:00:00+00:00[UTC]", "2024-03-18T00:00:00+00:00[UTC]"]) // "2024-03-18T00:00:00+00:00[UTC]"
|
|
14
|
+
* @example closestZonedTo("2024-03-15T12:00:00+00:00[UTC]", ["2024-03-01T00:00:00+00:00[UTC]", "2024-03-29T00:00:00+00:00[UTC]"]) // "2024-03-29T00:00:00+00:00[UTC]"
|
|
15
|
+
* @example closestZonedTo("2024-03-15T12:00:00+00:00[UTC]", []) // null
|
|
16
|
+
* @example closestZonedTo("invalid", ["2024-03-01T00:00:00+00:00[UTC]"]) // null
|
|
17
|
+
*/
|
|
18
|
+
export declare function closestZonedTo(target: string, candidates: string[]): string | null;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { isValidZonedDateTime } from "../validate/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return the candidate zoned datetime nearest to `target` by temporal distance.
|
|
5
|
+
*
|
|
6
|
+
* - Distance is measured in total days using `Temporal.Instant` epoch milliseconds.
|
|
7
|
+
* - Returns `null` if the candidates array is empty or contains no valid dates.
|
|
8
|
+
* - Returns `null` if `target` is invalid.
|
|
9
|
+
* - On a tie (two equidistant candidates), returns the first one in array order.
|
|
10
|
+
*
|
|
11
|
+
* @param target ISO ZonedDateTime string to measure distance from
|
|
12
|
+
* @param candidates Array of ISO ZonedDateTime strings to choose from
|
|
13
|
+
* @returns The nearest candidate zoned datetime string, or null on invalid input
|
|
14
|
+
*
|
|
15
|
+
* @example closestZonedTo("2024-03-15T12:00:00+00:00[UTC]", ["2024-03-01T00:00:00+00:00[UTC]", "2024-03-20T00:00:00+00:00[UTC]", "2024-03-18T00:00:00+00:00[UTC]"]) // "2024-03-18T00:00:00+00:00[UTC]"
|
|
16
|
+
* @example closestZonedTo("2024-03-15T12:00:00+00:00[UTC]", ["2024-03-01T00:00:00+00:00[UTC]", "2024-03-29T00:00:00+00:00[UTC]"]) // "2024-03-29T00:00:00+00:00[UTC]"
|
|
17
|
+
* @example closestZonedTo("2024-03-15T12:00:00+00:00[UTC]", []) // null
|
|
18
|
+
* @example closestZonedTo("invalid", ["2024-03-01T00:00:00+00:00[UTC]"]) // null
|
|
19
|
+
*/
|
|
20
|
+
export function closestZonedTo(target, candidates) {
|
|
21
|
+
if (!isValidZonedDateTime(target) || !candidates.length) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const t = Temporal.ZonedDateTime.from(target);
|
|
26
|
+
const validCandidates = candidates.filter(isValidZonedDateTime);
|
|
27
|
+
if (!validCandidates.length) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const parsed = validCandidates.map((c) => ({
|
|
31
|
+
str: c,
|
|
32
|
+
date: Temporal.ZonedDateTime.from(c),
|
|
33
|
+
}));
|
|
34
|
+
const closest = parsed.reduce((best, candidate) => {
|
|
35
|
+
const bestDist = Math.abs(best.date.toInstant().epochMilliseconds -
|
|
36
|
+
t.toInstant().epochMilliseconds) / 86400000;
|
|
37
|
+
const candDist = Math.abs(candidate.date.toInstant().epochMilliseconds -
|
|
38
|
+
t.toInstant().epochMilliseconds) / 86400000;
|
|
39
|
+
return candDist < bestDist ? candidate : best;
|
|
40
|
+
}, parsed[0]);
|
|
41
|
+
return closest.date.toString();
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { DateTimeCycleField, Disambiguation, Offset, Overflow } from "../../types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Return a ZonedDateTime ISO string with `field` cycled by `amount`, wrapping at that field's own
|
|
4
|
+
* min/max instead of carrying into the next larger field.
|
|
5
|
+
*
|
|
6
|
+
* - `cycleZoned` is not `addZoned`: cycling December's `month` by `+1` stays in the same year, and
|
|
7
|
+
* cycling `hour` `23` by `+1` stays on the same day. Reach for `addZoned` for calendar/clock
|
|
8
|
+
* arithmetic; reach for `cycleZoned` when a single field (e.g. a datepicker segment) must stay
|
|
9
|
+
* isolated from the others.
|
|
10
|
+
* - Wrap bounds are computed the same way as `cycleDateTime` — plain local-field bounds (`hour`
|
|
11
|
+
* always `0–23`, etc.), **not** DST-aware absolute-time bounds. The wrapped local time is then
|
|
12
|
+
* handed to `setZoned`, whose `.with()` call — via `disambiguation` and `offset` — resolves
|
|
13
|
+
* whatever DST edge case results (the wrapped local time landing in a gap or an overlap) exactly
|
|
14
|
+
* the way it resolves any other field-set call. This is deliberately simpler than deriving
|
|
15
|
+
* DST-aware wrap boundaries directly.
|
|
16
|
+
* - `disambiguation` defaults to `"compatible"` and `offset` defaults to `"ignore"` (not
|
|
17
|
+
* Temporal's own `"prefer"` default) — the same C3 precedent as `setZoned`/`startOfZoned`: with
|
|
18
|
+
* `"prefer"`, the source's still-valid offset is kept and `disambiguation` is silently never
|
|
19
|
+
* consulted. Leave `offset` at its default unless you specifically need Temporal's raw `.with()`
|
|
20
|
+
* semantics.
|
|
21
|
+
* - `options.round` steps to the *next* multiple of `amount` in the direction of its sign
|
|
22
|
+
* (ceiling for positive, floor for negative) — not the nearest one. See `cycleDate`/`cycleTime`'s
|
|
23
|
+
* docs for worked examples.
|
|
24
|
+
* - Returns "" for an invalid `value` or an invalid `field`.
|
|
25
|
+
*
|
|
26
|
+
* @param value zoned ISO 8601 datetime string
|
|
27
|
+
* @param field the field to cycle: "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
|
|
28
|
+
* @param amount signed amount to cycle by
|
|
29
|
+
* @param options optional: round (boolean, default false), overflow ("constrain" | "reject"), disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject", default "ignore")
|
|
30
|
+
* @returns zoned ISO 8601 string with `field` cycled, or "" on invalid input
|
|
31
|
+
*
|
|
32
|
+
* @example cycleZoned("2024-06-15T09:30:00-05:00[America/Chicago]", "hour", 1) // "2024-06-15T10:30:00-05:00[America/Chicago]"
|
|
33
|
+
* @example cycleZoned("2024-12-15T09:30:00-06:00[America/Chicago]", "month", 1) // "2024-01-15T09:30:00-06:00[America/Chicago]" (wraps, stays in the same year)
|
|
34
|
+
* @example cycleZoned("2024-03-10T01:30:00-06:00[America/Chicago]", "hour", 1) // "2024-03-10T03:30:00-05:00[America/Chicago]" (cycled hour lands in a spring-forward gap; "compatible" skips forward)
|
|
35
|
+
* @example cycleZoned("2024-03-10T01:30:00-06:00[America/Chicago]", "hour", 1, { disambiguation: "reject" }) // "" (same gap; "reject" throws)
|
|
36
|
+
* @example cycleZoned("2024-06-15T09:30:00-05:00[America/Chicago]", "week", 1) // "" ("week" is not a cyclable field)
|
|
37
|
+
* @example cycleZoned("invalid", "hour", 1) // ""
|
|
38
|
+
*/
|
|
39
|
+
export declare function cycleZoned(value: string, field: DateTimeCycleField, amount: number, options?: {
|
|
40
|
+
round?: boolean;
|
|
41
|
+
overflow?: Overflow;
|
|
42
|
+
disambiguation?: Disambiguation;
|
|
43
|
+
offset?: Offset;
|
|
44
|
+
}): string;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { cycleFieldValue, dateCycleFieldBounds, timeCycleFieldBounds, } from "../../internal/index.js";
|
|
3
|
+
import { isValidDateCycleField, isValidDateTimeCycleField, } from "../../plain/validate/index.js";
|
|
4
|
+
import { isValidZonedDateTime } from "../validate/index.js";
|
|
5
|
+
import { setZoned } from "./setZoned.js";
|
|
6
|
+
/**
|
|
7
|
+
* Return a ZonedDateTime ISO string with `field` cycled by `amount`, wrapping at that field's own
|
|
8
|
+
* min/max instead of carrying into the next larger field.
|
|
9
|
+
*
|
|
10
|
+
* - `cycleZoned` is not `addZoned`: cycling December's `month` by `+1` stays in the same year, and
|
|
11
|
+
* cycling `hour` `23` by `+1` stays on the same day. Reach for `addZoned` for calendar/clock
|
|
12
|
+
* arithmetic; reach for `cycleZoned` when a single field (e.g. a datepicker segment) must stay
|
|
13
|
+
* isolated from the others.
|
|
14
|
+
* - Wrap bounds are computed the same way as `cycleDateTime` — plain local-field bounds (`hour`
|
|
15
|
+
* always `0–23`, etc.), **not** DST-aware absolute-time bounds. The wrapped local time is then
|
|
16
|
+
* handed to `setZoned`, whose `.with()` call — via `disambiguation` and `offset` — resolves
|
|
17
|
+
* whatever DST edge case results (the wrapped local time landing in a gap or an overlap) exactly
|
|
18
|
+
* the way it resolves any other field-set call. This is deliberately simpler than deriving
|
|
19
|
+
* DST-aware wrap boundaries directly.
|
|
20
|
+
* - `disambiguation` defaults to `"compatible"` and `offset` defaults to `"ignore"` (not
|
|
21
|
+
* Temporal's own `"prefer"` default) — the same C3 precedent as `setZoned`/`startOfZoned`: with
|
|
22
|
+
* `"prefer"`, the source's still-valid offset is kept and `disambiguation` is silently never
|
|
23
|
+
* consulted. Leave `offset` at its default unless you specifically need Temporal's raw `.with()`
|
|
24
|
+
* semantics.
|
|
25
|
+
* - `options.round` steps to the *next* multiple of `amount` in the direction of its sign
|
|
26
|
+
* (ceiling for positive, floor for negative) — not the nearest one. See `cycleDate`/`cycleTime`'s
|
|
27
|
+
* docs for worked examples.
|
|
28
|
+
* - Returns "" for an invalid `value` or an invalid `field`.
|
|
29
|
+
*
|
|
30
|
+
* @param value zoned ISO 8601 datetime string
|
|
31
|
+
* @param field the field to cycle: "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
|
|
32
|
+
* @param amount signed amount to cycle by
|
|
33
|
+
* @param options optional: round (boolean, default false), overflow ("constrain" | "reject"), disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject", default "ignore")
|
|
34
|
+
* @returns zoned ISO 8601 string with `field` cycled, or "" on invalid input
|
|
35
|
+
*
|
|
36
|
+
* @example cycleZoned("2024-06-15T09:30:00-05:00[America/Chicago]", "hour", 1) // "2024-06-15T10:30:00-05:00[America/Chicago]"
|
|
37
|
+
* @example cycleZoned("2024-12-15T09:30:00-06:00[America/Chicago]", "month", 1) // "2024-01-15T09:30:00-06:00[America/Chicago]" (wraps, stays in the same year)
|
|
38
|
+
* @example cycleZoned("2024-03-10T01:30:00-06:00[America/Chicago]", "hour", 1) // "2024-03-10T03:30:00-05:00[America/Chicago]" (cycled hour lands in a spring-forward gap; "compatible" skips forward)
|
|
39
|
+
* @example cycleZoned("2024-03-10T01:30:00-06:00[America/Chicago]", "hour", 1, { disambiguation: "reject" }) // "" (same gap; "reject" throws)
|
|
40
|
+
* @example cycleZoned("2024-06-15T09:30:00-05:00[America/Chicago]", "week", 1) // "" ("week" is not a cyclable field)
|
|
41
|
+
* @example cycleZoned("invalid", "hour", 1) // ""
|
|
42
|
+
*/
|
|
43
|
+
export function cycleZoned(value, field, amount, options) {
|
|
44
|
+
if (!isValidZonedDateTime(value) || !isValidDateTimeCycleField(field)) {
|
|
45
|
+
return "";
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const zoned = Temporal.ZonedDateTime.from(value);
|
|
49
|
+
const bounds = isValidDateCycleField(field)
|
|
50
|
+
? dateCycleFieldBounds(field, zoned)
|
|
51
|
+
: timeCycleFieldBounds(field);
|
|
52
|
+
const newValue = cycleFieldValue(zoned[field], amount, bounds, options?.round ?? false);
|
|
53
|
+
return setZoned(value, { [field]: newValue }, options);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return "";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import type { DateTimeDurationUnit, RoundingOptions } from "../../types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return the difference between two zoned datetimes measured in the given date-time unit.
|
|
5
|
+
*
|
|
6
|
+
* - Uses Temporal.ZonedDateTime.until to calculate difference.
|
|
7
|
+
* - Converts both to UTC for consistent calculation.
|
|
8
|
+
* - Supports single unit or array of units.
|
|
9
|
+
* - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) —
|
|
10
|
+
* E7 (issue #152). When BOTH endpoints carry the same calendar tag, calendar units are measured
|
|
11
|
+
* in that calendar (a Hebrew leap year spans 13 month boundaries, not 14). When the tags
|
|
12
|
+
* mismatch, or either endpoint is a bare ISO string, the measurement falls back to
|
|
13
|
+
* Gregorian/ISO rather than returning the sentinel (E7's D5-zoned). That fallback is mandatory
|
|
14
|
+
* here, not a convenience: `Temporal.ZonedDateTime.prototype.until` throws across mismatched
|
|
15
|
+
* calendars for EVERY `largestUnit` — verified, including `"hour"` and `"nanosecond"` — so
|
|
16
|
+
* without it a purely time-unit question like "how many hours between these two moments" would
|
|
17
|
+
* return null just because the two strings named different calendars.
|
|
18
|
+
* - Returns null for invalid input.
|
|
19
|
+
*
|
|
20
|
+
* `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
|
|
21
|
+
* per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "hour", roundingMode: "halfExpand" }`
|
|
22
|
+
* rounds the difference to the nearest hour before extracting the requested unit.
|
|
23
|
+
* - When `units` is an array, `smallestUnit` must not be coarser than the largest unit in the
|
|
24
|
+
* array (e.g. `["day", "hour"]` with `smallestUnit: "week"`) — this combination is rejected by
|
|
25
|
+
* Temporal and returns null, same as other invalid input.
|
|
26
|
+
*
|
|
27
|
+
* @param value1 zoned ISO 8601 datetime string (start), optionally calendar-annotated
|
|
28
|
+
* @param value2 zoned ISO 8601 datetime string (end), optionally calendar-annotated
|
|
29
|
+
* @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
|
|
30
|
+
* @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
|
|
31
|
+
* @returns numeric difference in the requested unit, or null on invalid input
|
|
32
|
+
*
|
|
33
|
+
* @example diffZoned("2024-02-28T14:30:00+00:00[UTC]", "2024-03-01T15:30:00+00:00[UTC]", "days") // 2
|
|
34
|
+
* @example diffZoned("invalid", "2024-03-01T15:30:00+00:00[UTC]", "days") // null
|
|
35
|
+
* @example diffZoned("5784-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "5785-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "months") // 13 (Hebrew leap year; the ISO equivalent is 12)
|
|
36
|
+
* @example diffZoned("5784-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "1446-03-30T00:00:00-04:00[u-ca=islamic-tabular][America/New_York]", "hours") // measured in Gregorian/ISO (mismatched tags fall back rather than returning null)
|
|
37
|
+
* @example diffZoned("2024-03-10T14:30:00-04:00[America/New_York][u-ca=hebrew]", "2024-03-11T14:30:00-04:00[America/New_York]", "days") // null (Temporal's segment ordering is not GMT's grammar)
|
|
38
|
+
*/
|
|
39
|
+
export declare function diffZoned(value1: string, value2: string, units: DateTimeDurationUnit | DateTimeDurationUnit[], options?: RoundingOptions<Temporal.DateTimeUnit>): number | Record<DateTimeDurationUnit, number> | null;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { parseCalendarZonedPairForArithmetic } from "../../internal/index.js";
|
|
2
|
+
import { getLargestDateTimeDurationUnit } from "../../plain/calculate/getLargestDateTimeDurationUnit.js";
|
|
3
|
+
import { isValidDateTimeDurationUnit } from "../../plain/validate/index.js";
|
|
4
|
+
import { isValidCalendarZonedDateTime } from "../validate/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Return the difference between two zoned datetimes measured in the given date-time unit.
|
|
7
|
+
*
|
|
8
|
+
* - Uses Temporal.ZonedDateTime.until to calculate difference.
|
|
9
|
+
* - Converts both to UTC for consistent calculation.
|
|
10
|
+
* - Supports single unit or array of units.
|
|
11
|
+
* - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) —
|
|
12
|
+
* E7 (issue #152). When BOTH endpoints carry the same calendar tag, calendar units are measured
|
|
13
|
+
* in that calendar (a Hebrew leap year spans 13 month boundaries, not 14). When the tags
|
|
14
|
+
* mismatch, or either endpoint is a bare ISO string, the measurement falls back to
|
|
15
|
+
* Gregorian/ISO rather than returning the sentinel (E7's D5-zoned). That fallback is mandatory
|
|
16
|
+
* here, not a convenience: `Temporal.ZonedDateTime.prototype.until` throws across mismatched
|
|
17
|
+
* calendars for EVERY `largestUnit` — verified, including `"hour"` and `"nanosecond"` — so
|
|
18
|
+
* without it a purely time-unit question like "how many hours between these two moments" would
|
|
19
|
+
* return null just because the two strings named different calendars.
|
|
20
|
+
* - Returns null for invalid input.
|
|
21
|
+
*
|
|
22
|
+
* `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
|
|
23
|
+
* per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "hour", roundingMode: "halfExpand" }`
|
|
24
|
+
* rounds the difference to the nearest hour before extracting the requested unit.
|
|
25
|
+
* - When `units` is an array, `smallestUnit` must not be coarser than the largest unit in the
|
|
26
|
+
* array (e.g. `["day", "hour"]` with `smallestUnit: "week"`) — this combination is rejected by
|
|
27
|
+
* Temporal and returns null, same as other invalid input.
|
|
28
|
+
*
|
|
29
|
+
* @param value1 zoned ISO 8601 datetime string (start), optionally calendar-annotated
|
|
30
|
+
* @param value2 zoned ISO 8601 datetime string (end), optionally calendar-annotated
|
|
31
|
+
* @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
|
|
32
|
+
* @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
|
|
33
|
+
* @returns numeric difference in the requested unit, or null on invalid input
|
|
34
|
+
*
|
|
35
|
+
* @example diffZoned("2024-02-28T14:30:00+00:00[UTC]", "2024-03-01T15:30:00+00:00[UTC]", "days") // 2
|
|
36
|
+
* @example diffZoned("invalid", "2024-03-01T15:30:00+00:00[UTC]", "days") // null
|
|
37
|
+
* @example diffZoned("5784-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "5785-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "months") // 13 (Hebrew leap year; the ISO equivalent is 12)
|
|
38
|
+
* @example diffZoned("5784-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "1446-03-30T00:00:00-04:00[u-ca=islamic-tabular][America/New_York]", "hours") // measured in Gregorian/ISO (mismatched tags fall back rather than returning null)
|
|
39
|
+
* @example diffZoned("2024-03-10T14:30:00-04:00[America/New_York][u-ca=hebrew]", "2024-03-11T14:30:00-04:00[America/New_York]", "days") // null (Temporal's segment ordering is not GMT's grammar)
|
|
40
|
+
*/
|
|
41
|
+
export function diffZoned(value1, value2, units, options) {
|
|
42
|
+
const validZonedDateTimes = isValidCalendarZonedDateTime(value1) &&
|
|
43
|
+
isValidCalendarZonedDateTime(value2);
|
|
44
|
+
const isSingleUnit = !Array.isArray(units);
|
|
45
|
+
const validUnits = isSingleUnit
|
|
46
|
+
? isValidDateTimeDurationUnit(units)
|
|
47
|
+
: units.every(isValidDateTimeDurationUnit);
|
|
48
|
+
if (!validZonedDateTimes || !validUnits) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
// Calendar resolution has to happen BEFORE the UTC normalization, and the normalization has
|
|
53
|
+
// to preserve the calendar rather than discard it — the two are independent axes.
|
|
54
|
+
// `withTimeZone` keeps the calendar tag intact (verified), so re-zoning both operands to UTC
|
|
55
|
+
// still measures in the pair's resolved calendar.
|
|
56
|
+
const { a, b } = parseCalendarZonedPairForArithmetic(value1, value2);
|
|
57
|
+
const normalizedZdt1 = a.withTimeZone("UTC");
|
|
58
|
+
const normalizedZdt2 = b.withTimeZone("UTC");
|
|
59
|
+
const duration = normalizedZdt1.until(normalizedZdt2, {
|
|
60
|
+
largestUnit: isSingleUnit ? units : getLargestDateTimeDurationUnit(units),
|
|
61
|
+
smallestUnit: options?.smallestUnit,
|
|
62
|
+
roundingIncrement: options?.roundingIncrement,
|
|
63
|
+
roundingMode: options?.roundingMode,
|
|
64
|
+
});
|
|
65
|
+
if (isSingleUnit) {
|
|
66
|
+
return duration[units] ?? 0;
|
|
67
|
+
}
|
|
68
|
+
return units.reduce((result, unit) => {
|
|
69
|
+
result[unit] = duration[unit] ?? 0;
|
|
70
|
+
return result;
|
|
71
|
+
}, {});
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import type { DateTimeDurationUnit, DurationStringOptions, RoundingOptions } from "../../types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return the difference between two zoned datetimes as an ISO 8601 duration string,
|
|
5
|
+
* bridging to the `duration` namespace (see `parseDuration`, `normalizeDuration`).
|
|
6
|
+
*
|
|
7
|
+
* - Uses Temporal.ZonedDateTime.until with `largestUnit` set to `unit`, then `.toString()`.
|
|
8
|
+
* - Converts both to UTC for consistent calculation, same as `diffZoned`.
|
|
9
|
+
* - Accepts GMT calendar-annotated zoned strings, with the same shared-calendar-or-Gregorian-
|
|
10
|
+
* fallback policy as `diffZoned` (E7's D5-zoned, issue #152).
|
|
11
|
+
* - Unlike `diffZoned`, `unit` is a single unit (not an array) — an ISO duration string
|
|
12
|
+
* already expresses a full multi-unit breakdown via `largestUnit` alone, so there's no
|
|
13
|
+
* array-of-units overload here.
|
|
14
|
+
* - Returns `""` for invalid input (negative diffs are valid and render with a leading `-`).
|
|
15
|
+
*
|
|
16
|
+
* `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the
|
|
17
|
+
* underlying difference before it's rendered, per Temporal's DifferenceOptions — same as
|
|
18
|
+
* `diffZoned`. `toStringSmallestUnit`, `fractionalSecondDigits`, and `toStringRoundingMode`
|
|
19
|
+
* control the precision of the rendered string itself, per Temporal's ToStringPrecisionOptions
|
|
20
|
+
* (mirroring `parseDuration`'s options) — kept separate from the `.until()` rounding options
|
|
21
|
+
* above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
|
|
22
|
+
* different Temporal types.
|
|
23
|
+
*
|
|
24
|
+
* @param value1 zoned ISO 8601 datetime string (start), optionally calendar-annotated
|
|
25
|
+
* @param value2 zoned ISO 8601 datetime string (end), optionally calendar-annotated
|
|
26
|
+
* @param unit DateTimeDurationUnit to use as the duration's largestUnit
|
|
27
|
+
* @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision)
|
|
28
|
+
* @returns ISO 8601 duration string, or "" on invalid input
|
|
29
|
+
*
|
|
30
|
+
* @example diffZonedAsDuration("2024-03-09T12:00:00-05:00[America/New_York]", "2024-03-11T12:00:00-04:00[America/New_York]", "days") // "P1DT23H"
|
|
31
|
+
* @example diffZonedAsDuration("2028-01-01T00:00:00+00:00[UTC]", "2028-01-01T00:00:00+00:00[UTC]", "hours") // "PT0S"
|
|
32
|
+
* @example diffZonedAsDuration("invalid", "2028-01-01T00:00:00+00:00[UTC]", "days") // ""
|
|
33
|
+
* @example diffZonedAsDuration("5784-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "5785-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "months") // "P13M" (Hebrew leap year)
|
|
34
|
+
* @example diffZonedAsDuration("2024-03-10T14:30:00-04:00[America/New_York][u-ca=hebrew]", "2024-03-11T14:30:00-04:00[America/New_York]", "days") // "" (Temporal's segment ordering is not GMT's grammar)
|
|
35
|
+
*/
|
|
36
|
+
export declare function diffZonedAsDuration(value1: string, value2: string, unit: DateTimeDurationUnit, options?: RoundingOptions<Temporal.DateTimeUnit> & DurationStringOptions): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { durationUntilString, parseCalendarZonedPairForArithmetic, } from "../../internal/index.js";
|
|
2
|
+
import { isValidDateTimeDurationUnit } from "../../plain/validate/index.js";
|
|
3
|
+
import { isValidCalendarZonedDateTime } from "../validate/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Return the difference between two zoned datetimes as an ISO 8601 duration string,
|
|
6
|
+
* bridging to the `duration` namespace (see `parseDuration`, `normalizeDuration`).
|
|
7
|
+
*
|
|
8
|
+
* - Uses Temporal.ZonedDateTime.until with `largestUnit` set to `unit`, then `.toString()`.
|
|
9
|
+
* - Converts both to UTC for consistent calculation, same as `diffZoned`.
|
|
10
|
+
* - Accepts GMT calendar-annotated zoned strings, with the same shared-calendar-or-Gregorian-
|
|
11
|
+
* fallback policy as `diffZoned` (E7's D5-zoned, issue #152).
|
|
12
|
+
* - Unlike `diffZoned`, `unit` is a single unit (not an array) — an ISO duration string
|
|
13
|
+
* already expresses a full multi-unit breakdown via `largestUnit` alone, so there's no
|
|
14
|
+
* array-of-units overload here.
|
|
15
|
+
* - Returns `""` for invalid input (negative diffs are valid and render with a leading `-`).
|
|
16
|
+
*
|
|
17
|
+
* `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the
|
|
18
|
+
* underlying difference before it's rendered, per Temporal's DifferenceOptions — same as
|
|
19
|
+
* `diffZoned`. `toStringSmallestUnit`, `fractionalSecondDigits`, and `toStringRoundingMode`
|
|
20
|
+
* control the precision of the rendered string itself, per Temporal's ToStringPrecisionOptions
|
|
21
|
+
* (mirroring `parseDuration`'s options) — kept separate from the `.until()` rounding options
|
|
22
|
+
* above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
|
|
23
|
+
* different Temporal types.
|
|
24
|
+
*
|
|
25
|
+
* @param value1 zoned ISO 8601 datetime string (start), optionally calendar-annotated
|
|
26
|
+
* @param value2 zoned ISO 8601 datetime string (end), optionally calendar-annotated
|
|
27
|
+
* @param unit DateTimeDurationUnit to use as the duration's largestUnit
|
|
28
|
+
* @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision)
|
|
29
|
+
* @returns ISO 8601 duration string, or "" on invalid input
|
|
30
|
+
*
|
|
31
|
+
* @example diffZonedAsDuration("2024-03-09T12:00:00-05:00[America/New_York]", "2024-03-11T12:00:00-04:00[America/New_York]", "days") // "P1DT23H"
|
|
32
|
+
* @example diffZonedAsDuration("2028-01-01T00:00:00+00:00[UTC]", "2028-01-01T00:00:00+00:00[UTC]", "hours") // "PT0S"
|
|
33
|
+
* @example diffZonedAsDuration("invalid", "2028-01-01T00:00:00+00:00[UTC]", "days") // ""
|
|
34
|
+
* @example diffZonedAsDuration("5784-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "5785-01-01T00:00:00-04:00[u-ca=hebrew][America/New_York]", "months") // "P13M" (Hebrew leap year)
|
|
35
|
+
* @example diffZonedAsDuration("2024-03-10T14:30:00-04:00[America/New_York][u-ca=hebrew]", "2024-03-11T14:30:00-04:00[America/New_York]", "days") // "" (Temporal's segment ordering is not GMT's grammar)
|
|
36
|
+
*/
|
|
37
|
+
export function diffZonedAsDuration(value1, value2, unit, options) {
|
|
38
|
+
const validZonedDateTimes = isValidCalendarZonedDateTime(value1) &&
|
|
39
|
+
isValidCalendarZonedDateTime(value2);
|
|
40
|
+
const validUnit = isValidDateTimeDurationUnit(unit);
|
|
41
|
+
if (!validZonedDateTimes || !validUnit) {
|
|
42
|
+
return "";
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
// Calendar resolution before UTC normalization, and the normalization preserves the calendar
|
|
46
|
+
// — see `diffZoned`'s equivalent comment.
|
|
47
|
+
const { a, b } = parseCalendarZonedPairForArithmetic(value1, value2);
|
|
48
|
+
const normalizedZdt1 = a.withTimeZone("UTC");
|
|
49
|
+
const normalizedZdt2 = b.withTimeZone("UTC");
|
|
50
|
+
return durationUntilString(normalizedZdt1, normalizedZdt2, unit, options);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return "";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Disambiguation, FractionalDigit, Offset } from "../../types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Return the end of the quarter for a given zoned ISO datetime.
|
|
4
|
+
*
|
|
5
|
+
* - Calculates which quarter (1-4) the date falls into and returns the last moment of that quarter.
|
|
6
|
+
* - `disambiguation` controls DST gap/overlap resolution when a quarter boundary lands on an ambiguous local time: "compatible" (default, matches Temporal's default), "earlier", "later", or "reject" (throws, resulting in "").
|
|
7
|
+
* - `offset` controls whether the source's existing UTC offset is kept when computing a new boundary: "prefer" (Temporal's own default — keeps the source offset whenever still valid, which **makes `disambiguation` inert** in the (rare) common-zone case since quarter boundaries don't fall on DST transitions), "use", "ignore" (**this function's default** — always recomputes from time zone + local time, discarding the stale offset; this is what makes `disambiguation` actually take effect where a quarter boundary does coincide with a transition), or "reject" (throws if the source offset is invalid for the new fields, independent of `disambiguation`). Leave `offset` at its default unless you specifically need Temporal's raw `.with()` semantics.
|
|
8
|
+
* - `fractionalSecondDigits` controls how many fractional seconds are included in the output: 0 (default — no fractional seconds), 3 (milliseconds), 6 (microseconds), or 9 (nanoseconds).
|
|
9
|
+
* - Validation is performed on the input.
|
|
10
|
+
*
|
|
11
|
+
* @param value ISO ZonedDateTime string
|
|
12
|
+
* @param optionsArg optional: disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject", default "ignore"), fractionalSecondDigits (0 | 3 | 6 | 9, default 0)
|
|
13
|
+
* @returns ISO ZonedDateTime string for the end of the quarter, or "" on invalid input
|
|
14
|
+
*
|
|
15
|
+
* @example endOfQuarterForZoned("2024-02-15T14:30:00+00:00[UTC]") // "2024-03-31T23:59:59+00:00[UTC]"
|
|
16
|
+
* @example endOfQuarterForZoned("2024-05-10T10:00:00+00:00[UTC]") // "2024-06-30T23:59:59+00:00[UTC]"
|
|
17
|
+
* @example endOfQuarterForZoned("2024-11-20T08:00:00+00:00[UTC]") // "2024-12-31T23:59:59+00:00[UTC]"
|
|
18
|
+
* @example endOfQuarterForZoned("2024-02-15T14:30:00+00:00[UTC]", { fractionalSecondDigits: 9 }) // "2024-03-31T23:59:59.999999999+00:00[UTC]"
|
|
19
|
+
* @example endOfQuarterForZoned("invalid") // ""
|
|
20
|
+
*/
|
|
21
|
+
export declare function endOfQuarterForZoned(value: string, optionsArg?: {
|
|
22
|
+
disambiguation?: Disambiguation;
|
|
23
|
+
offset?: Offset;
|
|
24
|
+
fractionalSecondDigits?: FractionalDigit;
|
|
25
|
+
}): string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { isValidZonedDateTime } from "../validate/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return the end of the quarter for a given zoned ISO datetime.
|
|
5
|
+
*
|
|
6
|
+
* - Calculates which quarter (1-4) the date falls into and returns the last moment of that quarter.
|
|
7
|
+
* - `disambiguation` controls DST gap/overlap resolution when a quarter boundary lands on an ambiguous local time: "compatible" (default, matches Temporal's default), "earlier", "later", or "reject" (throws, resulting in "").
|
|
8
|
+
* - `offset` controls whether the source's existing UTC offset is kept when computing a new boundary: "prefer" (Temporal's own default — keeps the source offset whenever still valid, which **makes `disambiguation` inert** in the (rare) common-zone case since quarter boundaries don't fall on DST transitions), "use", "ignore" (**this function's default** — always recomputes from time zone + local time, discarding the stale offset; this is what makes `disambiguation` actually take effect where a quarter boundary does coincide with a transition), or "reject" (throws if the source offset is invalid for the new fields, independent of `disambiguation`). Leave `offset` at its default unless you specifically need Temporal's raw `.with()` semantics.
|
|
9
|
+
* - `fractionalSecondDigits` controls how many fractional seconds are included in the output: 0 (default — no fractional seconds), 3 (milliseconds), 6 (microseconds), or 9 (nanoseconds).
|
|
10
|
+
* - Validation is performed on the input.
|
|
11
|
+
*
|
|
12
|
+
* @param value ISO ZonedDateTime string
|
|
13
|
+
* @param optionsArg optional: disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject", default "ignore"), fractionalSecondDigits (0 | 3 | 6 | 9, default 0)
|
|
14
|
+
* @returns ISO ZonedDateTime string for the end of the quarter, or "" on invalid input
|
|
15
|
+
*
|
|
16
|
+
* @example endOfQuarterForZoned("2024-02-15T14:30:00+00:00[UTC]") // "2024-03-31T23:59:59+00:00[UTC]"
|
|
17
|
+
* @example endOfQuarterForZoned("2024-05-10T10:00:00+00:00[UTC]") // "2024-06-30T23:59:59+00:00[UTC]"
|
|
18
|
+
* @example endOfQuarterForZoned("2024-11-20T08:00:00+00:00[UTC]") // "2024-12-31T23:59:59+00:00[UTC]"
|
|
19
|
+
* @example endOfQuarterForZoned("2024-02-15T14:30:00+00:00[UTC]", { fractionalSecondDigits: 9 }) // "2024-03-31T23:59:59.999999999+00:00[UTC]"
|
|
20
|
+
* @example endOfQuarterForZoned("invalid") // ""
|
|
21
|
+
*/
|
|
22
|
+
export function endOfQuarterForZoned(value, optionsArg) {
|
|
23
|
+
if (!isValidZonedDateTime(value)) {
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
26
|
+
const disambiguation = optionsArg?.disambiguation ?? "compatible";
|
|
27
|
+
const offset = optionsArg?.offset ?? "ignore";
|
|
28
|
+
const fractionalSecondDigits = optionsArg?.fractionalSecondDigits ?? 0;
|
|
29
|
+
try {
|
|
30
|
+
const zdt = Temporal.ZonedDateTime.from(value);
|
|
31
|
+
const month = zdt.month;
|
|
32
|
+
const quarterEndMonth = Math.floor((month - 1) / 3) * 3 + 3;
|
|
33
|
+
const quarterStart = zdt.with({ month: quarterEndMonth, day: 1, hour: 0, minute: 0, second: 0 }, { disambiguation, offset });
|
|
34
|
+
const nextQuarterStart = quarterStart.add({ months: 1 });
|
|
35
|
+
const lastDayOfQuarter = nextQuarterStart.subtract({ days: 1 });
|
|
36
|
+
return lastDayOfQuarter
|
|
37
|
+
.with({
|
|
38
|
+
hour: 23,
|
|
39
|
+
minute: 59,
|
|
40
|
+
second: 59,
|
|
41
|
+
millisecond: 999,
|
|
42
|
+
microsecond: 999,
|
|
43
|
+
nanosecond: 999,
|
|
44
|
+
}, { disambiguation, offset })
|
|
45
|
+
.toString({ fractionalSecondDigits });
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return "";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import type { Disambiguation, FractionalDigit, Offset } from "../../types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return the end of the specified date-time `unit` for a given zoned ISO 8601 datetime string.
|
|
5
|
+
*
|
|
6
|
+
* - Converts to ZonedDateTime, sets to end of unit, converts back to string.
|
|
7
|
+
* - Supports: "year", "month", "week", "day", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond".
|
|
8
|
+
* - `disambiguation` controls DST gap/overlap resolution when the boundary jump lands on an ambiguous local time: "compatible" (default, matches Temporal's default), "earlier", "later", or "reject" (throws, resulting in "").
|
|
9
|
+
* - `offset` controls whether the source's existing UTC offset is kept when computing the new boundary: "prefer" (Temporal's own default — keeps the source offset whenever still valid, which **makes `disambiguation` inert** for almost every case here since the source offset is nearly always still valid after a same-day field reset), "use", "ignore" (**this function's default** — always recomputes from time zone + local time, discarding the stale offset; this is what makes `disambiguation` actually take effect), or "reject" (throws if the source offset is invalid for the new fields, independent of `disambiguation`). Leave `offset` at its default unless you specifically need Temporal's raw `.with()` semantics.
|
|
10
|
+
* - Returns "" for invalid input.
|
|
11
|
+
*
|
|
12
|
+
* @param value zoned ISO 8601 datetime string
|
|
13
|
+
* @param unit Temporal.DateUnit|Temporal.TimeUnit to specify the unit for the end
|
|
14
|
+
* @param options optional: weekStartsOn ("monday" | "sunday"), fractionalSecondDigits (number), disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject", default "ignore")
|
|
15
|
+
* @returns zoned ISO 8601 string representing the end of the specified unit, or "" on invalid input
|
|
16
|
+
*
|
|
17
|
+
* @example endOfZoned("2024-02-29T12:34:56+00:00[UTC]", "month") // "2024-02-29T23:59:59.999999999+00:00[UTC]"
|
|
18
|
+
* @example endOfZoned("invalid", "month") // ""
|
|
19
|
+
* @example endOfZoned("2024-11-03T01:15:00-05:00[America/New_York]", "hour", { disambiguation: "earlier" }) // "2024-11-03T01:59:59-04:00[America/New_York]" (source sits in the second, repeated 1am of the fall-back overlap; "earlier" resolves end-of-hour to the first (EDT) pass)
|
|
20
|
+
* @example endOfZoned("2024-11-03T01:15:00-05:00[America/New_York]", "hour", { disambiguation: "reject" }) // "" (same overlap; "reject" throws because end-of-hour is ambiguous between the two 1am instants)
|
|
21
|
+
* @example endOfZoned("2024-11-03T01:15:00-05:00[America/New_York]", "hour", { disambiguation: "reject", offset: "prefer" }) // "2024-11-03T01:59:59-05:00[America/New_York]" (setting offset to "prefer" makes disambiguation inert here — the source's -05:00 offset is still valid for 1am, so it's kept and "reject" never fires)
|
|
22
|
+
*/
|
|
23
|
+
export declare function endOfZoned(value: string, unit: Temporal.DateUnit | Temporal.TimeUnit, optionsArg?: {
|
|
24
|
+
weekStartsOn?: "monday" | "sunday";
|
|
25
|
+
fractionalSecondDigits?: FractionalDigit;
|
|
26
|
+
disambiguation?: Disambiguation;
|
|
27
|
+
offset?: Offset;
|
|
28
|
+
}): string;
|