@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,63 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { plainTime } from "../../regex/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return true when two time intervals are exactly adjacent — one's end equals the other's start
|
|
5
|
+
* with zero gap and zero overlap.
|
|
6
|
+
*
|
|
7
|
+
* - Uses `Temporal.PlainTime.compare` for comparison.
|
|
8
|
+
* - Returns `true` when `aEnd + 1 nanosecond === bStart` or `bEnd + 1 nanosecond === aStart`.
|
|
9
|
+
* - Returns `false` when intervals overlap, are disjoint with a gap, or are invalid.
|
|
10
|
+
* - Returns `false` on invalid input (wrong type, malformed strings).
|
|
11
|
+
*
|
|
12
|
+
* @param aStart ISO 8601 time string for the first interval start
|
|
13
|
+
* @param aEnd ISO 8601 time string for the first interval end
|
|
14
|
+
* @param bStart ISO 8601 time string for the second interval start
|
|
15
|
+
* @param bEnd ISO 8601 time string for the second interval end
|
|
16
|
+
* @returns true if intervals are exactly adjacent, or false on invalid input
|
|
17
|
+
*
|
|
18
|
+
* @example intervalAbutsTime("09:00:00", "12:00:00", "12:00:00.000000001", "17:00:00") // true
|
|
19
|
+
* @example intervalAbutsTime("12:00:00", "17:00:00", "09:00:00", "12:00:00") // true
|
|
20
|
+
* @example intervalAbutsTime("09:00:00", "12:00:00", "12:00:01", "17:00:00") // false (gap)
|
|
21
|
+
* @example intervalAbutsTime("09:00:00", "13:00:00", "12:00:00", "17:00:00") // false (overlap)
|
|
22
|
+
* @example intervalAbutsTime("invalid", "12:00:00", "12:00:00", "17:00:00") // false
|
|
23
|
+
*/
|
|
24
|
+
export function intervalAbutsTime(aStart, aEnd, bStart, bEnd) {
|
|
25
|
+
if (typeof aStart !== "string" ||
|
|
26
|
+
typeof aEnd !== "string" ||
|
|
27
|
+
typeof bStart !== "string" ||
|
|
28
|
+
typeof bEnd !== "string") {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (!plainTime.test(aStart) ||
|
|
32
|
+
!plainTime.test(aEnd) ||
|
|
33
|
+
!plainTime.test(bStart) ||
|
|
34
|
+
!plainTime.test(bEnd)) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const aS = Temporal.PlainTime.from(aStart);
|
|
39
|
+
const aE = Temporal.PlainTime.from(aEnd);
|
|
40
|
+
const bS = Temporal.PlainTime.from(bStart);
|
|
41
|
+
const bE = Temporal.PlainTime.from(bEnd);
|
|
42
|
+
if (Temporal.PlainTime.compare(aS, aE) > 0) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
if (Temporal.PlainTime.compare(bS, bE) > 0) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
// aEnd + 1 nanosecond === bStart
|
|
49
|
+
const aEndPlusOne = aE.add({ nanoseconds: 1 });
|
|
50
|
+
if (Temporal.PlainTime.compare(aEndPlusOne, bS) === 0) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
// bEnd + 1 nanosecond === aStart
|
|
54
|
+
const bEndPlusOne = bE.add({ nanoseconds: 1 });
|
|
55
|
+
if (Temporal.PlainTime.compare(bEndPlusOne, aS) === 0) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true when `pointOrStart` falls within the interval `[intervalStart, intervalEnd]`
|
|
3
|
+
* (3-arg), or when the inner interval `[innerStart, innerEnd]` is fully contained within
|
|
4
|
+
* the outer interval `[intervalStart, intervalEnd]` (4-arg).
|
|
5
|
+
*
|
|
6
|
+
* - Uses `Temporal.PlainDate.compare` for comparison.
|
|
7
|
+
* - Always-inclusive boundaries: `start <= point <= end`.
|
|
8
|
+
* - Returns `false` if `intervalStart > intervalEnd` (invalid outer interval).
|
|
9
|
+
* - Returns `false` if `innerStart > innerEnd` in 4-arg mode (invalid inner interval).
|
|
10
|
+
* - Returns `false` on invalid input (wrong type, malformed strings).
|
|
11
|
+
* - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
|
|
12
|
+
* calendar-independent, so arguments may carry different or no calendar tags (D4).
|
|
13
|
+
*
|
|
14
|
+
* @param intervalStart ISO 8601 date string for the outer interval start, optionally calendar-annotated
|
|
15
|
+
* @param intervalEnd ISO 8601 date string for the outer interval end, optionally calendar-annotated
|
|
16
|
+
* @param pointOrStart ISO 8601 date string for the point (3-arg) or inner start (4-arg), optionally calendar-annotated
|
|
17
|
+
* @param pointEnd optional ISO 8601 date string for the inner interval end (4-arg mode), optionally calendar-annotated
|
|
18
|
+
* @returns true if the point or inner interval is contained, or false on invalid input
|
|
19
|
+
*
|
|
20
|
+
* @example intervalContainsDate("2024-01-01", "2024-12-31", "2024-06-15") // true
|
|
21
|
+
* @example intervalContainsDate("2024-01-01", "2024-12-31", "2024-06-15", "2024-07-15") // true
|
|
22
|
+
* @example intervalContainsDate("2024-12-31", "2024-01-01", "2024-06-15") // false
|
|
23
|
+
* @example intervalContainsDate("2024-01-01", "2024-12-31", "2024-06-15", "2024-06-10") // false
|
|
24
|
+
* @example intervalContainsDate("invalid", "2024-12-31", "2024-06-15") // false
|
|
25
|
+
*/
|
|
26
|
+
export declare function intervalContainsDate(intervalStart: string, intervalEnd: string, pointOrStart: string, pointEnd?: string): boolean;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { parseCalendarDateValue } from "../../internal/index.js";
|
|
3
|
+
import { isValidCalendarDate } from "../validate/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Return true when `pointOrStart` falls within the interval `[intervalStart, intervalEnd]`
|
|
6
|
+
* (3-arg), or when the inner interval `[innerStart, innerEnd]` is fully contained within
|
|
7
|
+
* the outer interval `[intervalStart, intervalEnd]` (4-arg).
|
|
8
|
+
*
|
|
9
|
+
* - Uses `Temporal.PlainDate.compare` for comparison.
|
|
10
|
+
* - Always-inclusive boundaries: `start <= point <= end`.
|
|
11
|
+
* - Returns `false` if `intervalStart > intervalEnd` (invalid outer interval).
|
|
12
|
+
* - Returns `false` if `innerStart > innerEnd` in 4-arg mode (invalid inner interval).
|
|
13
|
+
* - Returns `false` on invalid input (wrong type, malformed strings).
|
|
14
|
+
* - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
|
|
15
|
+
* calendar-independent, so arguments may carry different or no calendar tags (D4).
|
|
16
|
+
*
|
|
17
|
+
* @param intervalStart ISO 8601 date string for the outer interval start, optionally calendar-annotated
|
|
18
|
+
* @param intervalEnd ISO 8601 date string for the outer interval end, optionally calendar-annotated
|
|
19
|
+
* @param pointOrStart ISO 8601 date string for the point (3-arg) or inner start (4-arg), optionally calendar-annotated
|
|
20
|
+
* @param pointEnd optional ISO 8601 date string for the inner interval end (4-arg mode), optionally calendar-annotated
|
|
21
|
+
* @returns true if the point or inner interval is contained, or false on invalid input
|
|
22
|
+
*
|
|
23
|
+
* @example intervalContainsDate("2024-01-01", "2024-12-31", "2024-06-15") // true
|
|
24
|
+
* @example intervalContainsDate("2024-01-01", "2024-12-31", "2024-06-15", "2024-07-15") // true
|
|
25
|
+
* @example intervalContainsDate("2024-12-31", "2024-01-01", "2024-06-15") // false
|
|
26
|
+
* @example intervalContainsDate("2024-01-01", "2024-12-31", "2024-06-15", "2024-06-10") // false
|
|
27
|
+
* @example intervalContainsDate("invalid", "2024-12-31", "2024-06-15") // false
|
|
28
|
+
*/
|
|
29
|
+
export function intervalContainsDate(intervalStart, intervalEnd, pointOrStart, pointEnd) {
|
|
30
|
+
if (typeof intervalStart !== "string" ||
|
|
31
|
+
typeof intervalEnd !== "string" ||
|
|
32
|
+
typeof pointOrStart !== "string" ||
|
|
33
|
+
(pointEnd !== undefined && typeof pointEnd !== "string")) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
if (!isValidCalendarDate(intervalStart) ||
|
|
37
|
+
!isValidCalendarDate(intervalEnd) ||
|
|
38
|
+
!isValidCalendarDate(pointOrStart) ||
|
|
39
|
+
(pointEnd !== undefined && !isValidCalendarDate(pointEnd))) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const s = parseCalendarDateValue(intervalStart);
|
|
44
|
+
const e = parseCalendarDateValue(intervalEnd);
|
|
45
|
+
const p = parseCalendarDateValue(pointOrStart);
|
|
46
|
+
if (Temporal.PlainDate.compare(s, e) > 0) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
if (pointEnd === undefined) {
|
|
50
|
+
return (Temporal.PlainDate.compare(s, p) <= 0 &&
|
|
51
|
+
Temporal.PlainDate.compare(p, e) <= 0);
|
|
52
|
+
}
|
|
53
|
+
const pe = parseCalendarDateValue(pointEnd);
|
|
54
|
+
if (Temporal.PlainDate.compare(p, pe) > 0) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return (Temporal.PlainDate.compare(s, p) <= 0 &&
|
|
58
|
+
Temporal.PlainDate.compare(pe, e) <= 0);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true when `pointOrStart` falls within the interval `[intervalStart, intervalEnd]`
|
|
3
|
+
* (3-arg), or when the inner interval `[innerStart, innerEnd]` is fully contained within
|
|
4
|
+
* the outer interval `[intervalStart, intervalEnd]` (4-arg).
|
|
5
|
+
*
|
|
6
|
+
* - Uses `Temporal.PlainDateTime.compare` for comparison.
|
|
7
|
+
* - Always-inclusive boundaries: `start <= point <= end`.
|
|
8
|
+
* - Returns `false` if `intervalStart > intervalEnd` (invalid outer interval).
|
|
9
|
+
* - Returns `false` if `innerStart > innerEnd` in 4-arg mode (invalid inner interval).
|
|
10
|
+
* - Returns `false` on invalid input (wrong type, malformed strings, leap seconds).
|
|
11
|
+
*
|
|
12
|
+
* @param intervalStart ISO 8601 datetime string for the outer interval start
|
|
13
|
+
* @param intervalEnd ISO 8601 datetime string for the outer interval end
|
|
14
|
+
* @param pointOrStart ISO 8601 datetime string for the point (3-arg) or inner start (4-arg)
|
|
15
|
+
* @param pointEnd optional ISO 8601 datetime string for the inner interval end (4-arg mode)
|
|
16
|
+
* @returns true if the point or inner interval is contained, or false on invalid input
|
|
17
|
+
*
|
|
18
|
+
* @example intervalContainsDateTime("2024-01-01T10:00:00", "2024-12-31T23:59:59", "2024-06-15T12:00:00") // true
|
|
19
|
+
* @example intervalContainsDateTime("2024-01-01T10:00:00", "2024-12-31T23:59:59", "2024-06-15T12:00:00", "2024-07-15T12:00:00") // true
|
|
20
|
+
* @example intervalContainsDateTime("2024-12-31T23:59:59", "2024-01-01T10:00:00", "2024-06-15T12:00:00") // false
|
|
21
|
+
* @example intervalContainsDateTime("2024-01-01T10:00:00", "2024-12-31T23:59:59", "2024-06-15T12:00:00", "2024-06-10T12:00:00") // false
|
|
22
|
+
* @example intervalContainsDateTime("invalid", "2024-12-31T23:59:59", "2024-06-15T12:00:00") // false
|
|
23
|
+
*/
|
|
24
|
+
export declare function intervalContainsDateTime(intervalStart: string, intervalEnd: string, pointOrStart: string, pointEnd?: string): boolean;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { plainDateTime } from "../../regex/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return true when `pointOrStart` falls within the interval `[intervalStart, intervalEnd]`
|
|
5
|
+
* (3-arg), or when the inner interval `[innerStart, innerEnd]` is fully contained within
|
|
6
|
+
* the outer interval `[intervalStart, intervalEnd]` (4-arg).
|
|
7
|
+
*
|
|
8
|
+
* - Uses `Temporal.PlainDateTime.compare` for comparison.
|
|
9
|
+
* - Always-inclusive boundaries: `start <= point <= end`.
|
|
10
|
+
* - Returns `false` if `intervalStart > intervalEnd` (invalid outer interval).
|
|
11
|
+
* - Returns `false` if `innerStart > innerEnd` in 4-arg mode (invalid inner interval).
|
|
12
|
+
* - Returns `false` on invalid input (wrong type, malformed strings, leap seconds).
|
|
13
|
+
*
|
|
14
|
+
* @param intervalStart ISO 8601 datetime string for the outer interval start
|
|
15
|
+
* @param intervalEnd ISO 8601 datetime string for the outer interval end
|
|
16
|
+
* @param pointOrStart ISO 8601 datetime string for the point (3-arg) or inner start (4-arg)
|
|
17
|
+
* @param pointEnd optional ISO 8601 datetime string for the inner interval end (4-arg mode)
|
|
18
|
+
* @returns true if the point or inner interval is contained, or false on invalid input
|
|
19
|
+
*
|
|
20
|
+
* @example intervalContainsDateTime("2024-01-01T10:00:00", "2024-12-31T23:59:59", "2024-06-15T12:00:00") // true
|
|
21
|
+
* @example intervalContainsDateTime("2024-01-01T10:00:00", "2024-12-31T23:59:59", "2024-06-15T12:00:00", "2024-07-15T12:00:00") // true
|
|
22
|
+
* @example intervalContainsDateTime("2024-12-31T23:59:59", "2024-01-01T10:00:00", "2024-06-15T12:00:00") // false
|
|
23
|
+
* @example intervalContainsDateTime("2024-01-01T10:00:00", "2024-12-31T23:59:59", "2024-06-15T12:00:00", "2024-06-10T12:00:00") // false
|
|
24
|
+
* @example intervalContainsDateTime("invalid", "2024-12-31T23:59:59", "2024-06-15T12:00:00") // false
|
|
25
|
+
*/
|
|
26
|
+
export function intervalContainsDateTime(intervalStart, intervalEnd, pointOrStart, pointEnd) {
|
|
27
|
+
if (typeof intervalStart !== "string" ||
|
|
28
|
+
typeof intervalEnd !== "string" ||
|
|
29
|
+
typeof pointOrStart !== "string" ||
|
|
30
|
+
(pointEnd !== undefined && typeof pointEnd !== "string")) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (!plainDateTime.test(intervalStart) ||
|
|
34
|
+
!plainDateTime.test(intervalEnd) ||
|
|
35
|
+
!plainDateTime.test(pointOrStart) ||
|
|
36
|
+
(pointEnd !== undefined && !plainDateTime.test(pointEnd))) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const s = Temporal.PlainDateTime.from(intervalStart);
|
|
41
|
+
const e = Temporal.PlainDateTime.from(intervalEnd);
|
|
42
|
+
const p = Temporal.PlainDateTime.from(pointOrStart);
|
|
43
|
+
if (Temporal.PlainDateTime.compare(s, e) > 0) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
if (pointEnd === undefined) {
|
|
47
|
+
return (Temporal.PlainDateTime.compare(s, p) <= 0 &&
|
|
48
|
+
Temporal.PlainDateTime.compare(p, e) <= 0);
|
|
49
|
+
}
|
|
50
|
+
const pe = Temporal.PlainDateTime.from(pointEnd);
|
|
51
|
+
if (Temporal.PlainDateTime.compare(p, pe) > 0) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
return (Temporal.PlainDateTime.compare(s, p) <= 0 &&
|
|
55
|
+
Temporal.PlainDateTime.compare(pe, e) <= 0);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true when `pointOrStart` falls within the interval `[intervalStart, intervalEnd]`
|
|
3
|
+
* (3-arg), or when the inner interval `[innerStart, innerEnd]` is fully contained within
|
|
4
|
+
* the outer interval `[intervalStart, intervalEnd]` (4-arg).
|
|
5
|
+
*
|
|
6
|
+
* - Uses `Temporal.PlainTime.compare` for comparison.
|
|
7
|
+
* - Always-inclusive boundaries: `start <= point <= end`.
|
|
8
|
+
* - Returns `false` if `intervalStart > intervalEnd` (invalid outer interval).
|
|
9
|
+
* - Returns `false` if `innerStart > innerEnd` in 4-arg mode (invalid inner interval).
|
|
10
|
+
* - Returns `false` on invalid input (wrong type, malformed strings, leap seconds).
|
|
11
|
+
*
|
|
12
|
+
* @param intervalStart ISO 8601 time string for the outer interval start
|
|
13
|
+
* @param intervalEnd ISO 8601 time string for the outer interval end
|
|
14
|
+
* @param pointOrStart ISO 8601 time string for the point (3-arg) or inner start (4-arg)
|
|
15
|
+
* @param pointEnd optional ISO 8601 time string for the inner interval end (4-arg mode)
|
|
16
|
+
* @returns true if the point or inner interval is contained, or false on invalid input
|
|
17
|
+
*
|
|
18
|
+
* @example intervalContainsTime("09:00:00", "17:00:00", "12:00:00") // true
|
|
19
|
+
* @example intervalContainsTime("09:00:00", "17:00:00", "12:00:00", "13:00:00") // true
|
|
20
|
+
* @example intervalContainsTime("17:00:00", "09:00:00", "12:00:00") // false
|
|
21
|
+
* @example intervalContainsTime("09:00:00", "17:00:00", "12:00:00", "11:00:00") // false
|
|
22
|
+
* @example intervalContainsTime("invalid", "17:00:00", "12:00:00") // false
|
|
23
|
+
*/
|
|
24
|
+
export declare function intervalContainsTime(intervalStart: string, intervalEnd: string, pointOrStart: string, pointEnd?: string): boolean;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { plainTime } from "../../regex/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Return true when `pointOrStart` falls within the interval `[intervalStart, intervalEnd]`
|
|
5
|
+
* (3-arg), or when the inner interval `[innerStart, innerEnd]` is fully contained within
|
|
6
|
+
* the outer interval `[intervalStart, intervalEnd]` (4-arg).
|
|
7
|
+
*
|
|
8
|
+
* - Uses `Temporal.PlainTime.compare` for comparison.
|
|
9
|
+
* - Always-inclusive boundaries: `start <= point <= end`.
|
|
10
|
+
* - Returns `false` if `intervalStart > intervalEnd` (invalid outer interval).
|
|
11
|
+
* - Returns `false` if `innerStart > innerEnd` in 4-arg mode (invalid inner interval).
|
|
12
|
+
* - Returns `false` on invalid input (wrong type, malformed strings, leap seconds).
|
|
13
|
+
*
|
|
14
|
+
* @param intervalStart ISO 8601 time string for the outer interval start
|
|
15
|
+
* @param intervalEnd ISO 8601 time string for the outer interval end
|
|
16
|
+
* @param pointOrStart ISO 8601 time string for the point (3-arg) or inner start (4-arg)
|
|
17
|
+
* @param pointEnd optional ISO 8601 time string for the inner interval end (4-arg mode)
|
|
18
|
+
* @returns true if the point or inner interval is contained, or false on invalid input
|
|
19
|
+
*
|
|
20
|
+
* @example intervalContainsTime("09:00:00", "17:00:00", "12:00:00") // true
|
|
21
|
+
* @example intervalContainsTime("09:00:00", "17:00:00", "12:00:00", "13:00:00") // true
|
|
22
|
+
* @example intervalContainsTime("17:00:00", "09:00:00", "12:00:00") // false
|
|
23
|
+
* @example intervalContainsTime("09:00:00", "17:00:00", "12:00:00", "11:00:00") // false
|
|
24
|
+
* @example intervalContainsTime("invalid", "17:00:00", "12:00:00") // false
|
|
25
|
+
*/
|
|
26
|
+
export function intervalContainsTime(intervalStart, intervalEnd, pointOrStart, pointEnd) {
|
|
27
|
+
if (typeof intervalStart !== "string" ||
|
|
28
|
+
typeof intervalEnd !== "string" ||
|
|
29
|
+
typeof pointOrStart !== "string" ||
|
|
30
|
+
(pointEnd !== undefined && typeof pointEnd !== "string")) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (!plainTime.test(intervalStart) ||
|
|
34
|
+
!plainTime.test(intervalEnd) ||
|
|
35
|
+
!plainTime.test(pointOrStart) ||
|
|
36
|
+
(pointEnd !== undefined && !plainTime.test(pointEnd))) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const s = Temporal.PlainTime.from(intervalStart);
|
|
41
|
+
const e = Temporal.PlainTime.from(intervalEnd);
|
|
42
|
+
const p = Temporal.PlainTime.from(pointOrStart);
|
|
43
|
+
if (Temporal.PlainTime.compare(s, e) > 0) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
if (pointEnd === undefined) {
|
|
47
|
+
return (Temporal.PlainTime.compare(s, p) <= 0 &&
|
|
48
|
+
Temporal.PlainTime.compare(p, e) <= 0);
|
|
49
|
+
}
|
|
50
|
+
const pe = Temporal.PlainTime.from(pointEnd);
|
|
51
|
+
if (Temporal.PlainTime.compare(p, pe) > 0) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
return (Temporal.PlainTime.compare(s, p) <= 0 &&
|
|
55
|
+
Temporal.PlainTime.compare(pe, e) <= 0);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Count how many `unit` boundaries a date interval crosses.
|
|
3
|
+
*
|
|
4
|
+
* - Counts calendar boundaries touched by the half-open interval `[start, end)` — distinct
|
|
5
|
+
* from `diffDate`, which measures exact elapsed duration.
|
|
6
|
+
* - `"2024-01-01"` to `"2024-01-03"` counted in days is 2: the end boundary is excluded.
|
|
7
|
+
* - A zero-length interval counts 1 when it sits mid-unit and 0 when it sits exactly on a
|
|
8
|
+
* unit boundary (e.g. `"2024-01-15"` counts 1 month but 0 days).
|
|
9
|
+
* - Weeks start on Monday (ISO 8601).
|
|
10
|
+
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
11
|
+
* - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit,
|
|
12
|
+
* or a unit that has no effect on `PlainDate`, e.g. `"hours"`).
|
|
13
|
+
* - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). When `start` and `end`
|
|
14
|
+
* carry the *same* calendar tag, boundaries are counted in that calendar (a Hebrew leap year
|
|
15
|
+
* crosses 13 month boundaries, not 12 — see the roadmap's E5 decisions of record, D5). When
|
|
16
|
+
* they carry different tags (or either is bare ISO), counting falls back to Gregorian.
|
|
17
|
+
*
|
|
18
|
+
* @param start ISO PlainDate string for the interval start, optionally calendar-annotated
|
|
19
|
+
* @param end ISO PlainDate string for the interval end, optionally calendar-annotated
|
|
20
|
+
* @param unit unit string — `"year" | "month" | "week" | "day"` (time units return null)
|
|
21
|
+
* @returns number of unit boundaries touched, or null on invalid input
|
|
22
|
+
*
|
|
23
|
+
* @example intervalCountDate("2024-01-01", "2024-01-03", "day") // 2
|
|
24
|
+
* @example intervalCountDate("2024-01-15", "2024-03-10", "month") // 3
|
|
25
|
+
* @example intervalCountDate("2024-01-15", "2024-01-15", "month") // 1 (zero-length, mid-month)
|
|
26
|
+
* @example intervalCountDate("2024-01-01", "2024-01-01", "month") // 0 (zero-length, on the boundary)
|
|
27
|
+
* @example intervalCountDate("2024-01-01", "2024-01-10", "hour") // null
|
|
28
|
+
* @example intervalCountDate("invalid", "2024-01-10", "day") // null
|
|
29
|
+
* @example intervalCountDate("5784-01-01[u-ca=hebrew]", "5785-01-01[u-ca=hebrew]", "month") // 13 (Hebrew leap year, measured in Hebrew)
|
|
30
|
+
*/
|
|
31
|
+
export declare function intervalCountDate(start: string, end: string, unit: string): number | null;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { getUnitSpan, parseCalendarDatePairForArithmetic, resolveDateTimeUnit, } from "../../internal/index.js";
|
|
3
|
+
import { getStartOfDateUnit } from "../../internal/dateUnitHelpers.js";
|
|
4
|
+
import { isValidCalendarDate, isValidDateUnit } from "../validate/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Count how many `unit` boundaries a date interval crosses.
|
|
7
|
+
*
|
|
8
|
+
* - Counts calendar boundaries touched by the half-open interval `[start, end)` — distinct
|
|
9
|
+
* from `diffDate`, which measures exact elapsed duration.
|
|
10
|
+
* - `"2024-01-01"` to `"2024-01-03"` counted in days is 2: the end boundary is excluded.
|
|
11
|
+
* - A zero-length interval counts 1 when it sits mid-unit and 0 when it sits exactly on a
|
|
12
|
+
* unit boundary (e.g. `"2024-01-15"` counts 1 month but 0 days).
|
|
13
|
+
* - Weeks start on Monday (ISO 8601).
|
|
14
|
+
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
15
|
+
* - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit,
|
|
16
|
+
* or a unit that has no effect on `PlainDate`, e.g. `"hours"`).
|
|
17
|
+
* - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). When `start` and `end`
|
|
18
|
+
* carry the *same* calendar tag, boundaries are counted in that calendar (a Hebrew leap year
|
|
19
|
+
* crosses 13 month boundaries, not 12 — see the roadmap's E5 decisions of record, D5). When
|
|
20
|
+
* they carry different tags (or either is bare ISO), counting falls back to Gregorian.
|
|
21
|
+
*
|
|
22
|
+
* @param start ISO PlainDate string for the interval start, optionally calendar-annotated
|
|
23
|
+
* @param end ISO PlainDate string for the interval end, optionally calendar-annotated
|
|
24
|
+
* @param unit unit string — `"year" | "month" | "week" | "day"` (time units return null)
|
|
25
|
+
* @returns number of unit boundaries touched, or null on invalid input
|
|
26
|
+
*
|
|
27
|
+
* @example intervalCountDate("2024-01-01", "2024-01-03", "day") // 2
|
|
28
|
+
* @example intervalCountDate("2024-01-15", "2024-03-10", "month") // 3
|
|
29
|
+
* @example intervalCountDate("2024-01-15", "2024-01-15", "month") // 1 (zero-length, mid-month)
|
|
30
|
+
* @example intervalCountDate("2024-01-01", "2024-01-01", "month") // 0 (zero-length, on the boundary)
|
|
31
|
+
* @example intervalCountDate("2024-01-01", "2024-01-10", "hour") // null
|
|
32
|
+
* @example intervalCountDate("invalid", "2024-01-10", "day") // null
|
|
33
|
+
* @example intervalCountDate("5784-01-01[u-ca=hebrew]", "5785-01-01[u-ca=hebrew]", "month") // 13 (Hebrew leap year, measured in Hebrew)
|
|
34
|
+
*/
|
|
35
|
+
export function intervalCountDate(start, end, unit) {
|
|
36
|
+
if (typeof start !== "string" || typeof end !== "string") {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
if (!isValidCalendarDate(start) || !isValidCalendarDate(end)) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (typeof unit !== "string") {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const resolvedUnit = resolveDateTimeUnit(unit);
|
|
46
|
+
if (!isValidDateUnit(resolvedUnit)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const { a: startVal, b: endVal } = parseCalendarDatePairForArithmetic(start, end);
|
|
51
|
+
if (Temporal.PlainDate.compare(startVal, endVal) > 0) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const startOfStart = getStartOfDateUnit(startVal, resolvedUnit);
|
|
55
|
+
const startOfEnd = getStartOfDateUnit(endVal, resolvedUnit);
|
|
56
|
+
const spanned = getUnitSpan(startOfStart.until(startOfEnd, { largestUnit: resolvedUnit }), resolvedUnit);
|
|
57
|
+
return spanned + (startOfEnd.equals(endVal) ? 0 : 1);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Count how many `unit` boundaries a date-time interval crosses.
|
|
3
|
+
*
|
|
4
|
+
* - Counts calendar boundaries touched by the half-open interval `[start, end)` — distinct
|
|
5
|
+
* from `diffDateTime`, which measures exact elapsed duration. An interval from 23:59 to
|
|
6
|
+
* 00:01 is two minutes long but touches 2 day boundaries.
|
|
7
|
+
* - The end boundary is excluded: `"2024-01-01T00:00:00"` to `"2024-01-03T00:00:00"` counts 2 days.
|
|
8
|
+
* - A zero-length interval counts 1 when it sits mid-unit and 0 when it sits exactly on a
|
|
9
|
+
* unit boundary.
|
|
10
|
+
* - Weeks start on Monday (ISO 8601).
|
|
11
|
+
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
12
|
+
* - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit).
|
|
13
|
+
*
|
|
14
|
+
* @param start ISO PlainDateTime string for the interval start
|
|
15
|
+
* @param end ISO PlainDateTime string for the interval end
|
|
16
|
+
* @param unit unit string — any `DateTimeUnit`
|
|
17
|
+
* @returns number of unit boundaries touched, or null on invalid input
|
|
18
|
+
*
|
|
19
|
+
* @example intervalCountDateTime("2024-01-01T23:59:00", "2024-01-02T00:01:00", "day") // 2
|
|
20
|
+
* @example intervalCountDateTime("2024-01-01T00:00:00", "2024-01-03T00:00:00", "day") // 2
|
|
21
|
+
* @example intervalCountDateTime("2024-01-01T10:30:00", "2024-01-01T12:00:00", "hour") // 2
|
|
22
|
+
* @example intervalCountDateTime("2024-01-01T05:00:00", "2024-01-01T05:00:00", "day") // 1 (zero-length, mid-day)
|
|
23
|
+
* @example intervalCountDateTime("2024-01-01T00:00:00", "2024-01-01T00:00:00", "day") // 0 (zero-length, on the boundary)
|
|
24
|
+
* @example intervalCountDateTime("invalid", "2024-01-02T00:00:00", "day") // null
|
|
25
|
+
*/
|
|
26
|
+
export declare function intervalCountDateTime(start: string, end: string, unit: string): number | null;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { getUnitSpan, resolveDateTimeUnit } from "../../internal/index.js";
|
|
3
|
+
import { getStartOfDateTimeUnit } from "../../internal/dateTimeUnitHelpers.js";
|
|
4
|
+
import { plainDateTime } from "../../regex/index.js";
|
|
5
|
+
import { isValidDateTime, isValidDateTimeUnit, isValidDateUnit, } from "../validate/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Return the start of `unit` for a `Temporal.PlainDateTime`, for every DateTimeUnit.
|
|
8
|
+
*
|
|
9
|
+
* Date units delegate to the shared helper; time units truncate via `round`.
|
|
10
|
+
*/
|
|
11
|
+
function startOfUnit(source, unit) {
|
|
12
|
+
if (isValidDateUnit(unit)) {
|
|
13
|
+
return getStartOfDateTimeUnit(source, unit);
|
|
14
|
+
}
|
|
15
|
+
return source.round({ smallestUnit: unit, roundingMode: "trunc" });
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Count how many `unit` boundaries a date-time interval crosses.
|
|
19
|
+
*
|
|
20
|
+
* - Counts calendar boundaries touched by the half-open interval `[start, end)` — distinct
|
|
21
|
+
* from `diffDateTime`, which measures exact elapsed duration. An interval from 23:59 to
|
|
22
|
+
* 00:01 is two minutes long but touches 2 day boundaries.
|
|
23
|
+
* - The end boundary is excluded: `"2024-01-01T00:00:00"` to `"2024-01-03T00:00:00"` counts 2 days.
|
|
24
|
+
* - A zero-length interval counts 1 when it sits mid-unit and 0 when it sits exactly on a
|
|
25
|
+
* unit boundary.
|
|
26
|
+
* - Weeks start on Monday (ISO 8601).
|
|
27
|
+
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
28
|
+
* - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit).
|
|
29
|
+
*
|
|
30
|
+
* @param start ISO PlainDateTime string for the interval start
|
|
31
|
+
* @param end ISO PlainDateTime string for the interval end
|
|
32
|
+
* @param unit unit string — any `DateTimeUnit`
|
|
33
|
+
* @returns number of unit boundaries touched, or null on invalid input
|
|
34
|
+
*
|
|
35
|
+
* @example intervalCountDateTime("2024-01-01T23:59:00", "2024-01-02T00:01:00", "day") // 2
|
|
36
|
+
* @example intervalCountDateTime("2024-01-01T00:00:00", "2024-01-03T00:00:00", "day") // 2
|
|
37
|
+
* @example intervalCountDateTime("2024-01-01T10:30:00", "2024-01-01T12:00:00", "hour") // 2
|
|
38
|
+
* @example intervalCountDateTime("2024-01-01T05:00:00", "2024-01-01T05:00:00", "day") // 1 (zero-length, mid-day)
|
|
39
|
+
* @example intervalCountDateTime("2024-01-01T00:00:00", "2024-01-01T00:00:00", "day") // 0 (zero-length, on the boundary)
|
|
40
|
+
* @example intervalCountDateTime("invalid", "2024-01-02T00:00:00", "day") // null
|
|
41
|
+
*/
|
|
42
|
+
export function intervalCountDateTime(start, end, unit) {
|
|
43
|
+
if (typeof start !== "string" || typeof end !== "string") {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (!plainDateTime.test(start) || !plainDateTime.test(end)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (!isValidDateTime(start) || !isValidDateTime(end)) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
if (typeof unit !== "string") {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const resolvedUnit = resolveDateTimeUnit(unit);
|
|
56
|
+
if (!isValidDateTimeUnit(resolvedUnit)) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
const startVal = Temporal.PlainDateTime.from(start);
|
|
61
|
+
const endVal = Temporal.PlainDateTime.from(end);
|
|
62
|
+
if (Temporal.PlainDateTime.compare(startVal, endVal) > 0) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const startOfStart = startOfUnit(startVal, resolvedUnit);
|
|
66
|
+
const startOfEnd = startOfUnit(endVal, resolvedUnit);
|
|
67
|
+
const spanned = getUnitSpan(startOfStart.until(startOfEnd, { largestUnit: resolvedUnit }), resolvedUnit);
|
|
68
|
+
return spanned + (startOfEnd.equals(endVal) ? 0 : 1);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Count how many `unit` boundaries a time interval crosses.
|
|
3
|
+
*
|
|
4
|
+
* - Counts clock boundaries touched by the half-open interval `[start, end)` — distinct from
|
|
5
|
+
* `diffTime`, which measures exact elapsed duration. An interval from 12:59 to 13:01 is two
|
|
6
|
+
* minutes long but touches 2 hour boundaries.
|
|
7
|
+
* - The end boundary is excluded: `"12:00:00"` to `"14:00:00"` counts 2 hours.
|
|
8
|
+
* - A zero-length interval counts 1 when it sits mid-unit and 0 when it sits exactly on a
|
|
9
|
+
* unit boundary.
|
|
10
|
+
* - Accepts singular or plural units (`"hour"` and `"hours"` behave identically).
|
|
11
|
+
* - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit,
|
|
12
|
+
* or a unit that has no effect on `PlainTime`, e.g. `"days"`).
|
|
13
|
+
*
|
|
14
|
+
* @param start ISO PlainTime string for the interval start
|
|
15
|
+
* @param end ISO PlainTime string for the interval end
|
|
16
|
+
* @param unit unit string — `"hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"` (calendar units return null)
|
|
17
|
+
* @returns number of unit boundaries touched, or null on invalid input
|
|
18
|
+
*
|
|
19
|
+
* @example intervalCountTime("12:00:00", "14:00:00", "hour") // 2
|
|
20
|
+
* @example intervalCountTime("12:30:00", "13:00:00", "hour") // 1
|
|
21
|
+
* @example intervalCountTime("12:30:00", "12:30:00", "hour") // 1 (zero-length, mid-hour)
|
|
22
|
+
* @example intervalCountTime("12:00:00", "12:00:00", "hour") // 0 (zero-length, on the boundary)
|
|
23
|
+
* @example intervalCountTime("12:00:00", "14:00:00", "day") // null
|
|
24
|
+
* @example intervalCountTime("invalid", "14:00:00", "hour") // null
|
|
25
|
+
*/
|
|
26
|
+
export declare function intervalCountTime(start: string, end: string, unit: string): number | null;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { getUnitSpan, resolveDateTimeUnit } from "../../internal/index.js";
|
|
3
|
+
import { plainTime } from "../../regex/index.js";
|
|
4
|
+
import { isValidTime, isValidTimeUnit } from "../validate/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Count how many `unit` boundaries a time interval crosses.
|
|
7
|
+
*
|
|
8
|
+
* - Counts clock boundaries touched by the half-open interval `[start, end)` — distinct from
|
|
9
|
+
* `diffTime`, which measures exact elapsed duration. An interval from 12:59 to 13:01 is two
|
|
10
|
+
* minutes long but touches 2 hour boundaries.
|
|
11
|
+
* - The end boundary is excluded: `"12:00:00"` to `"14:00:00"` counts 2 hours.
|
|
12
|
+
* - A zero-length interval counts 1 when it sits mid-unit and 0 when it sits exactly on a
|
|
13
|
+
* unit boundary.
|
|
14
|
+
* - Accepts singular or plural units (`"hour"` and `"hours"` behave identically).
|
|
15
|
+
* - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit,
|
|
16
|
+
* or a unit that has no effect on `PlainTime`, e.g. `"days"`).
|
|
17
|
+
*
|
|
18
|
+
* @param start ISO PlainTime string for the interval start
|
|
19
|
+
* @param end ISO PlainTime string for the interval end
|
|
20
|
+
* @param unit unit string — `"hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"` (calendar units return null)
|
|
21
|
+
* @returns number of unit boundaries touched, or null on invalid input
|
|
22
|
+
*
|
|
23
|
+
* @example intervalCountTime("12:00:00", "14:00:00", "hour") // 2
|
|
24
|
+
* @example intervalCountTime("12:30:00", "13:00:00", "hour") // 1
|
|
25
|
+
* @example intervalCountTime("12:30:00", "12:30:00", "hour") // 1 (zero-length, mid-hour)
|
|
26
|
+
* @example intervalCountTime("12:00:00", "12:00:00", "hour") // 0 (zero-length, on the boundary)
|
|
27
|
+
* @example intervalCountTime("12:00:00", "14:00:00", "day") // null
|
|
28
|
+
* @example intervalCountTime("invalid", "14:00:00", "hour") // null
|
|
29
|
+
*/
|
|
30
|
+
export function intervalCountTime(start, end, unit) {
|
|
31
|
+
if (typeof start !== "string" || typeof end !== "string") {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
if (!plainTime.test(start) || !plainTime.test(end)) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
if (!isValidTime(start) || !isValidTime(end)) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
if (typeof unit !== "string") {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const resolvedUnit = resolveDateTimeUnit(unit);
|
|
44
|
+
if (!isValidTimeUnit(resolvedUnit)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const startVal = Temporal.PlainTime.from(start);
|
|
49
|
+
const endVal = Temporal.PlainTime.from(end);
|
|
50
|
+
if (Temporal.PlainTime.compare(startVal, endVal) > 0) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const startOfStart = startVal.round({
|
|
54
|
+
smallestUnit: resolvedUnit,
|
|
55
|
+
roundingMode: "trunc",
|
|
56
|
+
});
|
|
57
|
+
const startOfEnd = endVal.round({
|
|
58
|
+
smallestUnit: resolvedUnit,
|
|
59
|
+
roundingMode: "trunc",
|
|
60
|
+
});
|
|
61
|
+
const spanned = getUnitSpan(startOfStart.until(startOfEnd, { largestUnit: resolvedUnit }), resolvedUnit);
|
|
62
|
+
return spanned + (startOfEnd.equals(endVal) ? 0 : 1);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|