@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,55 @@
|
|
|
1
|
+
import { isValidUnixEpochPair } from "../../internal/resolveUnixTimeZone.js";
|
|
2
|
+
/**
|
|
3
|
+
* Split a Unix epoch interval at arbitrary `points`, producing consecutive sub-intervals.
|
|
4
|
+
*
|
|
5
|
+
* - `points` need not be sorted — they are sorted internally before splitting.
|
|
6
|
+
* - Points outside `[start, end]` are dropped; they cannot introduce a boundary that isn't
|
|
7
|
+
* inside the interval.
|
|
8
|
+
* - Points exactly on `start` or `end` are dropped too — they would only produce a
|
|
9
|
+
* zero-length sub-interval at the edge.
|
|
10
|
+
* - Duplicate points collapse to a single boundary.
|
|
11
|
+
* - Returns `[{ start, end }]` (the whole interval, unsplit) when no valid in-range point remains.
|
|
12
|
+
* - Returns `[]` when `points` is not an array, when any element is not a finite number (or
|
|
13
|
+
* numeric string), or on invalid input (non-finite/non-integer start/end, `start > end`).
|
|
14
|
+
*
|
|
15
|
+
* @param start Unix epoch value (seconds or milliseconds) — interval start
|
|
16
|
+
* @param end Unix epoch value (seconds or milliseconds) — interval end
|
|
17
|
+
* @param points array of Unix epoch values to split at
|
|
18
|
+
* @returns array of `{ start, end }` records, or `[]` on invalid input
|
|
19
|
+
*
|
|
20
|
+
* @example intervalSplitAtUnix(0, 100000, [50000]) // [{ start: 0, end: 50000 }, { start: 50000, end: 100000 }]
|
|
21
|
+
* @example intervalSplitAtUnix(0, 100000, []) // [{ start: 0, end: 100000 }]
|
|
22
|
+
* @example intervalSplitAtUnix(NaN, 100000, [50000]) // []
|
|
23
|
+
*/
|
|
24
|
+
export function intervalSplitAtUnix(start, end, points) {
|
|
25
|
+
if (!Array.isArray(points)) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
if (typeof start !== "number" && typeof start !== "string") {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
if (typeof end !== "number" && typeof end !== "string") {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
const startMs = typeof start === "number" ? start : Number(start);
|
|
35
|
+
const endMs = typeof end === "number" ? end : Number(end);
|
|
36
|
+
if (!isValidUnixEpochPair(startMs, endMs) || startMs > endMs) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
if (!points.every((point) => typeof point === "number" || typeof point === "string")) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
const parsedPoints = points.map((point) => typeof point === "number" ? point : Number(point));
|
|
43
|
+
if (!parsedPoints.every((point) => Number.isFinite(point))) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
const inRangePoints = parsedPoints.filter((point) => point > startMs && point < endMs);
|
|
47
|
+
inRangePoints.sort((a, b) => a - b);
|
|
48
|
+
const uniquePoints = inRangePoints.filter((point, index) => index === 0 || point !== inRangePoints[index - 1]);
|
|
49
|
+
const boundaries = [startMs, ...uniquePoints, endMs];
|
|
50
|
+
const result = [];
|
|
51
|
+
for (let i = 0; i < boundaries.length - 1; i++) {
|
|
52
|
+
result.push({ start: boundaries[i], end: boundaries[i + 1] });
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the combined span of two Unix epoch intervals, or null when they are disjoint.
|
|
3
|
+
*
|
|
4
|
+
* - Compares numeric Unix epoch values directly.
|
|
5
|
+
* - Overlapping intervals return their merged span.
|
|
6
|
+
* - Adjacent intervals (e.g. `aEnd === bStart`) share one instant and ARE merged.
|
|
7
|
+
* - Returns `null` if either interval is invalid (`start > end`).
|
|
8
|
+
* - Returns `null` on invalid input (non-numeric types, non-finite values).
|
|
9
|
+
*
|
|
10
|
+
* @param aStart Unix epoch value (seconds or milliseconds) — first interval start
|
|
11
|
+
* @param aEnd Unix epoch value (seconds or milliseconds) — first interval end
|
|
12
|
+
* @param bStart Unix epoch value (seconds or milliseconds) — second interval start
|
|
13
|
+
* @param bEnd Unix epoch value (seconds or milliseconds) — second interval end
|
|
14
|
+
* @returns `{ start, end }` with the merged span, or null on invalid input / disjoint intervals
|
|
15
|
+
*
|
|
16
|
+
* @example intervalUnionUnix(0, 1700000000, 1000000, 2000000) // { start: 0, end: 1700000000 }
|
|
17
|
+
* @example intervalUnionUnix(0, 1000000, 1000000, 2000000) // { start: 0, end: 2000000 }
|
|
18
|
+
* @example intervalUnionUnix(0, 1000000, 1000001, 2000000) // null
|
|
19
|
+
* @example intervalUnionUnix(NaN, 1700000000, 1000000, 2000000) // null
|
|
20
|
+
* @example intervalUnionUnix("0", "1700000000", "1000000", "2000000") // { start: 0, end: 1700000000 }
|
|
21
|
+
*/
|
|
22
|
+
export declare function intervalUnionUnix(aStart: number | string, aEnd: number | string, bStart: number | string, bEnd: number | string): {
|
|
23
|
+
start: number;
|
|
24
|
+
end: number;
|
|
25
|
+
} | null;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the combined span of two Unix epoch intervals, or null when they are disjoint.
|
|
3
|
+
*
|
|
4
|
+
* - Compares numeric Unix epoch values directly.
|
|
5
|
+
* - Overlapping intervals return their merged span.
|
|
6
|
+
* - Adjacent intervals (e.g. `aEnd === bStart`) share one instant and ARE merged.
|
|
7
|
+
* - Returns `null` if either interval is invalid (`start > end`).
|
|
8
|
+
* - Returns `null` on invalid input (non-numeric types, non-finite values).
|
|
9
|
+
*
|
|
10
|
+
* @param aStart Unix epoch value (seconds or milliseconds) — first interval start
|
|
11
|
+
* @param aEnd Unix epoch value (seconds or milliseconds) — first interval end
|
|
12
|
+
* @param bStart Unix epoch value (seconds or milliseconds) — second interval start
|
|
13
|
+
* @param bEnd Unix epoch value (seconds or milliseconds) — second interval end
|
|
14
|
+
* @returns `{ start, end }` with the merged span, or null on invalid input / disjoint intervals
|
|
15
|
+
*
|
|
16
|
+
* @example intervalUnionUnix(0, 1700000000, 1000000, 2000000) // { start: 0, end: 1700000000 }
|
|
17
|
+
* @example intervalUnionUnix(0, 1000000, 1000000, 2000000) // { start: 0, end: 2000000 }
|
|
18
|
+
* @example intervalUnionUnix(0, 1000000, 1000001, 2000000) // null
|
|
19
|
+
* @example intervalUnionUnix(NaN, 1700000000, 1000000, 2000000) // null
|
|
20
|
+
* @example intervalUnionUnix("0", "1700000000", "1000000", "2000000") // { start: 0, end: 1700000000 }
|
|
21
|
+
*/
|
|
22
|
+
export function intervalUnionUnix(aStart, aEnd, bStart, bEnd) {
|
|
23
|
+
if (typeof aStart !== "number" && typeof aStart !== "string") {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
if (typeof aEnd !== "number" && typeof aEnd !== "string") {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
if (typeof bStart !== "number" && typeof bStart !== "string") {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (typeof bEnd !== "number" && typeof bEnd !== "string") {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const a1 = typeof aStart === "number" ? aStart : Number(aStart);
|
|
36
|
+
const a2 = typeof aEnd === "number" ? aEnd : Number(aEnd);
|
|
37
|
+
const b1 = typeof bStart === "number" ? bStart : Number(bStart);
|
|
38
|
+
const b2 = typeof bEnd === "number" ? bEnd : Number(bEnd);
|
|
39
|
+
if (!Number.isFinite(a1) ||
|
|
40
|
+
!Number.isFinite(a2) ||
|
|
41
|
+
!Number.isFinite(b1) ||
|
|
42
|
+
!Number.isFinite(b2)) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (a1 > a2) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
if (b1 > b2) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
if (a2 < b1 || b2 < a1) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
start: Math.min(a1, b1),
|
|
56
|
+
end: Math.max(a2, b2),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the symmetric difference across a list of Unix epoch intervals — the set of epoch
|
|
3
|
+
* values covered by an odd number of the input intervals.
|
|
4
|
+
*
|
|
5
|
+
* - List-form generalization of `intervalXorUnix`, which is pairwise only.
|
|
6
|
+
* - Implemented as a coverage sweep: each interval contributes a `+1` at its start and a `-1`
|
|
7
|
+
* one epoch unit after its end; the result is every maximal run where the running coverage
|
|
8
|
+
* count is odd. For two intervals this reduces to exactly `intervalXorUnix`'s pairwise result.
|
|
9
|
+
* - Order of the input list does not matter; the result is sorted by start.
|
|
10
|
+
* - Returns `[]` for an empty list, and `[]` when every value is covered an even number of
|
|
11
|
+
* times (e.g. two identical intervals cancel out).
|
|
12
|
+
* - Returns `[]` when `intervals` is not an array, when any element is not a
|
|
13
|
+
* `{ start, end }` record of finite numeric (or numeric-string) values, or when any element
|
|
14
|
+
* has `start > end`.
|
|
15
|
+
*
|
|
16
|
+
* @param intervals array of `{ start, end }` records
|
|
17
|
+
* @returns array of `{ start, end }` records covered an odd number of times, or `[]` on invalid input
|
|
18
|
+
*
|
|
19
|
+
* @example intervalXorAllUnix([{ start: 0, end: 1500000000 }, { start: 1400000000, end: 1700000000 }]) // [{ start: 0, end: 1399999999 }, { start: 1500000001, end: 1700000000 }]
|
|
20
|
+
* @example intervalXorAllUnix([]) // []
|
|
21
|
+
*/
|
|
22
|
+
export declare function intervalXorAllUnix(intervals: Array<{
|
|
23
|
+
start: number | string;
|
|
24
|
+
end: number | string;
|
|
25
|
+
}>): Array<{
|
|
26
|
+
start: number;
|
|
27
|
+
end: number;
|
|
28
|
+
}>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { isValidUnixEpochPair } from "../../internal/resolveUnixTimeZone.js";
|
|
2
|
+
/**
|
|
3
|
+
* Return the symmetric difference across a list of Unix epoch intervals — the set of epoch
|
|
4
|
+
* values covered by an odd number of the input intervals.
|
|
5
|
+
*
|
|
6
|
+
* - List-form generalization of `intervalXorUnix`, which is pairwise only.
|
|
7
|
+
* - Implemented as a coverage sweep: each interval contributes a `+1` at its start and a `-1`
|
|
8
|
+
* one epoch unit after its end; the result is every maximal run where the running coverage
|
|
9
|
+
* count is odd. For two intervals this reduces to exactly `intervalXorUnix`'s pairwise result.
|
|
10
|
+
* - Order of the input list does not matter; the result is sorted by start.
|
|
11
|
+
* - Returns `[]` for an empty list, and `[]` when every value is covered an even number of
|
|
12
|
+
* times (e.g. two identical intervals cancel out).
|
|
13
|
+
* - Returns `[]` when `intervals` is not an array, when any element is not a
|
|
14
|
+
* `{ start, end }` record of finite numeric (or numeric-string) values, or when any element
|
|
15
|
+
* has `start > end`.
|
|
16
|
+
*
|
|
17
|
+
* @param intervals array of `{ start, end }` records
|
|
18
|
+
* @returns array of `{ start, end }` records covered an odd number of times, or `[]` on invalid input
|
|
19
|
+
*
|
|
20
|
+
* @example intervalXorAllUnix([{ start: 0, end: 1500000000 }, { start: 1400000000, end: 1700000000 }]) // [{ start: 0, end: 1399999999 }, { start: 1500000001, end: 1700000000 }]
|
|
21
|
+
* @example intervalXorAllUnix([]) // []
|
|
22
|
+
*/
|
|
23
|
+
export function intervalXorAllUnix(intervals) {
|
|
24
|
+
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
if (!intervals.every((interval) => interval &&
|
|
28
|
+
typeof interval === "object" &&
|
|
29
|
+
(typeof interval.start === "number" ||
|
|
30
|
+
typeof interval.start === "string") &&
|
|
31
|
+
(typeof interval.end === "number" || typeof interval.end === "string"))) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
const parsed = intervals.map((interval) => ({
|
|
35
|
+
start: typeof interval.start === "number"
|
|
36
|
+
? interval.start
|
|
37
|
+
: Number(interval.start),
|
|
38
|
+
end: typeof interval.end === "number" ? interval.end : Number(interval.end),
|
|
39
|
+
}));
|
|
40
|
+
if (!parsed.every((interval) => isValidUnixEpochPair(interval.start, interval.end) &&
|
|
41
|
+
interval.start <= interval.end)) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const events = [];
|
|
45
|
+
for (const interval of parsed) {
|
|
46
|
+
events.push({ point: interval.start, delta: 1 });
|
|
47
|
+
events.push({ point: interval.end + 1, delta: -1 });
|
|
48
|
+
}
|
|
49
|
+
events.sort((a, b) => a.point - b.point);
|
|
50
|
+
const grouped = [];
|
|
51
|
+
for (const event of events) {
|
|
52
|
+
const last = grouped[grouped.length - 1];
|
|
53
|
+
if (last && last.point === event.point) {
|
|
54
|
+
last.delta += event.delta;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
grouped.push(event);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const result = [];
|
|
61
|
+
let coverage = 0;
|
|
62
|
+
let runStart = null;
|
|
63
|
+
for (const group of grouped) {
|
|
64
|
+
const previousCoverage = coverage;
|
|
65
|
+
coverage += group.delta;
|
|
66
|
+
if (previousCoverage % 2 === 0 && coverage % 2 === 1) {
|
|
67
|
+
runStart = group.point;
|
|
68
|
+
}
|
|
69
|
+
else if (previousCoverage % 2 === 1 &&
|
|
70
|
+
coverage % 2 === 0 &&
|
|
71
|
+
runStart !== null) {
|
|
72
|
+
result.push({ start: runStart, end: group.point - 1 });
|
|
73
|
+
runStart = null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the symmetric difference of two Unix intervals — time covered by exactly one interval.
|
|
3
|
+
*
|
|
4
|
+
* - Compares numeric Unix epoch values directly.
|
|
5
|
+
* - Returns `[]` when intervals are identical or both invalid.
|
|
6
|
+
* - Returns `[{ start, end }]` when one interval fully contains the other.
|
|
7
|
+
* - Returns `[{ start, end }, { start, end }]` when intervals partially overlap.
|
|
8
|
+
* - Returns `[]` if either interval is invalid (`start > end`).
|
|
9
|
+
* - Returns `[]` on invalid input (non-numeric types, non-finite values).
|
|
10
|
+
*
|
|
11
|
+
* @param aStart Unix epoch value (seconds or milliseconds) — first interval start
|
|
12
|
+
* @param aEnd Unix epoch value (seconds or milliseconds) — first interval end
|
|
13
|
+
* @param bStart Unix epoch value (seconds or milliseconds) — second interval start
|
|
14
|
+
* @param bEnd Unix epoch value (seconds or milliseconds) — second interval end
|
|
15
|
+
* @returns array of `{ start, end }` records representing the symmetric difference, or `[]` on invalid input
|
|
16
|
+
*
|
|
17
|
+
* @example intervalXorUnix(0, 1500000000, 1400000000, 1700000000) // [{ start: 0, end: 1399999999 }, { start: 1500000001, end: 1700000000 }]
|
|
18
|
+
* @example intervalXorUnix(0, 1700000000, 1400000000, 1500000000) // [{ start: 0, end: 1399999999 }, { start: 1500000001, end: 1700000000 }]
|
|
19
|
+
* @example intervalXorUnix(0, 1700000000, 0, 1700000000) // []
|
|
20
|
+
* @example intervalXorUnix(NaN, 1500000000, 1400000000, 1700000000) // []
|
|
21
|
+
*/
|
|
22
|
+
export declare function intervalXorUnix(aStart: number | string, aEnd: number | string, bStart: number | string, bEnd: number | string): Array<{
|
|
23
|
+
start: number;
|
|
24
|
+
end: number;
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the symmetric difference of two Unix intervals — time covered by exactly one interval.
|
|
3
|
+
*
|
|
4
|
+
* - Compares numeric Unix epoch values directly.
|
|
5
|
+
* - Returns `[]` when intervals are identical or both invalid.
|
|
6
|
+
* - Returns `[{ start, end }]` when one interval fully contains the other.
|
|
7
|
+
* - Returns `[{ start, end }, { start, end }]` when intervals partially overlap.
|
|
8
|
+
* - Returns `[]` if either interval is invalid (`start > end`).
|
|
9
|
+
* - Returns `[]` on invalid input (non-numeric types, non-finite values).
|
|
10
|
+
*
|
|
11
|
+
* @param aStart Unix epoch value (seconds or milliseconds) — first interval start
|
|
12
|
+
* @param aEnd Unix epoch value (seconds or milliseconds) — first interval end
|
|
13
|
+
* @param bStart Unix epoch value (seconds or milliseconds) — second interval start
|
|
14
|
+
* @param bEnd Unix epoch value (seconds or milliseconds) — second interval end
|
|
15
|
+
* @returns array of `{ start, end }` records representing the symmetric difference, or `[]` on invalid input
|
|
16
|
+
*
|
|
17
|
+
* @example intervalXorUnix(0, 1500000000, 1400000000, 1700000000) // [{ start: 0, end: 1399999999 }, { start: 1500000001, end: 1700000000 }]
|
|
18
|
+
* @example intervalXorUnix(0, 1700000000, 1400000000, 1500000000) // [{ start: 0, end: 1399999999 }, { start: 1500000001, end: 1700000000 }]
|
|
19
|
+
* @example intervalXorUnix(0, 1700000000, 0, 1700000000) // []
|
|
20
|
+
* @example intervalXorUnix(NaN, 1500000000, 1400000000, 1700000000) // []
|
|
21
|
+
*/
|
|
22
|
+
export function intervalXorUnix(aStart, aEnd, bStart, bEnd) {
|
|
23
|
+
if ((typeof aStart !== "number" && typeof aStart !== "string") ||
|
|
24
|
+
(typeof aEnd !== "number" && typeof aEnd !== "string") ||
|
|
25
|
+
(typeof bStart !== "number" && typeof bStart !== "string") ||
|
|
26
|
+
(typeof bEnd !== "number" && typeof bEnd !== "string")) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
const n1 = typeof aStart === "number" ? aStart : Number(aStart);
|
|
30
|
+
const n2 = typeof aEnd === "number" ? aEnd : Number(aEnd);
|
|
31
|
+
const n3 = typeof bStart === "number" ? bStart : Number(bStart);
|
|
32
|
+
const n4 = typeof bEnd === "number" ? bEnd : Number(bEnd);
|
|
33
|
+
if (!Number.isFinite(n1) ||
|
|
34
|
+
!Number.isFinite(n2) ||
|
|
35
|
+
!Number.isFinite(n3) ||
|
|
36
|
+
!Number.isFinite(n4)) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
if (n1 > n2) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
if (n3 > n4) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
const result = [];
|
|
46
|
+
// If intervals don't overlap, return both as-is
|
|
47
|
+
if (n2 < n3 || n4 < n1) {
|
|
48
|
+
return [
|
|
49
|
+
{ start: n1, end: n2 },
|
|
50
|
+
{ start: n3, end: n4 },
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
// Left piece: A before B starts
|
|
54
|
+
if (n1 < n3) {
|
|
55
|
+
result.push({ start: n1, end: n3 - 1 });
|
|
56
|
+
}
|
|
57
|
+
// Right piece: A after B ends
|
|
58
|
+
if (n2 > n4) {
|
|
59
|
+
result.push({ start: n4 + 1, end: n2 });
|
|
60
|
+
}
|
|
61
|
+
// Left piece: B before A starts
|
|
62
|
+
if (n3 < n1) {
|
|
63
|
+
result.push({ start: n3, end: n1 - 1 });
|
|
64
|
+
}
|
|
65
|
+
// Right piece: B after A ends
|
|
66
|
+
if (n4 > n2) {
|
|
67
|
+
result.push({ start: n2 + 1, end: n4 });
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
|
|
3
|
+
*
|
|
4
|
+
* - Compares numeric Unix epoch values directly.
|
|
5
|
+
* - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
|
|
6
|
+
* - Returns `false` if either interval is invalid (`start > end`).
|
|
7
|
+
* - Returns `false` on invalid input (non-numeric types, non-finite values).
|
|
8
|
+
*
|
|
9
|
+
* @param aStart Unix epoch value (seconds or milliseconds) — first interval start
|
|
10
|
+
* @param aEnd Unix epoch value (seconds or milliseconds) — first interval end
|
|
11
|
+
* @param bStart Unix epoch value (seconds or milliseconds) — second interval start
|
|
12
|
+
* @param bEnd Unix epoch value (seconds or milliseconds) — second interval end
|
|
13
|
+
* @returns true if intervals overlap, or false on invalid input
|
|
14
|
+
*
|
|
15
|
+
* @example intervalsOverlapUnix(0, 1700000000, 1000000, 2000000) // true
|
|
16
|
+
* @example intervalsOverlapUnix(0, 1000000, 1000000, 2000000) // false (adjacent)
|
|
17
|
+
* @example intervalsOverlapUnix(0, 1000000, 1000001, 2000000) // false (disjoint)
|
|
18
|
+
* @example intervalsOverlapUnix(NaN, 1700000000, 1000000, 2000000) // false
|
|
19
|
+
* @example intervalsOverlapUnix("0", "1700000000", "1000000", "2000000") // true
|
|
20
|
+
*/
|
|
21
|
+
export declare function intervalsOverlapUnix(aStart: number | string, aEnd: number | string, bStart: number | string, bEnd: number | string): boolean;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
|
|
3
|
+
*
|
|
4
|
+
* - Compares numeric Unix epoch values directly.
|
|
5
|
+
* - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
|
|
6
|
+
* - Returns `false` if either interval is invalid (`start > end`).
|
|
7
|
+
* - Returns `false` on invalid input (non-numeric types, non-finite values).
|
|
8
|
+
*
|
|
9
|
+
* @param aStart Unix epoch value (seconds or milliseconds) — first interval start
|
|
10
|
+
* @param aEnd Unix epoch value (seconds or milliseconds) — first interval end
|
|
11
|
+
* @param bStart Unix epoch value (seconds or milliseconds) — second interval start
|
|
12
|
+
* @param bEnd Unix epoch value (seconds or milliseconds) — second interval end
|
|
13
|
+
* @returns true if intervals overlap, or false on invalid input
|
|
14
|
+
*
|
|
15
|
+
* @example intervalsOverlapUnix(0, 1700000000, 1000000, 2000000) // true
|
|
16
|
+
* @example intervalsOverlapUnix(0, 1000000, 1000000, 2000000) // false (adjacent)
|
|
17
|
+
* @example intervalsOverlapUnix(0, 1000000, 1000001, 2000000) // false (disjoint)
|
|
18
|
+
* @example intervalsOverlapUnix(NaN, 1700000000, 1000000, 2000000) // false
|
|
19
|
+
* @example intervalsOverlapUnix("0", "1700000000", "1000000", "2000000") // true
|
|
20
|
+
*/
|
|
21
|
+
export function intervalsOverlapUnix(aStart, aEnd, bStart, bEnd) {
|
|
22
|
+
if (typeof aStart !== "number" && typeof aStart !== "string") {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (typeof aEnd !== "number" && typeof aEnd !== "string") {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (typeof bStart !== "number" && typeof bStart !== "string") {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (typeof bEnd !== "number" && typeof bEnd !== "string") {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const a1 = typeof aStart === "number" ? aStart : Number(aStart);
|
|
35
|
+
const a2 = typeof aEnd === "number" ? aEnd : Number(aEnd);
|
|
36
|
+
const b1 = typeof bStart === "number" ? bStart : Number(bStart);
|
|
37
|
+
const b2 = typeof bEnd === "number" ? bEnd : Number(bEnd);
|
|
38
|
+
if (!Number.isFinite(a1) ||
|
|
39
|
+
!Number.isFinite(a2) ||
|
|
40
|
+
!Number.isFinite(b1) ||
|
|
41
|
+
!Number.isFinite(b2)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
if (a1 > a2) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
if (b1 > b2) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return a2 >= b1 && b2 >= a1;
|
|
51
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collapse a list of Unix epoch intervals into the minimum set of non-overlapping intervals.
|
|
3
|
+
*
|
|
4
|
+
* - List-form generalization of `intervalUnionUnix`, which is pairwise only.
|
|
5
|
+
* - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals
|
|
6
|
+
* ARE merged).
|
|
7
|
+
* - Order of the input list does not matter; the result is sorted by start.
|
|
8
|
+
* - Returns `[]` for an empty list.
|
|
9
|
+
* - Returns `[]` when `intervals` is not an array, when any element is not a
|
|
10
|
+
* `{ start, end }` record of finite numeric (or numeric-string) values, or when any element
|
|
11
|
+
* has `start > end`.
|
|
12
|
+
*
|
|
13
|
+
* @param intervals array of `{ start, end }` records
|
|
14
|
+
* @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input
|
|
15
|
+
*
|
|
16
|
+
* @example mergeIntervalsUnix([{ start: 0, end: 1000000 }, { start: 500000, end: 1500000 }]) // [{ start: 0, end: 1500000 }]
|
|
17
|
+
* @example mergeIntervalsUnix([]) // []
|
|
18
|
+
*/
|
|
19
|
+
export declare function mergeIntervalsUnix(intervals: Array<{
|
|
20
|
+
start: number | string;
|
|
21
|
+
end: number | string;
|
|
22
|
+
}>): Array<{
|
|
23
|
+
start: number;
|
|
24
|
+
end: number;
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { isValidUnixEpochPair } from "../../internal/resolveUnixTimeZone.js";
|
|
2
|
+
/**
|
|
3
|
+
* Collapse a list of Unix epoch intervals into the minimum set of non-overlapping intervals.
|
|
4
|
+
*
|
|
5
|
+
* - List-form generalization of `intervalUnionUnix`, which is pairwise only.
|
|
6
|
+
* - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals
|
|
7
|
+
* ARE merged).
|
|
8
|
+
* - Order of the input list does not matter; the result is sorted by start.
|
|
9
|
+
* - Returns `[]` for an empty list.
|
|
10
|
+
* - Returns `[]` when `intervals` is not an array, when any element is not a
|
|
11
|
+
* `{ start, end }` record of finite numeric (or numeric-string) values, or when any element
|
|
12
|
+
* has `start > end`.
|
|
13
|
+
*
|
|
14
|
+
* @param intervals array of `{ start, end }` records
|
|
15
|
+
* @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input
|
|
16
|
+
*
|
|
17
|
+
* @example mergeIntervalsUnix([{ start: 0, end: 1000000 }, { start: 500000, end: 1500000 }]) // [{ start: 0, end: 1500000 }]
|
|
18
|
+
* @example mergeIntervalsUnix([]) // []
|
|
19
|
+
*/
|
|
20
|
+
export function mergeIntervalsUnix(intervals) {
|
|
21
|
+
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
if (!intervals.every((interval) => interval &&
|
|
25
|
+
typeof interval === "object" &&
|
|
26
|
+
(typeof interval.start === "number" ||
|
|
27
|
+
typeof interval.start === "string") &&
|
|
28
|
+
(typeof interval.end === "number" || typeof interval.end === "string"))) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
const parsed = intervals.map((interval) => ({
|
|
32
|
+
start: typeof interval.start === "number"
|
|
33
|
+
? interval.start
|
|
34
|
+
: Number(interval.start),
|
|
35
|
+
end: typeof interval.end === "number" ? interval.end : Number(interval.end),
|
|
36
|
+
}));
|
|
37
|
+
if (!parsed.every((interval) => isValidUnixEpochPair(interval.start, interval.end) &&
|
|
38
|
+
interval.start <= interval.end)) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
parsed.sort((a, b) => a.start - b.start);
|
|
42
|
+
const merged = [];
|
|
43
|
+
for (const interval of parsed) {
|
|
44
|
+
const last = merged[merged.length - 1];
|
|
45
|
+
if (last && interval.start <= last.end) {
|
|
46
|
+
if (interval.end > last.end) {
|
|
47
|
+
last.end = interval.end;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
merged.push({ start: interval.start, end: interval.end });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return merged;
|
|
55
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
export interface ResolvedUnixInterval {
|
|
3
|
+
startVal: Temporal.ZonedDateTime;
|
|
4
|
+
endVal: Temporal.ZonedDateTime;
|
|
5
|
+
resolvedUnit: Temporal.DateTimeUnit;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveUnixIntervalPair(start: number | string, end: number | string, unit: string): ResolvedUnixInterval | null;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { resolveDateTimeUnit } from "../../internal/index.js";
|
|
3
|
+
import { isValidUnixEpochPair, resolveUnixTimeZone, } from "../../internal/resolveUnixTimeZone.js";
|
|
4
|
+
import { isValidDateTimeUnit } from "../../plain/validate/index.js";
|
|
5
|
+
export function resolveUnixIntervalPair(start, end, unit) {
|
|
6
|
+
if (typeof start !== "number" && typeof start !== "string") {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
if (typeof end !== "number" && typeof end !== "string") {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const startMs = typeof start === "number" ? start : Number(start);
|
|
13
|
+
const endMs = typeof end === "number" ? end : Number(end);
|
|
14
|
+
if (!isValidUnixEpochPair(startMs, endMs) || startMs > endMs) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (typeof unit !== "string") {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const resolvedUnit = resolveDateTimeUnit(unit);
|
|
21
|
+
if (!isValidDateTimeUnit(resolvedUnit)) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const timeZone = resolveUnixTimeZone();
|
|
26
|
+
if (!timeZone) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const startVal = Temporal.Instant.fromEpochMilliseconds(startMs).toZonedDateTimeISO(timeZone);
|
|
30
|
+
const endVal = Temporal.Instant.fromEpochMilliseconds(endMs).toZonedDateTimeISO(timeZone);
|
|
31
|
+
return { startVal, endVal, resolvedUnit };
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split a Unix epoch interval into sub-intervals of `amount × unit`.
|
|
3
|
+
*
|
|
4
|
+
* - Returns an array of `{ start, end }` records that tile the interval.
|
|
5
|
+
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
6
|
+
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
7
|
+
* - Returns `[]` on invalid input (non-finite/non-integer start/end, unsupported unit,
|
|
8
|
+
* non-positive amount, or invalid timeZone).
|
|
9
|
+
*
|
|
10
|
+
* Uses the system timeZone for calendar-unit arithmetic (consistent with `addUnix`).
|
|
11
|
+
*
|
|
12
|
+
* @param start Unix epoch value (seconds or milliseconds) — interval start
|
|
13
|
+
* @param end Unix epoch value (seconds or milliseconds) — interval end
|
|
14
|
+
* @param unit duration unit string — any `DateTimeDurationUnit`
|
|
15
|
+
* @param amount positive number of units per step
|
|
16
|
+
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
17
|
+
*
|
|
18
|
+
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
19
|
+
* @example splitIntervalByUnitUnix(0, 3600000, "hour", 1) // [{ start: 0, end: 3600000 }]
|
|
20
|
+
* @example splitIntervalByUnitUnix(0, 0, "hour", 1) // [{ start: 0, end: 0 }]
|
|
21
|
+
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 0) // []
|
|
22
|
+
* @example splitIntervalByUnitUnix("invalid", 86400000, "hour", 1) // []
|
|
23
|
+
*/
|
|
24
|
+
export declare function splitIntervalByUnitUnix(start: number | string, end: number | string, unit: string, amount: number): Array<{
|
|
25
|
+
start: number;
|
|
26
|
+
end: number;
|
|
27
|
+
}>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { getSystemTimeZone } from "../../zoned/get/index.js";
|
|
3
|
+
import { isValidTimeZone } from "../../zoned/validate/index.js";
|
|
4
|
+
import { resolveDurationUnit } from "../../internal/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Split a Unix epoch interval into sub-intervals of `amount × unit`.
|
|
7
|
+
*
|
|
8
|
+
* - Returns an array of `{ start, end }` records that tile the interval.
|
|
9
|
+
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
10
|
+
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
11
|
+
* - Returns `[]` on invalid input (non-finite/non-integer start/end, unsupported unit,
|
|
12
|
+
* non-positive amount, or invalid timeZone).
|
|
13
|
+
*
|
|
14
|
+
* Uses the system timeZone for calendar-unit arithmetic (consistent with `addUnix`).
|
|
15
|
+
*
|
|
16
|
+
* @param start Unix epoch value (seconds or milliseconds) — interval start
|
|
17
|
+
* @param end Unix epoch value (seconds or milliseconds) — interval end
|
|
18
|
+
* @param unit duration unit string — any `DateTimeDurationUnit`
|
|
19
|
+
* @param amount positive number of units per step
|
|
20
|
+
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
21
|
+
*
|
|
22
|
+
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
23
|
+
* @example splitIntervalByUnitUnix(0, 3600000, "hour", 1) // [{ start: 0, end: 3600000 }]
|
|
24
|
+
* @example splitIntervalByUnitUnix(0, 0, "hour", 1) // [{ start: 0, end: 0 }]
|
|
25
|
+
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 0) // []
|
|
26
|
+
* @example splitIntervalByUnitUnix("invalid", 86400000, "hour", 1) // []
|
|
27
|
+
*/
|
|
28
|
+
export function splitIntervalByUnitUnix(start, end, unit, amount) {
|
|
29
|
+
if (typeof start !== "number" && typeof start !== "string") {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
if (typeof end !== "number" && typeof end !== "string") {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
const startMs = typeof start === "number" ? start : Number(start);
|
|
36
|
+
const endMs = typeof end === "number" ? end : Number(end);
|
|
37
|
+
if (!Number.isFinite(startMs) || !Number.isInteger(startMs)) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
if (!Number.isFinite(endMs) || !Number.isInteger(endMs)) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
if (startMs > endMs) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
if (typeof unit !== "string") {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const resolvedUnit = resolveDurationUnit(unit);
|
|
50
|
+
if (!resolvedUnit) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
if (!Number.isFinite(amount) || amount <= 0) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const timeZone = getSystemTimeZone();
|
|
58
|
+
if (!timeZone || !isValidTimeZone(timeZone)) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
if (startMs === endMs) {
|
|
62
|
+
return [{ start: startMs, end: endMs }];
|
|
63
|
+
}
|
|
64
|
+
const result = [];
|
|
65
|
+
for (let currentMs = startMs; currentMs < endMs;) {
|
|
66
|
+
const instant = Temporal.Instant.fromEpochMilliseconds(currentMs);
|
|
67
|
+
const zoned = instant.toZonedDateTimeISO(timeZone);
|
|
68
|
+
const next = zoned.add({ [resolvedUnit]: amount }).toInstant();
|
|
69
|
+
const nextMs = next.epochMilliseconds;
|
|
70
|
+
if (nextMs === currentMs) {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
const sliceEndMs = nextMs > endMs ? endMs : nextMs;
|
|
74
|
+
result.push({
|
|
75
|
+
start: currentMs,
|
|
76
|
+
end: sliceEndMs,
|
|
77
|
+
});
|
|
78
|
+
currentMs = nextMs;
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./isValidUnixInterval.js";
|